Skip to content

Add Attachments and Footer Actions Slots#2924

Open
hellovolcano wants to merge 13 commits intomainfrom
users/vgleason/footer-action
Open

Add Attachments and Footer Actions Slots#2924
hellovolcano wants to merge 13 commits intomainfrom
users/vgleason/footer-action

Conversation

@hellovolcano
Copy link
Copy Markdown
Contributor

@hellovolcano hellovolcano commented Apr 10, 2026

Pull Request

🤨 Rationale

Adding footer actions and attachments slots in accordance with the spec.

👩‍💻 Implementation

Added new sections for attachments and footer-actions and adjusted styling and spacing to accommodate the new sections.

🧪 Testing

Added tests

✅ Checklist

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

@hellovolcano
Copy link
Copy Markdown
Contributor Author

I have not updated the example apps yet because there doesn't appear to be a nimble chip wrapper in react or blazor yet.

@hellovolcano hellovolcano marked this pull request as ready for review April 10, 2026 15:01
@hellovolcano hellovolcano requested a review from jattasNI as a code owner April 10, 2026 15:01
Comment thread packages/spright-components/src/chat/input/tests/chat-input.spec.ts Outdated
Comment thread packages/spright-components/src/chat/input/tests/chat-input.spec.ts Outdated
Comment thread packages/spright-components/src/chat/input/testing/chat-input.pageobject.ts Outdated
.footer-actions ::slotted(${toggleButtonTag}),
.footer-actions ::slotted(${anchorButtonTag}),
.footer-actions ::slotted(${menuButtonTag}) {
height: ${controlSlimHeight};
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Do we have guidance from UX about what other control types should look like when in the attachments slot? To me it looks kind of weird to have slim buttons but not a slim select.

Though if we do want a slim select we'll probably want to add chromatic tests to make sure it looks ok, so that could happen in a separate PR.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The chip also looks pretty bulky to me personally. If UX agrees and wants to slim it down, we can follow the approach in #2896

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yes, we are going to go with that approach since the normal chips look pretty bulky.

For now, attachments slots would only have chips + a button

Only known thing we need in the footer-action button + select.

I would assume that list is complete, but I made a change to just apply that height to all slotted items.


.attachments.has-content {
display: flex;
flex-wrap: wrap;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Do we have guidance from UX on overflow behavior? Wrapping looks fine to me for now, though for other controls like tab and breadcrumb and stepper we've also made them scrollable and added arrow buttons to do the scrolling. This can be a follow up conversation, just want to make sure we're thinking about it.

But if we're happy with the current behavior, let's add a matrix test state that adds many slotted items so that we get test coverage for that configuration.

Image

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

UX guidance will be to limit the height of the attachments section to three rows. Anything that overflows should be bumped into a little overflow menu (opened with a button + three dots icon). Also will be applying the slim control height per the suggestions in that other PR.

Open to suggestions on how to implement that in the component. First thought was maybe a bool in the API that we could set to true on overflow so clients can know when to bump additional attachments into that overflow menu?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Per our conversation: for initial version, we will leave it up to clients to implement overflow behavior.

Comment thread packages/storybook/src/spright/chat/input/chat-input.stories.ts
Comment thread packages/storybook/src/spright/chat/input/chat-input.stories.ts Outdated
Comment thread packages/storybook/src/spright/chat/input/chat-input.stories.ts
@hellovolcano hellovolcano requested a review from jattasNI April 16, 2026 16:12
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.

2 participants