@ds-mo/ui 12.1.0 → 12.3.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 (287) hide show
  1. package/README.md +26 -3
  2. package/dist/.build-stamp +1 -1
  3. package/dist/agent-patterns.json +8 -7
  4. package/dist/agent.json +837 -66
  5. package/dist/angular/ds-avatar.d.ts +1 -1
  6. package/dist/angular/ds-avatar.js +3 -3
  7. package/dist/angular/ds-bar-title.d.ts +7 -1
  8. package/dist/angular/ds-bar-title.js +7 -4
  9. package/dist/angular/ds-bar-workflow.d.ts +28 -0
  10. package/dist/angular/ds-bar-workflow.js +48 -0
  11. package/dist/angular/ds-breadcrumb.d.ts +19 -0
  12. package/dist/angular/ds-breadcrumb.js +42 -0
  13. package/dist/angular/ds-card-data-viz-bar.d.ts +18 -0
  14. package/dist/angular/ds-card-data-viz-bar.js +42 -0
  15. package/dist/angular/ds-card-data-viz-line.d.ts +18 -0
  16. package/dist/angular/ds-card-data-viz-line.js +42 -0
  17. package/dist/angular/ds-chart-bar-stacked.d.ts +12 -0
  18. package/dist/angular/ds-chart-bar-stacked.js +38 -0
  19. package/dist/angular/ds-chart-legend.d.ts +1 -1
  20. package/dist/angular/ds-chart-legend.js +3 -3
  21. package/dist/angular/ds-conversation-list.d.ts +1 -1
  22. package/dist/angular/ds-conversation-list.js +4 -3
  23. package/dist/angular/ds-scroll-overlay.d.ts +19 -0
  24. package/dist/angular/ds-scroll-overlay.js +43 -0
  25. package/dist/angular/ds-shell-page.d.ts +1 -1
  26. package/dist/angular/ds-shell-page.js +3 -3
  27. package/dist/angular/index.d.ts +1 -1
  28. package/dist/angular/index.js +6 -0
  29. package/dist/angular/proxies.d.ts +6 -0
  30. package/dist/angular/proxies.js +6 -0
  31. package/dist/components/ds-agent-activity.js +1 -1
  32. package/dist/components/ds-agent-response.js +1 -1
  33. package/dist/components/ds-agent-source-list.js +1 -1
  34. package/dist/components/ds-agent-tool-call.js +1 -1
  35. package/dist/components/ds-attachment-list.js +1 -1
  36. package/dist/components/ds-avatar.js +1 -1
  37. package/dist/components/ds-avatar.js.map +1 -1
  38. package/dist/components/ds-badge.js +1 -1
  39. package/dist/components/ds-bar-nav.js +1 -1
  40. package/dist/components/ds-bar-nav.js.map +1 -1
  41. package/dist/components/ds-bar-title.js +1 -1
  42. package/dist/components/ds-bar-title.js.map +1 -1
  43. package/dist/components/ds-bar-workflow.d.ts +11 -0
  44. package/dist/components/ds-bar-workflow.js +2 -0
  45. package/dist/components/ds-bar-workflow.js.map +1 -0
  46. package/dist/components/ds-breadcrumb.d.ts +11 -0
  47. package/dist/components/ds-breadcrumb.js +2 -0
  48. package/dist/components/ds-breadcrumb.js.map +1 -0
  49. package/dist/components/ds-button-filled.js +1 -1
  50. package/dist/components/ds-button-unfilled.js +1 -1
  51. package/dist/components/ds-card-data-viz-bar.d.ts +11 -0
  52. package/dist/components/ds-card-data-viz-bar.js +2 -0
  53. package/dist/components/ds-card-data-viz-bar.js.map +1 -0
  54. package/dist/components/ds-card-data-viz-donut.js +1 -1
  55. package/dist/components/ds-card-data-viz-line.d.ts +11 -0
  56. package/dist/components/ds-card-data-viz-line.js +2 -0
  57. package/dist/components/ds-card-data-viz-line.js.map +1 -0
  58. package/dist/components/ds-card-setting.js +1 -1
  59. package/dist/components/ds-card-shell-data-viz.js +1 -1
  60. package/dist/components/ds-chart-bar-stacked.d.ts +11 -0
  61. package/dist/components/ds-chart-bar-stacked.js +2 -0
  62. package/dist/components/ds-chart-bar-stacked.js.map +1 -0
  63. package/dist/components/ds-chart-bar.js +1 -1
  64. package/dist/components/ds-chart-bar.js.map +1 -1
  65. package/dist/components/ds-chart-donut.js +1 -1
  66. package/dist/components/ds-chart-legend.js +1 -1
  67. package/dist/components/ds-chart-legend.js.map +1 -1
  68. package/dist/components/ds-chart-line.js +1 -1
  69. package/dist/components/ds-chart-line.js.map +1 -1
  70. package/dist/components/ds-checkbox.js +1 -1
  71. package/dist/components/ds-chip.js +1 -1
  72. package/dist/components/ds-chip.js.map +1 -1
  73. package/dist/components/ds-code-block.js +1 -1
  74. package/dist/components/ds-conversation-list-item.js +1 -1
  75. package/dist/components/ds-conversation-list-item.js.map +1 -1
  76. package/dist/components/ds-conversation-list-section.js +1 -1
  77. package/dist/components/ds-conversation-list-section.js.map +1 -1
  78. package/dist/components/ds-conversation-list.js +1 -1
  79. package/dist/components/ds-conversation-list.js.map +1 -1
  80. package/dist/components/ds-divider.js +1 -1
  81. package/dist/components/ds-empty-state.js +1 -1
  82. package/dist/components/ds-field.js +1 -1
  83. package/dist/components/ds-input.js +1 -1
  84. package/dist/components/ds-input.js.map +1 -1
  85. package/dist/components/ds-markdown.js +1 -1
  86. package/dist/components/ds-menu.js +1 -1
  87. package/dist/components/ds-message-bubble.js +1 -1
  88. package/dist/components/ds-message-bubble.js.map +1 -1
  89. package/dist/components/ds-message-composer.js +1 -1
  90. package/dist/components/ds-message-scroller.js +1 -1
  91. package/dist/components/ds-message-scroller.js.map +1 -1
  92. package/dist/components/ds-message.js +1 -1
  93. package/dist/components/ds-modal.js +1 -1
  94. package/dist/components/ds-panel-nav.js +1 -1
  95. package/dist/components/ds-panel-sub-nav.js +1 -1
  96. package/dist/components/ds-panel-sub-nav.js.map +1 -1
  97. package/dist/components/ds-panel-tool-header.js +1 -1
  98. package/dist/components/ds-panel-tool-search.js +1 -1
  99. package/dist/components/ds-panel-tools.js +1 -1
  100. package/dist/components/ds-radio.js +1 -1
  101. package/dist/components/ds-radio.js.map +1 -1
  102. package/dist/components/ds-scroll-overlay.d.ts +11 -0
  103. package/dist/components/ds-scroll-overlay.js +2 -0
  104. package/dist/components/ds-scroll-overlay.js.map +1 -0
  105. package/dist/components/ds-select-multi.js +1 -1
  106. package/dist/components/ds-select-multi.js.map +1 -1
  107. package/dist/components/ds-select.js +1 -1
  108. package/dist/components/ds-select.js.map +1 -1
  109. package/dist/components/ds-shell-app.js +1 -1
  110. package/dist/components/ds-shell-gradient-picker.js +1 -1
  111. package/dist/components/ds-shell-gradient-swatch.js +1 -1
  112. package/dist/components/ds-shell-gradient-swatch.js.map +1 -1
  113. package/dist/components/ds-shell-page.js +1 -1
  114. package/dist/components/ds-shell-page.js.map +1 -1
  115. package/dist/components/ds-skeleton.js +1 -1
  116. package/dist/components/ds-slider.js +1 -1
  117. package/dist/components/ds-slider.js.map +1 -1
  118. package/dist/components/ds-swatch-picker.js +1 -1
  119. package/dist/components/ds-switch.js +1 -1
  120. package/dist/components/ds-tab-group.js +1 -1
  121. package/dist/components/ds-tab-group.js.map +1 -1
  122. package/dist/components/ds-tag.js +1 -1
  123. package/dist/components/ds-tag.js.map +1 -1
  124. package/dist/components/ds-text.js +1 -1
  125. package/dist/components/ds-toast.js +1 -1
  126. package/dist/components/ds-tooltip-data-viz.js +1 -1
  127. package/dist/components/ds-tooltip.js +1 -1
  128. package/dist/components/ds-typing-indicator.js +1 -1
  129. package/dist/components/ds-typing-indicator.js.map +1 -1
  130. package/dist/components/{p-B9jvSGid.js → p-9dQQSgwT.js} +2 -2
  131. package/dist/components/p-B3rbhRAk.js +2 -0
  132. package/dist/components/p-B3rbhRAk.js.map +1 -0
  133. package/dist/components/{p-BWUTr_XN.js → p-BJMRBHKW.js} +2 -2
  134. package/dist/components/p-BJMRBHKW.js.map +1 -0
  135. package/dist/components/p-BVV_rlIP.js +2 -0
  136. package/dist/components/p-BVV_rlIP.js.map +1 -0
  137. package/dist/components/p-BhxwpOH8.js +2 -0
  138. package/dist/components/{p-DpyTrZa2.js.map → p-BhxwpOH8.js.map} +1 -1
  139. package/dist/components/p-Bi_bxbih.js +2 -0
  140. package/dist/components/{p-Dqwcw1-m.js.map → p-Bi_bxbih.js.map} +1 -1
  141. package/dist/components/p-BtEjlcB9.js +2 -0
  142. package/dist/components/{p-DABj3qTX.js.map → p-BtEjlcB9.js.map} +1 -1
  143. package/dist/components/{p-Bs6SS34m.js → p-BwGnhInj.js} +2 -2
  144. package/dist/components/p-BwGnhInj.js.map +1 -0
  145. package/dist/components/p-C0NPJ0h2.js +2 -0
  146. package/dist/components/p-C0NPJ0h2.js.map +1 -0
  147. package/dist/components/{p-BkwBtZs3.js → p-C7bZ-jiU.js} +2 -2
  148. package/dist/components/p-CH3w-P2H.js +2 -0
  149. package/dist/components/p-CH3w-P2H.js.map +1 -0
  150. package/dist/components/{p-DxeHimqk.js → p-CH6cNXXF.js} +2 -2
  151. package/dist/components/p-CWlh7HAg.js +2 -0
  152. package/dist/components/p-CWlh7HAg.js.map +1 -0
  153. package/dist/components/p-CY19gMiz.js +2 -0
  154. package/dist/components/p-CY19gMiz.js.map +1 -0
  155. package/dist/components/p-C_ewSXTT.js +2 -0
  156. package/dist/components/p-C_ewSXTT.js.map +1 -0
  157. package/dist/components/{p-tDXHTAJh.js → p-Ce52yVXF.js} +2 -2
  158. package/dist/components/p-CoYFJD-w.js +2 -0
  159. package/dist/components/{p-webARv8d.js.map → p-CoYFJD-w.js.map} +1 -1
  160. package/dist/components/{p-BzsITTZa.js → p-Cuw2Lo2g.js} +2 -2
  161. package/dist/components/p-CydY-v7X.js +2 -0
  162. package/dist/components/p-CydY-v7X.js.map +1 -0
  163. package/dist/components/{p-LFGbdi7Y.js → p-D-xttdpn.js} +2 -2
  164. package/dist/components/{p-DfIch2Dk.js → p-D3DYxbC5.js} +2 -2
  165. package/dist/components/{p-CR7yMitN.js → p-DC7yOUQx.js} +2 -2
  166. package/dist/components/{p-liMPkhUP.js → p-DSa0Hnd3.js} +2 -2
  167. package/dist/components/p-DXewjzkM.js +2 -0
  168. package/dist/components/p-DXewjzkM.js.map +1 -0
  169. package/dist/components/p-DYqReipj.js +2 -0
  170. package/dist/components/{p-Dy_sZ-dI.js.map → p-DYqReipj.js.map} +1 -1
  171. package/dist/components/p-DbpfpeQT.js +2 -0
  172. package/dist/components/p-DbpfpeQT.js.map +1 -0
  173. package/dist/components/{p-DszI94sZ.js → p-DjPZxzIG.js} +2 -2
  174. package/dist/components/{p-DszI94sZ.js.map → p-DjPZxzIG.js.map} +1 -1
  175. package/dist/components/{p-CTV_QWC5.js → p-J6xK6Ihq.js} +2 -2
  176. package/dist/components/{p-Dfxnxx7L.js → p-jCWtxthA.js} +2 -2
  177. package/dist/docs/components.json +2137 -743
  178. package/dist/lib/utils/anchored-popup.d.ts +5 -1
  179. package/dist/lib/utils/index.js +3 -1
  180. package/dist/lib/utils/index.js.map +2 -2
  181. package/dist/mcp/cli.js +142 -18
  182. package/dist/mcp-data/registry/agent-response.json +9 -4
  183. package/dist/mcp-data/registry/agent-source-list.json +1 -1
  184. package/dist/mcp-data/registry/avatar.json +26 -7
  185. package/dist/mcp-data/registry/bar-title.json +76 -37
  186. package/dist/mcp-data/registry/bar-workflow.json +368 -0
  187. package/dist/mcp-data/registry/breadcrumb.json +205 -0
  188. package/dist/mcp-data/registry/button-filled.json +1 -1
  189. package/dist/mcp-data/registry/button-unfilled.json +1 -1
  190. package/dist/mcp-data/registry/card-data-viz-bar.json +212 -0
  191. package/dist/mcp-data/registry/card-data-viz-line.json +206 -0
  192. package/dist/mcp-data/registry/card-shell-data-viz.json +7 -0
  193. package/dist/mcp-data/registry/chart-bar-stacked.json +225 -0
  194. package/dist/mcp-data/registry/chart-bar.json +9 -2
  195. package/dist/mcp-data/registry/chart-legend.json +29 -3
  196. package/dist/mcp-data/registry/chart-line.json +4 -2
  197. package/dist/mcp-data/registry/checkbox.json +1 -1
  198. package/dist/mcp-data/registry/conversation-list-item.json +2 -2
  199. package/dist/mcp-data/registry/conversation-list-section.json +2 -2
  200. package/dist/mcp-data/registry/conversation-list.json +36 -9
  201. package/dist/mcp-data/registry/markdown.json +15 -10
  202. package/dist/mcp-data/registry/menu.json +9 -7
  203. package/dist/mcp-data/registry/message-scroller.json +6 -4
  204. package/dist/mcp-data/registry/message.json +3 -2
  205. package/dist/mcp-data/registry/panel-tool-search.json +1 -1
  206. package/dist/mcp-data/registry/registry.json +863 -74
  207. package/dist/mcp-data/registry/scroll-overlay.json +183 -0
  208. package/dist/mcp-data/registry/shell-gradient-swatch.json +1 -1
  209. package/dist/mcp-data/registry/shell-page.json +40 -19
  210. package/dist/mcp-data/registry/slider.json +1 -1
  211. package/dist/mcp-data/registry/switch.json +1 -1
  212. package/dist/mcp-data/registry/tab-group.json +1 -1
  213. package/dist/mcp-data/registry/text.json +1 -1
  214. package/dist/mcp-data/registry/typing-indicator.json +7 -7
  215. package/dist/react/components.d.ts +6 -0
  216. package/dist/react/components.js +6 -0
  217. package/dist/react/ds-bar-title.d.ts +2 -1
  218. package/dist/react/ds-bar-title.js +1 -0
  219. package/dist/react/ds-bar-workflow.d.ts +14 -0
  220. package/dist/react/ds-bar-workflow.js +16 -0
  221. package/dist/react/ds-breadcrumb.d.ts +12 -0
  222. package/dist/react/ds-breadcrumb.js +12 -0
  223. package/dist/react/ds-card-data-viz-bar.d.ts +12 -0
  224. package/dist/react/ds-card-data-viz-bar.js +12 -0
  225. package/dist/react/ds-card-data-viz-line.d.ts +12 -0
  226. package/dist/react/ds-card-data-viz-line.js +12 -0
  227. package/dist/react/ds-chart-bar-stacked.d.ts +9 -0
  228. package/dist/react/ds-chart-bar-stacked.js +12 -0
  229. package/dist/react/ds-scroll-overlay.d.ts +12 -0
  230. package/dist/react/ds-scroll-overlay.js +12 -0
  231. package/dist/styles/prose.css +215 -0
  232. package/dist/types/components/Avatar/Avatar.d.ts +4 -1
  233. package/dist/types/components/BarTitle/BarTitle.d.ts +14 -5
  234. package/dist/types/components/BarTitle/bar-title-types.d.ts +0 -1
  235. package/dist/types/components/BarWorkflow/BarWorkflow.d.ts +37 -0
  236. package/dist/types/components/BarWorkflow/bar-workflow-types.d.ts +12 -0
  237. package/dist/types/components/Breadcrumb/Breadcrumb.d.ts +31 -0
  238. package/dist/types/components/Breadcrumb/breadcrumb-types.d.ts +17 -0
  239. package/dist/types/components/CardDataVizBar/CardDataVizBar.d.ts +24 -0
  240. package/dist/types/components/CardDataVizBar/index.d.ts +2 -0
  241. package/dist/types/components/CardDataVizLine/CardDataVizLine.d.ts +24 -0
  242. package/dist/types/components/CardDataVizLine/index.d.ts +2 -0
  243. package/dist/types/components/ChartBarStacked/ChartBarStacked.d.ts +15 -0
  244. package/dist/types/components/ChartBarStacked/index.d.ts +3 -0
  245. package/dist/types/components/ChartLegend/ChartLegend.d.ts +3 -0
  246. package/dist/types/components/ConversationList/ConversationList.d.ts +12 -0
  247. package/dist/types/components/Menu/Menu.d.ts +1 -2
  248. package/dist/types/components/MessageScroller/MessageScroller.d.ts +1 -6
  249. package/dist/types/components/ScrollOverlay/ScrollOverlay.d.ts +28 -0
  250. package/dist/types/components/ShellPage/ShellPage.d.ts +19 -7
  251. package/dist/types/components/ShellPage/shell-page-responsive.d.ts +0 -8
  252. package/dist/types/components/TypingIndicator/TypingIndicator.d.ts +1 -1
  253. package/dist/types/components.d.ts +572 -26
  254. package/dist/types/stories/isolated-overlay-docs.d.ts +13 -0
  255. package/dist/types/utils/anchored-popup.d.ts +5 -1
  256. package/dist/types/utils/scroll-overlay-controller.d.ts +35 -0
  257. package/package.json +4 -3
  258. package/dist/components/p-BWUTr_XN.js.map +0 -1
  259. package/dist/components/p-BfEjWe8U.js +0 -2
  260. package/dist/components/p-BfEjWe8U.js.map +0 -1
  261. package/dist/components/p-Bs6SS34m.js.map +0 -1
  262. package/dist/components/p-C3Zfn7hz.js +0 -2
  263. package/dist/components/p-C3Zfn7hz.js.map +0 -1
  264. package/dist/components/p-CUik7PCi.js +0 -2
  265. package/dist/components/p-CUik7PCi.js.map +0 -1
  266. package/dist/components/p-CzBnvtcz.js +0 -2
  267. package/dist/components/p-CzBnvtcz.js.map +0 -1
  268. package/dist/components/p-DABj3qTX.js +0 -2
  269. package/dist/components/p-DpyTrZa2.js +0 -2
  270. package/dist/components/p-Dqwcw1-m.js +0 -2
  271. package/dist/components/p-Dy3Skua8.js +0 -2
  272. package/dist/components/p-Dy3Skua8.js.map +0 -1
  273. package/dist/components/p-Dy_sZ-dI.js +0 -2
  274. package/dist/components/p-l6PmnW_P.js +0 -2
  275. package/dist/components/p-l6PmnW_P.js.map +0 -1
  276. package/dist/components/p-webARv8d.js +0 -2
  277. /package/dist/components/{p-B9jvSGid.js.map → p-9dQQSgwT.js.map} +0 -0
  278. /package/dist/components/{p-BkwBtZs3.js.map → p-C7bZ-jiU.js.map} +0 -0
  279. /package/dist/components/{p-DxeHimqk.js.map → p-CH6cNXXF.js.map} +0 -0
  280. /package/dist/components/{p-tDXHTAJh.js.map → p-Ce52yVXF.js.map} +0 -0
  281. /package/dist/components/{p-BzsITTZa.js.map → p-Cuw2Lo2g.js.map} +0 -0
  282. /package/dist/components/{p-LFGbdi7Y.js.map → p-D-xttdpn.js.map} +0 -0
  283. /package/dist/components/{p-DfIch2Dk.js.map → p-D3DYxbC5.js.map} +0 -0
  284. /package/dist/components/{p-CR7yMitN.js.map → p-DC7yOUQx.js.map} +0 -0
  285. /package/dist/components/{p-liMPkhUP.js.map → p-DSa0Hnd3.js.map} +0 -0
  286. /package/dist/components/{p-CTV_QWC5.js.map → p-J6xK6Ihq.js.map} +0 -0
  287. /package/dist/components/{p-Dfxnxx7L.js.map → p-jCWtxthA.js.map} +0 -0
