@ds-mo/ui 14.23.0 → 14.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/dist/.package-ready.json +1 -1
  2. package/dist/agent-patterns.json +10 -7
  3. package/dist/agent.json +57 -14
  4. package/dist/angular/ds-bar-title.d.ts +1 -1
  5. package/dist/angular/ds-bar-title.js +3 -3
  6. package/dist/angular/ds-button-filled.d.ts +3 -1
  7. package/dist/angular/ds-button-filled.js +7 -4
  8. package/dist/angular/ds-button-unfilled.d.ts +3 -1
  9. package/dist/angular/ds-button-unfilled.js +7 -4
  10. package/dist/components/ds-agent-questionnaire.js +1 -1
  11. package/dist/components/ds-agent-response.js +1 -1
  12. package/dist/components/ds-banner.js +1 -1
  13. package/dist/components/ds-bar-nav.js +1 -1
  14. package/dist/components/ds-bar-title.js +1 -1
  15. package/dist/components/ds-bar-workflow.js +1 -1
  16. package/dist/components/ds-button-filled.js +1 -1
  17. package/dist/components/ds-button-unfilled.js +1 -1
  18. package/dist/components/ds-card-chart.js +1 -1
  19. package/dist/components/ds-card-setting.js +1 -1
  20. package/dist/components/ds-code-block.js +1 -1
  21. package/dist/components/ds-filter-menu.js +1 -1
  22. package/dist/components/ds-input.js +1 -1
  23. package/dist/components/ds-markdown.js +1 -1
  24. package/dist/components/ds-message-actions.js +1 -1
  25. package/dist/components/ds-message-composer.js +1 -1
  26. package/dist/components/ds-message-scroller.js +1 -1
  27. package/dist/components/ds-mobile-sheet-nav.js +1 -1
  28. package/dist/components/ds-modal.js +1 -1
  29. package/dist/components/ds-pagination.js +1 -1
  30. package/dist/components/ds-panel-nav.js +1 -1
  31. package/dist/components/ds-panel-tool-header.js +1 -1
  32. package/dist/components/ds-panel-tool-search.js +1 -1
  33. package/dist/components/ds-panel-tools.js +1 -1
  34. package/dist/components/ds-select.js +1 -1
  35. package/dist/components/ds-shell-app.js +1 -1
  36. package/dist/components/ds-shell-app.js.map +1 -1
  37. package/dist/components/ds-shell-tools.js +1 -1
  38. package/dist/components/ds-table-filter.js +1 -1
  39. package/dist/components/ds-table-group.js +1 -1
  40. package/dist/components/ds-table-saved-views.js +1 -1
  41. package/dist/components/ds-table-search.js +1 -1
  42. package/dist/components/ds-table-sort.js +1 -1
  43. package/dist/components/ds-table.js +1 -1
  44. package/dist/components/ds-toast.js +1 -1
  45. package/dist/components/p-BR1ayqMU.js +2 -0
  46. package/dist/components/p-BR1ayqMU.js.map +1 -0
  47. package/dist/components/{p-DzVYGJJv.js → p-BSRIF4m8.js} +2 -2
  48. package/dist/components/{p-FitB53eM.js → p-BZlhBJZL.js} +2 -2
  49. package/dist/components/{p-BmqnrfTf.js → p-Bo6uW_8T.js} +2 -2
  50. package/dist/components/{p-BIaHDBfP.js → p-Bq8svcPs.js} +2 -2
  51. package/dist/components/{p-DAFR4U9P.js → p-BqbdABo3.js} +2 -2
  52. package/dist/components/{p-nVv71P3f.js → p-CEXchU5N.js} +2 -2
  53. package/dist/components/p-CEfxLsbX.js +2 -0
  54. package/dist/components/p-CEfxLsbX.js.map +1 -0
  55. package/dist/components/{p-DXbryJHz.js → p-CYMKmJ2s.js} +2 -2
  56. package/dist/components/{p-C13fWp2x.js → p-CZHIkVgj.js} +2 -2
  57. package/dist/components/{p-CL0tECXf.js → p-CZjjDhUl.js} +2 -2
  58. package/dist/components/{p-Bd-Kpekh.js → p-C_FFU6W3.js} +2 -2
  59. package/dist/components/{p-CilwchJH.js → p-CglHiyY2.js} +2 -2
  60. package/dist/components/{p-9M0ak2q_.js → p-DLaN9BPq.js} +2 -2
  61. package/dist/components/{p-CrYJnDev.js → p-DiS5BgLA.js} +2 -2
  62. package/dist/components/{p-DiyO47xX.js → p-PXdvBMXB.js} +2 -2
  63. package/dist/components/{p-7MWaWl8w.js → p-kslioYhf.js} +2 -2
  64. package/dist/components/p-kslioYhf.js.map +1 -0
  65. package/dist/docs/components.json +257 -30
  66. package/dist/lib/components/BarTitle/bar-title-types.d.ts +54 -1
  67. package/dist/lib/components/ButtonFilled/ButtonFilled.d.ts +12 -1
  68. package/dist/lib/components/ShellApp/shell-app-types.d.ts +3 -1
  69. package/dist/lib/shell/index.d.ts +1 -0
  70. package/dist/mcp-data/registry/bar-title.json +34 -12
  71. package/dist/mcp-data/registry/button-filled.json +60 -6
  72. package/dist/mcp-data/registry/button-unfilled.json +60 -6
  73. package/dist/mcp-data/registry/registry.json +56 -13
  74. package/dist/mcp-data/registry/shell-app.json +6 -2
  75. package/dist/react/ds-button-filled.d.ts +1 -0
  76. package/dist/react/ds-button-filled.js +4 -1
  77. package/dist/react/ds-button-unfilled.d.ts +1 -0
  78. package/dist/react/ds-button-unfilled.js +1 -0
  79. package/dist/types/components/BarTitle/BarTitle.d.ts +19 -6
  80. package/dist/types/components/BarTitle/bar-title-actions.d.ts +11 -0
  81. package/dist/types/components/BarTitle/bar-title-types.d.ts +54 -1
  82. package/dist/types/components/BarTitle/index.d.ts +1 -1
  83. package/dist/types/components/ButtonFilled/ButtonFilled.d.ts +12 -1
  84. package/dist/types/components/ButtonUnfilled/ButtonUnfilled.d.ts +12 -1
  85. package/dist/types/components/ShellApp/ShellApp.d.ts +12 -0
  86. package/dist/types/components/ShellApp/shell-app-types.d.ts +3 -1
  87. package/dist/types/components.d.ts +60 -4
  88. package/dist/types/shell/index.d.ts +1 -0
  89. package/dist/types/utils/button-story-foundation.d.ts +2 -0
  90. package/dist/vue/ds-bar-title.js +1 -0
  91. package/dist/vue/ds-button-filled.js +6 -2
  92. package/dist/vue/ds-button-unfilled.js +4 -0
  93. package/package.json +1 -1
  94. package/dist/components/p--68f7nIx.js +0 -2
  95. package/dist/components/p--68f7nIx.js.map +0 -1
  96. package/dist/components/p-7MWaWl8w.js.map +0 -1
  97. package/dist/components/p-BnTPuV3x.js +0 -2
  98. package/dist/components/p-BnTPuV3x.js.map +0 -1
  99. /package/dist/components/{p-DzVYGJJv.js.map → p-BSRIF4m8.js.map} +0 -0
  100. /package/dist/components/{p-FitB53eM.js.map → p-BZlhBJZL.js.map} +0 -0
  101. /package/dist/components/{p-BmqnrfTf.js.map → p-Bo6uW_8T.js.map} +0 -0
  102. /package/dist/components/{p-BIaHDBfP.js.map → p-Bq8svcPs.js.map} +0 -0
  103. /package/dist/components/{p-DAFR4U9P.js.map → p-BqbdABo3.js.map} +0 -0
  104. /package/dist/components/{p-nVv71P3f.js.map → p-CEXchU5N.js.map} +0 -0
  105. /package/dist/components/{p-DXbryJHz.js.map → p-CYMKmJ2s.js.map} +0 -0
  106. /package/dist/components/{p-C13fWp2x.js.map → p-CZHIkVgj.js.map} +0 -0
  107. /package/dist/components/{p-CL0tECXf.js.map → p-CZjjDhUl.js.map} +0 -0
  108. /package/dist/components/{p-Bd-Kpekh.js.map → p-C_FFU6W3.js.map} +0 -0
  109. /package/dist/components/{p-CilwchJH.js.map → p-CglHiyY2.js.map} +0 -0
  110. /package/dist/components/{p-9M0ak2q_.js.map → p-DLaN9BPq.js.map} +0 -0
  111. /package/dist/components/{p-CrYJnDev.js.map → p-DiS5BgLA.js.map} +0 -0
  112. /package/dist/components/{p-DiyO47xX.js.map → p-PXdvBMXB.js.map} +0 -0
