Skip to content

HLD updates for new Spright chat capabilities: welcome and disclaimer#2799

Merged
jattasNI merged 19 commits into
mainfrom
nigel-component-hld
Feb 24, 2026
Merged

HLD updates for new Spright chat capabilities: welcome and disclaimer#2799
jattasNI merged 19 commits into
mainfrom
nigel-component-hld

Conversation

@jattasNI

@jattasNI jattasNI commented Dec 18, 2025

Copy link
Copy Markdown
Contributor

Pull Request

🤨 Rationale

We would like to unify as much of the chat implementation as practical across Angular and Blazor. These are two components that have Blazor implementations in an application codebase that we want in an Angular codebase too, so we want to introduce them to Spright: a welcome screen and a disclaimer at the bottom of the conversation.

(Older Figma designs for illustration only)

Welcome

chat-welcome-login

Disclaimer

chat-disclaimer

👩‍💻 Implementation

Update the chat component HLD with an implementation proposal for these components.

🧪 Testing

N/A

✅ Checklist

  • I have updated the project documentation to reflect my changes or determined no changes are needed.

@jattasNI jattasNI requested a review from hellovolcano January 5, 2026 22:56
@jattasNI jattasNI changed the title HLD updates for Spright chat components: welcome and disclaimer HLD updates for new Spright chat components: welcome and disclaimer Jan 5, 2026
@jattasNI jattasNI marked this pull request as ready for review January 5, 2026 22:57
@jattasNI

jattasNI commented Jan 7, 2026

Copy link
Copy Markdown
Contributor Author

@mollykreis @rajsite heads up that I moved this out of draft and it's ready for your review. No intense time pressure, but I hope we'll have devs starting work on these components this month so I don't want to let it sit for too long.

@rajsite

rajsite commented Jan 7, 2026

Copy link
Copy Markdown
Member

FYI @jattasNI didn't get to it today and I'll be OOO rest of week, I don't expect to get to review till early next week

Comment thread packages/spright-components/src/chat/specs/README.md Outdated
Comment thread packages/spright-components/src/chat/specs/README.md Outdated
Comment thread packages/spright-components/src/chat/specs/README.md Outdated
Comment thread packages/spright-components/src/chat/specs/README.md Outdated
Comment thread packages/spright-components/src/chat/specs/README.md Outdated
Comment thread packages/spright-components/src/chat/specs/README.md Outdated
Comment thread packages/spright-components/src/chat/specs/README.md Outdated
Comment thread packages/spright-components/src/chat/specs/README.md Outdated
Comment thread packages/spright-components/src/chat/specs/README.md Outdated
jattasNI added a commit that referenced this pull request Feb 2, 2026
# Pull Request

## 🤨 Rationale

One of the tasks in #2610 is to create separate components for different
message types instead of a single chat message with a `message-type`
attribute. This would have some benefits:
- certain APIs should only be available on certain message types (e.g.
slots for `footer-actions` and `end` are only available on inbound
messages) but are currently present on all
- new message types will soon appear with more unique APIs and visual
presentations. Candidates include welcome/login message (#2799), error
message, tool progress message, context message.

## 👩‍💻 Implementation

1. Create new components `spright-chat-message-inbound`,
`spright-chat-message-outbound`, `spright-chat-message-system` by
copying existing message and removing code that was specific to other
types.
2. Added framework wrappers
3. Marked existing `spright-chat-message` as deprecated. We can remove
it once clients migrate to the new messages.
4. Updated docs and example apps to only refer to the new components
5. Updated HLD to reflect this plan

## 🧪 Testing

1. Duplicated unit tests from the original message type to the new ones.
Some tests (e.g. Angular directive) could be removed because the
message-type attribute no longer exists
2. Duplicated Chromatic tests for messages and for conversation message
layout. Updated other conversation-specific tests to only refer to the
new message components.
3. Visual inspection of storybook and example apps to ensure styling is
correct

## ✅ Checklist

- [x] I have updated the project documentation to reflect my changes or
determined no changes are needed.
@jattasNI jattasNI changed the title HLD updates for new Spright chat components: welcome and disclaimer HLD updates for new Spright chat capabilities: welcome and disclaimer Feb 4, 2026
Comment thread packages/spright-components/src/chat/specs/README.md Outdated
@jattasNI

Copy link
Copy Markdown
Contributor Author

Bypassing @rajsite and @mollykreis for chat component HLD changes which you've already reviewed at a high level

@jattasNI jattasNI merged commit 8782f8e into main Feb 24, 2026
13 of 15 checks passed
@jattasNI jattasNI deleted the nigel-component-hld branch February 24, 2026 21:44
- `title` - string attribute for the primary welcome message
- `subtitle` - string attribute for a secondary welcome message. Naming is aligned with `nimble-dialog`
- _Slots_
- `brand-icon` slot can be used to customize the brand image. By default it will display a new icon `spright-icon-nigel-chat` which is a theme-aware custom icon (a custom element that derives from `IconSvg`)

@rajsite rajsite Feb 24, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alternate names:

  • start: aligned with pretty much everywhere else we place an icon
  • brand / brand-logo / logo: we aren't really treating the thing in there as an "icon" where we control the severity config and size it as --ni-nimble-icon-size (for those spots, like the mapping column, we take an attribute that is the tag-name of the icon so we can construct and manipulate programmatically). It's really just an image that we should style as ::slotted(*){width:100%;height:100%}

aangerhofer pushed a commit that referenced this pull request May 27, 2026
…#2799)

# Pull Request

## 🤨 Rationale

We would like to unify as much of the chat implementation as practical
across Angular and Blazor. These are two components that have Blazor
implementations in an application codebase that we want in an Angular
codebase too, so we want to introduce them to Spright: a welcome screen
and a disclaimer at the bottom of the conversation.

(Older Figma designs for illustration only)

**Welcome**

<img width="380" height="624" alt="chat-welcome-login"
src="https://github.com/user-attachments/assets/c67b88eb-0afd-4996-85fa-5fa941758258"
/>

**Disclaimer**

<img width="557" height="24" alt="chat-disclaimer"
src="https://github.com/user-attachments/assets/2d44e960-4915-48a2-bdd4-eb418e57ea24"
/>


## 👩‍💻 Implementation

Update the chat component HLD with an implementation proposal for these
components.

## 🧪 Testing

N/A

## ✅ Checklist

<!--- Review the list and put an x in the boxes that apply or ~~strike
through~~ around items that don't (along with an explanation). -->

- [x] I have updated the project documentation to reflect my changes or
determined no changes are needed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants