ClickorKeyboard shortcut Alt + L

Dragto resize

Nord Design System SearchDeveloperDeveloperGetting startedUsing Web ComponentsWebfontsCDNLocalizationCSS Framework Legacy ESLint PluginWorking with AIFAQDesignDesignGetting startedFoundationsAccessibilityColor SystemColor UtilitiesPrinciplesFigma ToolkitGridIconographyNamingNordhealth BrandTypographyThemesBrand assetsToolsComponentsComponentsAccordion New Aside New Autocomplete New AvatarBadgeBannerButtonButton GroupCalendarCard Updated Chart New Chat New Chat AttachmentChat ComposerChat Composer DrawerChat Composer InputChat Dictation ButtonChat Layout Scroll ButtonChat MessageChat Message BubbleChat Message ListChat Message MetadataChat Send ButtonChat System MessageChat TokenChat Tokenized TextChat Tool CallsCheckboxCollapsible New Combobox New Command MenuData Table New Date PickerDate Range Picker New DividerDrawer Updated DropdownEmpty StateField New FieldsetFilter Bar New FooterHeaderIconInputInput Group New Item New Kbd New LayoutMessageMeter New Modal Updated NavigationNotificationNumber Field New Otp Field New Outline New Overflow List New Pagination New PopoutProgressProgress BarQrcodeRadioRangeResizable New Rich Text Editor New Scroll Area New Segmented ControlSelectSkeletonSpinnerStackTabTableTagTextareaTime Picker New Timestamp New ToastToggleTooltipTop BarTruncate New Visually HiddenDesign TokensDesign TokensTailwind CSSTailwind CSSBlocksBlocksTemplatesTemplatesIconsIconsPlaygroundPlaygroundLatest UpdatesLatest UpdatesChangelogChangelogMigration guidesMigration guides
GitHub

Clickto expandKeyboard shortcut Alt + L

Chat Send Button Alpha Light DOM & Tailwind

Provides a Nord Button-based send or stop action for Chat Composer.

This component is considered alpha. We're still finalising the API, so it may include a breaking change at any time — use it at your own risk.

Usage

Chat Send Button can coordinate with the nearest Chat Composer or operate independently. See the Chat family guide for complete composition and submission behavior.

import "@nordhealth/components/lib/ChatSendButton"

Composition

Send and stop states

The default send state uses a primary Nord Button and emits cancelable nord-submit when standalone. Set stop-shown to switch to a danger stop action which emits cancelable nord-stop. Inside Composer, the private context supplies current value, loading, availability, and stop behavior.

Examples

Labels and icons

Use send-label and stop-label to replace the localized accessible names. Custom icons belong in the send-icon and stop-icon slots; they are decorative because the button label remains authoritative.

Accessibility

The owned Nord Button provides keyboard activation, focus treatment, disabled behavior, and busy state. Do not disable the stop action merely because sending is loading; disable it explicitly only when stopping is unavailable.

API reference

ChatSendButton

Nord Button-based send/stop action for standalone use or Composer coordination.

<nord-chat-send-button></nord-chat-send-button>

Props

PropertyAttribute Description TypeDefault
stopShownstop-shownShows stop rather than send behavior.booleanfalse
disableddisabledDisables send behavior. Stop remains available unless explicitly disabled.booleanfalse
loadingloadingExposes pending send state and disables sending.booleanfalse
sendLabelsend-labelAccessible label in send state.string | undefined
stopLabelstop-labelAccessible label in stop state.string | undefined
typetypeNative button type when sending.'submit' | 'button''submit'

Slots

Slot name Description
send-iconCustom send-state icon.
stop-iconCustom stop-state icon.
EventDetail TypeDescription
nord-submitChatComposerSubmitEventStandalone send intent.
nord-stopChatComposerStopEventStandalone stop intent.

CSS Properties

CSS Custom Properties provide more fine grain control over component presentation. We advise utilizing existing properties on the component before using these.

PropertyDescriptionDefault
--n-chat-send-button-sizeSquare action size.var(--n-space-xl)
Light DOM & Tailwind. This component renders in the light DOM, so you can style it directly with your own CSS or Tailwind utility classes — there is no shadow boundary, and its default styles are low specificity, so your utilities win.