@@ -17,12 +17,12 @@ let DsShellPage = class DsShellPage {
17
17
  this.el = r.nativeElement;
18
18
  }
19
19
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DsShellPage, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: DsShellPage, isStandalone: true, selector: "ds-shell-page", inputs: { contentInset: "contentInset", headerPresentation: "headerPresentation" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: DsShellPage, isStandalone: true, selector: "ds-shell-page", inputs: { contentInset: "contentInset", headerCapacity: "headerCapacity", headerPresentation: "headerPresentation" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
21
  };
22
22
  DsShellPage = __decorate([
23
23
  ProxyCmp({
24
24
  defineCustomElementFn: defineDsShellPage,
25
- inputs: ['contentInset', 'headerPresentation']
25
+ inputs: ['contentInset', 'headerCapacity', 'headerPresentation']
26
26
  })
27
27
  ], DsShellPage);
28
28
  export { DsShellPage };
@@ -33,6 +33,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
33
33
  changeDetection: ChangeDetectionStrategy.OnPush,
34
34
  template: '<ng-content></ng-content>',
35
35
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
36
- inputs: ['contentInset', 'headerPresentation'],
36
+ inputs: ['contentInset', 'headerCapacity', 'headerPresentation'],
37
37
  }]
38
38
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
@@ -1,2 +1,2 @@
1
1
  import * as d from './proxies';