@@ -1 +1 @@
1
- {"schemaVersion":1,"package":"@ds-mo/ui","version":"14.23.0","components":77,"digest":"2db305df550d826a65e3755c57cc2404e35f4ddd1ea9740d06ac41399959b27d","completedAt":"2026-08-31T23:09:00.789Z"}
1
+ {"schemaVersion":1,"package":"@ds-mo/ui","version":"14.24.0","components":77,"digest":"788194112cd3c2dab0ded8853b1d03149a99921edc98cba5ac8e62d1b5439b62","completedAt":"2026-09-01T20:08:31.239Z"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
3
  "package": "@ds-mo/ui",
4
- "packageVersion": "14.23.0",
4
+ "packageVersion": "14.24.0",
5
5
  "kind": "patterns",
6
6
  "entries": [
7
7
  {
@@ -458,7 +458,7 @@
458
458
  "components": [
459
459
  {
460
460
  "component": "component:ds-button-unfilled",
461
- "role": "Provides the visible trigger, popup relationship attributes, and focus target. Carries both shapes, and is the only component that carries the icon-only overflow role.",
461
+ "role": "Provides the visible trigger, popup relationship attributes, focus target, and optional split-menu segment. Carries both menu-button shapes, and is the only component that carries the icon-only overflow role.",
462
462
  "required": true
463
463
  },
464
464
  {
@@ -468,7 +468,7 @@
468
468
  },
469
469
  {
470
470
  "component": "component:ds-button-filled",
471
- "role": "Substitutes for the trigger when the menu belongs to the single primary action in a local decision area, using the label or icon-label shape only.",
471
+ "role": "Substitutes for the trigger when the menu belongs to the single primary action in a local decision area, and supports split mode when the primary command must remain independently available.",
472
472
  "required": false
473
473
  }
474
474
  ],
@@ -478,6 +478,7 @@
478
478
  "An open popup is a transient pressed state, not a selected one. The trigger holds only its pressed wash for the popup's rendered lifecycle from expanded alone, without changing foreground, so never also set isActive to represent an open menu.",
479
479
  "Menu owns popup placement and keyboard navigation; the application never calculates popup coordinates or applies positional CSS.",
480
480
  "On dsSelect from a command or single-selection row, update the selected value, close the Menu, and restore focus to the trigger.",
481
+ "For button split mode, restore focus to the menu segment after a menu choice; the primary segment remains an independent command.",
481
482
  "Switch rows and reorderable rows report dsSelect or dsReorder without closing; replace the items array from those events.",
482
483
  "On dsClose, synchronize the application open state to false."
483
484
  ],
@@ -485,6 +486,7 @@
485
486
  "A button either has a menu or is a menu, and the trigger's variant selects between the two shapes.",
486
487
  "Has a menu: a label or icon-label action that opens a menu. Set hasMenu, which implies aria-haspopup of menu and renders the trailing chevron that communicates the popup. Both button primitives support this shape.",
487
488
  "Is a menu: an icon-only control. Set hasMenu, which adds no chevron, so the glyph must convey the menu alone. Use Ellipses for generic more-options or overflow. Use a specific icon when the menu has a named purpose, such as Table for Customize table. Only ButtonUnfilled carries this shape, because the role is chrome rather than a primary action.",
489
+ "Split mode: set split and menuAriaLabel on either button primitive. The selected variant continues to define the primary segment; the appended ChevronDown segment owns controls, expanded, aria-haspopup, and dsMenuClick.",
488
490
  "Set controls to the Menu id and expanded from the same open state passed to Menu.",
489
491
  "Give an icon-only trigger an accessible name that states the role, such as More options or Customize table, because no visible label or chevron carries it.",
490
492
  "Use haspopup directly instead of hasMenu for a non-menu popup such as a listbox or dialog; those cases get no chevron.",
@@ -653,7 +655,7 @@
653
655
  }
654
656
  ],
655
657
  "stateOwnership": [
656
- "The router owns heading copy, selected section, depth, available actions, content inset, divider visibility, scroll-compaction policy, content surface, route data, and product outcomes.",
658
+ "The router owns heading copy, selected section, depth, ordered available actions, content inset, divider visibility, scroll-compaction policy, content surface, route data, and product outcomes.",
657
659
  "The application replaces pageChrome from completed route state and handles ShellApp page intent events.",
658
660
  "ShellApp owns ShellPage, BarTitle, MobileHeader, the content scroller, sticky presentation, and responsive switching.",
659
661
  "The default slot contains application-owned routed content and is not recreated for header compaction or breakpoint changes.",
@@ -667,6 +669,7 @@
667
669
  ],
668
670
  "responsiveBehavior": [
669
671
  "ShellApp derives the desktop BarTitle and mobile MobileHeader from the same pageChrome object.",
672
+ "Ordered page actions keep icon commands visible on mobile by default and flatten labeled, menu, split, and explicit overflow commands into one ShellApp-owned mobile menu.",
670
673
  "Route-level sections remain pageChrome tabs; subordinate local views use subsections.",
671
674
  "Use contentInset none only for deliberately full-bleed products such as maps and canvases.",
672
675
  "Table pages can retain responsive inline and bottom gutters while tuning their roomy and compact block-start seams; set scrollCompaction false when their roomy title must stay pinned, and let shell capacity continue to compact it for tools or tablet layouts.",
@@ -687,7 +690,7 @@
687
690
  {
688
691
  "path": "drivers-page.ts",
689
692
  "language": "typescript",
690
- "content": "import type { ShellPageChromeConfig } from '@ds-mo/ui/shell'\n\nconst shell = document.querySelector<HTMLDsShellAppElement>('ds-shell-app')!\nconst pageChrome: ShellPageChromeConfig = {\n heading: 'Drivers',\n tabs: [{ id: 'active', label: 'Active' }, { id: 'inactive', label: 'Inactive' }],\n value: 'active',\n primaryAction: { id: 'create', label: 'Create driver' },\n}\nshell.pageChrome = pageChrome\nshell.addEventListener('dsTabChange', event => appRouter.navigate(event.detail))\nshell.addEventListener('dsPageAction', event => driverActions.run(event.detail))"
693
+ "content": "import type { ShellPageChromeConfig } from '@ds-mo/ui/shell'\n\nconst shell = document.querySelector<HTMLDsShellAppElement>('ds-shell-app')!\nconst pageChrome: ShellPageChromeConfig = {\n heading: 'Drivers',\n tabs: [{ id: 'active', label: 'Active' }, { id: 'inactive', label: 'Inactive' }],\n value: 'active',\n actionItems: [\n { type: 'button', id: 'create', label: 'Create driver', appearance: 'filled' },\n { type: 'overflow', id: 'export', label: 'Export drivers' },\n ],\n}\nshell.pageChrome = pageChrome\nshell.addEventListener('dsTabChange', event => appRouter.navigate(event.detail))\nshell.addEventListener('dsPageAction', event => driverActions.run(event.detail))"
691
694
  }
692
695
  ],
693
696
  "notes": [
@@ -712,7 +715,7 @@
712
715
  {
713
716
  "path": "DriversRoute.tsx",
714
717
  "language": "tsx",
715
- "content": "import type { ShellPageChromeConfig } from '@ds-mo/ui/shell'\n\nexport const driversPageChrome: ShellPageChromeConfig = {\n heading: 'Drivers',\n tabs: [{ id: 'active', label: 'Active' }, { id: 'inactive', label: 'Inactive' }],\n value: 'active',\n primaryAction: { id: 'create', label: 'Create driver' },\n}\n\nexport function DriversRoute() {\n return <section aria-label=\"Driver results\">Page content</section>\n}"
718
+ "content": "import type { ShellPageChromeConfig } from '@ds-mo/ui/shell'\n\nexport const driversPageChrome: ShellPageChromeConfig = {\n heading: 'Drivers',\n tabs: [{ id: 'active', label: 'Active' }, { id: 'inactive', label: 'Inactive' }],\n value: 'active',\n actionItems: [{ type: 'button', id: 'create', label: 'Create driver', appearance: 'filled' }],\n}\n\nexport function DriversRoute() {\n return <section aria-label=\"Driver results\">Page content</section>\n}"
716
719
  }
717
720
  ],
