/* eslint-disable */ /* tslint:disable */ /** * This is an autogenerated file created by the Stencil compiler. * It contains typing information for all components that exist in this project. */ import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime"; import { AgentActivityItem, AgentQuestion, AgentQuestionAnswer, AgentQuestionnaireAnswerEventDetail, AgentQuestionnaireCancelEventDetail, AgentQuestionnaireLabels, AgentQuestionnaireStatus, AgentResponsePart, AgentResponseRenderMode, AgentSource, AgentToolState, ConversationAttachment, ConversationItemState, MessageComposerStatus, MessageCopyResultEventDetail, MessageDeliveryState, MessageDirection, MessageFeedback, MessageGroupPosition, MessageMetadataVisibility, MessageScrollerPosition } from "./components/conversation-types"; import { IconColor, IconSize as IconSize1 } from "./components/Icon/Icon"; import { AvatarSize } from "./components/Avatar/Avatar"; import { BadgeSurface, BadgeVariant } from "./components/Badge/Badge"; import { BannerAnnouncement, BannerContrast, BannerIntent, BannerOrientation } from "./components/Banner/Banner"; import { NavChromeStyle } from "./shell/nav-chrome"; import { BarNavTab } from "./components/BarNav/bar-nav-types"; import { BreadcrumbItem, BreadcrumbSelectDetail } from "./components/Breadcrumb/breadcrumb-types"; import { BarTitleActionItem, BarTitlePrimaryAction, BarTitleSectionItem, BarTitleVariant } from "./components/BarTitle/bar-title-types"; import { BarWorkflowStep, BarWorkflowSubmitAction } from "./components/BarWorkflow/bar-workflow-types"; import { MobileDestination, ShellResponsiveMode } from "./shell/shell-responsive"; import { ButtonFilledBackground, ButtonFilledContrast, ButtonFilledIntent, ButtonFilledPopup, ButtonFilledSize, ButtonFilledVariant, ButtonFilledWidth } from "./components/ButtonFilled/ButtonFilled"; import { ControlInsetDepth, ControlSize } from "./utils/control-text"; import { ButtonUnfilledBackground, ButtonUnfilledPopup, ButtonUnfilledSize, ButtonUnfilledVariant, ButtonUnfilledWidth } from "./components/ButtonUnfilled/ButtonUnfilled"; import { CardChartVariant, CardChartWidth } from "./components/CardChart/CardChart"; import { CardOverviewLayout, CardOverviewVariant, OverviewMetric, OverviewScore } from "./components/CardOverview/card-overview-types"; import { CardSettingActionDetail, CardSettingWidth } from "./components/CardSetting/CardSetting"; import { ChartDefinition } from "./utils/chart-grammar"; import { ChartFocusChangeDetail } from "./components/Chart/Chart"; import { ChartLegendItem } from "./utils/chart-types"; import { ChartLegendDirection, ChartLegendPercentageDecimals } from "./components/ChartLegend/ChartLegend"; import { CheckboxSize } from "./components/Checkbox/Checkbox"; import { ChipSize, ChipState } from "./components/Chip/Chip"; import { ConversationListActionLayout } from "./components/ConversationList/ConversationList"; import { DividerBackground, DividerInset, DividerLength, DividerOrientation } from "./components/Divider/Divider"; import { FilterMenuChangeDetail, FilterMenuFilter, FilterMenuSize, FilterMenuValues, FilterMenuWidth } from "./components/FilterMenu/FilterMenu"; import { AnchoredAlign, AnchoredSide } from "./utils/anchored-position"; import { IconColor as IconColor1, IconSize } from "./components/Icon/Icon"; import { InputSize, InputType, InputWidth } from "./components/Input/Input"; import { LoaderColor, LoaderSize } from "./components/Loader/Loader"; import { MenuItemData, MenuReorderDetail, MenuSection } from "./components/Menu/menu-types"; import { MenuSelectionMode, MenuSize } from "./components/Menu/Menu"; import { MenuAlign, MenuSide } from "./components/Menu/menu-position"; import { ChoicePopupAnchorAlignment, ControlInsetDepth as ControlInsetDepth1 } from "./utils"; import { MessageBubbleVariant } from "./components/MessageBubble/MessageBubble"; import { ButtonFilledIntent as ButtonFilledIntent1 } from "./components/ButtonFilled/ButtonFilled"; import { PanelNavGroup, PanelNavItem, PanelNavRouterMode, PanelNavUserActionDetail } from "./components/PanelNav/panel-nav-types"; import { MobileBarNavDestinationDetail } from "./components/MobileBarNav/mobile-bar-nav-types"; import { MobileHeaderHeadingLevel, MobileHeaderSectionsPresentation, MobileHeaderTone } from "./components/MobileHeader/mobile-header-types"; import { TabGroupItem, TabItem } from "./components/TabGroup/tab-item-utils"; import { TabGroupSize } from "./components/TabGroup/TabGroup"; import { ModalCloseDetail, ModalWidth } from "./components/Modal/Modal"; import { PaginationChangeDetail, PaginationPageSizeMode } from "./components/Pagination/pagination-types"; import { ChromeTransitionDetail } from "./shell/chrome-transition"; import { PanelSubNavItem } from "./components/PanelSubNav/panel-sub-nav-types"; import { PanelSubNavBackground } from "./components/PanelSubNav/PanelSubNav"; import { PanelToolsHeaderAction, PanelToolsHeaders, PanelToolsItem, PanelToolsToolId } from "./components/PanelTools/panel-tools-types"; import { PaperTextureConfig } from "./components/PaperTexture/paper-texture-types"; import { RadioOption, RadioSize } from "./components/Radio/Radio"; import { ScrollOverlayScrollDetail } from "./components/ScrollOverlay/ScrollOverlay"; import { SelectBackground, SelectIndicator, SelectOption, SelectOptionActionDetail, SelectOptionSubtextActionDetail, SelectPopupAlign, SelectSection, SelectSize, SelectValue, SelectWidth } from "./components/Select/Select"; import { ShellAppComposition, ShellNavigationConfig, ShellPageChromeConfig, ShellToolsConfig } from "./components/ShellApp/shell-app-types"; import { ShellGradientPreset } from "./shell/shell-gradient-presets"; import { ShellPageCapacity, ShellPageContentInset, ShellPageContentSurface, ShellPageHeaderPresentation } from "./components/ShellPage/shell-page-types"; import { SkeletonBackground, SkeletonVariant } from "./components/Skeleton/Skeleton"; import { LineTruncation, TextAlign, TextColor, TextDecoration, TextElement, TextFontFeature, TextVariant, TextWrap } from "./components/Text/text-types"; import { SliderOrientation, SliderSize, SliderThumbAlignment, SliderValue } from "./components/Slider/Slider"; import { SwatchPickerOption, SwatchPickerSection } from "./components/SwatchPicker/swatch-picker-types"; import { SwitchSize } from "./components/Switch/Switch"; import { TabBackground, TabGroupSize as TabGroupSize1, TabGroupWidth } from "./components/TabGroup/TabGroup"; import { TableCaptionVisibility, TableCellActionDetail, TableColumn, TableColumnsConfigChangeDetail, TableDataMode, TableDataModeChangeDetail, TableGroup, TableGroupCollapseChangeDetail, TableGroupingState, TableGroupLoadMoreDetail, TableLoadMoreDetail, TableLoadMoreMode, TablePaginationState, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortState } from "./components/Table/table-types"; import { FilterMenuChangeDetail as FilterMenuChangeDetail1, FilterMenuFilter as FilterMenuFilter1, FilterMenuValues as FilterMenuValues1 } from "./components/FilterMenu/FilterMenu"; import { TableSavedView, TableSavedViewChangeDetail, TableSavedViewCreateDetail, TableSavedViewDiscardDetail, TableSavedViewRemoveDetail, TableSavedViewRenameDetail, TableSavedViewSaveDetail } from "./components/TableSavedViews/table-saved-views-types"; import { TagContrast, TagIntent, TagSize } from "./components/Tag/Tag"; import { ToastActionEventDetail, ToastCloseEventDetail, ToastEventDetail, ToastManager, ToastSwipeDirection } from "./toast"; import { TooltipAlign, TooltipSide, TooltipSize } from "./components/Tooltip/Tooltip"; import { TooltipChartItem } from "./components/TooltipChart/TooltipChart"; export { AgentActivityItem, AgentQuestion, AgentQuestionAnswer, AgentQuestionnaireAnswerEventDetail, AgentQuestionnaireCancelEventDetail, AgentQuestionnaireLabels, AgentQuestionnaireStatus, AgentResponsePart, AgentResponseRenderMode, AgentSource, AgentToolState, ConversationAttachment, ConversationItemState, MessageComposerStatus, MessageCopyResultEventDetail, MessageDeliveryState, MessageDirection, MessageFeedback, MessageGroupPosition, MessageMetadataVisibility, MessageScrollerPosition } from "./components/conversation-types"; export { IconColor, IconSize as IconSize1 } from "./components/Icon/Icon"; export { AvatarSize } from "./components/Avatar/Avatar"; export { BadgeSurface, BadgeVariant } from "./components/Badge/Badge"; export { BannerAnnouncement, BannerContrast, BannerIntent, BannerOrientation } from "./components/Banner/Banner"; export { NavChromeStyle } from "./shell/nav-chrome"; export { BarNavTab } from "./components/BarNav/bar-nav-types"; export { BreadcrumbItem, BreadcrumbSelectDetail } from "./components/Breadcrumb/breadcrumb-types"; export { BarTitleActionItem, BarTitlePrimaryAction, BarTitleSectionItem, BarTitleVariant } from "./components/BarTitle/bar-title-types"; export { BarWorkflowStep, BarWorkflowSubmitAction } from "./components/BarWorkflow/bar-workflow-types"; export { MobileDestination, ShellResponsiveMode } from "./shell/shell-responsive"; export { ButtonFilledBackground, ButtonFilledContrast, ButtonFilledIntent, ButtonFilledPopup, ButtonFilledSize, ButtonFilledVariant, ButtonFilledWidth } from "./components/ButtonFilled/ButtonFilled"; export { ControlInsetDepth, ControlSize } from "./utils/control-text"; export { ButtonUnfilledBackground, ButtonUnfilledPopup, ButtonUnfilledSize, ButtonUnfilledVariant, ButtonUnfilledWidth } from "./components/ButtonUnfilled/ButtonUnfilled"; export { CardChartVariant, CardChartWidth } from "./components/CardChart/CardChart"; export { CardOverviewLayout, CardOverviewVariant, OverviewMetric, OverviewScore } from "./components/CardOverview/card-overview-types"; export { CardSettingActionDetail, CardSettingWidth } from "./components/CardSetting/CardSetting"; export { ChartDefinition } from "./utils/chart-grammar"; export { ChartFocusChangeDetail } from "./components/Chart/Chart"; export { ChartLegendItem } from "./utils/chart-types"; export { ChartLegendDirection, ChartLegendPercentageDecimals } from "./components/ChartLegend/ChartLegend"; export { CheckboxSize } from "./components/Checkbox/Checkbox"; export { ChipSize, ChipState } from "./components/Chip/Chip"; export { ConversationListActionLayout } from "./components/ConversationList/ConversationList"; export { DividerBackground, DividerInset, DividerLength, DividerOrientation } from "./components/Divider/Divider"; export { FilterMenuChangeDetail, FilterMenuFilter, FilterMenuSize, FilterMenuValues, FilterMenuWidth } from "./components/FilterMenu/FilterMenu"; export { AnchoredAlign, AnchoredSide } from "./utils/anchored-position"; export { IconColor as IconColor1, IconSize } from "./components/Icon/Icon"; export { InputSize, InputType, InputWidth } from "./components/Input/Input"; export { LoaderColor, LoaderSize } from "./components/Loader/Loader"; export { MenuItemData, MenuReorderDetail, MenuSection } from "./components/Menu/menu-types"; export { MenuSelectionMode, MenuSize } from "./components/Menu/Menu"; export { MenuAlign, MenuSide } from "./components/Menu/menu-position"; export { ChoicePopupAnchorAlignment, ControlInsetDepth as ControlInsetDepth1 } from "./utils"; export { MessageBubbleVariant } from "./components/MessageBubble/MessageBubble"; export { ButtonFilledIntent as ButtonFilledIntent1 } from "./components/ButtonFilled/ButtonFilled"; export { PanelNavGroup, PanelNavItem, PanelNavRouterMode, PanelNavUserActionDetail } from "./components/PanelNav/panel-nav-types"; export { MobileBarNavDestinationDetail } from "./components/MobileBarNav/mobile-bar-nav-types"; export { MobileHeaderHeadingLevel, MobileHeaderSectionsPresentation, MobileHeaderTone } from "./components/MobileHeader/mobile-header-types"; export { TabGroupItem, TabItem } from "./components/TabGroup/tab-item-utils"; export { TabGroupSize } from "./components/TabGroup/TabGroup"; export { ModalCloseDetail, ModalWidth } from "./components/Modal/Modal"; export { PaginationChangeDetail, PaginationPageSizeMode } from "./components/Pagination/pagination-types"; export { ChromeTransitionDetail } from "./shell/chrome-transition"; export { PanelSubNavItem } from "./components/PanelSubNav/panel-sub-nav-types"; export { PanelSubNavBackground } from "./components/PanelSubNav/PanelSubNav"; export { PanelToolsHeaderAction, PanelToolsHeaders, PanelToolsItem, PanelToolsToolId } from "./components/PanelTools/panel-tools-types"; export { PaperTextureConfig } from "./components/PaperTexture/paper-texture-types"; export { RadioOption, RadioSize } from "./components/Radio/Radio"; export { ScrollOverlayScrollDetail } from "./components/ScrollOverlay/ScrollOverlay"; export { SelectBackground, SelectIndicator, SelectOption, SelectOptionActionDetail, SelectOptionSubtextActionDetail, SelectPopupAlign, SelectSection, SelectSize, SelectValue, SelectWidth } from "./components/Select/Select"; export { ShellAppComposition, ShellNavigationConfig, ShellPageChromeConfig, ShellToolsConfig } from "./components/ShellApp/shell-app-types"; export { ShellGradientPreset } from "./shell/shell-gradient-presets"; export { ShellPageCapacity, ShellPageContentInset, ShellPageContentSurface, ShellPageHeaderPresentation } from "./components/ShellPage/shell-page-types"; export { SkeletonBackground, SkeletonVariant } from "./components/Skeleton/Skeleton"; export { LineTruncation, TextAlign, TextColor, TextDecoration, TextElement, TextFontFeature, TextVariant, TextWrap } from "./components/Text/text-types"; export { SliderOrientation, SliderSize, SliderThumbAlignment, SliderValue } from "./components/Slider/Slider"; export { SwatchPickerOption, SwatchPickerSection } from "./components/SwatchPicker/swatch-picker-types"; export { SwitchSize } from "./components/Switch/Switch"; export { TabBackground, TabGroupSize as TabGroupSize1, TabGroupWidth } from "./components/TabGroup/TabGroup"; export { TableCaptionVisibility, TableCellActionDetail, TableColumn, TableColumnsConfigChangeDetail, TableDataMode, TableDataModeChangeDetail, TableGroup, TableGroupCollapseChangeDetail, TableGroupingState, TableGroupLoadMoreDetail, TableLoadMoreDetail, TableLoadMoreMode, TablePaginationState, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortState } from "./components/Table/table-types"; export { FilterMenuChangeDetail as FilterMenuChangeDetail1, FilterMenuFilter as FilterMenuFilter1, FilterMenuValues as FilterMenuValues1 } from "./components/FilterMenu/FilterMenu"; export { TableSavedView, TableSavedViewChangeDetail, TableSavedViewCreateDetail, TableSavedViewDiscardDetail, TableSavedViewRemoveDetail, TableSavedViewRenameDetail, TableSavedViewSaveDetail } from "./components/TableSavedViews/table-saved-views-types"; export { TagContrast, TagIntent, TagSize } from "./components/Tag/Tag"; export { ToastActionEventDetail, ToastCloseEventDetail, ToastEventDetail, ToastManager, ToastSwipeDirection } from "./toast"; export { TooltipAlign, TooltipSide, TooltipSize } from "./components/Tooltip/Tooltip"; export { TooltipChartItem } from "./components/TooltipChart/TooltipChart"; export namespace Components { interface DsAgentActivity { /** * @default 'Activity' */ "heading": string; /** * @default [] */ "items": AgentActivityItem[]; /** * @default false */ "open": boolean; } interface DsAgentQuestionnaire { /** * @default false */ "allowCancel": boolean; /** * @default [] */ "answers": AgentQuestionAnswer[]; "errorMessage"?: string; "labels"?: Partial; "questions": AgentQuestion[]; "requestId": string; "setFocus": () => Promise; /** * @default 'ready' */ "status": AgentQuestionnaireStatus; } interface DsAgentResponse { /** * @default '' */ "author": string; /** * @default '' */ "messageId": string; /** * Controls whether the complete message metadata footer is persistent or revealed through hover/focus. * @default 'always' */ "metadataVisibility": MessageMetadataVisibility; /** * @default [] */ "parts": AgentResponsePart[]; /** * Renders serializable ordered parts or lets the default slot own the complete ordered body. * @default 'parts' */ "renderMode": AgentResponseRenderMode; /** * @default true */ "showAuthor": boolean; /** * @default false */ "streaming": boolean; /** * @default '' */ "timestamp": string; } interface DsAgentSourceList { /** * @default 'Sources' */ "heading": string; /** * @default [] */ "items": AgentSource[]; /** * @default false */ "open": boolean; } interface DsAgentToolCall { "error"?: string; "input"?: unknown; /** * @default '' */ "label": string; /** * @default '' */ "name": string; /** * @default false */ "open": boolean; "output"?: unknown; /** * @default 'queued' */ "state": AgentToolState; "statusLabel"?: string; } interface DsAttachmentList { /** * @default [] */ "items": ConversationAttachment[]; /** * @default 'Attachments' */ "label": string; } interface DsAvatar { /** * Canonical IcoMo icon name displayed inside the avatar. * @default '' */ "icon": string; /** * Semantic icon hierarchy. Use primary for stronger emphasis; secondary is the default. * @default 'secondary' */ "iconColor": IconColor; /** * Optional accessible label. Omit when the surrounding content already conveys the meaning. */ "label": string | undefined; /** * Circle and icon density. Maps to 32/20, 24/16, or 16/12 px. * @default 'md' */ "size": AvatarSize; } interface DsBadge { /** * Direct ring background override for component-local surfaces. */ "background": string | undefined; /** * Count shown for counter badges. Count 0 hides the badge. * @default 0 */ "count": number; /** * Ring samples the shell gradient stack (base fill + wash) instead of a flat `box-shadow`. Auto-enabled under an ShellApp with an active gradient preset; set `gradient-background` to opt in/out explicitly. The attribute must NOT start with `on` — Stencil's setAccessor routes any unknown `on*` member down the event-listener path during attribute reflection, calling addEventListener with a non-listener and throwing. * @default false */ "gradientBackground": boolean; /** * Show the separation ring when the badge overlaps an icon or other content. * @default true */ "hasRing": boolean; /** * Contextual supplemental text. Omit when the owner hides the badge from assistive technology. */ "label": string | undefined; /** * Highest count shown before compacting to "{max}+". * @default 9 */ "max": number; /** * Immediate backing surface matched by the ring around either variant. * @default 'primary' */ "surface": BadgeSurface; /** * Render as a compact counter or notification dot. * @default 'counter' */ "variant": BadgeVariant; } interface DsBanner { /** * Live-region urgency, independent of visual intent. * @default 'none' */ "announcement": BannerAnnouncement; /** * Surface fill weight. * @default 'faint' */ "contrast": BannerContrast; /** * Required explanatory copy. */ "description": string; /** * Localized accessible label for the close control. * @default 'Dismiss banner' */ "dismissLabel": string; /** * Optional visual heading rendered before the description. * @default '' */ "heading": string; /** * Semantic color family. * @default 'neutral' */ "intent": BannerIntent; /** * Controlled visibility. Keep the element mounted until dsAfterClose when unmounting. * @default true */ "open": boolean; /** * Copy and action-lane arrangement, selected by the application. * @default 'horizontal' */ "orientation": BannerOrientation; } interface DsBarAction { /** * Visible Clear control label. * @default 'Clear' */ "clearLabel": string; /** * Number of selected items. The bar is hidden while this is below one. * @default 0 */ "count": number; /** * Accessible name for the selected-set action group. * @default 'Selected item actions' */ "label": string; /** * Localized noun shown after the count. * @default 'selected' */ "selectedLabel": string; } interface DsBarNav { /** * Section base path (e.g. `/dashboard/safety`). Used with `currentUrl` to derive `value`. * @default '' */ "basePath": string; /** * Current route URL. When set with `basePath`, the active tab is derived automatically. * @default '' */ "currentUrl": string; /** * Fallback heading shown when no tabs are provided. When tabs are present the heading is hidden. */ "heading": string | undefined; /** * @default 'More tabs' */ "moreTabsLabel": string; /** * Style slot: `dashboard` or `settings`. Colors match for now. * @default 'dashboard' */ "navStyle": NavChromeStyle; /** * Tab items for the left section. Set via JS property: `el.tabs = [...]`. Replace the array reference to update. * @default [] */ "tabs": BarNavTab[]; /** * ID of the currently active tab. Overridden when `currentUrl` + `basePath` are set. * @default '' */ "value": string; } interface DsBarTitle { /** * Secondary page actions shown in the overflow menu. Dividers create groups. * @default [] */ "actions": BarTitleActionItem[]; /** * Accessible name for the page-actions menu. * @default 'More page actions' */ "actionsAriaLabel": string; /** * Accessible name for the leading Back action. * @default 'Back' */ "backAriaLabel": string; /** * Visible parent-page label used by the expanded breadcrumb when breadcrumbs is empty. * @default 'Back' */ "backLabel": string; /** * Accessible name for the expanded breadcrumb navigation landmark. * @default 'Breadcrumb' */ "breadcrumbAriaLabel": string; /** * Optional expanded ancestor path. Compact variants continue to use the Back action. * @default [] */ "breadcrumbs": BreadcrumbItem[]; /** * Optional supporting copy shown in the expanded presentation. * @default '' */ "description": string; /** * The page's single visible h1. */ "heading": string; /** * The one highest-emphasis page action. * @default null */ "primaryAction": BarTitlePrimaryAction | null; /** * Optional page sections exposed through the active-section menu. * @default [] */ "sections": BarTitleSectionItem[]; /** * Accessible name for the page-section menu. * @default 'Change page section' */ "sectionsAriaLabel": string; /** * Show the leading page-level Back action. * @default false */ "showBack": boolean; /** * Override divider visibility for compact and constrained variants. */ "showCompactDivider"?: boolean; /** * Draw the page-title divider beneath the header. * @default true */ "showDivider": boolean; /** * Id of the active page section. * @default '' */ "value": string; /** * Explicit visual/capacity variant. ShellPage owns automatic selection. * @default 'expanded' */ "variant": BarTitleVariant; } interface DsBarWorkflow { /** * Workflow-specific accessible name for Exit. * @default 'Exit workflow' */ "exitAriaLabel": string; /** * Concise tooltip label for the Exit control. * @default 'Exit' */ "exitLabel": string; /** * The workflow's single visible h1. */ "heading": string; /** * Prevent advancing while the current step is incomplete or invalid. * @default false */ "isNextInactive": boolean; /** * Tooltip and accessible name for the next-step control. * @default 'Next step' */ "nextLabel": string; /** * Tooltip and accessible name for the previous-step control. * @default 'Previous step' */ "previousLabel": string; /** * Explicit shell breakpoint presentation. Mobile keeps the same controlled workflow state. * @default 'desktop' */ "responsiveMode": ShellResponsiveMode; /** * Ordered workflow steps. Step state is controlled by the application. * @default [] */ "steps": BarWorkflowStep[]; /** * The final-step Save or Submit action. * @default { label: 'Save', type: 'submit', } */ "submitAction": BarWorkflowSubmitAction; /** * Id of the current workflow step. Falls back to the first step. * @default '' */ "value": string; } interface DsBreadcrumb { /** * Accessible name for the breadcrumb navigation landmark. * @default 'Breadcrumb' */ "ariaLabel": string; /** * Ordered path from the broadest ancestor to the nearest page. * @default [] */ "items": BreadcrumbItem[]; } interface DsButtonFilled { /** * Accessible name override. Required for icon-only buttons. * @default null */ "ariaLabel": string | null; /** * Actual parent surface context for the optional inset border color only. Omit on primary and secondary surfaces. */ "background": ButtonFilledBackground | undefined; /** * Background fill weight. Foreground uses the paired contrast token: bold → faint, strong → medium, medium → strong, faint → bold. * @default 'bold' */ "contrast": ButtonFilledContrast; /** * ID of the popup this button controls. */ "controls": string | undefined; /** * Controlled open state of the popup this button triggers. Holds the pressed wash for the popup's rendered lifecycle. ButtonFilled has no selected state, so an open popup never promotes to an active treatment. */ "expanded": boolean | undefined; /** * Show a 1px secondary inset border. * @default false */ "hasBorder": boolean; /** * This action *has* a menu: implies `aria-haspopup="menu"` and adds the trailing chevron that carries the affordance. Only `label` and `icon-label` are supported. A filled button is never the overflow / more-options control — that role belongs to ButtonUnfilled with an `Ellipses` glyph, which conveys the menu without a chevron. Use `haspopup` directly for non-menu popups. * @default false */ "hasMenu": boolean; /** * Popup type exposed to assistive technology. */ "haspopup": ButtonFilledPopup | undefined; /** * Icon name passed to for `icon` / `icon-label` variants. * @default '' */ "icon": string; /** * Single removes 4px overall; double removes 8px overall (xs stays single). * @default 'single' */ "insetDepth": ControlInsetDepth; /** * Semantic colour intent. * @default 'brand' */ "intent": ButtonFilledIntent; /** * Disables interaction. * @default false */ "isInactive": boolean; /** * Use reduced outer geometry when nested inside a control of the same size. * @default false */ "isInset": boolean; /** * Shows an inline loader and prevents interaction without applying inactive opacity. * @default false */ "isLoading": boolean; /** * Visible text for `label` / `icon-label` variants. * @default '' */ "label": string; /** * Scale down during a physical pointer press. Disable when an owning composite requires fixed child or background geometry. * @default true */ "pressScale": boolean; /** * Use the half-radius treatment instead of the default control radius. * @default false */ "rounded": boolean; "setFocus": () => Promise; /** * Control density (height, padding, icon, type). * @default 'md' */ "size": ButtonFilledSize; /** * Native button type. * @default 'button' */ "type": 'button' | 'submit' | 'reset'; /** * Content layout. Default is label-only; pass `icon` for icon-only chrome (nav / tool rails) or `icon-label` for leading icon + text. * @default 'label' */ "variant": ButtonFilledVariant; /** * Width fit — hug content (default) or fill the parent. * @default 'hug' */ "width": ButtonFilledWidth; } interface DsButtonUnfilled { /** * When active, render the selected interaction fill. Default `true` for general UI. Shell chrome (nav / tool rails) should pass `false` so selection is foreground-only (primary color, no fill). * @default true */ "activeFill": boolean; /** * Accessible name override. Required for icon-only buttons. * @default null */ "ariaLabel": string | null; /** * Actual parent surface context. Omit on primary and secondary surfaces. */ "background": ButtonUnfilledBackground | undefined; /** * Collapse the visible label and chevron to an icon-only control when the owning `ds-table` caption is narrower than 900px. The trigger omits those parts rather than clipping them. * @default false */ "collapseLabel": boolean; "controls": string | undefined; /** * Show a notification dot at the top-right of the icon zone (icon variant only). * @default false */ "dot": boolean; /** * Controlled disclosure or popup state forwarded to `aria-expanded`. Popup triggers hold only the pressed wash while open; their resting foreground is unchanged. Ordinary disclosures remain visually neutral. */ "expanded": boolean | undefined; /** * Native `tabindex` for roving keyboard groups in shell chrome. Omit for the default button tab stop (`0`). */ "focusTabIndex"?: number; /** * Show a 1px secondary inset border. Default on; shell chrome can pass `false`. * @default true */ "hasBorder": boolean; /** * Mark the button as a Menu trigger. Implies `aria-haspopup="menu"` and covers both menu-button shapes: - `label` / `icon-label` — the action *has* a menu; a trailing chevron carries the affordance. - `icon` — the button *is* a menu. No chevron is added, so the glyph must convey the menu on its own. Use `Ellipses` for generic more-options; use a specific icon when the menu has a named purpose, such as `Table` for Customize table. Use `haspopup` directly for non-menu popups. * @default false */ "hasMenu": boolean; "haspopup": ButtonUnfilledPopup | undefined; /** * Icon name passed to for `icon` / `icon-label` variants. * @default '' */ "icon": string; /** * Single removes 4px overall; double removes 8px overall (xs stays single). * @default 'single' */ "insetDepth": ControlInsetDepth; /** * Owner-controlled visual emphasis inside a composite. This does not add toggle semantics and does not emit dsChange. * @default false */ "isActive": boolean; /** * Disables interaction. * @default false */ "isInactive": boolean; /** * Use reduced outer geometry when nested inside a control of the same size. * @default false */ "isInset": boolean; /** * Shows an inline loader and prevents interaction without applying inactive opacity. * @default false */ "isLoading": boolean; /** * Visible text for `label` / `icon-label` variants. * @default '' */ "label": string; /** * Scale down during a physical pointer press. Disable when an owning composite requires fixed child or background geometry. * @default true */ "pressScale": boolean; /** * Controlled state for a genuine toggle button. Adds aria-pressed, promotes active styling, and makes activation emit dsChange with the requested state. */ "pressed": boolean | undefined; /** * Use the half-radius treatment instead of the default control radius. * @default false */ "rounded": boolean; "setFocus": () => Promise; /** * Control density (height, padding, icon, type). * @default 'md' */ "size": ButtonUnfilledSize; /** * Native button type. * @default 'button' */ "type": 'button' | 'submit' | 'reset'; /** * Content layout. Default is label-only; pass `icon` for icon-only chrome (nav / tool rails) or `icon-label` for leading icon + text. * @default 'label' */ "variant": ButtonUnfilledVariant; /** * Width fit — hug content (default) or fill the parent. * @default 'hug' */ "width": ButtonUnfilledWidth; } /** * Standard chart card chrome and composition. The variant owns * only the chart/legend relationship; applications continue to own data. */ interface DsCardChart { /** * Width token with the matching chart-card min-height. * @default 'md' */ "cardWidth": CardChartWidth; /** * @default 'Filter' */ "filterLabel": string; /** * Chart heading shown in the card header. */ "heading": string; /** * Renders the standard filter action before custom actions. * @default false */ "showFilter": boolean; /** * Chart composition behavior. * @default 'custom' */ "variant": CardChartVariant; } interface DsCardOverview { /** * Copy between the current period and comparison control, usually `vs.`. * @default '' */ "comparisonLabel": string; /** * Replace the score and metrics with skeletons while data resolves. * @default false */ "isLoading": boolean; /** * Intrinsic responsive layout, or a page-owned single-column stack. * @default 'auto' */ "layout": CardOverviewLayout; /** * Width a metric cell may shrink to before the grid drops a column. The grid uses this threshold while choosing an evenly distributed column count. * @default '200px' */ "metricMinWidth": string; /** * Measures rendered in the responsive grid. Only the first seven are shown. * @default [] */ "metrics": OverviewMetric[]; /** * Accessible name for the region. * @default 'Overview' */ "overviewLabel": string; /** * Fixed current date or range. Replaced by content in the `period` slot. * @default '' */ "periodLabel": string; /** * Optional nonselectable safety score rendered as the first grid cell. */ "score": OverviewScore | undefined; /** * Message shown in place of the score when its figure cannot be resolved. */ "scoreErrorMessage": string | undefined; /** * Page-controlled visual collapse from the full card (`0`) toward its 48px compact handoff height (`1`). The component preserves its expanded flow height, keeps the period bar stationary, and moves/clips the grid beneath it. The page still owns sticky positioning and the final compact handoff. * @default 0 */ "scrollCollapseProgress": number; /** * Full summary card, or the condensed 48px summary bar. * @default 'default' */ "variant": CardOverviewVariant; } interface DsCardSetting { /** * @default 'Cancel' */ "cancelLabel": string; /** * Card width token (`sm` / `md` / `lg`). Also sets host `min-height` to the matching `--dimension-card-height-*` so the body fills available space even when the slot is empty. * @default 'md' */ "cardWidth": CardSettingWidth; /** * @default 'Edit' */ "editLabel": string; /** * Controlled edit state — parent owns single-edit orchestration. * @default false */ "editing": boolean; /** * Section heading shown in the card header. */ "heading": string; /** * @default 'Save' */ "saveLabel": string; } interface DsChart { /** * Derives height from the current width when height is not supplied. */ "aspectRatio"?: number; /** * Typed chart definition. Set as a JavaScript property, not an HTML attribute. */ "definition": ChartDefinition; /** * Optional longer accessible description. */ "description"?: string; /** * Product-owned surface height. Wins over aspectRatio. */ "height"?: number; /** * Required accessible name for the visualization. */ "label": string; /** * Locale used by axes and default tooltip formatters. */ "locale"?: string; /** * Fixed surface width. Otherwise the chart observes its container. */ "width"?: number; } /** * Base legend for `ds-chart-*` components. Webapp's Overview widgets each style * legends differently (list w/ values, compact chips, bare swatches, external * stat callouts) — this covers the common "swatch + label + optional value" case. * Consumers who need a different treatment skip this component entirely and * render their own markup against the same `ChartLegendItem[]` data. */ interface DsChartLegend { /** * Externally controlled highlight, matched by `label` — e.g. drive this from a sibling chart's `dsSliceHover` event to keep chart and legend hover in sync. Only dims the other rows' opacity (like a chart dimming its other slices) — it never shows the hover-fill, since that's reserved for a real pointer/keyboard interaction on this row. * @default null */ "activeLabel": string | null; /** * @default 'vertical' */ "direction": ChartLegendDirection; /** * Let local pointer/focus movement highlight one item and emit `dsItemHover`. * @default true */ "highlightOnHover": boolean; /** * Legend entries. Set as a JS property (not an HTML attribute). * @default [] */ "items": ChartLegendItem[]; "locale": string | undefined; /** * Fixed number of decimal places shown for percentages. * @default 1 */ "percentageDecimals": ChartLegendPercentageDecimals; /** * Show each item's share of the total (of items with a `value`) alongside its count. * @default true */ "showPercentage": boolean; } interface DsCheckbox { /** * Current checked state. * @default false */ "checked": boolean; /** * Optional supporting description associated with the checkbox. */ "description"?: string; /** * Native disabled state. * @default false */ "disabled": boolean; /** * Mixed visual state. Activation clears it before toggling checked. * @default false */ "indeterminate": boolean; /** * Design-system inactive state. * @default false */ "isInactive": boolean; /** * Visible label and accessible name. Omitted only in presentation mode. */ "label": string; /** * Native form field name. */ "name": string | undefined; /** * Visual-only indicator for a composite control that owns selection semantics. * @default false */ "presentation": boolean; /** * Require the checkbox to be checked for form validity. * @default false */ "required": boolean; /** * Validation message used when a required checkbox is unchecked. * @default 'This field is required.' */ "requiredMessage": string; /** * Visual and placement density. * @default 'md' */ "size": CheckboxSize; /** * Submitted value when checked. * @default 'on' */ "value": string; } /** * Removable chip — same density recipe as Tag, but colored by semantic `state` * (not intent × contrast). Not a toggle/select control; the only intentional * action is remove. */ interface DsChip { /** * @default false */ "isInactive": boolean; "label": string; "maxWidth": string | number | undefined; /** * Accessible remove action. Use `{label}` as the chip-label placeholder. * @default 'Remove {label}' */ "removeLabel": string; /** * @default false */ "rounded": boolean; /** * @default 'md' */ "size": ChipSize; /** * Semantic color state. * @default 'default' */ "state": ChipState; } interface DsCodeBlock { /** * @default '' */ "code": string; /** * @default '' */ "filename": string; /** * @default '' */ "language": string; } interface DsConversationList { /** * Corner icon action or full-width persistent footer action. * @default 'floating' */ "actionLayout": ConversationListActionLayout; } interface DsConversationListItem { /** * Keep the contextual-actions surface visible while its popup is open or closing. * @default false */ "actionsOpen": boolean; /** * @default '' */ "conversationId": string; /** * Visible conversation title. Named to avoid the native HTMLElement.title contract. * @default '' */ "conversationTitle": string; /** * @default '' */ "preview": string; /** * @default false */ "selected": boolean; /** * @default 'default' */ "state": ConversationItemState; /** * @default '' */ "statusLabel": string; /** * @default 0 */ "unreadCount": number; /** * ISO timestamp for semantic activity metadata. * @default '' */ "updatedAt": string; } interface DsConversationListSection { /** * Visible section heading. * @default '' */ "heading": string; /** * Optional stable id used for the section heading. * @default '' */ "sectionId": string; } interface DsDivider { /** * Actual parent surface context. Omit on primary and secondary surfaces. */ "background": DividerBackground | undefined; /** * Insets the divider from its start/end edges. Accepts spacing token names or any CSS length. * @default 'none' */ "inset": DividerInset; /** * Visual line length. Defaults to filling the available axis. Accepts any CSS length. * @default 'auto' */ "length": DividerLength; /** * Direction of the divider line. Defaults to 'horizontal'. * @default 'horizontal' */ "orientation": DividerOrientation; /** * Expose the divider as a semantic separator. Visual-only dividers are hidden from assistive tech by default. * @default false */ "semantic": boolean; } interface DsEmptyState { /** * Explanatory empty-state copy. Every supported variant includes body text. * @default '' */ "body": string; /** * Optional visual title. Use with body; required when icon is provided. */ "heading": string | undefined; /** * Optional decorative prefix glyph for the complete icon + title + body variant. */ "icon": string | undefined; } interface DsField { /** * Optional guidance associated with the slotted control while no visible error is shown. */ "description": string | undefined; /** * Invalid visual and accessible state forwarded to supported ds controls. * @default false */ "error": boolean; /** * Visible error associated with the slotted control while error is true. */ "errorMessage": string | undefined; /** * Explicit ID for the slotted control; generated when omitted. */ "fieldId": string | undefined; /** * Persistent visible label for the single slotted control. */ "label": string; } interface DsFilterMenu { /** * Show selected interaction fill when one or more criteria are active. * @default false */ "activeFill": boolean; /** * Controlled category shown in the option pane. */ "activeFilterId": string | undefined; /** * Cross-axis alignment against the trigger. * @default 'end' */ "align": AnchoredAlign; /** * Cross-axis offset — number in px or a TokoMo length. * @default 0 */ "alignOffset": number | string; /** * External trigger element to position against. */ "anchor": HTMLElement | undefined; /** * ID of the external trigger element used for positioning and focus return. */ "anchorId": string | undefined; /** * Direct accessible name for the internal select trigger. * @default null */ "ariaLabel": string | null; /** * Accessible name for the category tab list. * @default 'Filter categories' */ "categoriesLabel": string; /** * Footer action and date-clear accessible label. * @default 'Clear' */ "clearLabel": string; /** * Opt into table-caption icon-only chrome below 900px. The trigger omits its visible label and chevron; keep an accessible name via aria-label. * @default false */ "collapseLabel": boolean; /** * Product-owned filter categories and option definitions. * @default [] */ "filters": FilterMenuFilter[]; /** * Show the surface-aware inset border around the select trigger. * @default true */ "hasBorder": boolean; /** * Optional select trigger prefix icon name. * @default 'Filters' */ "icon": string | undefined; /** * Show a visible focus ring on initial entry after keyboard activation. * @default false */ "initialFocusVisible": boolean; /** * ID applied to the internal select trigger. */ "inputId": string | undefined; /** * Accessible name for the non-modal filter dialog. * @default 'Filters' */ "menuLabel": string; /** * Popup width. It remains clamped to the viewport by the component recipe. * @default TOKEN_CSS_LENGTHS.menuWidthLg */ "menuWidth": string; /** * Controlled popup visibility. * @default false */ "open": boolean; /** * Preferred popup side; collision handling may flip it. * @default 'bottom' */ "side": AnchoredSide; /** * Gap between trigger and popup — number in px or a TokoMo length. * @default TOKEN_CSS_LENGTHS.space050 */ "sideOffset": number | string; /** * Select trigger density. * @default 'md' */ "size": FilterMenuSize; /** * Select trigger text. The selected count is appended automatically. * @default 'Filters' */ "triggerLabel": string; /** * Controlled values keyed by filter id. * @default {} */ "values": FilterMenuValues; /** * Select trigger width fit. * @default 'hug' */ "width": FilterMenuWidth; } interface DsIcon { /** * Semantic foreground color token, or a raw CSS var reference. `tertiary` and the still-fainter `quaternary` are restricted to icons inside genuinely inactive/disabled UI or to purely decorative icons; informative icons must retain sufficient contrast. * @default 'inherit' */ "color": IconColor1; /** * Accessible label. Sets `role="img"` and `aria-label`. Omit for decorative icons. */ "label": string | undefined; /** * Exact canonical IcoMo export name, including the `Flag` prefix for flags. * @default '' */ "name": string; /** * Iconography size token. Maps to `--dimension-iconography-{size}`. Default `md` = 20 px. * @default 'md' */ "size": IconSize; } interface DsInput { "ariaDescribedby": string | undefined; /** * @default null */ "ariaLabel": string | null; "ariaLabelledby": string | undefined; /** * Native browser autofill hint. */ "autoComplete": string | undefined; /** * @default false */ "autoFocus": boolean; /** * @default 'Clear' */ "clearLabel": string; /** * @default false */ "disabled": boolean; /** * Preferred virtual-keyboard action label. * @default '' */ "enterKeyHint": string; /** * @default false */ "error": boolean; "errorMessage": string | undefined; "form": string | undefined; /** * Show the standard inset border, including focused and invalid strokes. * @default true */ "hasBorder": boolean; /** * Optional leading icon name. */ "icon": string | undefined; /** * Associates the internal input with an external