2
- export declare const DIRECTIVES: (typeof d.DsAgentActivity | typeof d.DsAgentResponse | typeof d.DsAgentSourceList | typeof d.DsAgentToolCall | typeof d.DsAttachmentList | typeof d.DsAvatar | typeof d.DsBadge | typeof d.DsBarNav | typeof d.DsBarTitle | typeof d.DsButtonFilled | typeof d.DsButtonUnfilled | typeof d.DsCardDataVizDonut | typeof d.DsCardSetting | typeof d.DsCardShellDataViz | typeof d.DsChartBar | typeof d.DsChartDonut | typeof d.DsChartLegend | typeof d.DsChartLine | typeof d.DsCheckbox | typeof d.DsChip | typeof d.DsCodeBlock | typeof d.DsConversationListItem | typeof d.DsConversationListSection | typeof d.DsConversationList | typeof d.DsDivider | typeof d.DsEmptyState | typeof d.DsField | typeof d.DsIcon | typeof d.DsInput | typeof d.DsLoader | typeof d.DsMarkdown | typeof d.DsMenu | typeof d.DsMessageBubble | typeof d.DsMessageComposer | typeof d.DsMessageScroller | typeof d.DsMessage | typeof d.DsModal | typeof d.DsPanelNav | typeof d.DsPanelSubNav | typeof d.DsPanelToolHeader | typeof d.DsPanelToolSearch | typeof d.DsPanelTools | typeof d.DsRadio | typeof d.DsSelectMulti | typeof d.DsSelect | typeof d.DsShellApp | typeof d.DsShellGradientPicker | typeof d.DsShellGradientSwatch | typeof d.DsShellPage | typeof d.DsSkeleton | typeof d.DsSlider | typeof d.DsSwatchPicker | typeof d.DsSwitch | typeof d.DsTabGroup | typeof d.DsTag | typeof d.DsText | typeof d.DsToast | typeof d.DsTooltipDataViz | typeof d.DsTooltip | typeof d.DsTypingIndicator)[];
2
+ export declare const DIRECTIVES: (typeof d.DsAgentActivity | typeof d.DsAgentResponse | typeof d.DsAgentSourceList | typeof d.DsAgentToolCall | typeof d.DsAttachmentList | typeof d.DsAvatar | typeof d.DsBadge | typeof d.DsBarNav | typeof d.DsBarTitle | typeof d.DsBarWorkflow | typeof d.DsBreadcrumb | typeof d.DsButtonFilled | typeof d.DsButtonUnfilled | typeof d.DsCardDataVizBar | typeof d.DsCardDataVizDonut | typeof d.DsCardDataVizLine | typeof d.DsCardSetting | typeof d.DsCardShellDataViz | typeof d.DsChartBarStacked | typeof d.DsChartBar | typeof d.DsChartDonut | typeof d.DsChartLegend | typeof d.DsChartLine | typeof d.DsCheckbox | typeof d.DsChip | typeof d.DsCodeBlock | typeof d.DsConversationListItem | typeof d.DsConversationListSection | typeof d.DsConversationList | typeof d.DsDivider | typeof d.DsEmptyState | typeof d.DsField | typeof d.DsIcon | typeof d.DsInput | typeof d.DsLoader | typeof d.DsMarkdown | typeof d.DsMenu | typeof d.DsMessageBubble | typeof d.DsMessageComposer | typeof d.DsMessageScroller | typeof d.DsMessage | typeof d.DsModal | typeof d.DsPanelNav | typeof d.DsPanelSubNav | typeof d.DsPanelToolHeader | typeof d.DsPanelToolSearch | typeof d.DsPanelTools | typeof d.DsRadio | typeof d.DsScrollOverlay | typeof d.DsSelectMulti | typeof d.DsSelect | typeof d.DsShellApp | typeof d.DsShellGradientPicker | typeof d.DsShellGradientSwatch | typeof d.DsShellPage | typeof d.DsSkeleton | typeof d.DsSlider | typeof d.DsSwatchPicker | typeof d.DsSwitch | typeof d.DsTabGroup | typeof d.DsTag | typeof d.DsText | typeof d.DsToast | typeof d.DsTooltipDataViz | typeof d.DsTooltip | typeof d.DsTypingIndicator)[];
@@ -9,12 +9,17 @@ export const DIRECTIVES = [
9
9
  d.DsBadge,
10
10
  d.DsBarNav,
11
11
  d.DsBarTitle,
12
+ d.DsBarWorkflow,
13
+ d.DsBreadcrumb,
12
14
  d.DsButtonFilled,
13
15
  d.DsButtonUnfilled,
16
+ d.DsCardDataVizBar,
14
17
  d.DsCardDataVizDonut,
18
+ d.DsCardDataVizLine,
15
19
  d.DsCardSetting,
16
20
  d.DsCardShellDataViz,
17
21
  d.DsChartBar,
22
+ d.DsChartBarStacked,
18
23
  d.DsChartDonut,
19
24
  d.DsChartLegend,
20
25
  d.DsChartLine,
@@ -43,6 +48,7 @@ export const DIRECTIVES = [
43
48
  d.DsPanelToolSearch,
44
49
  d.DsPanelTools,
45
50
  d.DsRadio,
51
+ d.DsScrollOverlay,
46
52
  d.DsSelect,
47
53
  d.DsSelectMulti,
48
54
  d.DsShellApp,
@@ -11,12 +11,17 @@ export { DsAvatar } from './ds-avatar';
11
11
  export { DsBadge } from './ds-badge';
12
12
  export { DsBarNav } from './ds-bar-nav';
13
13
  export { DsBarTitle } from './ds-bar-title';
14
+ export { DsBarWorkflow } from './ds-bar-workflow';
15
+ export { DsBreadcrumb } from './ds-breadcrumb';
14
16
  export { DsButtonFilled } from './ds-button-filled';
15
17
  export { DsButtonUnfilled } from './ds-button-unfilled';
18
+ export { DsCardDataVizBar } from './ds-card-data-viz-bar';
16
19
  export { DsCardDataVizDonut } from './ds-card-data-viz-donut';
20
+ export { DsCardDataVizLine } from './ds-card-data-viz-line';
17
21
  export { DsCardSetting } from './ds-card-setting';
18
22
  export { DsCardShellDataViz } from './ds-card-shell-data-viz';
19
23
  export { DsChartBar } from './ds-chart-bar';
24
+ export { DsChartBarStacked } from './ds-chart-bar-stacked';
20
25
  export { DsChartDonut } from './ds-chart-donut';
21
26
  export { DsChartLegend } from './ds-chart-legend';
22
27
  export { DsChartLine } from './ds-chart-line';
@@ -45,6 +50,7 @@ export { DsPanelToolHeader } from './ds-panel-tool-header';
45
50
  export { DsPanelToolSearch } from './ds-panel-tool-search';
46
51
  export { DsPanelTools } from './ds-panel-tools';
47
52
  export { DsRadio } from './ds-radio';
53
+ export { DsScrollOverlay } from './ds-scroll-overlay';
48
54
  export { DsSelect } from './ds-select';
49
55
  export { DsSelectMulti } from './ds-select-multi';
50
56
  export { DsShellApp } from './ds-shell-app';
@@ -12,12 +12,17 @@ export { DsAvatar } from './ds-avatar.js';
12
12
  export { DsBadge } from './ds-badge.js';
13
13
  export { DsBarNav } from './ds-bar-nav.js';
14
14
  export { DsBarTitle } from './ds-bar-title.js';
15
+ export { DsBarWorkflow } from './ds-bar-workflow.js';
16
+ export { DsBreadcrumb } from './ds-breadcrumb.js';
15
17
  export { DsButtonFilled } from './ds-button-filled.js';
16
18
  export { DsButtonUnfilled } from './ds-button-unfilled.js';
19
+ export { DsCardDataVizBar } from './ds-card-data-viz-bar.js';
17
20
  export { DsCardDataVizDonut } from './ds-card-data-viz-donut.js';
21
+ export { DsCardDataVizLine } from './ds-card-data-viz-line.js';
18
22
  export { DsCardSetting } from './ds-card-setting.js';
19
23
  export { DsCardShellDataViz } from './ds-card-shell-data-viz.js';
20
24
  export { DsChartBar } from './ds-chart-bar.js';
25
+ export { DsChartBarStacked } from './ds-chart-bar-stacked.js';
21
26
  export { DsChartDonut } from './ds-chart-donut.js';
22
27
  export { DsChartLegend } from './ds-chart-legend.js';
23
28
  export { DsChartLine } from './ds-chart-line.js';
@@ -46,6 +51,7 @@ export { DsPanelToolHeader } from './ds-panel-tool-header.js';
46
51
  export { DsPanelToolSearch } from './ds-panel-tool-search.js';
47
52
  export { DsPanelTools } from './ds-panel-tools.js';
48
53
  export { DsRadio } from './ds-radio.js';
54
+ export { DsScrollOverlay } from './ds-scroll-overlay.js';
49
55
  export { DsSelect } from './ds-select.js';
50
56
  export { DsSelectMulti } from './ds-select-multi.js';
51
57
  export { DsShellApp } from './ds-shell-app.js';
@@ -1,2 +1,2 @@
1
- import{A as o,d as s}from"./p-tDXHTAJh.js";const t=o;const p=s;export{t as DsAgentActivity,p as defineCustomElement};
1
+ import{A as o,d as s}from"./p-Ce52yVXF.js";const t=o;const p=s;export{t as DsAgentActivity,p as defineCustomElement};
2
2
  //# sourceMappingURL=ds-agent-activity.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 r}from"./p-tDXHTAJh.js";import{d as c}from"./p-BfEjWe8U.js";import{d as i}from"./p-B9jvSGid.js";import{d as n}from"./p-LFGbdi7Y.js";import{d}from"./p-DxeHimqk.js";import{d as m}from"./p-webARv8d.js";import{d as l}from"./p-CTV_QWC5.js";import{d as f}from"./p-BAfG3M8z.js";import{d as p}from"./p-Cpr3K41-.js";import{d as u}from"./p-Dy3Skua8.js";import{d as k}from"./p-DszI94sZ.js";import{d as h}from"./p-Bs6SS34m.js";import{d as b}from"./p-DfIch2Dk.js";const g=()=>`.sc-ds-agent-response-h{display:block;width:100%;-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 y=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.streaming=false}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})}}render(){return t(a,{key:"2f84e45797855a27ee540490923b14df90c24c67"},t("ds-message",{key:"6f0d2431b73cfe7f7ecbca8790e997c04446c865",messageId:this.messageId,direction:"incoming",author:this.author,showAuthor:this.showAuthor,timestamp:this.timestamp,streaming:this.streaming},t("div",{key:"e3bdc6ed50ad340b17309fdac29ce6d8a6a3ccf1",class:"agent-response"},this.parts.map((s=>this.renderPart(s)))),t("slot",{key:"c4c1d3d7203fa086921ec82388447ca995284bf3",name:"footer",slot:"footer"}),t("slot",{key:"ce901c1ef28c436381d21f914bed83ae6369333a",name:"actions",slot:"actions"})))}static get style(){return g()}},[262,"ds-agent-response",{messageId:[1,"message-id"],author:[1],showAuthor:[4,"show-author"],timestamp:[1],parts:[16],streaming:[4]}]);function E(){if(typeof customElements==="undefined"){return}const s=["ds-agent-response","ds-agent-activity","ds-agent-source-list","ds-agent-tool-call","ds-attachment-list","ds-badge","ds-button-unfilled","ds-code-block","ds-icon","ds-loader","ds-markdown","ds-message","ds-text","ds-tooltip"];s.forEach((s=>{switch(s){case"ds-agent-response":if(!customElements.get(o(s))){customElements.define(o(s),y)}break;case"ds-agent-activity":if(!customElements.get(o(s))){r()}break;case"ds-agent-source-list":if(!customElements.get(o(s))){c()}break;case"ds-agent-tool-call":if(!customElements.get(o(s))){i()}break;case"ds-attachment-list":if(!customElements.get(o(s))){n()}break;case"ds-badge":if(!customElements.get(o(s))){d()}break;case"ds-button-unfilled":if(!customElements.get(o(s))){m()}break;case"ds-code-block":if(!customElements.get(o(s))){l()}break;case"ds-icon":if(!customElements.get(o(s))){f()}break;case"ds-loader":if(!customElements.get(o(s))){p()}break;case"ds-markdown":if(!customElements.get(o(s))){u()}break;case"ds-message":if(!customElements.get(o(s))){k()}break;case"ds-text":if(!customElements.get(o(s))){h()}break;case"ds-tooltip":if(!customElements.get(o(s))){b()}break}}))}E();const j=y;const w=E;export{j as DsAgentResponse,w as defineCustomElement};
1
+ import{p as s,H as e,h as t,a,t as o}from"./index.js";import{d as r}from"./p-Ce52yVXF.js";import{d as n}from"./p-B3rbhRAk.js";import{d as i}from"./p-9dQQSgwT.js";import{d}from"./p-D-xttdpn.js";import{d as c}from"./p-CH6cNXXF.js";import{d as m}from"./p-CoYFJD-w.js";import{d as l}from"./p-J6xK6Ihq.js";import{d as p}from"./p-BAfG3M8z.js";import{d as u}from"./p-Cpr3K41-.js";import{d as f}from"./p-C0NPJ0h2.js";import{d as b}from"./p-DjPZxzIG.js";import{d as h}from"./p-BwGnhInj.js";import{d as k}from"./p-D3DYxbC5.js";const g=()=>`.sc-ds-agent-response-h{display:block;width:100%;-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 y=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.streaming=false}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})}}render(){return t(a,{key:"442b5a0b6a3ec6259984e569690a5cfba47ca609"},t("ds-message",{key:"a9f712291e1b729c4420d7939377b21b6551bf63",messageId:this.messageId,direction:"incoming",author:this.author,showAuthor:this.showAuthor,timestamp:this.timestamp,streaming:this.streaming},t("div",{key:"251c76ee75157ee0ac0bc21d85722b948623825b",class:"agent-response"},this.parts.map((s=>this.renderPart(s)))),t("slot",{key:"0043848a8fdda374b792d34a4006400d5dab3412",name:"footer",slot:"footer"}),t("slot",{key:"5319235f706acabd1332d8380f9de4d89f7e341b",name:"actions",slot:"actions"})))}static get style(){return g()}},[262,"ds-agent-response",{messageId:[1,"message-id"],author:[1],showAuthor:[4,"show-author"],timestamp:[1],parts:[16],streaming:[4]}]);function w(){if(typeof customElements==="undefined"){return}const s=["ds-agent-response","ds-agent-activity","ds-agent-source-list","ds-agent-tool-call","ds-attachment-list","ds-badge","ds-button-unfilled","ds-code-block","ds-icon","ds-loader","ds-markdown","ds-message","ds-text","ds-tooltip"];s.forEach((s=>{switch(s){case"ds-agent-response":if(!customElements.get(o(s))){customElements.define(o(s),y)}break;case"ds-agent-activity":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))){i()}break;case"ds-attachment-list":if(!customElements.get(o(s))){d()}break;case"ds-badge":if(!customElements.get(o(s))){c()}break;case"ds-button-unfilled":if(!customElements.get(o(s))){m()}break;case"ds-code-block":if(!customElements.get(o(s))){l()}break;case"ds-icon":if(!customElements.get(o(s))){p()}break;case"ds-loader":if(!customElements.get(o(s))){u()}break;case"ds-markdown":if(!customElements.get(o(s))){f()}break;case"ds-message":if(!customElements.get(o(s))){b()}break;case"ds-text":if(!customElements.get(o(s))){h()}break;case"ds-tooltip":if(!customElements.get(o(s))){k()}break}}))}w();const j=y;const E=w;export{j as DsAgentResponse,E as defineCustomElement};
2
2
  //# sourceMappingURL=ds-agent-response.js.map
@@ -1,2 +1,2 @@
1
- import{A as o,d as s}from"./p-BfEjWe8U.js";const t=o;const p=s;export{t as DsAgentSourceList,p as defineCustomElement};
1
+ import{A as o,d as s}from"./p-B3rbhRAk.js";const r=o;const t=s;export{r as DsAgentSourceList,t as defineCustomElement};
2
2
  //# sourceMappingURL=ds-agent-source-list.js.map
@@ -1,2 +1,2 @@
1
- import{A as o,d as s}from"./p-B9jvSGid.js";const t=o;const p=s;export{t as DsAgentToolCall,p as defineCustomElement};
1
+ import{A as o,d as s}from"./p-9dQQSgwT.js";const t=o;const p=s;export{t as DsAgentToolCall,p as defineCustomElement};
2
2
  //# sourceMappingURL=ds-agent-tool-call.js.map
@@ -1,2 +1,2 @@
1
- import{A as o,d as s}from"./p-LFGbdi7Y.js";const t=o;const p=s;export{t as DsAttachmentList,p as defineCustomElement};
1
+ import{A as t,d as o}from"./p-D-xttdpn.js";const s=t;const p=o;export{s as DsAttachmentList,p as defineCustomElement};
2
2
  //# sourceMappingURL=ds-attachment-list.js.map
@@ -1,2 +1,2 @@
1
- import{p as s,H as e,h as a,a as t,t as i}from"./index.js";import{d as n}from"./p-BAfG3M8z.js";const r=()=>`.sc-ds-avatar-h{display:inline-flex;flex-shrink:0;width:var(--dimension-size-400);height:var(--dimension-size-400)}.avatar.sc-ds-avatar{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%;border-radius:var(--dimension-radius-half);box-shadow:inset 0 0 0 var(--dimension-stroke-width-015) var(--color-foreground-quaternary)}`;const o=s(class s extends e{constructor(s){super();if(s!==false){this.__registerHost()}this.icon="";this.iconColor="secondary"}render(){return a(t,{key:"c710665185f33153a7589db607b456439ec9c3c7"},a("span",{key:"74f94f53788d7483df38d4fd400a7797a8b51b07",class:"avatar",role:this.label?"img":"presentation","aria-label":this.label,"aria-hidden":!this.label?"true":undefined},a("ds-icon",{key:"a0f5cc1a248c2b961b9c864997f0412c8d1b1119",name:this.icon,size:"md",color:this.iconColor})))}static get style(){return r()}},[2,"ds-avatar",{icon:[1],iconColor:[1,"icon-color"],label:[1]}]);function c(){if(typeof customElements==="undefined"){return}const s=["ds-avatar","ds-icon"];s.forEach((s=>{switch(s){case"ds-avatar":if(!customElements.get(i(s))){customElements.define(i(s),o)}break;case"ds-icon":if(!customElements.get(i(s))){n()}break}}))}c();const d=o;const f=c;export{d as DsAvatar,f as defineCustomElement};
1
+ import{p as s,H as a,h as o,a as r,t}from"./index.js";import{d as n}from"./p-BAfG3M8z.js";const i=()=>`.ds-control--md.sc-ds-avatar-h,.ds-control--md.sc-ds-avatar,.ds-control--sm.sc-ds-avatar-h,.ds-control--sm.sc-ds-avatar,.ds-control--xs.sc-ds-avatar-h,.ds-control--xs.sc-ds-avatar{--ds-control-radius:var(--dimension-radius-025)}.ds-control--md.sc-ds-avatar-h,.ds-control--md.sc-ds-avatar{--ds-control-height:var(--dimension-size-400);--ds-control-icon:var(--dimension-iconography-md);--ds-control-padding-inline:var(--dimension-space-075);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-050)}.ds-control--sm.sc-ds-avatar-h,.ds-control--sm.sc-ds-avatar{--ds-control-height:var(--dimension-size-300);--ds-control-icon:var(--dimension-iconography-sm);--ds-control-padding-inline:var(--dimension-space-050);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-025)}.ds-control--xs.sc-ds-avatar-h,.ds-control--xs.sc-ds-avatar{--ds-control-height:var(--dimension-size-200);--ds-control-icon:var(--dimension-iconography-xs);--ds-control-padding-inline:var(--dimension-space-025);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:0}.sc-ds-avatar-h{display:inline-flex;flex-shrink:0;width:var(--ds-control-height);height:var(--ds-control-height)}.avatar--md.sc-ds-avatar-h{--_avatar-stroke:var(--dimension-stroke-width-015)}.avatar--sm.sc-ds-avatar-h{--_avatar-stroke:var(--dimension-stroke-width-012)}.avatar--xs.sc-ds-avatar-h{--_avatar-stroke:calc(var(--dimension-stroke-width-base) * 3 / 32)}.avatar.sc-ds-avatar{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%;border-radius:var(--dimension-radius-half);box-shadow:inset 0 0 0 var(--_avatar-stroke) var(--color-foreground-quaternary)}`;const e=s(class s extends a{constructor(s){super();if(s!==false){this.__registerHost()}this.icon="";this.iconColor="secondary";this.size="md"}render(){return o(r,{key:"b29268e414b657ada445dc244077a14a3cab87f9",class:{[`ds-control--${this.size}`]:true,[`avatar--${this.size}`]:true}},o("span",{key:"baa2f709079dce212601dc18e63ce944bce1b1bf",class:"avatar",role:this.label?"img":"presentation","aria-label":this.label,"aria-hidden":!this.label?"true":undefined},o("ds-icon",{key:"b406c18346977ad99be46d7bbfcb4ba952990882",name:this.icon,size:this.size,color:this.iconColor})))}static get style(){return i()}},[2,"ds-avatar",{icon:[1],iconColor:[1,"icon-color"],size:[1],label:[1]}]);function d(){if(typeof customElements==="undefined"){return}const s=["ds-avatar","ds-icon"];s.forEach((s=>{switch(s){case"ds-avatar":if(!customElements.get(t(s))){customElements.define(t(s),e)}break;case"ds-icon":if(!customElements.get(t(s))){n()}break}}))}d();const c=e;const l=d;export{c as DsAvatar,l as defineCustomElement};
2
2
  //# sourceMappingURL=ds-avatar.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["avatarCss","Avatar","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","icon","iconColor","render","h","Host","key","class","role","label","undefined","name","size","color"],"sources":["src/wc/components/Avatar/Avatar.css?tag=ds-avatar&encapsulation=scoped","src/wc/components/Avatar/Avatar.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n flex-shrink: 0;\n width: var(--dimension-size-400);\n height: var(--dimension-size-400);\n}\n\n.avatar {\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n border-radius: var(--dimension-radius-half);\n box-shadow: inset 0 0 0 var(--dimension-stroke-width-015) var(--color-foreground-quaternary);\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport type { IconColor } from '../Icon/Icon';\n\n@Component({\n tag: 'ds-avatar',\n styleUrl: 'Avatar.css',\n scoped: true,\n})\nexport class Avatar {\n /** Canonical IcoMo icon name displayed inside the avatar. */\n @Prop() icon: string = '';\n\n /** Semantic color for the icon. Use primary to surface unread or current identity state. */\n @Prop() iconColor: IconColor = 'secondary';\n\n /** Optional accessible label. Omit when the surrounding content already conveys the meaning. */\n @Prop() label: string | undefined;\n\n render() {\n return (\n <Host>\n <span\n class=\"avatar\"\n role={this.label ? 'img' : 'presentation'}\n aria-label={this.label}\n aria-hidden={!this.label ? 'true' : undefined}\n >\n <ds-icon name={this.icon} size=\"md\" color={this.iconColor} />\n </span>\n </Host>\n );\n }\n}\n"],"mappings":"+FAAA,MAAMA,EAAY,IAAM,sX,MCQXC,EAAMC,EAAA,MAAAD,UAAAE,EALnB,WAAAC,CAAAC,G,4CAOUC,KAAAC,KAAe,GAGfD,KAAAE,UAAuB,WAmBhC,CAdC,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,QAAAE,IAAA,2CACEC,MAAM,SACNC,KAAMR,KAAKS,MAAQ,MAAQ,eAAc,aAC7BT,KAAKS,MAAK,eACRT,KAAKS,MAAQ,OAASC,WAEpCN,EAAA,WAAAE,IAAA,2CAASK,KAAMX,KAAKC,KAAMW,KAAK,KAAKC,MAAOb,KAAKE,a","ignoreList":[]}
1
+ {"version":3,"names":["avatarCss","Avatar","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","icon","iconColor","size","render","h","Host","key","class","role","label","undefined","name","color"],"sources":["src/wc/components/Avatar/Avatar.css?tag=ds-avatar&encapsulation=scoped","src/wc/components/Avatar/Avatar.tsx"],"sourcesContent":["@import '../../utils/control-density.css';\n\n:host {\n display: inline-flex;\n flex-shrink: 0;\n width: var(--ds-control-height);\n height: var(--ds-control-height);\n}\n\n:host(.avatar--md) {\n --_avatar-stroke: var(--dimension-stroke-width-015);\n}\n\n:host(.avatar--sm) {\n --_avatar-stroke: var(--dimension-stroke-width-012);\n}\n\n:host(.avatar--xs) {\n --_avatar-stroke: calc(var(--dimension-stroke-width-base) * 3 / 32);\n}\n\n.avatar {\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n border-radius: var(--dimension-radius-half);\n box-shadow: inset 0 0 0 var(--_avatar-stroke) var(--color-foreground-quaternary);\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport type { IconColor } from '../Icon/Icon';\n\nexport type AvatarSize = 'md' | 'sm' | 'xs';\n\n@Component({\n tag: 'ds-avatar',\n styleUrl: 'Avatar.css',\n scoped: true,\n})\nexport class Avatar {\n /** Canonical IcoMo icon name displayed inside the avatar. */\n @Prop() icon: string = '';\n\n /** Semantic icon hierarchy. Use primary for stronger emphasis; secondary is the default. */\n @Prop() iconColor: IconColor = 'secondary';\n\n /** Circle and icon density. Maps to 32/20, 24/16, or 16/12 px. */\n @Prop() size: AvatarSize = 'md';\n\n /** Optional accessible label. Omit when the surrounding content already conveys the meaning. */\n @Prop() label: string | undefined;\n\n render() {\n return (\n <Host class={{ [`ds-control--${this.size}`]: true, [`avatar--${this.size}`]: true }}>\n <span\n class=\"avatar\"\n role={this.label ? 'img' : 'presentation'}\n aria-label={this.label}\n aria-hidden={!this.label ? 'true' : undefined}\n >\n <ds-icon name={this.icon} size={this.size} color={this.iconColor} />\n </span>\n </Host>\n );\n }\n}\n"],"mappings":"0FAAA,MAAMA,EAAY,IAAM,ssD,MCUXC,EAAMC,EAAA,MAAAD,UAAAE,EALnB,WAAAC,CAAAC,G,4CAOUC,KAAAC,KAAe,GAGfD,KAAAE,UAAuB,YAGvBF,KAAAG,KAAmB,IAmB5B,CAdC,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAO,CAAE,CAAC,eAAeR,KAAKG,QAAS,KAAM,CAAC,WAAWH,KAAKG,QAAS,OAC3EE,EAAA,QAAAE,IAAA,2CACEC,MAAM,SACNC,KAAMT,KAAKU,MAAQ,MAAQ,eAAc,aAC7BV,KAAKU,MAAK,eACRV,KAAKU,MAAQ,OAASC,WAEpCN,EAAA,WAAAE,IAAA,2CAASK,KAAMZ,KAAKC,KAAME,KAAMH,KAAKG,KAAMU,MAAOb,KAAKE,a","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{B as o,d as s}from"./p-DxeHimqk.js";const t=o;const m=s;export{t as DsBadge,m as defineCustomElement};
1
+ import{B as o,d as s}from"./p-CH6cNXXF.js";const t=o;const c=s;export{t as DsBadge,c as defineCustomElement};
2
2
  //# sourceMappingURL=ds-badge.js.map
@@ -1,2 +1,2 @@
1
- import{p as s,H as t,c as i,h as e,a as n,t as a}from"./index.js";import{i as r,g as o}from"./p-BQq26pt9.js";import{s as d,p as h,d as c}from"./p-BOQnc-M4.js";import{C as l,c as b,a as f,b as u,r as v,d as p}from"./p-D2x17ei-.js";import{d as g}from"./p-DxeHimqk.js";import{d as m}from"./p-webARv8d.js";import{d as _}from"./p-BAfG3M8z.js";import{d as y}from"./p-Cpr3K41-.js";import{d as w}from"./p-C3Zfn7hz.js";import{d as k}from"./p-Dqwcw1-m.js";import{d as x}from"./p-Dy_sZ-dI.js";import{d as C}from"./p-Bs6SS34m.js";function T(s,t){const i=[];let e=[];for(const n of s){if(r(n)){if(e.length>0){i.push({items:e});e=[]}continue}e.push({label:n.label,value:n.id,dot:n.dot,isSelected:n.id===t,isInactive:n.isInactive})}if(e.length>0){i.push({items:e})}return i}function S(s,t){return T(E(s),t)}function M(s,t,i,e=2){const n=s-t;if(i){return n>-e}return n>e}function D(s,t,i,e,n){if(s.length===0||t<=0)return 0;const a=O(s,s.length,e,n);if(a<=t)return s.length;const r=Math.max(0,t-i);let o=0;for(let t=1;t<=s.length;t++){const i=O(s,t,e,n);if(i>r)break;o=t}return o}function F(s){let t=s.length;while(t>0&&r(s[t-1])){t-=1}return s.slice(0,t)}function E(s){let t=0;while(t<s.length&&r(s[t])){t+=1}return s.slice(t)}function O(s,t,i,e){if(t<=0)return 0;const n=s.slice(0,t).reduce(((s,t)=>s+t),0);return e+n+i*Math.max(0,t-1)}const P=()=>`.ds-control--md.sc-ds-bar-nav-h,.ds-control--md.sc-ds-bar-nav,.ds-control--sm.sc-ds-bar-nav-h,.ds-control--sm.sc-ds-bar-nav,.ds-control--xs.sc-ds-bar-nav-h,.ds-control--xs.sc-ds-bar-nav{--ds-control-radius:var(--dimension-radius-025)}.ds-control--md.sc-ds-bar-nav-h,.ds-control--md.sc-ds-bar-nav{--ds-control-height:var(--dimension-size-400);--ds-control-icon:var(--dimension-iconography-md);--ds-control-padding-inline:var(--dimension-space-075);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-050)}.ds-control--sm.sc-ds-bar-nav-h,.ds-control--sm.sc-ds-bar-nav{--ds-control-height:var(--dimension-size-300);--ds-control-icon:var(--dimension-iconography-sm);--ds-control-padding-inline:var(--dimension-space-050);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-025)}.ds-control--xs.sc-ds-bar-nav-h,.ds-control--xs.sc-ds-bar-nav{--ds-control-height:var(--dimension-size-200);--ds-control-icon:var(--dimension-iconography-xs);--ds-control-padding-inline:var(--dimension-space-025);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:0}.sc-ds-bar-nav-h{--ds-focus-ring-width:var(--dimension-stroke-width-025, 2px);--ds-focus-ring-offset:var(--dimension-space-025, 2px);--ds-focus-ring-color:var(--color-interaction-focus)}.ds-focus-ring.sc-ds-bar-nav-h:focus-visible,.ds-focus-ring.sc-ds-bar-nav:focus-visible{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring.ds-focus-ring--visible.sc-ds-bar-nav-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-bar-nav{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring-inset.sc-ds-bar-nav-h:focus-visible,.ds-focus-ring-inset.sc-ds-bar-nav:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-bar-nav-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-bar-nav:focus-visible::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-bar-nav-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-bar-nav{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-bar-nav-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-bar-nav::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}.ds-control-inactive.sc-ds-bar-nav-h,.ds-control-inactive.sc-ds-bar-nav{opacity:0.25;pointer-events:none;cursor:not-allowed}.sc-ds-bar-nav-h{display:block}.bar-nav.sc-ds-bar-nav{display:flex;align-items:center;position:relative;height:var(--dimension-size-600);padding:var(--dimension-space-100);gap:var(--dimension-space-100);box-sizing:border-box;border-bottom:var(--dimension-stroke-width-012) solid var(--_bar-nav-border);background-color:var(--_bar-nav-bg);color:var(--_bar-nav-fg-primary);-webkit-user-select:none;user-select:none;overflow:hidden;transition:background-color var(--effect-motion-short-3), border-color var(--effect-motion-short-3), color var(--effect-motion-short-3);isolation:isolate;--_bar-nav-bg:var(--color-background-secondary);--_bar-nav-border:var(--color-border-tertiary);--_bar-nav-fg-primary:var(--color-foreground-primary);--_bar-nav-fg-secondary:var(--color-foreground-secondary);--_bar-nav-hover:var(--color-interaction-hover);--_bar-nav-pressed:var(--color-interaction-pressed);--_bar-nav-focus:var(--color-interaction-focus);--_bar-nav-dot:var(--color-foreground-bold-brand);--ds-focus-ring-color:var(--_bar-nav-focus)}.bar-nav--dashboard.sc-ds-bar-nav,.bar-nav--settings.sc-ds-bar-nav{--_bar-nav-bg:var(--color-background-secondary);--_bar-nav-border:var(--color-border-tertiary);--_bar-nav-fg-primary:var(--color-foreground-primary);--_bar-nav-fg-secondary:var(--color-foreground-secondary);--_bar-nav-hover:var(--color-interaction-hover);--_bar-nav-pressed:var(--color-interaction-pressed);--_bar-nav-focus:var(--color-interaction-focus);--_bar-nav-dot:var(--color-foreground-bold-brand)}ds-shell-app.sc-ds-bar-nav-h:not([gradient-preset='none']) .bar-nav.sc-ds-bar-nav,ds-shell-app:not([gradient-preset='none']) .sc-ds-bar-nav-h .bar-nav.sc-ds-bar-nav{background-color:transparent}.bar-nav.sc-ds-bar-nav>.sc-ds-bar-nav:not(.bar-nav__tabs-probe){position:relative;z-index:3}.bar-nav--tabs-collapsed.sc-ds-bar-nav{display:flex;gap:var(--dimension-space-100);align-items:center}.bar-nav__left.sc-ds-bar-nav{position:relative;flex:1 1 0%;min-width:0;width:0;display:flex;align-items:center}.bar-nav__tabs-visible.sc-ds-bar-nav{flex:1;min-width:0;width:100%}.bar-nav__tabs-probe.sc-ds-bar-nav{position:absolute;left:0;top:0;visibility:hidden;pointer-events:none;overflow:visible;width:max-content;max-width:none;z-index:-1}.bar-nav__tabs-probe.sc-ds-bar-nav>div.sc-ds-bar-nav{width:max-content}.bar-nav__tab-list.sc-ds-bar-nav{display:flex;align-items:center;gap:var(--dimension-space-050);position:relative;width:max-content}.bar-nav__tab.sc-ds-bar-nav{display:flex;align-items:center;justify-content:center;gap:var(--ds-control-gap);height:var(--ds-control-height);min-width:var(--ds-control-height);padding:0 var(--ds-control-padding-inline);box-sizing:border-box;border:none;border-radius:var(--ds-control-radius);background-color:transparent;color:var(--_bar-nav-fg-secondary);cursor:pointer;position:relative;flex-shrink:0;-webkit-user-select:none;user-select:none;transition:color var(--effect-motion-short-2)}.bar-nav__tab.sc-ds-bar-nav::after{content:'';position:absolute;inset:0;border-radius:var(--ds-control-radius);background:transparent;pointer-events:none}.bar-nav__tab.sc-ds-bar-nav:hover::after{background:var(--_bar-nav-hover)}.bar-nav__tab.sc-ds-bar-nav:active::after{background:var(--_bar-nav-pressed)}.bar-nav__tab--selected.sc-ds-bar-nav{color:var(--_bar-nav-fg-primary)}.bar-nav__tab-label.sc-ds-bar-nav{position:relative;display:inline-flex;align-items:center;padding:0 var(--ds-control-label-inset);white-space:nowrap}.bar-nav__tab-label--dot.sc-ds-bar-nav{padding-right:calc(var(--ds-control-label-inset) + var(--ds-control-gap))}.bar-nav__tab-dot.sc-ds-bar-nav{position:absolute;top:0;right:0;pointer-events:none}.bar-nav__tab-divider.sc-ds-bar-nav{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--dimension-space-100);height:var(--ds-control-height);padding-block:var(--ds-control-padding-inline);flex-shrink:0;pointer-events:none}.bar-nav__tab-divider-line.sc-ds-bar-nav{width:var(--dimension-stroke-width-012);align-self:stretch;background-color:var(--_bar-nav-border)}.bar-nav__tabs-pending.sc-ds-bar-nav{flex:1;min-width:0;height:var(--ds-control-height);visibility:hidden;pointer-events:none}.bar-nav__overflow-trigger.sc-ds-bar-nav{margin-left:auto;--ds-button-unfilled-fg:var(--_bar-nav-fg-secondary);--ds-button-unfilled-fg-active:var(--_bar-nav-fg-primary);--ds-interaction-hover:var(--_bar-nav-hover);--ds-interaction-pressed:var(--_bar-nav-pressed);--ds-focus-ring-color:var(--_bar-nav-focus)}ds-text.bar-nav__heading.sc-ds-bar-nav{display:inline-flex;align-items:center;height:var(--ds-control-height);padding-inline:calc(var(--ds-control-padding-inline) + var(--ds-control-label-inset));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;user-select:none}`;const j=s(class s extends t{constructor(s){super();if(s!==false){this.__registerHost()}this.dsTabChange=i(this,"dsTabChange");this.navStyle="dashboard";this.tabs=[];this.tabsJson="";this.value="";this.basePath="";this.currentUrl="";this.moreTabsLabel="More tabs";this.resolvedTabs=[];this.urlDerivedValue="";this.hideTabsForDetailRoute=false;this.tabsCollapsed=false;this.menuOpen=false;this.menuTriggerActive=false;this.tabLayoutCommitted=false;this.visibleTabs=[];this.overflowTabs=[];this.menuInitialFocusVisible=false;this.overflowRovingFocused=false;this.focusedTabId="";this.headerEl=null;this.triggerEl=null;this.menuEl=null;this.visibleTabListEl=null;this.probeTabListEl=null;this.resizeObserver=null;this.intrinsicWidthRetryCount=0;this.tabLayoutPendingFrames=0;this.panelNavTransition=new l;this.panelToolsTransition=new l;this.overflowCoalescer=b((()=>{this.updateTabsCollapsed()}));this.chromeTransitionShell=null;this.committedSection="";this.pendingSection="";this.onChromeTransitionStart=s=>{const t=v(s);if(t==="panel-nav"){this.panelNavTransition.enter();return}if(t==="panel-tools"){const t=p(s)??"opening";if(t==="closing"){this.panelToolsTransition.enter()}}};this.onChromeTransitionEnd=s=>{const t=v(s);if(t==="panel-nav"){this.panelNavTransition.exit();if(!this.panelNavTransition.isActive){this.scheduleOverflowCheck()}return}if(t==="panel-tools"){this.panelToolsTransition.exit();this.scheduleOverflowCheck()}};this.handleOverflowFocus=()=>{this.overflowRovingFocused=true};this.handleOverflowBlur=()=>{this.overflowRovingFocused=false}}get effectiveValue(){if(this.currentUrl&&this.basePath){return this.urlDerivedValue}return this.value}get renderedSelectableTabs(){const s=this.hasOverflowTabs?this.visibleTabs:this.resolvedTabs;return o(s)}get hasOverflowTabs(){return this.tabLayoutCommitted&&this.tabsCollapsed&&this.overflowTabs.length>0}syncFocusedTabId(s,t){if(t.some((t=>t.id===s&&!t.isInactive))){this.focusedTabId=s;return}const i=t.find((s=>!s.isInactive));this.focusedTabId=i?.id??""}digestTabsConfig(s){return s.map((s=>r(s)?"|":s.id)).join(",")}resetTabOverflowLayout(){this.tabLayoutCommitted=false;this.tabsCollapsed=false;this.menuOpen=false;this.menuTriggerActive=false;this.menuInitialFocusVisible=false;this.intrinsicWidthRetryCount=0;this.tabLayoutPendingFrames=0;this.visibleTabs=[];this.overflowTabs=[]}onHostPropsChange(){this.applyHostProps()}onSelectionChange(){this.syncFocusedTabId(this.effectiveValue,this.renderedSelectableTabs);this.syncMenuSections();this.scheduleOverflowCheck()}onMenuOpenChange(s){if(this.menuEl){this.menuEl.open=s}}onTabsCollapsedChange(s,t){if(!s){this.menuOpen=false;this.menuTriggerActive=false;this.menuInitialFocusVisible=false;this.menuEl=null}this.scheduleOverflowCheck();if(s){requestAnimationFrame((()=>{this.scheduleOverflowCheck()}))}if(s||t===undefined||t===s)return;requestAnimationFrame((()=>this.scheduleOverflowCheck()));queueMicrotask((()=>this.focusVisibleSelectedTab()))}componentWillLoad(){this.applyHostProps();this.syncFocusedTabId(this.effectiveValue,o(this.resolvedTabs))}componentDidLoad(){this.syncHostPropsIfNeeded();this.scheduleDeferredHostPropSync();this.setupOverflowObserver();this.bindChromeTransitionListeners();this.scheduleOverflowCheck()}componentDidRender(){if(this.chromeOverflowPaused()){this.syncMenuAnchor();return}this.scheduleOverflowCheck();this.syncMenuAnchor()}disconnectedCallback(){this.resizeObserver?.disconnect();this.resizeObserver=null;this.overflowCoalescer.cancel();this.unbindChromeTransitionListeners()}bindChromeTransitionListeners(){const s=this.el.closest("ds-shell-app");if(!s)return;this.chromeTransitionShell=s;s.addEventListener(f,this.onChromeTransitionStart);s.addEventListener(u,this.onChromeTransitionEnd)}unbindChromeTransitionListeners(){if(!this.chromeTransitionShell)return;this.chromeTransitionShell.removeEventListener(f,this.onChromeTransitionStart);this.chromeTransitionShell.removeEventListener(u,this.onChromeTransitionEnd);this.chromeTransitionShell=null}chromeOverflowPaused(){return this.panelNavTransition.isActive||this.panelToolsTransition.isActive}syncHostPropsIfNeeded(){if(d(this.resolvedTabs,this.tabs,this.tabsJson)){this.applyHostProps()}else if(this.currentUrl&&this.basePath){this.syncValueFromUrl()}}scheduleDeferredHostPropSync(){let t=s.HOST_PROP_SYNC_BUDGET;const i=()=>{this.syncHostPropsIfNeeded();if(--t>0){requestAnimationFrame(i)}};queueMicrotask(i)}setupOverflowObserver(){if(typeof ResizeObserver==="undefined"||!this.headerEl)return;this.resizeObserver?.disconnect();this.resizeObserver=new ResizeObserver((()=>{if(this.chromeOverflowPaused())return;this.scheduleOverflowCheck()}));this.resizeObserver.observe(this.headerEl)}scheduleOverflowCheck(){if(this.chromeOverflowPaused())return;this.overflowCoalescer.schedule()}getLeftZoneAvailableWidth(){if(!this.headerEl)return 0;const s=getComputedStyle(this.headerEl);const t=(parseFloat(s.paddingLeft)||0)+(parseFloat(s.paddingRight)||0);return Math.max(0,this.headerEl.clientWidth-t)}getTabsIntrinsicWidth(){return this.probeTabListEl?.scrollWidth??0}getHeaderGap(){if(!this.headerEl)return 0;const s=getComputedStyle(this.headerEl);return parseFloat(s.columnGap||s.gap)||0}getOverflowTriggerReserveWidth(){if(!this.triggerEl){return 40}return this.triggerEl.getBoundingClientRect().width+this.getHeaderGap()}getProbeTabMetrics(){const s=this.probeTabListEl;if(!s)return null;const t=Array.from(s.children);const i=t.map((s=>s.getBoundingClientRect().width));if(i.length===0||i.some((s=>s===0)))return null;const e=getComputedStyle(s);const n=parseFloat(e.columnGap||e.gap)||0;const a=i.reduce(((s,t)=>s+t),0);const r=n*Math.max(0,i.length-1);const o=Math.max(0,s.scrollWidth-a-r);return{itemWidths:i,itemGap:n,listExtraWidth:o}}setOverflowTabLayout(s,t){const i=t.length>0;const e=this.digestTabsConfig(s)!==this.digestTabsConfig(this.visibleTabs);const n=this.digestTabsConfig(t)!==this.digestTabsConfig(this.overflowTabs);if(e){this.visibleTabs=s}if(n){this.overflowTabs=t}if(i!==this.tabsCollapsed){this.tabsCollapsed=i;if(!i){this.menuOpen=false;this.menuTriggerActive=false}}this.syncFocusedTabId(this.effectiveValue,o(i?s:this.resolvedTabs))}scheduleIntrinsicWidthRetry(){if(this.intrinsicWidthRetryCount>=s.INTRINSIC_WIDTH_RETRY_MAX)return;this.intrinsicWidthRetryCount++;requestAnimationFrame((()=>this.scheduleOverflowCheck()))}forceTabLayoutCommit(s){this.intrinsicWidthRetryCount=0;this.tabLayoutPendingFrames=0;this.setOverflowTabLayout(s?[]:this.resolvedTabs,s?this.resolvedTabs:[]);this.tabLayoutCommitted=true}updateTabsCollapsed(){if(!this.headerEl||this.resolvedTabs.length===0||this.hideTabsForDetailRoute){if(this.tabsCollapsed){this.setOverflowTabLayout([],[])}this.intrinsicWidthRetryCount=0;this.tabLayoutPendingFrames=0;this.tabLayoutCommitted=true;return}const t=this.getProbeTabMetrics();const i=this.getTabsIntrinsicWidth();if(!t||i===0){this.tabLayoutPendingFrames+=1;if(this.intrinsicWidthRetryCount>=s.INTRINSIC_WIDTH_RETRY_MAX){this.forceTabLayoutCommit(false)}else if(this.tabLayoutPendingFrames>=s.TAB_LAYOUT_COMMIT_MAX_FRAMES){this.forceTabLayoutCommit(false)}else{this.scheduleIntrinsicWidthRetry()}return}this.intrinsicWidthRetryCount=0;this.tabLayoutPendingFrames=0;const e=M(i,this.getLeftZoneAvailableWidth(),this.tabsCollapsed,s.OVERFLOW_HYSTERESIS_PX);if(!e){this.setOverflowTabLayout(this.resolvedTabs,[]);this.tabLayoutCommitted=true;return}const n=D(t.itemWidths,this.getLeftZoneAvailableWidth(),this.getOverflowTriggerReserveWidth(),t.itemGap,t.listExtraWidth);const a=F(this.resolvedTabs.slice(0,n));const r=this.resolvedTabs.slice(a.length);this.setOverflowTabLayout(a,r);this.tabLayoutCommitted=true}syncMenuAnchor(){if(!this.menuEl||!this.triggerEl||!this.hasOverflowTabs)return;this.menuEl.anchor=this.triggerEl;this.syncMenuSections()}handleMenuSelect(s){const t=s.detail;if(t?.value!==undefined){this.selectTab(String(t.value))}this.menuOpen=false;this.menuInitialFocusVisible=false}handleMenuClose(){this.menuOpen=false;this.menuInitialFocusVisible=false}handleMenuAfterClose(){if(!this.menuOpen)this.menuTriggerActive=false}incomingTabs(){return this.tabsJson?h(this.tabsJson,[]):this.tabs??[]}applyHostProps(){const s=this.basePath;const t=s!==""&&this.committedSection!==""&&s!==this.committedSection;if(t){this.urlDerivedValue="";this.committedSection="";this.pendingSection=s;this.resolvedTabs=[];this.resetTabOverflowLayout();return}if(this.pendingSection){if(!s||s!==this.pendingSection){return}if(!this.currentUrl.startsWith(this.pendingSection)){return}const t=this.incomingTabs();if(t.length===0){return}this.pendingSection=""}const i=this.incomingTabs();const e=this.digestTabsConfig(i)!==this.digestTabsConfig(this.resolvedTabs);this.resolvedTabs=i;this.syncValueFromUrl();this.committedSection=s;if(e){this.resetTabOverflowLayout()}this.scheduleOverflowCheck()}syncMenuSections(){if(!this.menuEl)return;this.menuEl.sections=S(this.overflowTabs,this.effectiveValue)}syncValueFromUrl(){const s=this.incomingTabs();if(!this.currentUrl||!this.basePath){this.urlDerivedValue="";this.hideTabsForDetailRoute=false;return}if(!this.currentUrl.startsWith(this.basePath)){this.urlDerivedValue="";this.hideTabsForDetailRoute=false;return}const{value:t,hideTabs:i}=c(this.currentUrl,this.basePath,s);this.urlDerivedValue=t;this.hideTabsForDetailRoute=i}selectTab(s){this.value=s;this.dsTabChange.emit(s)}focusVisibleSelectedTab(){const s=this.visibleTabListEl?.querySelector(`[data-tab-id="${this.effectiveValue}"]`);s?.focus({preventScroll:true})}focusVisibleTab(s){this.focusedTabId=s;const t=this.visibleTabListEl?.querySelector(`[data-tab-id="${s}"]`);t?.focus({preventScroll:true})}focusLastVisibleTab(){const s=[...this.renderedSelectableTabs].reverse().find((s=>!s.isInactive));if(s)this.focusVisibleTab(s.id)}findEnabledVisibleTab(s,t){const i=this.renderedSelectableTabs;for(let e=s+t;e>=0&&e<i.length;e+=t){if(!i[e]?.isInactive)return e}return null}handleTabKeyDown(s){const t=this.renderedSelectableTabs;if(!t.length)return;const i=s.target?.getAttribute("data-tab-id");const e=i??this.focusedTabId;if(s.key==="Enter"||s.key===" "){const i=t.find((s=>s.id===e));if(!i||i.isInactive)return;s.preventDefault();this.selectTab(i.id);return}const n=t.findIndex((s=>s.id===e));if(n<0)return;let a;if(s.key==="ArrowRight"){a=this.findEnabledVisibleTab(n,1);if(a===null&&this.hasOverflowTabs){s.preventDefault();this.overflowRovingFocused=true;void this.triggerEl?.setFocus?.();return}}else if(s.key==="ArrowLeft"){a=this.findEnabledVisibleTab(n,-1)}else if(s.key==="Home"){a=t.findIndex((s=>!s.isInactive))}else if(s.key==="End"){const s=[...t].reverse().findIndex((s=>!s.isInactive));a=s<0?null:t.length-1-s}else{return}if(a===null||a<0||a===n)return;s.preventDefault();this.focusVisibleTab(t[a].id)}toggleTabMenu(s){if(this.menuOpen){this.menuOpen=false;this.menuInitialFocusVisible=false;return}if(this.menuEl&&this.triggerEl){this.menuEl.anchor=this.triggerEl;this.menuEl.minWidth="";this.syncMenuSections()}this.menuInitialFocusVisible=s?.focusVisible??false;this.menuTriggerActive=true;this.menuOpen=true}handleTriggerKeyDown(s){if(!this.hasOverflowTabs)return;if(!this.menuOpen){if(s.key==="ArrowLeft"){s.preventDefault();this.overflowRovingFocused=false;this.focusLastVisibleTab();return}if(s.key==="Enter"||s.key===" "){s.preventDefault();this.toggleTabMenu({focusVisible:true})}return}if(s.key==="Escape"){s.preventDefault();this.menuOpen=false;this.menuInitialFocusVisible=false;void this.triggerEl?.setFocus?.()}}renderTabList(s,t){return e("div",{role:"tablist",class:"bar-nav__tab-list","aria-label":this.heading,ref:s=>{if(t){const t=s??null;if(t===this.probeTabListEl)return;this.probeTabListEl=t;if(t){this.intrinsicWidthRetryCount=0;this.tabLayoutPendingFrames=0;this.scheduleOverflowCheck()}}else{this.visibleTabListEl=s??null}},onKeyDown:t?undefined:s=>this.handleTabKeyDown(s),onFocusin:t?undefined:()=>{this.overflowRovingFocused=false}},s.map(((s,i)=>{if(r(s)){return e("div",{class:"bar-nav__tab-divider",key:`divider-${i}`,"aria-hidden":"true"},e("div",{class:"bar-nav__tab-divider-line"}))}const n=s.id===this.effectiveValue;return e("button",{key:s.id,type:"button",role:"tab","data-tab-id":s.id,class:{"bar-nav__tab":true,"bar-nav__tab--selected":n,"ds-control--md":true,"ds-focus-ring-inset":true,"ds-control-inactive":!!s.isInactive},"aria-selected":n?"true":"false","aria-disabled":s.isInactive?"true":undefined,"aria-controls":s.panelId??undefined,disabled:s.isInactive,tabIndex:!t&&!this.overflowRovingFocused&&s.id===this.focusedTabId?0:-1,onClick:()=>!t&&!s.isInactive&&this.selectTab(s.id),onFocus:()=>{if(!t)this.focusedTabId=s.id}},e("span",{class:{"bar-nav__tab-label":true,"bar-nav__tab-label--dot":!!s.dot}},e("ds-text",{as:"span",variant:"text-body-medium",emphasis:n,color:"inherit"},s.label),s.dot&&e("ds-badge",{class:"bar-nav__tab-dot",variant:"dot",hasRing:false,label:"","aria-hidden":"true"})))})))}render(){const s=this.basePath===""||this.committedSection===this.basePath;const t=s&&this.resolvedTabs.length>0&&!this.hideTabsForDetailRoute;const i=this.basePath||"no-section";const a=this.hasOverflowTabs?this.visibleTabs:this.resolvedTabs;return e(n,{key:"f92a182734762d718ff96aa3dde26382eef99d62"},e("header",{key:"757d2e077faf15813fa77d4fcaada5e3772540b2",class:{"bar-nav":true,"ds-control--md":true,"bar-nav--dashboard":this.navStyle==="dashboard","bar-nav--settings":this.navStyle==="settings","bar-nav--tabs-collapsed":t&&this.hasOverflowTabs},ref:s=>{this.headerEl=s;if(s&&!this.resizeObserver){this.setupOverflowObserver()}}},t&&e("div",{key:"618977206b90964ad7b15578d0aefff3344cd4e8",class:"bar-nav__tabs-probe","aria-hidden":"true",inert:true},e("div",{key:`probe-${i}`},this.renderTabList(this.resolvedTabs,true))),t&&this.tabLayoutCommitted&&a.length>0&&e("div",{key:"1ec6b9cbb4c4c3f751fd13a55892fcb1172c4b83",class:"bar-nav__left"},e("div",{key:`visible-${i}`,class:"bar-nav__tabs-visible"},this.renderTabList(a,false))),t&&!this.tabLayoutCommitted&&e("div",{key:"3d4be2a078b62fc4513832fda8f2b7824e12e118",class:"bar-nav__tabs-pending","aria-hidden":"true"}),!t&&this.heading&&e("ds-text",{key:"8e5f45df41f4de82acca5b1cc0831311041de24e",class:"bar-nav__heading",as:"span",variant:"text-body-medium",emphasis:true,color:"primary",wrap:"nowrap"},this.heading),t&&this.hasOverflowTabs&&e("ds-button-unfilled",{key:"9f8ba450729f111a42338bd758540ec72fab46d4",variant:"icon",class:{"bar-nav__overflow-trigger":true},icon:"Ellipses",activeFill:false,hasBorder:false,focusTabIndex:this.overflowRovingFocused?0:-1,ref:s=>{this.triggerEl=s??null},haspopup:"menu",expanded:this.menuTriggerActive,"aria-label":this.moreTabsLabel,onDsClick:()=>this.toggleTabMenu({focusVisible:false}),onFocusin:this.handleOverflowFocus,onFocusout:this.handleOverflowBlur,onKeyDown:s=>this.handleTriggerKeyDown(s)})),t&&this.hasOverflowTabs&&e("ds-menu",{key:"ff695a863a418e45baa81435f553b1a4d729a361",ref:s=>{this.menuEl=s??null},open:this.menuOpen,sections:S(this.overflowTabs,this.effectiveValue),side:"bottom",align:"end",sideOffset:"calc(var(--dimension-space-100) + var(--dimension-space-050))",initialFocusVisible:this.menuInitialFocusVisible,onDsSelect:s=>this.handleMenuSelect(s),onDsClose:()=>this.handleMenuClose(),onDsAfterClose:()=>this.handleMenuAfterClose()}))}get el(){return this}static get watchers(){return{tabs:[{onHostPropsChange:0}],tabsJson:[{onHostPropsChange:0}],currentUrl:[{onHostPropsChange:0}],basePath:[{onHostPropsChange:0}],value:[{onSelectionChange:0}],urlDerivedValue:[{onSelectionChange:0}],menuOpen:[{onMenuOpenChange:0}],tabsCollapsed:[{onTabsCollapsedChange:0}]}}static get style(){return P()}},[2,"ds-bar-nav",{navStyle:[513,"nav-style"],tabs:[16],tabsJson:[1,"tabs-json"],value:[1025],heading:[1],basePath:[1,"base-path"],currentUrl:[1,"current-url"],moreTabsLabel:[1,"more-tabs-label"],resolvedTabs:[32],urlDerivedValue:[32],hideTabsForDetailRoute:[32],tabsCollapsed:[32],menuOpen:[32],menuTriggerActive:[32],tabLayoutCommitted:[32],visibleTabs:[32],overflowTabs:[32],menuInitialFocusVisible:[32],overflowRovingFocused:[32],focusedTabId:[32],committedSection:[32],pendingSection:[32]},undefined,{tabs:[{onHostPropsChange:0}],tabsJson:[{onHostPropsChange:0}],currentUrl:[{onHostPropsChange:0}],basePath:[{onHostPropsChange:0}],value:[{onSelectionChange:0}],urlDerivedValue:[{onSelectionChange:0}],menuOpen:[{onMenuOpenChange:0}],tabsCollapsed:[{onTabsCollapsedChange:0}]}]);j.HOST_PROP_SYNC_BUDGET=8;j.INTRINSIC_WIDTH_RETRY_MAX=3;j.TAB_LAYOUT_COMMIT_MAX_FRAMES=16;j.OVERFLOW_HYSTERESIS_PX=8;function A(){if(typeof customElements==="undefined"){return}const s=["ds-bar-nav","ds-badge","ds-button-unfilled","ds-icon","ds-loader","ds-menu","ds-swatch-picker","ds-switch","ds-text"];s.forEach((s=>{switch(s){case"ds-bar-nav":if(!customElements.get(a(s))){customElements.define(a(s),j)}break;case"ds-badge":if(!customElements.get(a(s))){g()}break;case"ds-button-unfilled":if(!customElements.get(a(s))){m()}break;case"ds-icon":if(!customElements.get(a(s))){_()}break;case"ds-loader":if(!customElements.get(a(s))){y()}break;case"ds-menu":if(!customElements.get(a(s))){w()}break;case"ds-swatch-picker":if(!customElements.get(a(s))){k()}break;case"ds-switch":if(!customElements.get(a(s))){x()}break;case"ds-text":if(!customElements.get(a(s))){C()}break}}))}A();const H=j;const L=A;export{H as DsBarNav,L as defineCustomElement};
1
+ import{p as s,H as t,c as i,h as e,a as n,t as a}from"./index.js";import{i as r,g as o}from"./p-BQq26pt9.js";import{s as d,p as h,d as c}from"./p-BOQnc-M4.js";import{C as l,c as b,a as f,b as u,r as v,d as p}from"./p-D2x17ei-.js";import{d as g}from"./p-CH6cNXXF.js";import{d as m}from"./p-CoYFJD-w.js";import{d as _}from"./p-BAfG3M8z.js";import{d as y}from"./p-Cpr3K41-.js";import{d as w}from"./p-CWlh7HAg.js";import{d as k}from"./p-Bi_bxbih.js";import{d as x}from"./p-DYqReipj.js";import{d as C}from"./p-BwGnhInj.js";function T(s,t){const i=[];let e=[];for(const n of s){if(r(n)){if(e.length>0){i.push({items:e});e=[]}continue}e.push({label:n.label,value:n.id,dot:n.dot,isSelected:n.id===t,isInactive:n.isInactive})}if(e.length>0){i.push({items:e})}return i}function F(s,t){return T(E(s),t)}function S(s,t,i,e=2){const n=s-t;if(i){return n>-e}return n>e}function M(s,t,i,e,n){if(s.length===0||t<=0)return 0;const a=O(s,s.length,e,n);if(a<=t)return s.length;const r=Math.max(0,t-i);let o=0;for(let t=1;t<=s.length;t++){const i=O(s,t,e,n);if(i>r)break;o=t}return o}function D(s){let t=s.length;while(t>0&&r(s[t-1])){t-=1}return s.slice(0,t)}function E(s){let t=0;while(t<s.length&&r(s[t])){t+=1}return s.slice(t)}function O(s,t,i,e){if(t<=0)return 0;const n=s.slice(0,t).reduce(((s,t)=>s+t),0);return e+n+i*Math.max(0,t-1)}const j=()=>`.ds-control--md.sc-ds-bar-nav-h,.ds-control--md.sc-ds-bar-nav,.ds-control--sm.sc-ds-bar-nav-h,.ds-control--sm.sc-ds-bar-nav,.ds-control--xs.sc-ds-bar-nav-h,.ds-control--xs.sc-ds-bar-nav{--ds-control-radius:var(--dimension-radius-025)}.ds-control--md.sc-ds-bar-nav-h,.ds-control--md.sc-ds-bar-nav{--ds-control-height:var(--dimension-size-400);--ds-control-icon:var(--dimension-iconography-md);--ds-control-padding-inline:var(--dimension-space-075);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-050)}.ds-control--sm.sc-ds-bar-nav-h,.ds-control--sm.sc-ds-bar-nav{--ds-control-height:var(--dimension-size-300);--ds-control-icon:var(--dimension-iconography-sm);--ds-control-padding-inline:var(--dimension-space-050);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-025)}.ds-control--xs.sc-ds-bar-nav-h,.ds-control--xs.sc-ds-bar-nav{--ds-control-height:var(--dimension-size-200);--ds-control-icon:var(--dimension-iconography-xs);--ds-control-padding-inline:var(--dimension-space-025);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:0}.sc-ds-bar-nav-h{--ds-focus-ring-width:var(--dimension-stroke-width-025, 2px);--ds-focus-ring-offset:var(--dimension-space-025, 2px);--ds-focus-ring-color:var(--color-interaction-focus)}.ds-focus-ring.sc-ds-bar-nav-h:focus-visible,.ds-focus-ring.sc-ds-bar-nav:focus-visible{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring.ds-focus-ring--visible.sc-ds-bar-nav-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-bar-nav{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring-inset.sc-ds-bar-nav-h:focus-visible,.ds-focus-ring-inset.sc-ds-bar-nav:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-bar-nav-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-bar-nav:focus-visible::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-bar-nav-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-bar-nav{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-bar-nav-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-bar-nav::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}.ds-control-inactive.sc-ds-bar-nav-h,.ds-control-inactive.sc-ds-bar-nav{opacity:0.5;pointer-events:none;cursor:not-allowed}.sc-ds-bar-nav-h{display:block}.bar-nav.sc-ds-bar-nav{display:flex;align-items:center;position:relative;height:var(--dimension-size-600);padding:var(--dimension-space-100);gap:var(--dimension-space-100);box-sizing:border-box;border-bottom:var(--dimension-stroke-width-012) solid var(--_bar-nav-border);background-color:var(--_bar-nav-bg);color:var(--_bar-nav-fg-primary);-webkit-user-select:none;user-select:none;overflow:hidden;transition:background-color var(--effect-motion-short-3), border-color var(--effect-motion-short-3), color var(--effect-motion-short-3);isolation:isolate;--_bar-nav-bg:var(--color-background-secondary);--_bar-nav-border:var(--color-border-tertiary);--_bar-nav-fg-primary:var(--color-foreground-primary);--_bar-nav-fg-secondary:var(--color-foreground-secondary);--_bar-nav-hover:var(--color-interaction-hover);--_bar-nav-pressed:var(--color-interaction-pressed);--_bar-nav-focus:var(--color-interaction-focus);--_bar-nav-dot:var(--color-foreground-bold-brand);--ds-focus-ring-color:var(--_bar-nav-focus)}.bar-nav--dashboard.sc-ds-bar-nav,.bar-nav--settings.sc-ds-bar-nav{--_bar-nav-bg:var(--color-background-secondary);--_bar-nav-border:var(--color-border-tertiary);--_bar-nav-fg-primary:var(--color-foreground-primary);--_bar-nav-fg-secondary:var(--color-foreground-secondary);--_bar-nav-hover:var(--color-interaction-hover);--_bar-nav-pressed:var(--color-interaction-pressed);--_bar-nav-focus:var(--color-interaction-focus);--_bar-nav-dot:var(--color-foreground-bold-brand)}ds-shell-app.sc-ds-bar-nav-h:not([gradient-preset='none']) .bar-nav.sc-ds-bar-nav,ds-shell-app:not([gradient-preset='none']) .sc-ds-bar-nav-h .bar-nav.sc-ds-bar-nav{background-color:transparent}.bar-nav.sc-ds-bar-nav>.sc-ds-bar-nav:not(.bar-nav__tabs-probe){position:relative;z-index:3}.bar-nav--tabs-collapsed.sc-ds-bar-nav{display:flex;gap:var(--dimension-space-100);align-items:center}.bar-nav__left.sc-ds-bar-nav{position:relative;flex:1 1 0%;min-width:0;width:0;display:flex;align-items:center}.bar-nav__tabs-visible.sc-ds-bar-nav{flex:1;min-width:0;width:100%}.bar-nav__tabs-probe.sc-ds-bar-nav{position:absolute;left:0;top:0;visibility:hidden;pointer-events:none;overflow:visible;width:max-content;max-width:none;z-index:-1}.bar-nav__tabs-probe.sc-ds-bar-nav>div.sc-ds-bar-nav{width:max-content}.bar-nav__tab-list.sc-ds-bar-nav{display:flex;align-items:center;gap:var(--dimension-space-050);position:relative;width:max-content}.bar-nav__tab.sc-ds-bar-nav{display:flex;align-items:center;justify-content:center;gap:var(--ds-control-gap);height:var(--ds-control-height);min-width:var(--ds-control-height);padding:0 var(--ds-control-padding-inline);box-sizing:border-box;border:none;border-radius:var(--ds-control-radius);background-color:transparent;color:var(--_bar-nav-fg-secondary);cursor:pointer;position:relative;flex-shrink:0;-webkit-user-select:none;user-select:none;transition:color var(--effect-motion-short-2)}.bar-nav__tab.sc-ds-bar-nav::after{content:'';position:absolute;inset:0;border-radius:var(--ds-control-radius);background:transparent;pointer-events:none}.bar-nav__tab.sc-ds-bar-nav:hover::after{background:var(--_bar-nav-hover)}.bar-nav__tab.sc-ds-bar-nav:active::after{background:var(--_bar-nav-pressed)}.bar-nav__tab--selected.sc-ds-bar-nav{color:var(--_bar-nav-fg-primary)}.bar-nav__tab-label.sc-ds-bar-nav{position:relative;display:inline-flex;align-items:center;padding:0 var(--ds-control-label-inset);white-space:nowrap}.bar-nav__tab-label--dot.sc-ds-bar-nav{padding-right:calc(var(--ds-control-label-inset) + var(--ds-control-gap))}.bar-nav__tab-dot.sc-ds-bar-nav{position:absolute;top:0;right:0;pointer-events:none}.bar-nav__tab-divider.sc-ds-bar-nav{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--dimension-space-100);height:var(--ds-control-height);padding-block:var(--ds-control-padding-inline);flex-shrink:0;pointer-events:none}.bar-nav__tab-divider-line.sc-ds-bar-nav{width:var(--dimension-stroke-width-012);align-self:stretch;background-color:var(--_bar-nav-border)}.bar-nav__tabs-pending.sc-ds-bar-nav{flex:1;min-width:0;height:var(--ds-control-height);visibility:hidden;pointer-events:none}.bar-nav__overflow-trigger.sc-ds-bar-nav{margin-left:auto;--ds-button-unfilled-fg:var(--_bar-nav-fg-secondary);--ds-button-unfilled-fg-active:var(--_bar-nav-fg-primary);--ds-interaction-hover:var(--_bar-nav-hover);--ds-interaction-pressed:var(--_bar-nav-pressed);--ds-focus-ring-color:var(--_bar-nav-focus)}ds-text.bar-nav__heading.sc-ds-bar-nav{display:inline-flex;align-items:center;height:var(--ds-control-height);padding-inline:calc(var(--ds-control-padding-inline) + var(--ds-control-label-inset));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;user-select:none}`;const P=s(class s extends t{constructor(s){super();if(s!==false){this.__registerHost()}this.dsTabChange=i(this,"dsTabChange");this.navStyle="dashboard";this.tabs=[];this.tabsJson="";this.value="";this.basePath="";this.currentUrl="";this.moreTabsLabel="More tabs";this.resolvedTabs=[];this.urlDerivedValue="";this.hideTabsForDetailRoute=false;this.tabsCollapsed=false;this.menuOpen=false;this.menuTriggerActive=false;this.tabLayoutCommitted=false;this.visibleTabs=[];this.overflowTabs=[];this.menuInitialFocusVisible=false;this.overflowRovingFocused=false;this.focusedTabId="";this.headerEl=null;this.triggerEl=null;this.menuEl=null;this.visibleTabListEl=null;this.probeTabListEl=null;this.resizeObserver=null;this.intrinsicWidthRetryCount=0;this.tabLayoutPendingFrames=0;this.panelNavTransition=new l;this.panelToolsTransition=new l;this.overflowCoalescer=b((()=>{this.updateTabsCollapsed()}));this.chromeTransitionShell=null;this.committedSection="";this.pendingSection="";this.onChromeTransitionStart=s=>{const t=v(s);if(t==="panel-nav"){this.panelNavTransition.enter();return}if(t==="panel-tools"){const t=p(s)??"opening";if(t==="closing"){this.panelToolsTransition.enter()}}};this.onChromeTransitionEnd=s=>{const t=v(s);if(t==="panel-nav"){this.panelNavTransition.exit();if(!this.panelNavTransition.isActive){this.scheduleOverflowCheck()}return}if(t==="panel-tools"){this.panelToolsTransition.exit();this.scheduleOverflowCheck()}};this.handleOverflowFocus=()=>{this.overflowRovingFocused=true};this.handleOverflowBlur=()=>{this.overflowRovingFocused=false}}get effectiveValue(){if(this.currentUrl&&this.basePath){return this.urlDerivedValue}return this.value}get renderedSelectableTabs(){const s=this.hasOverflowTabs?this.visibleTabs:this.resolvedTabs;return o(s)}get hasOverflowTabs(){return this.tabLayoutCommitted&&this.tabsCollapsed&&this.overflowTabs.length>0}syncFocusedTabId(s,t){if(t.some((t=>t.id===s&&!t.isInactive))){this.focusedTabId=s;return}const i=t.find((s=>!s.isInactive));this.focusedTabId=i?.id??""}digestTabsConfig(s){return s.map((s=>r(s)?"|":s.id)).join(",")}resetTabOverflowLayout(){this.tabLayoutCommitted=false;this.tabsCollapsed=false;this.menuOpen=false;this.menuTriggerActive=false;this.menuInitialFocusVisible=false;this.intrinsicWidthRetryCount=0;this.tabLayoutPendingFrames=0;this.visibleTabs=[];this.overflowTabs=[]}onHostPropsChange(){this.applyHostProps()}onSelectionChange(){this.syncFocusedTabId(this.effectiveValue,this.renderedSelectableTabs);this.syncMenuSections();this.scheduleOverflowCheck()}onMenuOpenChange(s){if(this.menuEl){this.menuEl.open=s}}onTabsCollapsedChange(s,t){if(!s){this.menuOpen=false;this.menuTriggerActive=false;this.menuInitialFocusVisible=false;this.menuEl=null}this.scheduleOverflowCheck();if(s){requestAnimationFrame((()=>{this.scheduleOverflowCheck()}))}if(s||t===undefined||t===s)return;requestAnimationFrame((()=>this.scheduleOverflowCheck()));queueMicrotask((()=>this.focusVisibleSelectedTab()))}componentWillLoad(){this.applyHostProps();this.syncFocusedTabId(this.effectiveValue,o(this.resolvedTabs))}componentDidLoad(){this.syncHostPropsIfNeeded();this.scheduleDeferredHostPropSync();this.setupOverflowObserver();this.bindChromeTransitionListeners();this.scheduleOverflowCheck()}componentDidRender(){if(this.chromeOverflowPaused()){this.syncMenuAnchor();return}this.scheduleOverflowCheck();this.syncMenuAnchor()}disconnectedCallback(){this.resizeObserver?.disconnect();this.resizeObserver=null;this.overflowCoalescer.cancel();this.unbindChromeTransitionListeners()}bindChromeTransitionListeners(){const s=this.el.closest("ds-shell-app");if(!s)return;this.chromeTransitionShell=s;s.addEventListener(f,this.onChromeTransitionStart);s.addEventListener(u,this.onChromeTransitionEnd)}unbindChromeTransitionListeners(){if(!this.chromeTransitionShell)return;this.chromeTransitionShell.removeEventListener(f,this.onChromeTransitionStart);this.chromeTransitionShell.removeEventListener(u,this.onChromeTransitionEnd);this.chromeTransitionShell=null}chromeOverflowPaused(){return this.panelNavTransition.isActive||this.panelToolsTransition.isActive}syncHostPropsIfNeeded(){if(d(this.resolvedTabs,this.tabs,this.tabsJson)){this.applyHostProps()}else if(this.currentUrl&&this.basePath){this.syncValueFromUrl()}}scheduleDeferredHostPropSync(){let t=s.HOST_PROP_SYNC_BUDGET;const i=()=>{this.syncHostPropsIfNeeded();if(--t>0){requestAnimationFrame(i)}};queueMicrotask(i)}setupOverflowObserver(){if(typeof ResizeObserver==="undefined"||!this.headerEl)return;this.resizeObserver?.disconnect();this.resizeObserver=new ResizeObserver((()=>{if(this.chromeOverflowPaused())return;this.scheduleOverflowCheck()}));this.resizeObserver.observe(this.headerEl)}scheduleOverflowCheck(){if(this.chromeOverflowPaused())return;this.overflowCoalescer.schedule()}getLeftZoneAvailableWidth(){if(!this.headerEl)return 0;const s=getComputedStyle(this.headerEl);const t=(parseFloat(s.paddingLeft)||0)+(parseFloat(s.paddingRight)||0);return Math.max(0,this.headerEl.clientWidth-t)}getTabsIntrinsicWidth(){return this.probeTabListEl?.scrollWidth??0}getHeaderGap(){if(!this.headerEl)return 0;const s=getComputedStyle(this.headerEl);return parseFloat(s.columnGap||s.gap)||0}getOverflowTriggerReserveWidth(){if(!this.triggerEl){return 40}return this.triggerEl.getBoundingClientRect().width+this.getHeaderGap()}getProbeTabMetrics(){const s=this.probeTabListEl;if(!s)return null;const t=Array.from(s.children);const i=t.map((s=>s.getBoundingClientRect().width));if(i.length===0||i.some((s=>s===0)))return null;const e=getComputedStyle(s);const n=parseFloat(e.columnGap||e.gap)||0;const a=i.reduce(((s,t)=>s+t),0);const r=n*Math.max(0,i.length-1);const o=Math.max(0,s.scrollWidth-a-r);return{itemWidths:i,itemGap:n,listExtraWidth:o}}setOverflowTabLayout(s,t){const i=t.length>0;const e=this.digestTabsConfig(s)!==this.digestTabsConfig(this.visibleTabs);const n=this.digestTabsConfig(t)!==this.digestTabsConfig(this.overflowTabs);if(e){this.visibleTabs=s}if(n){this.overflowTabs=t}if(i!==this.tabsCollapsed){this.tabsCollapsed=i;if(!i){this.menuOpen=false;this.menuTriggerActive=false}}this.syncFocusedTabId(this.effectiveValue,o(i?s:this.resolvedTabs))}scheduleIntrinsicWidthRetry(){if(this.intrinsicWidthRetryCount>=s.INTRINSIC_WIDTH_RETRY_MAX)return;this.intrinsicWidthRetryCount++;requestAnimationFrame((()=>this.scheduleOverflowCheck()))}forceTabLayoutCommit(s){this.intrinsicWidthRetryCount=0;this.tabLayoutPendingFrames=0;this.setOverflowTabLayout(s?[]:this.resolvedTabs,s?this.resolvedTabs:[]);this.tabLayoutCommitted=true}updateTabsCollapsed(){if(!this.headerEl||this.resolvedTabs.length===0||this.hideTabsForDetailRoute){if(this.tabsCollapsed){this.setOverflowTabLayout([],[])}this.intrinsicWidthRetryCount=0;this.tabLayoutPendingFrames=0;this.tabLayoutCommitted=true;return}const t=this.getProbeTabMetrics();const i=this.getTabsIntrinsicWidth();if(!t||i===0){this.tabLayoutPendingFrames+=1;if(this.intrinsicWidthRetryCount>=s.INTRINSIC_WIDTH_RETRY_MAX){this.forceTabLayoutCommit(false)}else if(this.tabLayoutPendingFrames>=s.TAB_LAYOUT_COMMIT_MAX_FRAMES){this.forceTabLayoutCommit(false)}else{this.scheduleIntrinsicWidthRetry()}return}this.intrinsicWidthRetryCount=0;this.tabLayoutPendingFrames=0;const e=S(i,this.getLeftZoneAvailableWidth(),this.tabsCollapsed,s.OVERFLOW_HYSTERESIS_PX);if(!e){this.setOverflowTabLayout(this.resolvedTabs,[]);this.tabLayoutCommitted=true;return}const n=M(t.itemWidths,this.getLeftZoneAvailableWidth(),this.getOverflowTriggerReserveWidth(),t.itemGap,t.listExtraWidth);const a=D(this.resolvedTabs.slice(0,n));const r=this.resolvedTabs.slice(a.length);this.setOverflowTabLayout(a,r);this.tabLayoutCommitted=true}syncMenuAnchor(){if(!this.menuEl||!this.triggerEl||!this.hasOverflowTabs)return;this.menuEl.anchor=this.triggerEl;this.syncMenuSections()}handleMenuSelect(s){const t=s.detail;if(t?.value!==undefined){this.selectTab(String(t.value))}this.menuOpen=false;this.menuInitialFocusVisible=false}handleMenuClose(){this.menuOpen=false;this.menuInitialFocusVisible=false}handleMenuAfterClose(){if(!this.menuOpen)this.menuTriggerActive=false}incomingTabs(){return this.tabsJson?h(this.tabsJson,[]):this.tabs??[]}applyHostProps(){const s=this.basePath;const t=s!==""&&this.committedSection!==""&&s!==this.committedSection;if(t){this.urlDerivedValue="";this.committedSection="";this.pendingSection=s;this.resolvedTabs=[];this.resetTabOverflowLayout();return}if(this.pendingSection){if(!s||s!==this.pendingSection){return}if(!this.currentUrl.startsWith(this.pendingSection)){return}const t=this.incomingTabs();if(t.length===0){return}this.pendingSection=""}const i=this.incomingTabs();const e=this.digestTabsConfig(i)!==this.digestTabsConfig(this.resolvedTabs);this.resolvedTabs=i;this.syncValueFromUrl();this.committedSection=s;if(e){this.resetTabOverflowLayout()}this.scheduleOverflowCheck()}syncMenuSections(){if(!this.menuEl)return;this.menuEl.sections=F(this.overflowTabs,this.effectiveValue)}syncValueFromUrl(){const s=this.incomingTabs();if(!this.currentUrl||!this.basePath){this.urlDerivedValue="";this.hideTabsForDetailRoute=false;return}if(!this.currentUrl.startsWith(this.basePath)){this.urlDerivedValue="";this.hideTabsForDetailRoute=false;return}const{value:t,hideTabs:i}=c(this.currentUrl,this.basePath,s);this.urlDerivedValue=t;this.hideTabsForDetailRoute=i}selectTab(s){this.value=s;this.dsTabChange.emit(s)}focusVisibleSelectedTab(){const s=this.visibleTabListEl?.querySelector(`[data-tab-id="${this.effectiveValue}"]`);s?.focus({preventScroll:true})}focusVisibleTab(s){this.focusedTabId=s;const t=this.visibleTabListEl?.querySelector(`[data-tab-id="${s}"]`);t?.focus({preventScroll:true})}focusLastVisibleTab(){const s=[...this.renderedSelectableTabs].reverse().find((s=>!s.isInactive));if(s)this.focusVisibleTab(s.id)}findEnabledVisibleTab(s,t){const i=this.renderedSelectableTabs;for(let e=s+t;e>=0&&e<i.length;e+=t){if(!i[e]?.isInactive)return e}return null}handleTabKeyDown(s){const t=this.renderedSelectableTabs;if(!t.length)return;const i=s.target?.getAttribute("data-tab-id");const e=i??this.focusedTabId;if(s.key==="Enter"||s.key===" "){const i=t.find((s=>s.id===e));if(!i||i.isInactive)return;s.preventDefault();this.selectTab(i.id);return}const n=t.findIndex((s=>s.id===e));if(n<0)return;let a;if(s.key==="ArrowRight"){a=this.findEnabledVisibleTab(n,1);if(a===null&&this.hasOverflowTabs){s.preventDefault();this.overflowRovingFocused=true;void this.triggerEl?.setFocus?.();return}}else if(s.key==="ArrowLeft"){a=this.findEnabledVisibleTab(n,-1)}else if(s.key==="Home"){a=t.findIndex((s=>!s.isInactive))}else if(s.key==="End"){const s=[...t].reverse().findIndex((s=>!s.isInactive));a=s<0?null:t.length-1-s}else{return}if(a===null||a<0||a===n)return;s.preventDefault();this.focusVisibleTab(t[a].id)}toggleTabMenu(s){if(this.menuOpen){this.menuOpen=false;this.menuInitialFocusVisible=false;return}if(this.menuEl&&this.triggerEl){this.menuEl.anchor=this.triggerEl;this.menuEl.minWidth="";this.syncMenuSections()}this.menuInitialFocusVisible=s?.focusVisible??false;this.menuTriggerActive=true;this.menuOpen=true}handleTriggerKeyDown(s){if(!this.hasOverflowTabs)return;if(!this.menuOpen){if(s.key==="ArrowLeft"){s.preventDefault();this.overflowRovingFocused=false;this.focusLastVisibleTab();return}if(s.key==="Enter"||s.key===" "){s.preventDefault();this.toggleTabMenu({focusVisible:true})}return}if(s.key==="Escape"){s.preventDefault();this.menuOpen=false;this.menuInitialFocusVisible=false;void this.triggerEl?.setFocus?.()}}renderTabList(s,t){return e("div",{role:"tablist",class:"bar-nav__tab-list","aria-label":this.heading,ref:s=>{if(t){const t=s??null;if(t===this.probeTabListEl)return;this.probeTabListEl=t;if(t){this.intrinsicWidthRetryCount=0;this.tabLayoutPendingFrames=0;this.scheduleOverflowCheck()}}else{this.visibleTabListEl=s??null}},onKeyDown:t?undefined:s=>this.handleTabKeyDown(s),onFocusin:t?undefined:()=>{this.overflowRovingFocused=false}},s.map(((s,i)=>{if(r(s)){return e("div",{class:"bar-nav__tab-divider",key:`divider-${i}`,"aria-hidden":"true"},e("div",{class:"bar-nav__tab-divider-line"}))}const n=s.id===this.effectiveValue;return e("button",{key:s.id,type:"button",role:"tab","data-tab-id":s.id,class:{"bar-nav__tab":true,"bar-nav__tab--selected":n,"ds-control--md":true,"ds-focus-ring-inset":true,"ds-control-inactive":!!s.isInactive},"aria-selected":n?"true":"false","aria-disabled":s.isInactive?"true":undefined,"aria-controls":s.panelId??undefined,disabled:s.isInactive,tabIndex:!t&&!this.overflowRovingFocused&&s.id===this.focusedTabId?0:-1,onClick:()=>!t&&!s.isInactive&&this.selectTab(s.id),onFocus:()=>{if(!t)this.focusedTabId=s.id}},e("span",{class:{"bar-nav__tab-label":true,"bar-nav__tab-label--dot":!!s.dot}},e("ds-text",{as:"span",variant:"text-body-medium",emphasis:n,color:"inherit"},s.label),s.dot&&e("ds-badge",{class:"bar-nav__tab-dot",variant:"dot",hasRing:false,label:"","aria-hidden":"true"})))})))}render(){const s=this.basePath===""||this.committedSection===this.basePath;const t=s&&this.resolvedTabs.length>0&&!this.hideTabsForDetailRoute;const i=this.basePath||"no-section";const a=this.hasOverflowTabs?this.visibleTabs:this.resolvedTabs;return e(n,{key:"1e059a39660e6aa45a02455e178ff59f33038edb"},e("header",{key:"209463edcb56bb4de009702355adf66286b2b119",class:{"bar-nav":true,"ds-control--md":true,"bar-nav--dashboard":this.navStyle==="dashboard","bar-nav--settings":this.navStyle==="settings","bar-nav--tabs-collapsed":t&&this.hasOverflowTabs},ref:s=>{this.headerEl=s;if(s&&!this.resizeObserver){this.setupOverflowObserver()}}},t&&e("div",{key:"35a0a79346a910d88c671e4612cf922e3e58dbf6",class:"bar-nav__tabs-probe","aria-hidden":"true",inert:true},e("div",{key:`probe-${i}`},this.renderTabList(this.resolvedTabs,true))),t&&this.tabLayoutCommitted&&a.length>0&&e("div",{key:"be007184053e78a05d8a71b6b0fc6ebe06ff85dd",class:"bar-nav__left"},e("div",{key:`visible-${i}`,class:"bar-nav__tabs-visible"},this.renderTabList(a,false))),t&&!this.tabLayoutCommitted&&e("div",{key:"29b0a4890f2ba5dac841255373f5aacef6dc47df",class:"bar-nav__tabs-pending","aria-hidden":"true"}),!t&&this.heading&&e("ds-text",{key:"baaf3707f50c3640e0815072c95c468958fddca8",class:"bar-nav__heading",as:"span",variant:"text-body-medium",emphasis:true,color:"primary",wrap:"nowrap"},this.heading),t&&this.hasOverflowTabs&&e("ds-button-unfilled",{key:"75bfecb92e02f78e39e5aed614b12bdbdea14f2c",variant:"icon",class:{"bar-nav__overflow-trigger":true},icon:"Ellipses",activeFill:false,hasBorder:false,focusTabIndex:this.overflowRovingFocused?0:-1,ref:s=>{this.triggerEl=s??null},haspopup:"menu",expanded:this.menuTriggerActive,"aria-label":this.moreTabsLabel,onDsClick:()=>this.toggleTabMenu({focusVisible:false}),onFocusin:this.handleOverflowFocus,onFocusout:this.handleOverflowBlur,onKeyDown:s=>this.handleTriggerKeyDown(s)})),t&&this.hasOverflowTabs&&e("ds-menu",{key:"d06bb00d7ad4b2784b984ace34555a50f0dd91cb",ref:s=>{this.menuEl=s??null},open:this.menuOpen,sections:F(this.overflowTabs,this.effectiveValue),side:"bottom",align:"end",sideOffset:"calc(var(--dimension-space-100) + var(--dimension-space-050))",initialFocusVisible:this.menuInitialFocusVisible,onDsSelect:s=>this.handleMenuSelect(s),onDsClose:()=>this.handleMenuClose(),onDsAfterClose:()=>this.handleMenuAfterClose()}))}get el(){return this}static get watchers(){return{tabs:[{onHostPropsChange:0}],tabsJson:[{onHostPropsChange:0}],currentUrl:[{onHostPropsChange:0}],basePath:[{onHostPropsChange:0}],value:[{onSelectionChange:0}],urlDerivedValue:[{onSelectionChange:0}],menuOpen:[{onMenuOpenChange:0}],tabsCollapsed:[{onTabsCollapsedChange:0}]}}static get style(){return j()}},[2,"ds-bar-nav",{navStyle:[513,"nav-style"],tabs:[16],tabsJson:[1,"tabs-json"],value:[1025],heading:[1],basePath:[1,"base-path"],currentUrl:[1,"current-url"],moreTabsLabel:[1,"more-tabs-label"],resolvedTabs:[32],urlDerivedValue:[32],hideTabsForDetailRoute:[32],tabsCollapsed:[32],menuOpen:[32],menuTriggerActive:[32],tabLayoutCommitted:[32],visibleTabs:[32],overflowTabs:[32],menuInitialFocusVisible:[32],overflowRovingFocused:[32],focusedTabId:[32],committedSection:[32],pendingSection:[32]},undefined,{tabs:[{onHostPropsChange:0}],tabsJson:[{onHostPropsChange:0}],currentUrl:[{onHostPropsChange:0}],basePath:[{onHostPropsChange:0}],value:[{onSelectionChange:0}],urlDerivedValue:[{onSelectionChange:0}],menuOpen:[{onMenuOpenChange:0}],tabsCollapsed:[{onTabsCollapsedChange:0}]}]);P.HOST_PROP_SYNC_BUDGET=8;P.INTRINSIC_WIDTH_RETRY_MAX=3;P.TAB_LAYOUT_COMMIT_MAX_FRAMES=16;P.OVERFLOW_HYSTERESIS_PX=8;function H(){if(typeof customElements==="undefined"){return}const s=["ds-bar-nav","ds-badge","ds-button-unfilled","ds-icon","ds-loader","ds-menu","ds-swatch-picker","ds-switch","ds-text"];s.forEach((s=>{switch(s){case"ds-bar-nav":if(!customElements.get(a(s))){customElements.define(a(s),P)}break;case"ds-badge":if(!customElements.get(a(s))){g()}break;case"ds-button-unfilled":if(!customElements.get(a(s))){m()}break;case"ds-icon":if(!customElements.get(a(s))){_()}break;case"ds-loader":if(!customElements.get(a(s))){y()}break;case"ds-menu":if(!customElements.get(a(s))){w()}break;case"ds-swatch-picker":if(!customElements.get(a(s))){k()}break;case"ds-switch":if(!customElements.get(a(s))){x()}break;case"ds-text":if(!customElements.get(a(s))){C()}break}}))}H();const A=P;const L=H;export{A as DsBarNav,L as defineCustomElement};
2
2
  //# sourceMappingURL=ds-bar-nav.js.map