718
721
  "notes": [
@@ -743,7 +746,7 @@
743
746
  {
744
747
  "path": "drivers-page-chrome.ts",
745
748
  "language": "typescript",
746
- "content": "import type { ShellPageChromeConfig } from '@ds-mo/ui/shell'\n\nexport const DRIVERS_PAGE_CHROME: ShellPageChromeConfig = {\n heading: 'Drivers',\n tabs: [{ id: 'active', label: 'Active' }, { id: 'inactive', label: 'Inactive' }],\n value: 'active',\n primaryAction: { id: 'create', label: 'Create driver' },\n}"
749
+ "content": "import type { ShellPageChromeConfig } from '@ds-mo/ui/shell'\n\nexport const DRIVERS_PAGE_CHROME: ShellPageChromeConfig = {\n heading: 'Drivers',\n tabs: [{ id: 'active', label: 'Active' }, { id: 'inactive', label: 'Inactive' }],\n value: 'active',\n actionItems: [{ type: 'button', id: 'create', label: 'Create driver', appearance: 'filled' }],\n}"
747
750
  }
748
751
  ],
749
752
  "notes": [
package/dist/agent.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
3
  "package": "@ds-mo/ui",
4
- "packageVersion": "14.23.0",
4
+ "packageVersion": "14.24.0",
5
5
  "kind": "components",
6
6
  "entries": [
7
7
  {
@@ -1218,17 +1218,17 @@
1218
1218
  "tag": "ds-bar-title",
1219
1219
  "name": "bar-title",
1220
1220
  "title": "BarTitle",
1221
- "summary": "Page-level title chrome with an optional expanded route breadcrumb, compact Back action, supporting description, inline active-section menu, one primary action, grouped overflow actions, and explicit expanded, compact, or constrained variants.",
1221
+ "summary": "Page-level title chrome with route identity, responsive ordered button, icon, menu, split, and overflow actions, plus explicit expanded, compact, or constrained variants.",
1222
1222
  "intentStatus": "complete",
1223
1223
  "intent": {
1224
1224
  "audience": "general",
1225
1225
  "status": "stable",
1226
- "summary": "Page-level title chrome with an optional expanded route breadcrumb, compact Back action, supporting description, inline active-section menu, one primary action, grouped overflow actions, and explicit expanded, compact, or constrained variants.",
1226
+ "summary": "Page-level title chrome with route identity, responsive ordered button, icon, menu, split, and overflow actions, plus explicit expanded, compact, or constrained variants.",
1227
1227
  "useWhen": [
1228
1228
  "A top-level page needs one h1 above its content.",
1229
1229
  "A list or detail page has multiple route-level sections that belong in the inline active-section menu.",
1230
1230
  "A detail page needs route ancestors in expanded presentation and a page-level Back action in compact chrome.",
1231
- "A page needs one primary action plus optional secondary or destructive overflow commands."
1231
+ "A page needs an ordered set of primary, secondary, icon, menu, split, or overflow commands."
1232
1232
  ],
1233
1233
  "avoidWhen": [
1234
1234
  "The title belongs to a PanelTools drawer or fullscreen pane; use PanelToolHeader through PanelTools instead.",
@@ -1272,15 +1272,17 @@
1272
1272
  "Provide ordered breadcrumb items for deeper expanded paths and handle dsBreadcrumbSelect when native href navigation is not used; backLabel remains the single-parent expanded fallback.",
1273
1273
  "Keep value synchronized with the current child route; dsSectionChange returns the selected section id.",
1274
1274
  "Section and overflow triggers expose menu relationships and restore focus after selection or dismissal.",
1275
- "Use one filled primary action in the page decision area and mark destructive overflow actions explicitly."
1275
+ "Use one filled primary action in the page decision area, give icon and menu triggers specific accessible names, and mark destructive overflow actions explicitly.",
1276
+ "Keep every top-level action and nested menu-choice id non-empty and unique; dsAction emits the selected id without adding a parent prefix."
1276
1277
  ],
1277
1278
  "states": [
1278
1279
  "Omitting Back, sections, primaryAction, and actions produces the top-level title-only header.",
1279
1280
  "Two or more selectable sections add the inline section trigger; one section does not render a redundant menu.",
1280
1281
  "Dividers in sections or actions create separate Menu groups without becoming selectable rows.",
1281
- "The overflow trigger uses its bordered treatment whenever the primary action is visible beside it; overflow-only and auto-collapsed-primary presentations keep the trigger borderless.",
1282
+ "The overflow trigger uses its bordered treatment whenever any visible action sits beside it; overflow-only presentations keep the trigger borderless.",
1283
+ "Ordered actions preserve authored order, but only the first eligible filled button, unfilled button, icon button, labeled menu button, or split button renders beside the title. Remaining commands use the shared overflow, whose rows are text-only. Menu choices and overflowed split commands become separate rows and share the same flat action event.",
1282
1284
  "expanded renders the larger heading, optional description, inset divider, and a full-width caption breadcrumb row above the title. The breadcrumb begins after 32px top padding; the following title and right-side actions share one top alignment. Compact renders 48px chrome with the existing icon Back action; constrained uses compact chrome and moves an auto-collapse primary action into overflow.",
1283
- "primaryAction collapse defaults to auto. Use never for exceptional actions whose hierarchy must remain visible in constrained layouts.",
1285
+ "The one visible ordered action collapses by default in constrained presentation. Use never for an exceptional action whose hierarchy must remain visible; explicit overflow actions never leave the shared menu.",
1284
1286
  "showDivider=false removes the bottom divider when the surrounding page composition supplies the boundary; showCompactDivider can independently restore or remove that boundary in compact and constrained variants.",
1285
1287
  "placement=shell-bar is reserved for ShellApp panel section navigation. It remains compact, omits description and breadcrumb presentation, and preserves applicable Back, section, primary, and overflow controls."
1286
1288
  ],
@@ -1290,15 +1292,16 @@
1290
1292
  "ShellApp owns shell-bar placement and always selects compact presentation there; mobile continues to use MobileHeader.",
1291
1293
  "When ShellPage owns BarTitle on a secondary desktop or tablet page, its expanded, compact, and constrained presentations all match that canvas; the separate MobileHeader component remains primary.",
1292
1294
  "Compact titles use the shared compact-header geometry and md control inset so top-level headings align with BarNav and inline Back geometry aligns with PanelToolHeader. Long headings and section labels truncate independently while Back and action controls retain complete hit targets and accessible names.",
1293
- "A never-collapse primary action remains visible in constrained mode; the title and section label yield space first."
1295
+ "A never-collapse action remains visible in constrained mode; the title and section label yield space first.",
1296
+ "On mobile, icon commands remain visible by default while labeled buttons, labeled menus, split buttons, and explicit overflow commands become one flat overflow menu derived by ShellApp."
1294
1297
  ],
1295
1298
  "frameworkCaveats": {
1296
1299
  "customElements": [
1297
- "Assign breadcrumbs, sections, primaryAction, and actions as JavaScript properties and replace array or object identities when controlled state changes.",
1300
+ "Assign breadcrumbs, sections, actionItems, primaryAction, and actions as JavaScript properties and replace array or object identities when controlled state changes.",
1298
1301
  "Handle dsBack for compact navigation and dsBreadcrumbSelect for application-owned expanded breadcrumb navigation, update value after dsSectionChange, and execute product commands from dsAction."
1299
1302
  ],
1300
1303
  "react": [
1301
- "Pass breadcrumb, section, and action arrays directly to DsBarTitle and keep value controlled from route state.",
1304
+ "Pass breadcrumb, section, and ordered action arrays directly to DsBarTitle and keep value controlled from route state.",
1302
1305
  "Place DsBarTitle in DsShellPage with slot=header when automatic page behavior is required."
1303
1306
  ],
1304
1307
  "angular": [
@@ -1323,6 +1326,10 @@
1323
1326
  },
1324
1327
  "api": {
1325
1328
  "props": {
1329
+ "actionItems": {
1330
+ "type": "BarTitleActionConfigItem[]",
1331
+ "required": false
1332
+ },
1326
1333
  "actions": {
1327
1334
  "type": "BarTitleActionItem[]",
1328
1335
  "required": false
@@ -1727,7 +1734,8 @@
1727
1734
  "useWhen": [
1728
1735
  "The user initiates the single primary command in a local decision area.",
1729
1736
  "An action's consequence requires a matching semantic treatment.",
1730
- "A standalone compact primary action needs an icon-only presentation with an explicit accessible name."
1737
+ "A standalone compact primary action needs an icon-only presentation with an explicit accessible name.",
1738
+ "The primary command has closely related alternatives and needs split mode without losing its filled intent, contrast, variant, or loading treatment."
1731
1739
  ],
1732
1740
  "avoidWhen": [
1733
1741
  "Another filled action already exists in the same local decision area.",
@@ -1764,6 +1772,7 @@
1764
1772
  ],
1765
1773
  "accessibility": [
1766
1774
  "Provide an explicit accessible name for icon-only buttons.",
1775
+ "In split mode, provide menuAriaLabel for the appended ChevronDown segment, pass controls with the Menu id, and synchronize expanded with the Menu open state.",
1767
1776
  "Set hasMenu when the action opens a Menu; it implies aria-haspopup of menu and renders the trailing chevron. Pass controls with the Menu id and expanded from the same open state given to Menu.",
1768
1777
  "Use haspopup directly for a non-menu popup such as a dialog; that case gets no chevron.",
1769
1778
  "Use inactive state only when the action must remain visible but unavailable.",
@@ -1787,7 +1796,9 @@
1787
1796
  "Visible labels are emphasized by default. Set labelEmphasis to false when a composed surface deliberately needs the button label to match adjacent regular-weight control labels; this does not change the action hierarchy, foreground, icon, or interaction states.",
1788
1797
  "ButtonFilled has no active, pressed, or selected state; a filled action is a command, not a toggle or a persistent selection.",
1789
1798
  "An open popup is a transient pressed state instead. While expanded is true the pressed wash is held for the popup's complete rendered lifecycle and survives hover, so the trigger reads as held open without introducing a selected treatment.",
1790
- "hasMenu supports only the label and icon-label variants. The chevron is what communicates that a menu will open, so an icon-only filled menu button would leave the affordance unstated."
1799
+ "hasMenu supports only the label and icon-label variants. The chevron is what communicates that a menu will open, so an icon-only filled menu button would leave the affordance unstated.",
1800
+ "Split mode supports label, icon, and icon-label primary segments. The primary segment emits dsClick and the appended menu segment emits dsMenuClick.",
1801
+ "Split mode keeps both segments flush and uses a tertiary on-background separator. Rounded changes the shared outer radius without separating the segments."
1791
1802
  ],
1792
1803
  "responsiveBehavior": [
1793
1804
  "Use fill width only when the parent layout calls for a full-width action, commonly on narrow form layouts."
@@ -1876,6 +1887,10 @@
1876
1887
  "type": "boolean",
1877
1888
  "required": false
1878
1889
  },
1890
+ "menuAriaLabel": {
1891
+ "type": "string",
1892
+ "required": false
1893
+ },
1879
1894
  "pressScale": {
1880
1895
  "type": "boolean",
1881
1896
  "required": false
@@ -1888,6 +1903,10 @@
1888
1903
  "type": "ButtonFilledSize",
1889
1904
  "required": false
1890
1905
  },
1906
+ "split": {
1907
+ "type": "boolean",
1908
+ "required": false
1909
+ },
1891
1910
  "type": {
1892
1911
  "type": "'button' | 'submit' | 'reset'",
1893
1912
  "required": false
@@ -1905,6 +1924,10 @@
1905
1924
  {
1906
1925
  "name": "dsClick",
1907
1926
  "detail": "MouseEvent"
1927
+ },
1928
+ {
1929
+ "name": "dsMenuClick",
1930
+ "detail": "MouseEvent"
1908
1931
  }
1909
1932
  ],
1910
1933
  "slots": []
@@ -1942,7 +1965,8 @@
1942
1965
  "A secondary command accompanies the single filled primary action in a local decision area.",
1943
1966
  "A toolbar, tool rail, overflow area, or shell region needs a compact icon action.",
1944
1967
  "A command represents a persistent toggle or mode whose active state remains meaningful after activation.",
1945
- "A row, card, or toolbar needs an overflow or more-options menu; this is the only component that carries that role."
1968
+ "A row, card, or toolbar needs an overflow or more-options menu; this is the only component that carries that role.",
1969
+ "A secondary command has closely related alternatives and needs split mode without losing its border, surface, active, variant, or loading treatment."
1946
1970
  ],
1947
1971
  "avoidWhen": [
1948
1972
  "The command is the single primary action in a local decision area; use ButtonFilled instead.",
@@ -1977,6 +2001,7 @@
1977
2001
  ],
1978
2002
  "accessibility": [
1979
2003
  "Provide an explicit accessible name for every icon-only action.",
2004
+ "In split mode, provide menuAriaLabel for the appended ChevronDown segment, pass controls with the Menu id, and synchronize expanded with the Menu open state.",
1980
2005
  "Set hasMenu when the button triggers a Menu; it implies aria-haspopup of menu. Pass controls with the Menu id and expanded from the same open state given to Menu. Expanded popup triggers hold only the pressed wash while open, without changing their resting foreground; expanded disclosure controls without popup semantics retain the normal resting appearance.",
1981
2006
  "Give an icon-only menu button an accessible name that states the role, such as More options or Customize table, because no visible label or chevron carries it.",
1982
2007
  "Use haspopup directly for a non-menu popup such as a listbox or dialog; those cases get no chevron.",
@@ -2002,7 +2027,9 @@
2002
2027
  "Icon and icon-label loading replace the icon in place. Label-only loading centers the loader while preserving the button's measured width.",
2003
2028
  "hasMenu covers two distinct menu-button shapes and the variant selects between them. With label or icon-label the action has a menu, and a trailing chevron carries the affordance. With icon the button is a menu and no chevron is added.",
2004
2029
  "Because the icon-only shape has no chevron, its glyph must convey the menu on its own. Use Ellipses for a generic more-options or overflow control. Use a specific icon when the menu has a named purpose, such as Table for Customize table.",
2005
- "An open popup is a transient pressed state rather than a selected one. While expanded is true and haspopup or hasMenu identifies a popup, the pressed wash is held for the popup's complete rendered lifecycle and survives hover without promoting foreground or selected fill, including when chrome opts out of selected fills with activeFill set to false. Expanded disclosure buttons without popup semantics remain visually neutral."
2030
+ "An open popup is a transient pressed state rather than a selected one. While expanded is true and haspopup or hasMenu identifies a popup, the pressed wash is held for the popup's complete rendered lifecycle and survives hover without promoting foreground or selected fill, including when chrome opts out of selected fills with activeFill set to false. Expanded disclosure buttons without popup semantics remain visually neutral.",
2031
+ "Split mode supports label, icon, and icon-label primary segments. The primary segment emits dsClick and the appended menu segment emits dsMenuClick.",
2032
+ "Split mode keeps both segments flush and uses a tertiary surface-aware separator. Bordered mode also preserves the shared outer border; borderless mode limits the separator to the content line height."
2006
2033
  ],
2007
2034
  "responsiveBehavior": [
2008
2035
  "The consuming layout decides when an icon-label action becomes icon-only and must provide an explicit accessible name after changing variants. Table caption Customize is one such layout: below 900px it uses the icon shape while keeping the same neutral resting foreground regardless of the controlled column configuration.",
@@ -2106,6 +2133,10 @@
2106
2133
  "type": "boolean",
2107
2134
  "required": false
2108
2135
  },
2136
+ "menuAriaLabel": {
2137
+ "type": "string",
2138
+ "required": false
2139
+ },
2109
2140
  "pressScale": {
2110
2141
  "type": "boolean",
2111
2142
  "required": false
@@ -2122,6 +2153,10 @@
2122
2153
  "type": "ButtonUnfilledSize",
2123
2154
  "required": false
2124
2155
  },
2156
+ "split": {
2157
+ "type": "boolean",
2158
+ "required": false
2159
+ },
2125
2160
  "type": {
2126
2161
  "type": "'button' | 'submit' | 'reset'",
2127
2162
  "required": false
@@ -2143,6 +2178,10 @@
2143
2178
  {
2144
2179
  "name": "dsClick",
2145
2180
  "detail": "MouseEvent"
2181
+ },
2182
+ {
2183
+ "name": "dsMenuClick",
2184
+ "detail": "MouseEvent"
2146
2185
  }
2147
2186
  ],
2148
2187
  "slots": []
@@ -7711,6 +7750,7 @@
7711
7750
  "Dashboard represents day-to-day operational work while Settings represents administrative and configuration work; route state selects the context.",
7712
7751
  "Replace navigation and pageChrome together from one completed route state.",
7713
7752
  "When pageChrome.showBack marks a detail depth, mobile chrome keeps the page heading as its identity and presents only local subsections; peer route tabs remain in desktop BarNav rather than replacing the detail heading.",
7753
+ "Route-owned ordered page actions drive both BarTitle and MobileHeader. ShellApp forwards one flat page-action id and owns the derived mobile overflow menu so routes do not duplicate menu state or choices.",
7714
7754
  "Managed ShellApp keeps the selected desktop section-navigation presentation and ShellPage present and owns page header stickiness and the content scroller.",
7715
7755
  "Route-owned pageChrome independently selects ShellPage contentInset, page-header seams, scroll compaction, expanded and compact header-divider visibility, and contentSurface. ShellApp forwards them while resolving whether desktop title geometry is page-local or shell-bar-owned.",
7716
7756
  "The application filters unauthorized destinations, sections, and tools before passing them into shell components."
@@ -7735,6 +7775,7 @@
7735
7775
  "The routed content cell and tools cell expose separate anchored-overlay collision boundaries, so top-layer menus and tooltips remain above local clipping without crossing into neighboring shell lanes. Full-screen modal overlays remain viewport-owned.",
7736
7776
  "Paper texture chrome is desktop/tablet-only and follows the fixed viewport phase of the shell chrome; mobile remains a solid primary stage.",
7737
7777
  "Managed page-header capacity follows only the fixed shell breakpoint: roomy on desktop and compact on tablet. Opening PanelTools does not compact or constrain BarTitle.",
7778
+ "Mobile keeps at most the first eligible ordered icon command visible and moves labeled buttons, menu choices, split actions, and explicit overflow commands into one shell-owned text-only page-actions menu.",
7738
7779
  "The bottom bar remains visible at all route and tool depths in the foundation release."
7739
7780
  ],
7740
7781
  "frameworkCaveats": {
@@ -7902,7 +7943,9 @@
7902
7943
  "componentDependencies": [
7903
7944
  "bar-nav",
7904
7945
  "bar-title",
7946
+ "button-filled",
7905
7947
  "button-unfilled",
7948
+ "menu",
7906
7949
  "mobile-bar-nav",
7907
7950
  "mobile-header",
7908
7951
  "mobile-sheet-nav",
@@ -12,7 +12,7 @@ export declare class DsBarTitle {
12
12
  dsAction: EventEmitter<DsBarTitleCustomEvent<string>>;
13
13
  constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
14
14
  static ɵfac: i0.ɵɵFactoryDeclaration<DsBarTitle, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<DsBarTitle, "ds-bar-title", never, { "actions": { "alias": "actions"; "required": false; }; "actionsAriaLabel": { "alias": "actionsAriaLabel"; "required": false; }; "backAriaLabel": { "alias": "backAriaLabel"; "required": false; }; "backLabel": { "alias": "backLabel"; "required": false; }; "breadcrumbAriaLabel": { "alias": "breadcrumbAriaLabel"; "required": false; }; "breadcrumbs": { "alias": "breadcrumbs"; "required": false; }; "description": { "alias": "description"; "required": false; }; "heading": { "alias": "heading"; "required": true; }; "placement": { "alias": "placement"; "required": false; }; "primaryAction": { "alias": "primaryAction"; "required": false; }; "sections": { "alias": "sections"; "required": false; }; "sectionsAriaLabel": { "alias": "sectionsAriaLabel"; "required": false; }; "showBack": { "alias": "showBack"; "required": false; }; "showCompactDivider": { "alias": "showCompactDivider"; "required": false; }; "showDivider": { "alias": "showDivider"; "required": false; }; "value": { "alias": "value"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; }, { "dsBack": "dsBack"; "dsBreadcrumbSelect": "dsBreadcrumbSelect"; "dsSectionChange": "dsSectionChange"; "dsAction": "dsAction"; }, never, ["*"], true, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<DsBarTitle, "ds-bar-title", never, { "actionItems": { "alias": "actionItems"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "actionsAriaLabel": { "alias": "actionsAriaLabel"; "required": false; }; "backAriaLabel": { "alias": "backAriaLabel"; "required": false; }; "backLabel": { "alias": "backLabel"; "required": false; }; "breadcrumbAriaLabel": { "alias": "breadcrumbAriaLabel"; "required": false; }; "breadcrumbs": { "alias": "breadcrumbs"; "required": false; }; "description": { "alias": "description"; "required": false; }; "heading": { "alias": "heading"; "required": true; }; "placement": { "alias": "placement"; "required": false; }; "primaryAction": { "alias": "primaryAction"; "required": false; }; "sections": { "alias": "sections"; "required": false; }; "sectionsAriaLabel": { "alias": "sectionsAriaLabel"; "required": false; }; "showBack": { "alias": "showBack"; "required": false; }; "showCompactDivider": { "alias": "showCompactDivider"; "required": false; }; "showDivider": { "alias": "showDivider"; "required": false; }; "value": { "alias": "value"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; }, { "dsBack": "dsBack"; "dsBreadcrumbSelect": "dsBreadcrumbSelect"; "dsSectionChange": "dsSectionChange"; "dsAction": "dsAction"; }, never, ["*"], true, never>;
16
16
  }
17
17
  export declare interface DsBarTitle extends Components.DsBarTitle {
18
18
  /**
@@ -21,12 +21,12 @@ let DsBarTitle = class DsBarTitle {
21
21
  this.el = r.nativeElement;
22
22
  }
23
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsBarTitle, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsBarTitle, isStandalone: true, selector: "ds-bar-title", inputs: { actions: "actions", actionsAriaLabel: "actionsAriaLabel", backAriaLabel: "backAriaLabel", backLabel: "backLabel", breadcrumbAriaLabel: "breadcrumbAriaLabel", breadcrumbs: "breadcrumbs", description: "description", heading: "heading", placement: "placement", primaryAction: "primaryAction", sections: "sections", sectionsAriaLabel: "sectionsAriaLabel", showBack: "showBack", showCompactDivider: "showCompactDivider", showDivider: "showDivider", value: "value", variant: "variant" }, outputs: { dsBack: "dsBack", dsBreadcrumbSelect: "dsBreadcrumbSelect", dsSectionChange: "dsSectionChange", dsAction: "dsAction" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsBarTitle, isStandalone: true, selector: "ds-bar-title", inputs: { actionItems: "actionItems", actions: "actions", actionsAriaLabel: "actionsAriaLabel", backAriaLabel: "backAriaLabel", backLabel: "backLabel", breadcrumbAriaLabel: "breadcrumbAriaLabel", breadcrumbs: "breadcrumbs", description: "description", heading: "heading", placement: "placement", primaryAction: "primaryAction", sections: "sections", sectionsAriaLabel: "sectionsAriaLabel", showBack: "showBack", showCompactDivider: "showCompactDivider", showDivider: "showDivider", value: "value", variant: "variant" }, outputs: { dsBack: "dsBack", dsBreadcrumbSelect: "dsBreadcrumbSelect", dsSectionChange: "dsSectionChange", dsAction: "dsAction" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
25
  };
26
26
  DsBarTitle = __decorate([
27
27
  ProxyCmp({
28
28
  defineCustomElementFn: defineDsBarTitle,
29
- inputs: ['actions', 'actionsAriaLabel', 'backAriaLabel', 'backLabel', 'breadcrumbAriaLabel', 'breadcrumbs', 'description', 'heading', 'placement', 'primaryAction', 'sections', 'sectionsAriaLabel', 'showBack', 'showCompactDivider', 'showDivider', 'value', 'variant']
29
+ inputs: ['actionItems', 'actions', 'actionsAriaLabel', 'backAriaLabel', 'backLabel', 'breadcrumbAriaLabel', 'breadcrumbs', 'description', 'heading', 'placement', 'primaryAction', 'sections', 'sectionsAriaLabel', 'showBack', 'showCompactDivider', 'showDivider', 'value', 'variant']
30
30
  })
31
31
  ], DsBarTitle);
32
32
  export { DsBarTitle };
@@ -37,7 +37,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImpor
37
37
  changeDetection: ChangeDetectionStrategy.OnPush,
38
38
  template: '<ng-content></ng-content>',
39
39
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
40
- inputs: ['actions', 'actionsAriaLabel', 'backAriaLabel', 'backLabel', 'breadcrumbAriaLabel', 'breadcrumbs', 'description', { name: 'heading', required: true }, 'placement', 'primaryAction', 'sections', 'sectionsAriaLabel', 'showBack', 'showCompactDivider', 'showDivider', 'value', 'variant'],
40
+ inputs: ['actionItems', 'actions', 'actionsAriaLabel', 'backAriaLabel', 'backLabel', 'breadcrumbAriaLabel', 'breadcrumbs', 'description', { name: 'heading', required: true }, 'placement', 'primaryAction', 'sections', 'sectionsAriaLabel', 'showBack', 'showCompactDivider', 'showDivider', 'value', 'variant'],
41
41
  outputs: ['dsBack', 'dsBreadcrumbSelect', 'dsSectionChange', 'dsAction'],
42
42
  }]
43
43
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { dsBack: [{
@@ -6,10 +6,12 @@ export declare class DsButtonFilled {
6
6
  protected z: NgZone;
7
7
  protected el: HTMLDsButtonFilledElement;
8
8
  dsClick: EventEmitter<DsButtonFilledCustomEvent<MouseEvent>>;
9
+ dsMenuClick: EventEmitter<DsButtonFilledCustomEvent<MouseEvent>>;
9
10
  constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
10
11
  static ɵfac: i0.ɵɵFactoryDeclaration<DsButtonFilled, never>;
11
- static ɵcmp: i0.ɵɵComponentDeclaration<DsButtonFilled, "ds-button-filled", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "background": { "alias": "background"; "required": false; }; "contrast": { "alias": "contrast"; "required": false; }; "controls": { "alias": "controls"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; "hasBorder": { "alias": "hasBorder"; "required": false; }; "hasMenu": { "alias": "hasMenu"; "required": false; }; "haspopup": { "alias": "haspopup"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "insetDepth": { "alias": "insetDepth"; "required": false; }; "intent": { "alias": "intent"; "required": false; }; "isInactive": { "alias": "isInactive"; "required": false; }; "isInset": { "alias": "isInset"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "label": { "alias": "label"; "required": false; }; "labelEmphasis": { "alias": "labelEmphasis"; "required": false; }; "pressScale": { "alias": "pressScale"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; "size": { "alias": "size"; "required": false; }; "type": { "alias": "type"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, { "dsClick": "dsClick"; }, never, ["*"], true, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<DsButtonFilled, "ds-button-filled", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "background": { "alias": "background"; "required": false; }; "contrast": { "alias": "contrast"; "required": false; }; "controls": { "alias": "controls"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; "hasBorder": { "alias": "hasBorder"; "required": false; }; "hasMenu": { "alias": "hasMenu"; "required": false; }; "haspopup": { "alias": "haspopup"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "insetDepth": { "alias": "insetDepth"; "required": false; }; "intent": { "alias": "intent"; "required": false; }; "isInactive": { "alias": "isInactive"; "required": false; }; "isInset": { "alias": "isInset"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "label": { "alias": "label"; "required": false; }; "labelEmphasis": { "alias": "labelEmphasis"; "required": false; }; "menuAriaLabel": { "alias": "menuAriaLabel"; "required": false; }; "pressScale": { "alias": "pressScale"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; "size": { "alias": "size"; "required": false; }; "split": { "alias": "split"; "required": false; }; "type": { "alias": "type"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, { "dsClick": "dsClick"; "dsMenuClick": "dsMenuClick"; }, never, ["*"], true, never>;
12
13
  }
13
14
  export declare interface DsButtonFilled extends Components.DsButtonFilled {
14
15
  dsClick: EventEmitter<DsButtonFilledCustomEvent<MouseEvent>>;
16
+ dsMenuClick: EventEmitter<DsButtonFilledCustomEvent<MouseEvent>>;
15
17
  }
@@ -14,16 +14,17 @@ let DsButtonFilled = class DsButtonFilled {
14
14
  constructor(c, r, z) {
15
15
  this.z = z;
16
16
  this.dsClick = new EventEmitter();
17
+ this.dsMenuClick = new EventEmitter();
17
18
  c.detach();
18
19
  this.el = r.nativeElement;
19
20
  }
20
21
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsButtonFilled, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsButtonFilled, isStandalone: true, selector: "ds-button-filled", inputs: { ariaLabel: "ariaLabel", background: "background", contrast: "contrast", controls: "controls", expanded: "expanded", hasBorder: "hasBorder", hasMenu: "hasMenu", haspopup: "haspopup", icon: "icon", insetDepth: "insetDepth", intent: "intent", isInactive: "isInactive", isInset: "isInset", isLoading: "isLoading", label: "label", labelEmphasis: "labelEmphasis", pressScale: "pressScale", rounded: "rounded", size: "size", type: "type", variant: "variant", width: "width" }, outputs: { dsClick: "dsClick" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsButtonFilled, isStandalone: true, selector: "ds-button-filled", inputs: { ariaLabel: "ariaLabel", background: "background", contrast: "contrast", controls: "controls", expanded: "expanded", hasBorder: "hasBorder", hasMenu: "hasMenu", haspopup: "haspopup", icon: "icon", insetDepth: "insetDepth", intent: "intent", isInactive: "isInactive", isInset: "isInset", isLoading: "isLoading", label: "label", labelEmphasis: "labelEmphasis", menuAriaLabel: "menuAriaLabel", pressScale: "pressScale", rounded: "rounded", size: "size", split: "split", type: "type", variant: "variant", width: "width" }, outputs: { dsClick: "dsClick", dsMenuClick: "dsMenuClick" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
23
  };
23
24
  DsButtonFilled = __decorate([
24
25
  ProxyCmp({
25
26
  defineCustomElementFn: defineDsButtonFilled,
26
- inputs: ['ariaLabel', 'background', 'contrast', 'controls', 'expanded', 'hasBorder', 'hasMenu', 'haspopup', 'icon', 'insetDepth', 'intent', 'isInactive', 'isInset', 'isLoading', 'label', 'labelEmphasis', 'pressScale', 'rounded', 'size', 'type', 'variant', 'width'],
27
+ inputs: ['ariaLabel', 'background', 'contrast', 'controls', 'expanded', 'hasBorder', 'hasMenu', 'haspopup', 'icon', 'insetDepth', 'intent', 'isInactive', 'isInset', 'isLoading', 'label', 'labelEmphasis', 'menuAriaLabel', 'pressScale', 'rounded', 'size', 'split', 'type', 'variant', 'width'],
27
28
  methods: ['setFocus']
28
29
  })
29
30
  ], DsButtonFilled);
@@ -35,9 +36,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImpor
35
36
  changeDetection: ChangeDetectionStrategy.OnPush,
36
37
  template: '<ng-content></ng-content>',
37
38
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
38
- inputs: ['ariaLabel', 'background', 'contrast', 'controls', 'expanded', 'hasBorder', 'hasMenu', 'haspopup', 'icon', 'insetDepth', 'intent', 'isInactive', 'isInset', 'isLoading', 'label', 'labelEmphasis', 'pressScale', 'rounded', 'size', 'type', 'variant', 'width'],
39
- outputs: ['dsClick'],
39
+ inputs: ['ariaLabel', 'background', 'contrast', 'controls', 'expanded', 'hasBorder', 'hasMenu', 'haspopup', 'icon', 'insetDepth', 'intent', 'isInactive', 'isInset', 'isLoading', 'label', 'labelEmphasis', 'menuAriaLabel', 'pressScale', 'rounded', 'size', 'split', 'type', 'variant', 'width'],
40
+ outputs: ['dsClick', 'dsMenuClick'],
40
41
  }]
41
42
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { dsClick: [{
42
43
  type: Output
44
+ }], dsMenuClick: [{
45
+ type: Output
43
46
  }] } });
@@ -6,12 +6,14 @@ export declare class DsButtonUnfilled {
6
6
  protected z: NgZone;
7
7
  protected el: HTMLDsButtonUnfilledElement;
8
8
  dsClick: EventEmitter<DsButtonUnfilledCustomEvent<MouseEvent>>;
9
+ dsMenuClick: EventEmitter<DsButtonUnfilledCustomEvent<MouseEvent>>;
9
10
  dsChange: EventEmitter<DsButtonUnfilledCustomEvent<boolean>>;
10
11
  constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
11
12
  static ɵfac: i0.ɵɵFactoryDeclaration<DsButtonUnfilled, never>;
12
- static ɵcmp: i0.ɵɵComponentDeclaration<DsButtonUnfilled, "ds-button-unfilled", never, { "activeFill": { "alias": "activeFill"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "background": { "alias": "background"; "required": false; }; "collapseLabel": { "alias": "collapseLabel"; "required": false; }; "controls": { "alias": "controls"; "required": false; }; "dot": { "alias": "dot"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; "focusTabIndex": { "alias": "focusTabIndex"; "required": false; }; "hasBorder": { "alias": "hasBorder"; "required": false; }; "hasMenu": { "alias": "hasMenu"; "required": false; }; "haspopup": { "alias": "haspopup"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "insetDepth": { "alias": "insetDepth"; "required": false; }; "isActive": { "alias": "isActive"; "required": false; }; "isInactive": { "alias": "isInactive"; "required": false; }; "isInset": { "alias": "isInset"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "label": { "alias": "label"; "required": false; }; "labelEmphasis": { "alias": "labelEmphasis"; "required": false; }; "pressScale": { "alias": "pressScale"; "required": false; }; "pressed": { "alias": "pressed"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; "size": { "alias": "size"; "required": false; }; "type": { "alias": "type"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, { "dsClick": "dsClick"; "dsChange": "dsChange"; }, never, ["*"], true, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<DsButtonUnfilled, "ds-button-unfilled", never, { "activeFill": { "alias": "activeFill"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "background": { "alias": "background"; "required": false; }; "collapseLabel": { "alias": "collapseLabel"; "required": false; }; "controls": { "alias": "controls"; "required": false; }; "dot": { "alias": "dot"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; "focusTabIndex": { "alias": "focusTabIndex"; "required": false; }; "hasBorder": { "alias": "hasBorder"; "required": false; }; "hasMenu": { "alias": "hasMenu"; "required": false; }; "haspopup": { "alias": "haspopup"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "insetDepth": { "alias": "insetDepth"; "required": false; }; "isActive": { "alias": "isActive"; "required": false; }; "isInactive": { "alias": "isInactive"; "required": false; }; "isInset": { "alias": "isInset"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "label": { "alias": "label"; "required": false; }; "labelEmphasis": { "alias": "labelEmphasis"; "required": false; }; "menuAriaLabel": { "alias": "menuAriaLabel"; "required": false; }; "pressScale": { "alias": "pressScale"; "required": false; }; "pressed": { "alias": "pressed"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; "size": { "alias": "size"; "required": false; }; "split": { "alias": "split"; "required": false; }; "type": { "alias": "type"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, { "dsClick": "dsClick"; "dsMenuClick": "dsMenuClick"; "dsChange": "dsChange"; }, never, ["*"], true, never>;
13
14
  }
14
15
  export declare interface DsButtonUnfilled extends Components.DsButtonUnfilled {
15
16
  dsClick: EventEmitter<DsButtonUnfilledCustomEvent<MouseEvent>>;
17
+ dsMenuClick: EventEmitter<DsButtonUnfilledCustomEvent<MouseEvent>>;
16
18
  dsChange: EventEmitter<DsButtonUnfilledCustomEvent<boolean>>;
17
19
  }
@@ -14,17 +14,18 @@ let DsButtonUnfilled = class DsButtonUnfilled {
14
14
  constructor(c, r, z) {
15
15
  this.z = z;
16
16
  this.dsClick = new EventEmitter();
17
+ this.dsMenuClick = new EventEmitter();
17
18
  this.dsChange = new EventEmitter();
18
19
  c.detach();
19
20
  this.el = r.nativeElement;
20
21
  }
21
22
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsButtonUnfilled, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsButtonUnfilled, isStandalone: true, selector: "ds-button-unfilled", inputs: { activeFill: "activeFill", ariaLabel: "ariaLabel", background: "background", collapseLabel: "collapseLabel", controls: "controls", dot: "dot", expanded: "expanded", focusTabIndex: "focusTabIndex", hasBorder: "hasBorder", hasMenu: "hasMenu", haspopup: "haspopup", icon: "icon", insetDepth: "insetDepth", isActive: "isActive", isInactive: "isInactive", isInset: "isInset", isLoading: "isLoading", label: "label", labelEmphasis: "labelEmphasis", pressScale: "pressScale", pressed: "pressed", rounded: "rounded", size: "size", type: "type", variant: "variant", width: "width" }, outputs: { dsClick: "dsClick", dsChange: "dsChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsButtonUnfilled, isStandalone: true, selector: "ds-button-unfilled", inputs: { activeFill: "activeFill", ariaLabel: "ariaLabel", background: "background", collapseLabel: "collapseLabel", controls: "controls", dot: "dot", expanded: "expanded", focusTabIndex: "focusTabIndex", hasBorder: "hasBorder", hasMenu: "hasMenu", haspopup: "haspopup", icon: "icon", insetDepth: "insetDepth", isActive: "isActive", isInactive: "isInactive", isInset: "isInset", isLoading: "isLoading", label: "label", labelEmphasis: "labelEmphasis", menuAriaLabel: "menuAriaLabel", pressScale: "pressScale", pressed: "pressed", rounded: "rounded", size: "size", split: "split", type: "type", variant: "variant", width: "width" }, outputs: { dsClick: "dsClick", dsMenuClick: "dsMenuClick", dsChange: "dsChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
24
  };
24
25
  DsButtonUnfilled = __decorate([
25
26
  ProxyCmp({
26
27
  defineCustomElementFn: defineDsButtonUnfilled,
27
- inputs: ['activeFill', 'ariaLabel', 'background', 'collapseLabel', 'controls', 'dot', 'expanded', 'focusTabIndex', 'hasBorder', 'hasMenu', 'haspopup', 'icon', 'insetDepth', 'isActive', 'isInactive', 'isInset', 'isLoading', 'label', 'labelEmphasis', 'pressScale', 'pressed', 'rounded', 'size', 'type', 'variant', 'width'],
28
+ inputs: ['activeFill', 'ariaLabel', 'background', 'collapseLabel', 'controls', 'dot', 'expanded', 'focusTabIndex', 'hasBorder', 'hasMenu', 'haspopup', 'icon', 'insetDepth', 'isActive', 'isInactive', 'isInset', 'isLoading', 'label', 'labelEmphasis', 'menuAriaLabel', 'pressScale', 'pressed', 'rounded', 'size', 'split', 'type', 'variant', 'width'],
28
29
  methods: ['setFocus']
29
30
  })
30
31
  ], DsButtonUnfilled);
@@ -36,11 +37,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImpor
36
37
  changeDetection: ChangeDetectionStrategy.OnPush,
37
38
  template: '<ng-content></ng-content>',
38
39
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
39
- inputs: ['activeFill', 'ariaLabel', 'background', 'collapseLabel', 'controls', 'dot', 'expanded', 'focusTabIndex', 'hasBorder', 'hasMenu', 'haspopup', 'icon', 'insetDepth', 'isActive', 'isInactive', 'isInset', 'isLoading', 'label', 'labelEmphasis', 'pressScale', 'pressed', 'rounded', 'size', 'type', 'variant', 'width'],
40
- outputs: ['dsClick', 'dsChange'],
40
+ inputs: ['activeFill', 'ariaLabel', 'background', 'collapseLabel', 'controls', 'dot', 'expanded', 'focusTabIndex', 'hasBorder', 'hasMenu', 'haspopup', 'icon', 'insetDepth', 'isActive', 'isInactive', 'isInset', 'isLoading', 'label', 'labelEmphasis', 'menuAriaLabel', 'pressScale', 'pressed', 'rounded', 'size', 'split', 'type', 'variant', 'width'],
41
+ outputs: ['dsClick', 'dsMenuClick', 'dsChange'],
41
42
  }]
42
43
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { dsClick: [{
43
44
  type: Output
45
+ }], dsMenuClick: [{
46
+ type: Output
44
47
  }], dsChange: [{
45
48
  type: Output
46
49
  }] } });
@@ -1,2 +1,2 @@
1
- import{A as o,d as s}from"./p-CrYJnDev.js";const r=o;const t=s;export{r as DsAgentQuestionnaire,t as defineCustomElement};
1
+ import{A as o,d as s}from"./p-DiS5BgLA.js";const t=o;const p=s;export{t as DsAgentQuestionnaire,p as defineCustomElement};
2
2
  //# sourceMappingURL=ds-agent-questionnaire.js.map
@@ -1,2 +1,2 @@
1
- import{p as s,H as e,h as t,a,t as o}from"./index.js";import{d as i}from"./p-x5u5Ueli.js";import{d as r}from"./p-CrYJnDev.js";import{d as n}from"./p-BXv6RpoF.js";import{d}from"./p-w9fkkwL2.js";import{d as m}from"./p-B0kSlcaw.js";import{d as c}from"./p-DzPtYdXy.js";import{d as l}from"./p-BnTPuV3x.js";import{d as f}from"./p-7MWaWl8w.js";import{d as u}from"./p-CBymzuOO.js";import{d as p}from"./p-DiyO47xX.js";import{d as b}from"./p-Cea7rROU.js";import{d as k}from"./p-0XTyQNRG.js";import{d as h}from"./p-CilwchJH.js";import{d as g}from"./p-CTH3dSYg.js";import{d as y}from"./p-DI8DUozc.js";import{d as w}from"./p-Cd1JnnVK.js";import{d as E}from"./p-9X_p0bHr.js";const j=()=>`.sc-ds-agent-response-h{display:block;width:100%;--ds-prose-text-max-inline-size:var(--dimension-panel-width-lg);-webkit-user-select:none;user-select:none}.agent-response.sc-ds-agent-response{display:grid;gap:var(--dimension-space-150);min-width:0;width:100%;-webkit-user-select:none;user-select:none}`;const x=s(class s extends e{constructor(s){super();if(s!==false){this.__registerHost()}this.messageId="";this.author="";this.showAuthor=true;this.timestamp="";this.parts=[];this.renderMode="parts";this.streaming=false;this.metadataVisibility="always"}renderPart(s){switch(s.type){case"markdown":return t("ds-markdown",{key:s.id,content:s.content,streaming:s.state==="streaming"});case"activity":return t("ds-agent-activity",{key:s.id,items:s.items});case"tool":return t("ds-agent-tool-call",{key:s.id,name:s.name,label:s.label,state:s.state,input:s.input,output:s.output,error:s.error});case"attachments":return t("ds-attachment-list",{key:s.id,items:s.items});case"sources":return t("ds-agent-source-list",{key:s.id,items:s.items});case"questionnaire":return t("ds-agent-questionnaire",{key:s.id,requestId:s.requestId,questions:s.questions,answers:s.answers,status:"answered"})}}render(){return t(a,{key:"db10ea33a2fc6e46bcabc1cb26babf169f5b03be"},t("ds-message",{key:"a8eb1fa5758d33f89749b2346673ed58b6b8a89b",messageId:this.messageId,direction:"incoming",author:this.author,showAuthor:this.showAuthor,timestamp:this.timestamp,streaming:this.streaming,metadataVisibility:this.metadataVisibility},t("div",{key:"f5fdc038dff60073e5b48d6c0df1af1fc25a7b6d",class:"agent-response"},this.renderMode==="composed"?t("slot",null):this.parts.map((s=>this.renderPart(s)))),t("slot",{key:"59fdb0bad04a1007969b6fb90d2db24f4829c78c",name:"footer",slot:"footer"}),t("slot",{key:"76dd5a653b78ae66dbb9f2c6e63e1cc14d8964e0",name:"metadata-actions",slot:"metadata-actions"}),t("slot",{key:"a128d8e692dd33d312e7b650778a7eb80f8ac2af",name:"actions",slot:"actions"})))}static get style(){return j()}},[262,"ds-agent-response",{messageId:[1,"message-id"],author:[1],showAuthor:[4,"show-author"],timestamp:[1],parts:[16],renderMode:[1,"render-mode"],streaming:[4],metadataVisibility:[1,"metadata-visibility"]}]);function v(){if(typeof customElements==="undefined"){return}const s=["ds-agent-response","ds-agent-activity","ds-agent-questionnaire","ds-agent-source-list","ds-agent-tool-call","ds-attachment-list","ds-badge","ds-button-filled","ds-button-unfilled","ds-checkbox","ds-code-block","ds-icon","ds-loader","ds-markdown","ds-message","ds-radio","ds-text","ds-tooltip"];s.forEach((s=>{switch(s){case"ds-agent-response":if(!customElements.get(o(s))){customElements.define(o(s),x)}break;case"ds-agent-activity":if(!customElements.get(o(s))){i()}break;case"ds-agent-questionnaire":if(!customElements.get(o(s))){r()}break;case"ds-agent-source-list":if(!customElements.get(o(s))){n()}break;case"ds-agent-tool-call":if(!customElements.get(o(s))){d()}break;case"ds-attachment-list":if(!customElements.get(o(s))){m()}break;case"ds-badge":if(!customElements.get(o(s))){c()}break;case"ds-button-filled":if(!customElements.get(o(s))){l()}break;case"ds-button-unfilled":if(!customElements.get(o(s))){f()}break;case"ds-checkbox":if(!customElements.get(o(s))){u()}break;case"ds-code-block":if(!customElements.get(o(s))){p()}break;case"ds-icon":if(!customElements.get(o(s))){b()}break;case"ds-loader":if(!customElements.get(o(s))){k()}break;case"ds-markdown":if(!customElements.get(o(s))){h()}break;case"ds-message":if(!customElements.get(o(s))){g()}break;case"ds-radio":if(!customElements.get(o(s))){y()}break;case"ds-text":if(!customElements.get(o(s))){w()}break;case"ds-tooltip":if(!customElements.get(o(s))){E()}break}}))}v();const q=x;const C=v;export{q as DsAgentResponse,C as defineCustomElement};
1
+ import{p as s,H as e,h as t,a,t as o}from"./index.js";import{d as i}from"./p-x5u5Ueli.js";import{d as r}from"./p-DiS5BgLA.js";import{d}from"./p-BXv6RpoF.js";import{d as n}from"./p-w9fkkwL2.js";import{d as m}from"./p-B0kSlcaw.js";import{d as c}from"./p-DzPtYdXy.js";import{d as l}from"./p-BR1ayqMU.js";import{d as f}from"./p-kslioYhf.js";import{d as u}from"./p-CBymzuOO.js";import{d as p}from"./p-PXdvBMXB.js";import{d as b}from"./p-Cea7rROU.js";import{d as k}from"./p-0XTyQNRG.js";import{d as h}from"./p-CglHiyY2.js";import{d as g}from"./p-CTH3dSYg.js";import{d as y}from"./p-DI8DUozc.js";import{d as w}from"./p-Cd1JnnVK.js";import{d as E}from"./p-9X_p0bHr.js";const j=()=>`.sc-ds-agent-response-h{display:block;width:100%;--ds-prose-text-max-inline-size:var(--dimension-panel-width-lg);-webkit-user-select:none;user-select:none}.agent-response.sc-ds-agent-response{display:grid;gap:var(--dimension-space-150);min-width:0;width:100%;-webkit-user-select:none;user-select:none}`;const v=s(class s extends e{constructor(s){super();if(s!==false){this.__registerHost()}this.messageId="";this.author="";this.showAuthor=true;this.timestamp="";this.parts=[];this.renderMode="parts";this.streaming=false;this.metadataVisibility="always"}renderPart(s){switch(s.type){case"markdown":return t("ds-markdown",{key:s.id,content:s.content,streaming:s.state==="streaming"});case"activity":return t("ds-agent-activity",{key:s.id,items:s.items});case"tool":return t("ds-agent-tool-call",{key:s.id,name:s.name,label:s.label,state:s.state,input:s.input,output:s.output,error:s.error});case"attachments":return t("ds-attachment-list",{key:s.id,items:s.items});case"sources":return t("ds-agent-source-list",{key:s.id,items:s.items});case"questionnaire":return t("ds-agent-questionnaire",{key:s.id,requestId:s.requestId,questions:s.questions,answers:s.answers,status:"answered"})}}render(){return t(a,{key:"db10ea33a2fc6e46bcabc1cb26babf169f5b03be"},t("ds-message",{key:"a8eb1fa5758d33f89749b2346673ed58b6b8a89b",messageId:this.messageId,direction:"incoming",author:this.author,showAuthor:this.showAuthor,timestamp:this.timestamp,streaming:this.streaming,metadataVisibility:this.metadataVisibility},t("div",{key:"f5fdc038dff60073e5b48d6c0df1af1fc25a7b6d",class:"agent-response"},this.renderMode==="composed"?t("slot",null):this.parts.map((s=>this.renderPart(s)))),t("slot",{key:"59fdb0bad04a1007969b6fb90d2db24f4829c78c",name:"footer",slot:"footer"}),t("slot",{key:"76dd5a653b78ae66dbb9f2c6e63e1cc14d8964e0",name:"metadata-actions",slot:"metadata-actions"}),t("slot",{key:"a128d8e692dd33d312e7b650778a7eb80f8ac2af",name:"actions",slot:"actions"})))}static get style(){return j()}},[262,"ds-agent-response",{messageId:[1,"message-id"],author:[1],showAuthor:[4,"show-author"],timestamp:[1],parts:[16],renderMode:[1,"render-mode"],streaming:[4],metadataVisibility:[1,"metadata-visibility"]}]);function x(){if(typeof customElements==="undefined"){return}const s=["ds-agent-response","ds-agent-activity","ds-agent-questionnaire","ds-agent-source-list","ds-agent-tool-call","ds-attachment-list","ds-badge","ds-button-filled","ds-button-unfilled","ds-checkbox","ds-code-block","ds-icon","ds-loader","ds-markdown","ds-message","ds-radio","ds-text","ds-tooltip"];s.forEach((s=>{switch(s){case"ds-agent-response":if(!customElements.get(o(s))){customElements.define(o(s),v)}break;case"ds-agent-activity":if(!customElements.get(o(s))){i()}break;case"ds-agent-questionnaire":if(!customElements.get(o(s))){r()}break;case"ds-agent-source-list":if(!customElements.get(o(s))){d()}break;case"ds-agent-tool-call":if(!customElements.get(o(s))){n()}break;case"ds-attachment-list":if(!customElements.get(o(s))){m()}break;case"ds-badge":if(!customElements.get(o(s))){c()}break;case"ds-button-filled":if(!customElements.get(o(s))){l()}break;case"ds-button-unfilled":if(!customElements.get(o(s))){f()}break;case"ds-checkbox":if(!customElements.get(o(s))){u()}break;case"ds-code-block":if(!customElements.get(o(s))){p()}break;case"ds-icon":if(!customElements.get(o(s))){b()}break;case"ds-loader":if(!customElements.get(o(s))){k()}break;case"ds-markdown":if(!customElements.get(o(s))){h()}break;case"ds-message":if(!customElements.get(o(s))){g()}break;case"ds-radio":if(!customElements.get(o(s))){y()}break;case"ds-text":if(!customElements.get(o(s))){w()}break;case"ds-tooltip":if(!customElements.get(o(s))){E()}break}}))}x();const q=v;const B=x;export{q as DsAgentResponse,B as defineCustomElement};
2
2
  //# sourceMappingURL=ds-agent-response.js.map