@ds-mo/ui 12.5.0 → 12.6.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 (284) hide show
  1. package/dist/.build-stamp +1 -1
  2. package/dist/agent-patterns.json +21 -12
  3. package/dist/agent.json +1536 -1424
  4. package/dist/angular/ds-bar-workflow.d.ts +1 -1
  5. package/dist/angular/ds-bar-workflow.js +3 -3
  6. package/dist/angular/ds-mobile-bar-nav.d.ts +18 -0
  7. package/dist/angular/{ds-shell-mobile-bar.js → ds-mobile-bar-nav.js} +15 -15
  8. package/dist/angular/ds-mobile-header.d.ts +23 -0
  9. package/dist/angular/ds-mobile-header.js +45 -0
  10. package/dist/angular/ds-mobile-section-switcher.d.ts +18 -0
  11. package/dist/angular/{ds-shell-mobile-section-nav.js → ds-mobile-section-switcher.js} +15 -15
  12. package/dist/angular/ds-mobile-sheet-nav.d.ts +20 -0
  13. package/dist/angular/{ds-shell-mobile-nav.js → ds-mobile-sheet-nav.js} +13 -16
  14. package/dist/angular/ds-shell-app.d.ts +1 -1
  15. package/dist/angular/ds-shell-app.js +3 -3
  16. package/dist/angular/ds-shell-page.d.ts +1 -1
  17. package/dist/angular/ds-shell-page.js +3 -3
  18. package/dist/angular/index.d.ts +1 -1
  19. package/dist/angular/index.js +4 -3
  20. package/dist/angular/proxies.d.ts +4 -3
  21. package/dist/angular/proxies.js +4 -3
  22. package/dist/components/ds-agent-activity.js +1 -1
  23. package/dist/components/ds-agent-response.js +1 -1
  24. package/dist/components/ds-agent-tool-call.js +1 -1
  25. package/dist/components/ds-avatar.js +1 -1
  26. package/dist/components/ds-avatar.js.map +1 -1
  27. package/dist/components/ds-badge.js +1 -1
  28. package/dist/components/ds-bar-nav.js +1 -1
  29. package/dist/components/ds-bar-nav.js.map +1 -1
  30. package/dist/components/ds-bar-title.js +1 -1
  31. package/dist/components/ds-bar-title.js.map +1 -1
  32. package/dist/components/ds-bar-workflow.js +1 -1
  33. package/dist/components/ds-bar-workflow.js.map +1 -1
  34. package/dist/components/ds-breadcrumb.js +1 -1
  35. package/dist/components/ds-button-filled.js +1 -1
  36. package/dist/components/ds-button-unfilled.js +1 -1
  37. package/dist/components/ds-card-data-viz-bar.js +1 -1
  38. package/dist/components/ds-card-data-viz-donut.js +1 -1
  39. package/dist/components/ds-card-data-viz-line.js +1 -1
  40. package/dist/components/ds-card-setting.js +1 -1
  41. package/dist/components/ds-chart-bar.js +1 -1
  42. package/dist/components/ds-chart-donut.js +1 -1
  43. package/dist/components/ds-chart-legend.js +1 -1
  44. package/dist/components/ds-chart-legend.js.map +1 -1
  45. package/dist/components/ds-chart-line.js +1 -1
  46. package/dist/components/ds-checkbox.js +1 -1
  47. package/dist/components/ds-chip.js +1 -1
  48. package/dist/components/ds-chip.js.map +1 -1
  49. package/dist/components/ds-code-block.js +1 -1
  50. package/dist/components/ds-conversation-list-item.js +1 -1
  51. package/dist/components/ds-conversation-list-item.js.map +1 -1
  52. package/dist/components/ds-conversation-list-section.js +1 -1
  53. package/dist/components/ds-empty-state.js +1 -1
  54. package/dist/components/ds-field.js +1 -1
  55. package/dist/components/ds-input.js +1 -1
  56. package/dist/components/ds-input.js.map +1 -1
  57. package/dist/components/ds-loader.js +1 -1
  58. package/dist/components/ds-markdown.js +1 -1
  59. package/dist/components/ds-menu.js +1 -1
  60. package/dist/components/ds-message-composer.js +1 -1
  61. package/dist/components/ds-message-composer.js.map +1 -1
  62. package/dist/components/ds-message-scroller.js +1 -1
  63. package/dist/components/ds-message.js +1 -1
  64. package/dist/components/{ds-shell-mobile-nav.d.ts → ds-mobile-bar-nav.d.ts} +4 -4
  65. package/dist/components/ds-mobile-bar-nav.js +2 -0
  66. package/dist/components/ds-mobile-bar-nav.js.map +1 -0
  67. package/dist/components/ds-mobile-header.d.ts +11 -0
  68. package/dist/components/ds-mobile-header.js +2 -0
  69. package/dist/components/ds-mobile-header.js.map +1 -0
  70. package/dist/components/ds-mobile-section-switcher.d.ts +11 -0
  71. package/dist/components/ds-mobile-section-switcher.js +2 -0
  72. package/dist/components/ds-mobile-section-switcher.js.map +1 -0
  73. package/dist/components/{ds-shell-mobile-bar.d.ts → ds-mobile-sheet-nav.d.ts} +4 -4
  74. package/dist/components/ds-mobile-sheet-nav.js +2 -0
  75. package/dist/components/ds-mobile-sheet-nav.js.map +1 -0
  76. package/dist/components/ds-modal.js +1 -1
  77. package/dist/components/ds-modal.js.map +1 -1
  78. package/dist/components/ds-panel-nav.js +1 -1
  79. package/dist/components/ds-panel-nav.js.map +1 -1
  80. package/dist/components/ds-panel-sub-nav.js +1 -1
  81. package/dist/components/ds-panel-sub-nav.js.map +1 -1
  82. package/dist/components/ds-panel-tool-header.js +1 -1
  83. package/dist/components/ds-panel-tool-search.js +1 -1
  84. package/dist/components/ds-panel-tool-search.js.map +1 -1
  85. package/dist/components/ds-panel-tools.js +1 -1
  86. package/dist/components/ds-radio.js +1 -1
  87. package/dist/components/ds-radio.js.map +1 -1
  88. package/dist/components/ds-select-multi.js +1 -1
  89. package/dist/components/ds-select-multi.js.map +1 -1
  90. package/dist/components/ds-select.js +1 -1
  91. package/dist/components/ds-select.js.map +1 -1
  92. package/dist/components/ds-shell-app.js +1 -1
  93. package/dist/components/ds-shell-app.js.map +1 -1
  94. package/dist/components/ds-shell-gradient-picker.js +1 -1
  95. package/dist/components/ds-shell-gradient-picker.js.map +1 -1
  96. package/dist/components/ds-shell-gradient-swatch.js +1 -1
  97. package/dist/components/ds-shell-page.js +1 -1
  98. package/dist/components/ds-shell-page.js.map +1 -1
  99. package/dist/components/ds-shell-tools.js +1 -1
  100. package/dist/components/ds-shell-tools.js.map +1 -1
  101. package/dist/components/ds-skeleton.js +1 -1
  102. package/dist/components/ds-skeleton.js.map +1 -1
  103. package/dist/components/ds-swatch-picker.js +1 -1
  104. package/dist/components/ds-switch.js +1 -1
  105. package/dist/components/ds-tab-group.js +1 -1
  106. package/dist/components/ds-tag.js +1 -1
  107. package/dist/components/ds-tag.js.map +1 -1
  108. package/dist/components/ds-toast.js +1 -1
  109. package/dist/components/ds-toast.js.map +1 -1
  110. package/dist/components/ds-tooltip-data-viz.js +1 -1
  111. package/dist/components/ds-tooltip.js +1 -1
  112. package/dist/components/ds-typing-indicator.js +1 -1
  113. package/dist/components/p--bSkr_yn.js +2 -0
  114. package/dist/components/p--bSkr_yn.js.map +1 -0
  115. package/dist/components/p-46nk9-RO.js +2 -0
  116. package/dist/components/p-46nk9-RO.js.map +1 -0
  117. package/dist/components/{p-9dQQSgwT.js → p-BHYrsGBw.js} +2 -2
  118. package/dist/components/p-BY0PzkUp.js +2 -0
  119. package/dist/components/p-BgGP65Nn.js +2 -0
  120. package/dist/components/p-BgGP65Nn.js.map +1 -0
  121. package/dist/components/p-BkAMkjIR.js +2 -0
  122. package/dist/components/{p-Co8hD3P-.js.map → p-BkAMkjIR.js.map} +1 -1
  123. package/dist/components/p-BrusnEYP.js.map +1 -1
  124. package/dist/components/p-C2ym_Ich.js +2 -0
  125. package/dist/components/{p-Biz6xo-z.js → p-CFpWrYAH.js} +2 -2
  126. package/dist/components/p-CICGtu7H.js +2 -0
  127. package/dist/components/{p-CtD24EyI.js.map → p-CICGtu7H.js.map} +1 -1
  128. package/dist/components/p-CLzlL3G4.js +2 -0
  129. package/dist/components/p-CLzlL3G4.js.map +1 -0
  130. package/dist/components/p-CXcjwduV.js +2 -0
  131. package/dist/components/{p-BhxwpOH8.js.map → p-CXcjwduV.js.map} +1 -1
  132. package/dist/components/p-Ca-I2UnB.js +2 -0
  133. package/dist/components/p-Ca-I2UnB.js.map +1 -0
  134. package/dist/components/p-CaRyxTMz.js +2 -0
  135. package/dist/components/p-CaRyxTMz.js.map +1 -0
  136. package/dist/components/{p-g40DTeV8.js → p-CvKKmZJj.js} +2 -2
  137. package/dist/components/p-D4o2D1hk.js +2 -0
  138. package/dist/components/p-D4o2D1hk.js.map +1 -0
  139. package/dist/components/{p-DXnFhmZF.js → p-D9iN80yX.js} +2 -2
  140. package/dist/components/p-DD1Lgs7O.js +2 -0
  141. package/dist/components/p-DD1Lgs7O.js.map +1 -0
  142. package/dist/components/{p-DjPZxzIG.js → p-DQDpDYyF.js} +2 -2
  143. package/dist/components/p-DTea1Du7.js +2 -0
  144. package/dist/components/p-DTea1Du7.js.map +1 -0
  145. package/dist/components/p-DWdRSOBV.js +2 -0
  146. package/dist/components/{p-BPS9VExm.js.map → p-DWdRSOBV.js.map} +1 -1
  147. package/dist/components/p-DcFfilOX.js +2 -0
  148. package/dist/components/p-DcFfilOX.js.map +1 -0
  149. package/dist/components/p-Dg3xLna0.js +2 -0
  150. package/dist/components/{p-C_0Q8Cnp.js.map → p-Dg3xLna0.js.map} +1 -1
  151. package/dist/components/p-DvVW0hxm.js +2 -0
  152. package/dist/components/p-DvVW0hxm.js.map +1 -0
  153. package/dist/components/p-YtgcuJYx.js +2 -0
  154. package/dist/components/{p-PZ6R_nGI.js.map → p-YtgcuJYx.js.map} +1 -1
  155. package/dist/components/p-loq_--ce.js +2 -0
  156. package/dist/components/{p-NUNsefU1.js.map → p-loq_--ce.js.map} +1 -1
  157. package/dist/docs/components.json +3586 -3064
  158. package/dist/lib/shell/index.d.ts +1 -1
  159. package/dist/lib/shell/index.js +2 -1
  160. package/dist/lib/shell/index.js.map +2 -2
  161. package/dist/lib/shell/shell-responsive.d.ts +3 -3
  162. package/dist/lib/utils/index.d.ts +1 -0
  163. package/dist/lib/utils/index.js +8 -0
  164. package/dist/lib/utils/index.js.map +3 -3
  165. package/dist/lib/utils/required-validity.d.ts +14 -0
  166. package/dist/mcp-data/registry/agent-activity.json +2 -2
  167. package/dist/mcp-data/registry/badge.json +2 -2
  168. package/dist/mcp-data/registry/bar-nav.json +2 -2
  169. package/dist/mcp-data/registry/bar-title.json +2 -2
  170. package/dist/mcp-data/registry/bar-workflow.json +25 -4
  171. package/dist/mcp-data/registry/breadcrumb.json +2 -2
  172. package/dist/mcp-data/registry/button-unfilled.json +3 -3
  173. package/dist/mcp-data/registry/chart-legend.json +1 -1
  174. package/dist/mcp-data/registry/checkbox.json +1 -1
  175. package/dist/mcp-data/registry/conversation-list-item.json +2 -2
  176. package/dist/mcp-data/registry/input.json +1 -1
  177. package/dist/mcp-data/registry/loader.json +2 -2
  178. package/dist/mcp-data/registry/mobile-bar-nav.json +333 -0
  179. package/dist/mcp-data/registry/mobile-header.json +351 -0
  180. package/dist/mcp-data/registry/mobile-section-switcher.json +210 -0
  181. package/dist/mcp-data/registry/mobile-sheet-nav.json +317 -0
  182. package/dist/mcp-data/registry/panel-nav.json +2 -2
  183. package/dist/mcp-data/registry/panel-tools.json +2 -2
  184. package/dist/mcp-data/registry/radio.json +1 -1
  185. package/dist/mcp-data/registry/registry.json +1544 -1429
  186. package/dist/mcp-data/registry/select-multi.json +1 -1
  187. package/dist/mcp-data/registry/select.json +2 -2
  188. package/dist/mcp-data/registry/shell-app.json +17 -17
  189. package/dist/mcp-data/registry/shell-page.json +26 -7
  190. package/dist/mcp-data/registry/shell-tools.json +10 -7
  191. package/dist/mcp-data/registry/switch.json +1 -1
  192. package/dist/mcp-data/registry/toast.json +2 -2
  193. package/dist/react/components.d.ts +4 -3
  194. package/dist/react/components.js +4 -3
  195. package/dist/react/ds-mobile-bar-nav.d.ts +13 -0
  196. package/dist/react/ds-mobile-bar-nav.js +15 -0
  197. package/dist/react/ds-mobile-header.d.ts +13 -0
  198. package/dist/react/ds-mobile-header.js +15 -0
  199. package/dist/react/ds-mobile-section-switcher.d.ts +12 -0
  200. package/dist/react/ds-mobile-section-switcher.js +12 -0
  201. package/dist/react/ds-mobile-sheet-nav.d.ts +14 -0
  202. package/dist/react/ds-mobile-sheet-nav.js +16 -0
  203. package/dist/types/components/BarWorkflow/BarWorkflow.d.ts +6 -0
  204. package/dist/types/components/ButtonUnfilled/ButtonUnfilled.d.ts +1 -1
  205. package/dist/types/components/MobileBarNav/MobileBarNav.d.ts +26 -0
  206. package/dist/types/components/MobileBarNav/index.d.ts +4 -0
  207. package/dist/types/components/MobileBarNav/mobile-bar-nav-types.d.ts +5 -0
  208. package/dist/types/components/MobileHeader/MobileHeader.d.ts +39 -0
  209. package/dist/types/components/MobileHeader/index.d.ts +2 -0
  210. package/dist/types/components/MobileHeader/mobile-header-types.d.ts +5 -0
  211. package/dist/types/components/MobileSectionSwitcher/MobileSectionSwitcher.d.ts +35 -0
  212. package/dist/types/components/MobileSectionSwitcher/index.d.ts +3 -0
  213. package/dist/types/components/MobileSectionSwitcher/mobile-section-switcher-types.d.ts +4 -0
  214. package/dist/types/components/MobileSectionSwitcher/mobile-section-switcher-utils.d.ts +10 -0
  215. package/dist/types/components/{ShellMobileNav/ShellMobileNav.d.ts → MobileSheetNav/MobileSheetNav.d.ts} +5 -7
  216. package/dist/types/components/MobileSheetNav/index.d.ts +1 -0
  217. package/dist/types/components/ShellApp/ShellApp.d.ts +4 -4
  218. package/dist/types/components/ShellPage/ShellPage.d.ts +4 -0
  219. package/dist/types/components.d.ts +530 -381
  220. package/dist/types/shell/index.d.ts +1 -1
  221. package/dist/types/shell/shell-responsive.d.ts +3 -3
  222. package/dist/types/utils/index.d.ts +1 -0
  223. package/dist/types/utils/required-validity.d.ts +15 -0
  224. package/package.json +1 -1
  225. package/dist/angular/ds-shell-mobile-bar.d.ts +0 -18
  226. package/dist/angular/ds-shell-mobile-nav.d.ts +0 -23
  227. package/dist/angular/ds-shell-mobile-section-nav.d.ts +0 -18
  228. package/dist/components/ds-shell-mobile-bar.js +0 -2
  229. package/dist/components/ds-shell-mobile-bar.js.map +0 -1
  230. package/dist/components/ds-shell-mobile-nav.js +0 -2
  231. package/dist/components/ds-shell-mobile-nav.js.map +0 -1
  232. package/dist/components/ds-shell-mobile-section-nav.d.ts +0 -11
  233. package/dist/components/ds-shell-mobile-section-nav.js +0 -2
  234. package/dist/components/ds-shell-mobile-section-nav.js.map +0 -1
  235. package/dist/components/p-B6Vuayt6.js +0 -2
  236. package/dist/components/p-B6Vuayt6.js.map +0 -1
  237. package/dist/components/p-BPS9VExm.js +0 -2
  238. package/dist/components/p-BVV_rlIP.js +0 -2
  239. package/dist/components/p-BVV_rlIP.js.map +0 -1
  240. package/dist/components/p-BhxwpOH8.js +0 -2
  241. package/dist/components/p-BtEjlcB9.js +0 -2
  242. package/dist/components/p-BtEjlcB9.js.map +0 -1
  243. package/dist/components/p-CH6cNXXF.js +0 -2
  244. package/dist/components/p-CH6cNXXF.js.map +0 -1
  245. package/dist/components/p-C_0Q8Cnp.js +0 -2
  246. package/dist/components/p-Ce52yVXF.js +0 -2
  247. package/dist/components/p-Ce52yVXF.js.map +0 -1
  248. package/dist/components/p-CgHTNfC1.js +0 -2
  249. package/dist/components/p-CgHTNfC1.js.map +0 -1
  250. package/dist/components/p-Co8hD3P-.js +0 -2
  251. package/dist/components/p-CoYFJD-w.js +0 -2
  252. package/dist/components/p-CoYFJD-w.js.map +0 -1
  253. package/dist/components/p-Cpr3K41-.js +0 -2
  254. package/dist/components/p-Cpr3K41-.js.map +0 -1
  255. package/dist/components/p-CtD24EyI.js +0 -2
  256. package/dist/components/p-DYqReipj.js +0 -2
  257. package/dist/components/p-DYqReipj.js.map +0 -1
  258. package/dist/components/p-NUNsefU1.js +0 -2
  259. package/dist/components/p-PZ6R_nGI.js +0 -2
  260. package/dist/components/p-jCWtxthA.js +0 -2
  261. package/dist/components/p-yhj1lIPx.js +0 -2
  262. package/dist/mcp-data/registry/shell-mobile-bar.json +0 -314
  263. package/dist/mcp-data/registry/shell-mobile-nav.json +0 -348
  264. package/dist/mcp-data/registry/shell-mobile-section-nav.json +0 -267
  265. package/dist/react/ds-shell-mobile-bar.d.ts +0 -13
  266. package/dist/react/ds-shell-mobile-bar.js +0 -15
  267. package/dist/react/ds-shell-mobile-nav.d.ts +0 -15
  268. package/dist/react/ds-shell-mobile-nav.js +0 -17
  269. package/dist/react/ds-shell-mobile-section-nav.d.ts +0 -12
  270. package/dist/react/ds-shell-mobile-section-nav.js +0 -12
  271. package/dist/types/components/ShellMobileBar/ShellMobileBar.d.ts +0 -25
  272. package/dist/types/components/ShellMobileBar/index.d.ts +0 -4
  273. package/dist/types/components/ShellMobileBar/shell-mobile-bar-types.d.ts +0 -5
  274. package/dist/types/components/ShellMobileNav/index.d.ts +0 -2
  275. package/dist/types/components/ShellMobileNav/shell-mobile-nav-types.d.ts +0 -6
  276. package/dist/types/components/ShellMobileSectionNav/ShellMobileSectionNav.d.ts +0 -30
  277. package/dist/types/components/ShellMobileSectionNav/index.d.ts +0 -2
  278. /package/dist/components/{p-9dQQSgwT.js.map → p-BHYrsGBw.js.map} +0 -0
  279. /package/dist/components/{p-jCWtxthA.js.map → p-BY0PzkUp.js.map} +0 -0
  280. /package/dist/components/{p-yhj1lIPx.js.map → p-C2ym_Ich.js.map} +0 -0
  281. /package/dist/components/{p-Biz6xo-z.js.map → p-CFpWrYAH.js.map} +0 -0
  282. /package/dist/components/{p-g40DTeV8.js.map → p-CvKKmZJj.js.map} +0 -0
  283. /package/dist/components/{p-DXnFhmZF.js.map → p-D9iN80yX.js.map} +0 -0
  284. /package/dist/components/{p-DjPZxzIG.js.map → p-DQDpDYyF.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["switchCss","generatedLabelId","Switch","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","checked","value","disabled","readOnly","required","requiredMessage","isInactive","size","presentation","initialChecked","formDisabled","focused","touched","handleClick","dsChange","emit","handleKeyDown","event","key","preventDefault","handleFocus","handleBlur","componentWillLoad","syncFormValue","componentDidLoad","syncNativeLabels","inactive","submissionValue","uncheckedValue","state","internals","setFormValue","missing","setValidity","valueMissing","formDisabledCallback","formResetCallback","formStateRestoreCallback","el","hasAttribute","labelIds","Array","from","labels","map","label","id","length","setAttribute","join","render","invalid","dirty","h","Host","role","undefined","String","tabIndex","class","switch","onClick","onKeyDown","onFocus","onBlur"],"sources":["src/wc/components/Switch/Switch.css?tag=ds-switch&encapsulation=shadow","src/wc/components/Switch/Switch.tsx"],"sourcesContent":["@import '../../utils/focus-ring.css';\n@import '../../utils/control-inactive.css';\n\n:host {\n --ds-switch-width: var(--dimension-size-400);\n --ds-switch-height: var(--dimension-size-250);\n --ds-switch-thumb-size: var(--dimension-size-150);\n --ds-switch-gap: var(--dimension-space-050);\n --ds-switch-stroke: var(--dimension-stroke-width-012);\n --ds-switch-inset: var(--ds-switch-gap);\n --ds-switch-thumb-hover: var(--color-interaction-hover);\n --ds-switch-thumb-pressed: var(--color-interaction-pressed);\n --ds-switch-travel: calc(\n var(--ds-switch-width) - var(--ds-switch-thumb-size) - var(--ds-switch-inset) -\n var(--ds-switch-inset)\n );\n position: relative;\n display: inline-flex;\n width: var(--ds-switch-width);\n height: var(--ds-switch-height);\n padding: 0;\n border: none;\n border-radius: var(--dimension-radius-half);\n box-sizing: border-box;\n flex-shrink: 0;\n overflow: visible;\n cursor: pointer;\n user-select: none;\n outline: none;\n background-color: transparent;\n box-shadow: inset 0 0 0 var(--ds-switch-stroke) var(--color-border-secondary);\n transition:\n background-color var(--effect-motion-short-3),\n box-shadow var(--effect-motion-short-3);\n}\n\n:host(.switch--sm) {\n --ds-switch-width: var(--dimension-size-300);\n --ds-switch-height: var(--dimension-size-200);\n --ds-switch-thumb-size: calc(var(--dimension-size-base) * 5 / 4);\n --ds-switch-gap: calc(var(--dimension-space-025) + var(--dimension-space-012));\n}\n\n:host(.switch--xs) {\n --ds-switch-width: var(--dimension-size-250);\n --ds-switch-height: var(--dimension-size-150);\n --ds-switch-thumb-size: var(--dimension-size-100);\n --ds-switch-gap: var(--dimension-space-025);\n}\n\n:host(.checked) {\n background-color: var(--color-background-bold-brand);\n box-shadow: none;\n}\n\n:host(.switch--readonly),\n:host(.switch--presentation) {\n cursor: default;\n}\n\n:host(.switch--presentation) {\n pointer-events: none;\n}\n\n/* Inactive: `.ds-control-inactive` (50% opacity). */\n\n.thumb {\n position: absolute;\n top: 50%;\n left: var(--ds-switch-inset);\n width: var(--ds-switch-thumb-size);\n height: var(--ds-switch-thumb-size);\n border-radius: var(--dimension-radius-half);\n background-color: var(--color-foreground-tertiary);\n box-shadow: none;\n transform: translateY(-50%);\n transition:\n background-color var(--effect-motion-short-3),\n transform var(--effect-motion-short-3);\n pointer-events: none;\n}\n\n.thumb::after {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n background: transparent;\n pointer-events: none;\n}\n\n:host(:hover:not(:disabled):not(.ds-control-inactive):not(.switch--readonly):not(.switch--presentation))\n .thumb::after {\n background: var(--ds-switch-thumb-hover);\n}\n\n:host(:active:not(:disabled):not(.ds-control-inactive):not(.switch--readonly):not(.switch--presentation))\n .thumb::after {\n background: var(--ds-switch-thumb-pressed);\n}\n\n:host(.checked) .thumb {\n background-color: var(--color-background-primary);\n box-shadow: none;\n transform: translate3d(var(--ds-switch-travel), -50%, 0);\n}\n\n@media (prefers-reduced-motion: reduce) {\n :host {\n transition: none;\n }\n\n .thumb {\n transition: none;\n }\n}\n","import { AttachInternals, Component, Element, Prop, State, Event, EventEmitter, Watch, h, Host } from '@stencil/core';\n\nexport type SwitchSize = 'md' | 'sm' | 'xs';\n\nlet generatedLabelId = 0;\n\n@Component({\n tag: 'ds-switch',\n styleUrl: 'Switch.css',\n shadow: true,\n formAssociated: true,\n})\nexport class Switch {\n @Element() el!: HTMLElement;\n @AttachInternals() internals!: ElementInternals;\n\n /** Current on/off state. The initial value is restored when the owning form resets. */\n @Prop({ mutable: true }) checked: boolean = false;\n\n @Prop({ reflect: true }) name: string | undefined;\n @Prop() value: string = 'on';\n\n /** Optional value submitted when unchecked; omitted by default like a native checkbox. */\n @Prop() uncheckedValue: string | undefined;\n\n /** Associates the switch with a form by id when it is rendered outside that form. */\n @Prop({ reflect: true }) form: string | undefined;\n\n @Prop({ reflect: true }) disabled: boolean = false;\n @Prop({ reflect: true }) readOnly: boolean = false;\n @Prop({ reflect: true }) required: boolean = false;\n @Prop() requiredMessage: string = 'This field is required.';\n @Prop() isInactive: boolean = false;\n\n /** Compact track size for placement inside controls, menus, and form rows. */\n @Prop() size: SwitchSize = 'md';\n\n /**\n * Removes standalone control semantics so a composite owner such as a\n * `menuitemcheckbox` can use the switch as an aria-hidden visual indicator.\n */\n @Prop() presentation: boolean = false;\n\n @Event() dsChange!: EventEmitter<boolean>;\n\n private initialChecked = false;\n @State() private formDisabled = false;\n @State() private focused = false;\n @State() private touched = false;\n\n componentWillLoad() {\n this.initialChecked = this.checked;\n this.syncFormValue();\n }\n\n componentDidLoad() {\n this.syncNativeLabels();\n }\n\n @Watch('checked')\n @Watch('value')\n @Watch('uncheckedValue')\n @Watch('disabled')\n @Watch('isInactive')\n @Watch('presentation')\n @Watch('required')\n syncFormValue() {\n const inactive = this.presentation || this.isInactive || this.disabled || this.formDisabled;\n const submissionValue = this.checked ? this.value : this.uncheckedValue ?? null;\n const state = this.checked ? 'checked' : 'unchecked';\n this.internals.setFormValue(inactive ? null : submissionValue, state);\n\n const missing = this.required && !inactive && !this.checked;\n this.internals.setValidity(missing ? { valueMissing: true } : {}, missing ? this.requiredMessage : '');\n }\n\n formDisabledCallback(disabled: boolean) {\n this.formDisabled = disabled;\n this.syncFormValue();\n }\n\n formResetCallback() {\n this.checked = this.initialChecked;\n this.focused = false;\n this.touched = false;\n }\n\n formStateRestoreCallback(state: string | File | FormData | null) {\n this.checked = state === 'checked';\n }\n\n private syncNativeLabels() {\n if (this.presentation) return;\n if (this.el.hasAttribute('aria-label') || this.el.hasAttribute('aria-labelledby')) return;\n\n const labelIds = (Array.from(this.internals.labels) as HTMLLabelElement[]).map(label => {\n if (!label.id) label.id = `ds-switch-label-${++generatedLabelId}`;\n return label.id;\n });\n if (labelIds.length) this.el.setAttribute('aria-labelledby', labelIds.join(' '));\n }\n\n private handleClick = () => {\n if (this.presentation || this.readOnly || this.isInactive || this.disabled || this.formDisabled) return;\n this.checked = !this.checked;\n this.dsChange.emit(this.checked);\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (this.presentation || this.readOnly || this.isInactive || this.disabled || this.formDisabled) return;\n if (event.key === ' ' || event.key === 'Enter') {\n event.preventDefault();\n this.handleClick();\n }\n };\n\n private handleFocus = () => {\n if (!this.presentation) this.focused = true;\n };\n\n private handleBlur = () => {\n if (this.presentation) return;\n this.focused = false;\n this.touched = true;\n };\n\n render() {\n const inactive = this.isInactive || this.disabled || this.formDisabled;\n const invalid = this.required && !inactive && !this.checked;\n const dirty = this.checked !== this.initialChecked;\n // Switch owns its structural track and thumb strokes so nested interaction layers cannot cover them.\n return (\n <Host\n role={this.presentation ? undefined : 'switch'}\n aria-checked={this.presentation ? undefined : String(this.checked)}\n aria-disabled={!this.presentation && inactive ? 'true' : undefined}\n aria-readonly={!this.presentation && this.readOnly ? 'true' : undefined}\n aria-required={!this.presentation && this.required ? 'true' : undefined}\n aria-invalid={!this.presentation && invalid ? 'true' : undefined}\n aria-hidden={this.presentation ? 'true' : undefined}\n data-checked={this.checked ? '' : undefined}\n data-unchecked={!this.checked ? '' : undefined}\n data-disabled={inactive ? '' : undefined}\n data-readonly={this.readOnly ? '' : undefined}\n data-required={this.required ? '' : undefined}\n data-focused={!this.presentation && this.focused ? '' : undefined}\n data-filled={!this.presentation && this.checked ? '' : undefined}\n data-dirty={!this.presentation && dirty ? '' : undefined}\n data-touched={!this.presentation && this.touched ? '' : undefined}\n data-valid={!this.presentation && !inactive && !invalid ? '' : undefined}\n data-invalid={!this.presentation && invalid ? '' : undefined}\n tabIndex={this.presentation || inactive ? -1 : 0}\n class={{\n switch: true,\n checked: this.checked,\n 'switch--md': this.size === 'md',\n 'switch--sm': this.size === 'sm',\n 'switch--xs': this.size === 'xs',\n 'switch--readonly': this.readOnly,\n 'switch--presentation': this.presentation,\n 'ds-focus-ring': true,\n 'ds-control-inactive': inactive,\n }}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n >\n <span class=\"thumb\" />\n </Host>\n );\n }\n}\n"],"mappings":"kEAAA,MAAMA,EAAY,IAAM,85HCIxB,IAAIC,EAAmB,E,MAQVC,EAAMC,EAAA,MAAAD,UAAAE,EANnB,WAAAC,CAAAC,G,yIAW2BC,KAAAC,QAAmB,MAGpCD,KAAAE,MAAgB,KAQCF,KAAAG,SAAoB,MACpBH,KAAAI,SAAoB,MACpBJ,KAAAK,SAAoB,MACrCL,KAAAM,gBAA0B,0BAC1BN,KAAAO,WAAsB,MAGtBP,KAAAQ,KAAmB,KAMnBR,KAAAS,aAAwB,MAIxBT,KAAAU,eAAiB,MACRV,KAAAW,aAAe,MACfX,KAAAY,QAAU,MACVZ,KAAAa,QAAU,MAsDnBb,KAAAc,YAAc,KACpB,GAAId,KAAKS,cAAgBT,KAAKI,UAAYJ,KAAKO,YAAcP,KAAKG,UAAYH,KAAKW,aAAc,OACjGX,KAAKC,SAAWD,KAAKC,QACrBD,KAAKe,SAASC,KAAKhB,KAAKC,QAAQ,EAG1BD,KAAAiB,cAAiBC,IACvB,GAAIlB,KAAKS,cAAgBT,KAAKI,UAAYJ,KAAKO,YAAcP,KAAKG,UAAYH,KAAKW,aAAc,OACjG,GAAIO,EAAMC,MAAQ,KAAOD,EAAMC,MAAQ,QAAS,CAC9CD,EAAME,iBACNpB,KAAKc,a,GAIDd,KAAAqB,YAAc,KACpB,IAAKrB,KAAKS,aAAcT,KAAKY,QAAU,IAAI,EAGrCZ,KAAAsB,WAAa,KACnB,GAAItB,KAAKS,aAAc,OACvBT,KAAKY,QAAU,MACfZ,KAAKa,QAAU,IAAI,CAiDtB,CA1HC,iBAAAU,GACEvB,KAAKU,eAAiBV,KAAKC,QAC3BD,KAAKwB,e,CAGP,gBAAAC,GACEzB,KAAK0B,kB,CAUP,aAAAF,GACE,MAAMG,EAAW3B,KAAKS,cAAgBT,KAAKO,YAAcP,KAAKG,UAAYH,KAAKW,aAC/E,MAAMiB,EAAkB5B,KAAKC,QAAUD,KAAKE,MAAQF,KAAK6B,gBAAkB,KAC3E,MAAMC,EAAQ9B,KAAKC,QAAU,UAAY,YACzCD,KAAK+B,UAAUC,aAAaL,EAAW,KAAOC,EAAiBE,GAE/D,MAAMG,EAAUjC,KAAKK,WAAasB,IAAa3B,KAAKC,QACpDD,KAAK+B,UAAUG,YAAYD,EAAU,CAAEE,aAAc,MAAS,GAAIF,EAAUjC,KAAKM,gBAAkB,G,CAGrG,oBAAA8B,CAAqBjC,GACnBH,KAAKW,aAAeR,EACpBH,KAAKwB,e,CAGP,iBAAAa,GACErC,KAAKC,QAAUD,KAAKU,eACpBV,KAAKY,QAAU,MACfZ,KAAKa,QAAU,K,CAGjB,wBAAAyB,CAAyBR,GACvB9B,KAAKC,QAAU6B,IAAU,S,CAGnB,gBAAAJ,GACN,GAAI1B,KAAKS,aAAc,OACvB,GAAIT,KAAKuC,GAAGC,aAAa,eAAiBxC,KAAKuC,GAAGC,aAAa,mBAAoB,OAEnF,MAAMC,EAAYC,MAAMC,KAAK3C,KAAK+B,UAAUa,QAA+BC,KAAIC,IAC7E,IAAKA,EAAMC,GAAID,EAAMC,GAAK,qBAAqBrD,IAC/C,OAAOoD,EAAMC,EAAE,IAEjB,GAAIN,EAASO,OAAQhD,KAAKuC,GAAGU,aAAa,kBAAmBR,EAASS,KAAK,K,CA2B7E,MAAAC,GACE,MAAMxB,EAAW3B,KAAKO,YAAcP,KAAKG,UAAYH,KAAKW,aAC1D,MAAMyC,EAAUpD,KAAKK,WAAasB,IAAa3B,KAAKC,QACpD,MAAMoD,EAAQrD,KAAKC,UAAYD,KAAKU,eAEpC,OACE4C,EAACC,EAAI,CAAApC,IAAA,2CACHqC,KAAMxD,KAAKS,aAAegD,UAAY,SAAQ,eAChCzD,KAAKS,aAAegD,UAAYC,OAAO1D,KAAKC,SAAQ,iBAClDD,KAAKS,cAAgBkB,EAAW,OAAS8B,UAAS,iBAClDzD,KAAKS,cAAgBT,KAAKI,SAAW,OAASqD,UAAS,iBACvDzD,KAAKS,cAAgBT,KAAKK,SAAW,OAASoD,UAAS,gBACxDzD,KAAKS,cAAgB2C,EAAU,OAASK,UAAS,cACnDzD,KAAKS,aAAe,OAASgD,UAAS,eACrCzD,KAAKC,QAAU,GAAKwD,UAAS,kBAC1BzD,KAAKC,QAAU,GAAKwD,UAAS,gBAC/B9B,EAAW,GAAK8B,UAAS,gBACzBzD,KAAKI,SAAW,GAAKqD,UAAS,gBAC9BzD,KAAKK,SAAW,GAAKoD,UAAS,gBAC9BzD,KAAKS,cAAgBT,KAAKY,QAAU,GAAK6C,UAAS,eACnDzD,KAAKS,cAAgBT,KAAKC,QAAU,GAAKwD,UAAS,cACnDzD,KAAKS,cAAgB4C,EAAQ,GAAKI,UAAS,gBACzCzD,KAAKS,cAAgBT,KAAKa,QAAU,GAAK4C,UAAS,cACpDzD,KAAKS,eAAiBkB,IAAayB,EAAU,GAAKK,UAAS,gBACzDzD,KAAKS,cAAgB2C,EAAU,GAAKK,UACnDE,SAAU3D,KAAKS,cAAgBkB,GAAW,EAAK,EAC/CiC,MAAO,CACLC,OAAQ,KACR5D,QAASD,KAAKC,QACd,aAAcD,KAAKQ,OAAS,KAC5B,aAAcR,KAAKQ,OAAS,KAC5B,aAAcR,KAAKQ,OAAS,KAC5B,mBAAoBR,KAAKI,SACzB,uBAAwBJ,KAAKS,aAC7B,gBAAiB,KACjB,sBAAuBkB,GAEzBmC,QAAS9D,KAAKc,YACdiD,UAAW/D,KAAKiB,cAChB+C,QAAShE,KAAKqB,YACd4C,OAAQjE,KAAKsB,YAEbgC,EAAA,QAAAnC,IAAA,2CAAMyC,MAAM,U","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{p as i,H as e,c as n,h as s,a as t,t as o}from"./index.js";import{a as r,c,r as a}from"./p-CydY-v7X.js";import{s as d}from"./p-D1HFMTdC.js";import{d as l}from"./p-CH6cNXXF.js";import{d as h}from"./p-Biz6xo-z.js";import{d as u}from"./p-DYqReipj.js";import{d as m}from"./p-BwGnhInj.js";import{a as f,T as p}from"./p-C_0Q8Cnp.js";import{r as v}from"./p-BJMRBHKW.js";import{a as g}from"./p-B6Vuayt6.js";const b=r;function x(i){return"variant"in i&&i.variant==="gradient-picker"}function w(i){return"variant"in i&&i.variant==="swatch-picker"}function y(i){return x(i)||w(i)}const _=()=>`.sc-ds-menu-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-menu-h:focus-visible,.ds-focus-ring.sc-ds-menu: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-menu-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-menu{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-menu-h:focus-visible,.ds-focus-ring-inset.sc-ds-menu:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-menu-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-menu: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-menu-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-menu{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-menu-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-menu::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}.ds-interaction-fill.sc-ds-menu-h,.ds-interaction-fill.sc-ds-menu{position:relative;z-index:0;--ds-interaction-hover:var(--color-interaction-hover);--ds-interaction-pressed:var(--color-interaction-pressed);--ds-interaction-active:var(--color-interaction-active-brand);--ds-interaction-border-width:0px;--ds-interaction-border-color:transparent}.ds-interaction-fill.sc-ds-menu-h::before,.ds-interaction-fill.sc-ds-menu::before,.ds-interaction-fill.sc-ds-menu-h::after,.ds-interaction-fill.sc-ds-menu::after{content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none;transition:none}.ds-interaction-fill.sc-ds-menu-h::before,.ds-interaction-fill.sc-ds-menu::before{z-index:1}.ds-interaction-fill.sc-ds-menu-h::after,.ds-interaction-fill.sc-ds-menu::after{z-index:3;box-shadow:inset 0 0 0 var(--ds-interaction-border-width) var(--ds-interaction-border-color)}.ds-interaction-fill--bordered.sc-ds-menu-h,.ds-interaction-fill--bordered.sc-ds-menu{--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--color-border-secondary)}.ds-interaction-fill--selected.sc-ds-menu-h::before,.ds-interaction-fill--selected.sc-ds-menu::before{background:var(--ds-interaction-active)}.ds-interaction-fill--selected.sc-ds-menu-h,.ds-interaction-fill--selected.sc-ds-menu{--ds-interaction-dot-ring:var(--ds-interaction-active)}.ds-interaction-fill.sc-ds-menu-h:hover:not(:disabled)::after,.ds-interaction-fill.sc-ds-menu:hover:not(:disabled)::after{background:var(--ds-interaction-hover)}.ds-interaction-fill.sc-ds-menu-h:active:not(:disabled)::after,.ds-interaction-fill.sc-ds-menu:active:not(:disabled)::after{background:var(--ds-interaction-pressed)}.ds-interaction-fill.sc-ds-menu-h>.ds-interaction-fill__content.sc-ds-menu,.ds-interaction-fill.sc-ds-menu>.ds-interaction-fill__content.sc-ds-menu,.ds-interaction-fill__content.sc-ds-menu{position:relative;z-index:2}.ds-interaction-fill--on-faint.sc-ds-menu-h,.ds-interaction-fill--on-faint.sc-ds-menu{--ds-interaction-active:var(--color-interaction-active)}.ds-interaction-fill--on-medium.sc-ds-menu-h,.ds-interaction-fill--on-medium.sc-ds-menu{--ds-interaction-hover:var(--color-interaction-on-medium-background-hover);--ds-interaction-pressed:var(--color-interaction-on-medium-background-pressed);--ds-interaction-active:var(--color-interaction-on-medium-background-active);--ds-focus-ring-color:var(--color-interaction-on-medium-background-focus)}.ds-interaction-fill--on-bold.sc-ds-menu-h,.ds-interaction-fill--on-bold.sc-ds-menu{--ds-interaction-hover:var(--color-interaction-on-bold-background-hover);--ds-interaction-pressed:var(--color-interaction-on-bold-background-pressed);--ds-interaction-active:var(--color-interaction-on-bold-background-active);--ds-focus-ring-color:var(--color-interaction-on-bold-background-focus)}.ds-interaction-fill--on-strong.sc-ds-menu-h,.ds-interaction-fill--on-strong.sc-ds-menu{--ds-interaction-hover:var(--color-interaction-on-strong-background-hover);--ds-interaction-pressed:var(--color-interaction-on-strong-background-pressed);--ds-interaction-active:var(--color-interaction-on-strong-background-active);--ds-focus-ring-color:var(--color-interaction-on-strong-background-focus)}.ds-interaction-fill--on-translucent.sc-ds-menu-h,.ds-interaction-fill--on-translucent.sc-ds-menu{--ds-interaction-hover:var(--color-translucent-interaction-hover);--ds-interaction-pressed:var(--color-translucent-interaction-pressed);--ds-interaction-active:var(--color-translucent-interaction-active);--ds-focus-ring-color:var(--color-translucent-interaction-focus)}.ds-interaction-fill--on-inverted.sc-ds-menu-h,.ds-interaction-fill--on-inverted.sc-ds-menu{--ds-interaction-hover:var(--color-inverted-interaction-hover);--ds-interaction-pressed:var(--color-inverted-interaction-pressed);--ds-interaction-active:var(--color-inverted-interaction-active);--ds-focus-ring-color:var(--color-inverted-interaction-focus)}.ds-interaction-fill--on-media.sc-ds-menu-h,.ds-interaction-fill--on-media.sc-ds-menu{--ds-interaction-hover:var(--color-media-interaction-hover);--ds-interaction-pressed:var(--color-media-interaction-pressed);--ds-interaction-active:var(--color-media-interaction-active);--ds-focus-ring-color:var(--color-media-interaction-focus)}.ds-interaction-fill--on-always-dark.sc-ds-menu-h,.ds-interaction-fill--on-always-dark.sc-ds-menu{--ds-interaction-hover:var(--color-always-dark-interaction-hover);--ds-interaction-pressed:var(--color-always-dark-interaction-pressed);--ds-interaction-active:var(--color-always-dark-interaction-active);--ds-focus-ring-color:var(--color-always-dark-interaction-focus)}.ds-interaction-fill--on-navigation.sc-ds-menu-h,.ds-interaction-fill--on-navigation.sc-ds-menu{--ds-interaction-hover:var(--color-navigation-interaction-hover);--ds-interaction-pressed:var(--color-navigation-interaction-pressed);--ds-interaction-active:var(--color-navigation-interaction-active);--ds-focus-ring-color:var(--color-navigation-interaction-focus)}.ds-control-inactive.sc-ds-menu-h,.ds-control-inactive.sc-ds-menu{opacity:0.5;pointer-events:none;cursor:not-allowed}.ds-control--md.sc-ds-menu-h,.ds-control--md.sc-ds-menu,.ds-control--sm.sc-ds-menu-h,.ds-control--sm.sc-ds-menu,.ds-control--xs.sc-ds-menu-h,.ds-control--xs.sc-ds-menu{--ds-control-radius:var(--dimension-radius-025)}.ds-control--md.sc-ds-menu-h,.ds-control--md.sc-ds-menu{--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-menu-h,.ds-control--sm.sc-ds-menu{--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-menu-h,.ds-control--xs.sc-ds-menu{--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}.ds-choice-popup.sc-ds-menu{box-sizing:border-box;display:flex;flex-direction:column;min-width:var(--dimension-menu-width-xs);max-width:min( var(--dimension-panel-width-lg), calc(100vw - var(--dimension-space-200)) );max-height:calc(100vh - var(--dimension-space-200));overflow:hidden;inset:auto;margin:0;padding:0;border:0;background-color:var(--color-background-primary);border-radius:var(--dimension-radius-075);box-shadow:var(--effect-shadow-elevated-floating);animation:dsChoiceFadeIn var(--effect-motion-short-2) forwards;backface-visibility:hidden;will-change:transform;text-align:start}.ds-choice-popup.sc-ds-menu::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:var(--effect-highlight-elevated-floating)}.ds-choice-popup--closing.sc-ds-menu{animation:dsChoiceFadeOut var(--effect-motion-short-2) forwards}@keyframes dsChoiceFadeIn{from{opacity:0;transform:inherit scale(0.97)}to{opacity:1}}@keyframes dsChoiceFadeOut{from{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){.ds-choice-popup.sc-ds-menu{animation:none;opacity:1}.ds-choice-popup--closing.sc-ds-menu{opacity:0}}.ds-choice-list.sc-ds-menu{display:flex;flex-direction:column;min-height:0;overflow-y:auto;overscroll-behavior:contain}.ds-choice-section.sc-ds-menu{display:flex;flex-direction:column;gap:var(--dimension-space-050);padding:var(--dimension-space-050)}.ds-choice-section--divided.sc-ds-menu{border-bottom:var(--dimension-stroke-width-015) solid var(--color-border-tertiary)}ds-text.ds-choice-section__header.sc-ds-menu{display:flex;align-items:center;box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400));padding:0 calc( var(--ds-control-padding-inline, var(--dimension-space-075)) + var(--ds-control-label-inset, var(--dimension-space-025)) );text-align:start;-webkit-user-select:none;user-select:none}.ds-choice-item.sc-ds-menu{display:flex;align-items:center;gap:var(--ds-control-gap, var(--dimension-space-050));width:100%;height:var(--ds-control-height, var(--dimension-size-400));padding:0 var(--ds-control-padding-inline, var(--dimension-space-075));box-sizing:border-box;border:none;border-radius:var(--ds-control-radius, var(--dimension-radius-025));background:transparent;cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;color:inherit}.ds-choice-item.sc-ds-menu:has(.ds-choice-item__subtext){height:auto;min-height:var(--ds-control-height, var(--dimension-size-400));padding-block:var(--ds-control-padding-inline, var(--dimension-space-075));align-items:flex-start}.ds-choice-item__content.sc-ds-menu{display:flex;flex:1;flex-direction:column;gap:var(--dimension-space-025);min-width:0}ds-text.ds-choice-item__label.sc-ds-menu,.ds-choice-item__subtext.sc-ds-menu,ds-text.ds-choice-item__subtext.sc-ds-menu{padding:0 var(--ds-control-label-inset, var(--dimension-space-025))}ds-text.ds-choice-item__label.sc-ds-menu{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ds-text.ds-choice-item__subtext.sc-ds-menu{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.ds-choice-item__icon.sc-ds-menu,.ds-choice-item__suffix.sc-ds-menu{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md));pointer-events:none}.ds-choice-empty.sc-ds-menu,.ds-choice-loading.sc-ds-menu{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:var(--dimension-size-600);padding:var(--dimension-space-100)}.ds-choice-footer.sc-ds-menu{position:relative;box-sizing:border-box;padding-block:var(--dimension-space-050)}.ds-choice-footer.sc-ds-menu::before{content:'';position:absolute;inset:0 0 auto;height:var(--dimension-stroke-width-012);background-color:var(--color-border-tertiary);pointer-events:none}.ds-choice-footer__content.sc-ds-menu{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;height:var(--dimension-size-400)}.ds-choice-footer__summary.sc-ds-menu,.ds-choice-footer__clear.sc-ds-menu ds-text.sc-ds-menu{padding-inline:calc( var(--dimension-space-050) + var(--ds-control-padding-inline, var(--dimension-space-075)) + var(--ds-control-label-inset, var(--dimension-space-025)) )}.ds-choice-footer__clear.sc-ds-menu{appearance:none;display:inline-flex;align-items:center;padding:0;border:0;border-radius:var(--dimension-radius-025);background:transparent;color:var(--color-foreground-bold-brand);cursor:pointer}.ds-choice-footer__clear.sc-ds-menu:hover{text-decoration:underline;text-decoration-color:var(--color-foreground-tertiary)}.menu-item--destructive.sc-ds-menu .menu-item__label.sc-ds-menu{color:var(--color-foreground-bold-negative) !important}.menu-item__dot-box.sc-ds-menu{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md));pointer-events:none}.menu-item__switch.sc-ds-menu{flex-shrink:0}.menu-item__radio-box.sc-ds-menu{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md));pointer-events:none}.menu-item__radio.sc-ds-menu{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--dimension-iconography-sm);height:var(--dimension-iconography-sm);border-radius:var(--dimension-radius-half);box-shadow:inset 0 0 0 var(--dimension-stroke-width-015) var(--color-foreground-tertiary)}.menu-item__radio--checked.sc-ds-menu{background-color:var(--color-background-bold-brand);box-shadow:none}.menu-item__radio-dot.sc-ds-menu{width:var(--dimension-size-100);height:var(--dimension-size-100);border-radius:var(--dimension-radius-half);background-color:var(--color-foreground-on-bold-background-primary)}`;const k=8;const P=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(",");function C(i){return i.map((i=>{if(x(i))return{...i};if(w(i)){return{...i,options:i.options?.map((i=>({...i}))),sections:i.sections?.map((i=>({...i,options:i.options.map((i=>({...i})))})))}}return{...i,items:i.items.map((i=>({...i})))}}))}const z=i(class i extends e{constructor(i){super();if(i!==false){this.__registerHost()}this.dsClose=n(this,"dsClose");this.dsAfterClose=n(this,"dsAfterClose");this.dsSelect=n(this,"dsSelect");this.dsGradientSelect=n(this,"dsGradientSelect");this.dsSwatchSelect=n(this,"dsSwatchSelect");this.open=false;this.items=[];this.selectionMode="none";this.sections=[];this.side="bottom";this.align="start";this.anchorAlignment="choice-cell";this.sideOffset=f.space050;this.alignOffset=0;this.initialFocusVisible=false;this.menuLabel="Menu";this.shouldRender=false;this.closing=false;this.pos={x:0,y:0};this.focusedIndex=0;this.positionReady=false;this.focusRingVisible=false;this.clickOutsideHandler=null;this.scrollResizeHandler=null;this.closeTimer=null;this.positionRetryRaf=null;this.livePositionRaf=null;this.lastRenderedSections=[];this.closingSections=null}componentDidLoad(){if(this.open)this.onOpenChange(true)}componentDidRender(){if(!this.shouldRender)return;const i=this.el.querySelector(".menu-popup");if(!i||typeof i.showPopover!=="function")return;if(!i.matches(":popover-open"))i.showPopover()}disconnectedCallback(){this.cancelPositionRetry();this.cancelLivePositionUpdate();this.teardownListeners()}onOpenChange(i){if(i){this.teardownListeners();this.closingSections=null;this.shouldRender=true;this.closing=false;this.positionReady=false;this.focusRingVisible=this.initialFocusVisible;this.setupListeners();this.schedulePositionUpdate((()=>{this.focusInitialItem()}))}else if(this.shouldRender){this.cancelPositionRetry();this.captureClosingSections();this.closing=true;this.teardownListeners();const i=this.closeAnimationMs;if(i<=0){this.finishClose();return}this.closeTimer=setTimeout((()=>{this.closeTimer=null;this.finishClose()}),i)}}onAnchorChange(){if(this.open)this.schedulePositionUpdate()}onPositionPropsChange(){if(this.open)this.schedulePositionUpdate()}get viewportPadPx(){return v(p.space050,p.space050)}get sideOffsetPx(){return v(this.sideOffset,p.space050)}get alignOffsetPx(){return v(this.alignOffset,0)}get popupFallbackWidthPx(){return v(p.menuWidthXs,p.menuWidthXs)}get popupFallbackHeightPx(){return v(p.menuFallbackHeight,p.menuFallbackHeight)}get closeAnimationMs(){return g(p.motionShort2,p.animationDurationShort3)}finishClose(){const i=this.el.querySelector(".menu-popup");if(i?.matches(":popover-open"))i.hidePopover();this.shouldRender=false;this.closing=false;this.lastRenderedSections=[];this.closingSections=null;this.dsAfterClose.emit()}captureClosingSections(){if(this.closingSections)return;const i=this.lastRenderedSections.length?this.lastRenderedSections:this.activeSections;this.closingSections=C(i)}get resolvedAnchor(){if(this.anchor)return this.anchor;if(this.anchorId)return document.getElementById(this.anchorId);return null}get anchorFocusTarget(){const i=this.resolvedAnchor;if(!i)return null;if(i.matches(P))return i;return i.querySelector(P)??i}focusAnchor(){const i=this.resolvedAnchor;if(i?.setFocus){i.setFocus();return}this.anchorFocusTarget?.focus()}moveFocusAfterTab(i){const e=this.anchorFocusTarget;if(!e)return;if(i){e.focus();return}const n=Array.from(document.querySelectorAll(P)).filter((i=>!i.closest(".menu-popup")&&!i.closest("[inert]")&&i.getClientRects().length>0));const s=n.indexOf(e);(n[s+1]??e).focus()}compositeTabLeavesPopup(i){const e=this.el.querySelector(".menu-popup");if(!e)return true;const n=Array.from(e.querySelectorAll(P)).filter((i=>i.getClientRects().length>0));const s=n.indexOf(i.target);if(s<0)return true;return i.shiftKey?s===0:s===n.length-1}get activeSections(){if(this.sections.length>0)return this.sections;if(this.items.length>0)return[{items:this.items}];return[]}get flatItems(){return this.activeSections.flatMap((i=>y(i)?[]:i.items))}get hasCompositeSections(){return this.activeSections.some(y)}cancelPositionRetry(){if(this.positionRetryRaf!==null){cancelAnimationFrame(this.positionRetryRaf);this.positionRetryRaf=null}}cancelLivePositionUpdate(){if(this.livePositionRaf!==null){cancelAnimationFrame(this.livePositionRaf);this.livePositionRaf=null}}scheduleLivePositionUpdate(){if(this.livePositionRaf!==null)return;this.livePositionRaf=requestAnimationFrame((()=>{if(this.shouldRender&&!this.closing)this.calculatePosition();this.livePositionRaf=requestAnimationFrame((()=>{this.livePositionRaf=null;if(this.shouldRender&&!this.closing)this.calculatePosition()}))}))}schedulePositionUpdate(i){if(!this.open)return;this.cancelPositionRetry();this.positionReady=false;let e=k;const n=()=>{this.positionRetryRaf=null;if(!this.open)return;if(this.calculatePosition()){this.positionReady=true;i?.();return}if(e>0){e-=1;this.positionRetryRaf=requestAnimationFrame(n)}};this.positionRetryRaf=requestAnimationFrame(n)}calculatePosition(){const i=this.resolvedAnchor;if(!i)return false;const e=this.el.querySelector(".menu-popup");if(!e)return false;const n=i.getBoundingClientRect();const s=this.viewportPadPx;if(!this.minWidth){if(this.anchorAlignment==="choice-cell"&&(this.side==="top"||this.side==="bottom")){e.style.minWidth=`max(var(--dimension-menu-width-xs), ${c(n.width,s)}px)`}else{e.style.removeProperty("min-width")}}const t=b({anchorRect:n,popupWidth:e.offsetWidth||this.popupFallbackWidthPx,popupHeight:e.offsetHeight||this.popupFallbackHeightPx,side:this.side,align:this.align,sideOffsetPx:this.sideOffsetPx,alignOffsetPx:a({align:this.align,alignOffsetPx:this.alignOffsetPx,sectionInsetPx:s,anchorAlignment:this.anchorAlignment}),viewportPadPx:this.viewportPadPx,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight});if(t.x!==this.pos.x||t.y!==this.pos.y)this.pos=t;return true}focusInitialItem(){if(this.hasCompositeSections){requestAnimationFrame((()=>{this.el.querySelector('.menu-popup [tabindex="0"]')?.focus()}));return}const i=this.flatItems;const e=i.findIndex((i=>i.isSelected&&!i.isInactive));const n=i.findIndex((i=>!i.isInactive));this.focusedIndex=e>=0?e:n>=0?n:0;requestAnimationFrame((()=>{const i=this.el.querySelectorAll(".menu-item");i[this.focusedIndex]?.focus()}))}setupListeners(){this.clickOutsideHandler=i=>{const e=i.target;const n=this.el.querySelector(".menu-popup");const s=this.resolvedAnchor;if(n?.contains(e)||s?.contains(e))return;this.close()};this.scrollResizeHandler=()=>this.scheduleLivePositionUpdate();document.addEventListener("mousedown",this.clickOutsideHandler,true);window.addEventListener("scroll",this.scrollResizeHandler,true);window.addEventListener("resize",this.scrollResizeHandler)}teardownListeners(){this.cancelLivePositionUpdate();if(this.clickOutsideHandler){document.removeEventListener("mousedown",this.clickOutsideHandler,true);this.clickOutsideHandler=null}if(this.scrollResizeHandler){window.removeEventListener("scroll",this.scrollResizeHandler,true);window.removeEventListener("resize",this.scrollResizeHandler);this.scrollResizeHandler=null}if(this.closeTimer){clearTimeout(this.closeTimer);this.closeTimer=null}}close(i=true){this.captureClosingSections();if(i)this.focusAnchor();this.dsClose.emit();this.open=false;this.onOpenChange(false)}handleKeyDown(i){if(!this.shouldRender||this.closing)return;if(i.key==="Escape"){i.preventDefault();this.close();return}if(i.key==="Tab"){if(this.hasCompositeSections&&!this.compositeTabLeavesPopup(i))return;i.preventDefault();this.close(false);this.moveFocusAfterTab(i.shiftKey);return}if(this.hasCompositeSections)return;const e=this.flatItems;const n=e.map(((i,e)=>({it:i,i:e}))).filter((({it:i})=>!i.isInactive)).map((({i})=>i));if(!n.length)return;const s=n.indexOf(this.focusedIndex);const t=s<0?0:s;switch(i.key){case"ArrowDown":i.preventDefault();i.stopPropagation();this.focusRingVisible=true;this.focusedIndex=n[(t+1)%n.length];this.focusItem(this.focusedIndex);break;case"ArrowUp":i.preventDefault();i.stopPropagation();this.focusRingVisible=true;this.focusedIndex=n[(t-1+n.length)%n.length];this.focusItem(this.focusedIndex);break;case"Home":i.preventDefault();i.stopPropagation();this.focusRingVisible=true;this.focusedIndex=n[0];this.focusItem(this.focusedIndex);break;case"End":i.preventDefault();i.stopPropagation();this.focusRingVisible=true;this.focusedIndex=n[n.length-1];this.focusItem(this.focusedIndex);break}}focusItem(i){const e=this.el.querySelectorAll(".menu-item");e[i]?.focus()}handleItemClick(i){if(i.isInactive)return;this.captureClosingSections();this.dsSelect.emit(i)}handleGradientSelect(i){this.dsGradientSelect.emit(i)}handleSwatchSelect(i){this.dsSwatchSelect.emit(i)}render(){if(!this.shouldRender)return s(t,{style:{display:"contents"}});const i=this.closing?this.closingSections??this.lastRenderedSections:this.activeSections;const e=i.some(y);if(!this.closing){this.lastRenderedSections=C(i);this.closingSections=null}let n=0;const o={position:"fixed",left:"0",top:"0",transform:`translate(${Math.round(this.pos.x)}px, ${Math.round(this.pos.y)}px)`,zIndex:"9998",visibility:this.positionReady?"visible":"hidden"};if(this.menuWidth)o["width"]=this.menuWidth;if(this.minWidth)o["min-width"]=this.minWidth;return s(t,{style:{display:"contents"}},s("div",{popover:"manual",class:{"menu-popup":true,"menu-popup--closing":this.closing,"ds-choice-popup":true,"ds-choice-popup--closing":this.closing},style:o,role:e?"dialog":"menu","aria-label":this.menuLabel,"aria-orientation":e?undefined:"vertical"},s("div",{class:"ds-choice-list"},i.map(((t,o)=>s("div",{key:o,class:{"menu-section":true,"menu-section--divided":o<i.length-1,"menu-section--gradient-picker":y(t),"ds-choice-section":true,"ds-choice-section--divided":o<i.length-1},role:t.header?"group":undefined,"aria-label":t.header},t.header&&s("ds-text",{class:"section-header ds-choice-section__header ds-control--md",as:"span",variant:"text-body-small",emphasis:true,color:"primary","aria-hidden":"true"},t.header),x(t)?s("ds-swatch-picker",{value:t.value,groupLabel:t.header??"Shell gradient theme",sections:d(),onDsChange:i=>{i.stopPropagation();this.handleGradientSelect(i.detail)}}):w(t)?s("ds-swatch-picker",{value:t.value,groupLabel:t.groupLabel??t.header??"Swatch options",options:t.options??[],sections:t.sections??[],onDsChange:i=>{i.stopPropagation();this.handleSwatchSelect(i.detail)}}):t.items.map((i=>{const t=n++;const o=this.focusedIndex===t;const r=!e&&this.selectionMode==="single"&&!i.showSwitch;return s("button",{key:t,type:"button",class:{"menu-item":true,"ds-choice-item":true,"ds-control--md":true,"ds-focus-ring-inset":true,"ds-focus-ring--visible":o&&this.focusRingVisible,"ds-interaction-fill":!i.isInactive,"ds-interaction-fill--selected":!!i.isSelected&&!i.isInactive,"menu-item--selected":!!i.isSelected,"ds-control-inactive":!!i.isInactive,"menu-item--destructive":!!i.isDestructive,"menu-item--focused":o},role:e?undefined:i.showSwitch?"menuitemcheckbox":r?"menuitemradio":"menuitem","aria-checked":!e&&i.showSwitch?String(!!i.switchValue):r?String(!!i.isSelected):undefined,"aria-pressed":e?String(i.showSwitch?!!i.switchValue:!!i.isSelected):undefined,"aria-current":!e&&!i.showSwitch&&!r&&i.isSelected?"true":undefined,disabled:i.isInactive,tabIndex:e?0:o?0:-1,onMouseDown:()=>{this.focusRingVisible=false},onClick:()=>this.handleItemClick(i),onFocus:()=>{this.focusedIndex=t}},r&&s("span",{class:"menu-item__radio-box ds-interaction-fill__content","aria-hidden":"true"},s("span",{class:{"menu-item__radio":true,"menu-item__radio--checked":!!i.isSelected}},i.isSelected&&s("span",{class:"menu-item__radio-dot"}))),s("div",{class:"menu-item__content ds-choice-item__content ds-interaction-fill__content"},s("ds-text",{class:"menu-item__label ds-choice-item__label",as:"span",variant:"text-body-medium",color:i.isSelected?"primary":"secondary"},i.label),i.subtext&&s("ds-text",{class:"menu-item__subtext ds-choice-item__subtext",as:"span",variant:"text-body-small",color:"secondary"},i.subtext)),i.dot&&s("span",{class:"menu-item__dot-box ds-interaction-fill__content","aria-hidden":"true"},s("ds-badge",{class:"menu-item__dot",variant:"dot",hasRing:false,label:""})),i.showSwitch&&s("ds-switch",{class:"menu-item__switch ds-interaction-fill__content",size:"md",checked:!!i.switchValue,presentation:true}))}))))))))}get el(){return this}static get watchers(){return{open:[{onOpenChange:0}],anchor:[{onAnchorChange:0}],anchorId:[{onAnchorChange:0}],side:[{onPositionPropsChange:0}],align:[{onPositionPropsChange:0}],anchorAlignment:[{onPositionPropsChange:0}],sideOffset:[{onPositionPropsChange:0}],alignOffset:[{onPositionPropsChange:0}]}}static get style(){return _()}},[2,"ds-menu",{open:[1028],items:[16],selectionMode:[1,"selection-mode"],sections:[16],side:[1],align:[1],anchorAlignment:[1,"anchor-alignment"],sideOffset:[8,"side-offset"],alignOffset:[8,"align-offset"],menuWidth:[1,"menu-width"],minWidth:[1,"min-width"],anchor:[16],anchorId:[1,"anchor-id"],initialFocusVisible:[4,"initial-focus-visible"],menuLabel:[1,"menu-label"],shouldRender:[32],closing:[32],pos:[32],focusedIndex:[32],positionReady:[32],focusRingVisible:[32]},[[0,"keydown","handleKeyDown"]],{open:[{onOpenChange:0}],anchor:[{onAnchorChange:0}],anchorId:[{onAnchorChange:0}],side:[{onPositionPropsChange:0}],align:[{onPositionPropsChange:0}],anchorAlignment:[{onPositionPropsChange:0}],sideOffset:[{onPositionPropsChange:0}],alignOffset:[{onPositionPropsChange:0}]}]);function A(){if(typeof customElements==="undefined"){return}const i=["ds-menu","ds-badge","ds-swatch-picker","ds-switch","ds-text"];i.forEach((i=>{switch(i){case"ds-menu":if(!customElements.get(o(i))){customElements.define(o(i),z)}break;case"ds-badge":if(!customElements.get(o(i))){l()}break;case"ds-swatch-picker":if(!customElements.get(o(i))){h()}break;case"ds-switch":if(!customElements.get(o(i))){u()}break;case"ds-text":if(!customElements.get(o(i))){m()}break}}))}A();export{z as M,A as d};
2
- //# sourceMappingURL=p-NUNsefU1.js.map
@@ -1,2 +0,0 @@
1
- import{p as o,H as r,c as t,h as n,a as s,t as a}from"./index.js";import{g as i,i as e}from"./p-BQq26pt9.js";import{d}from"./p-CH6cNXXF.js";import{d as c}from"./p-BAfG3M8z.js";import{d as l}from"./p-BwGnhInj.js";const u=()=>`.ds-control--md.sc-ds-tab-group-h,.ds-control--md.sc-ds-tab-group,.ds-control--sm.sc-ds-tab-group-h,.ds-control--sm.sc-ds-tab-group,.ds-control--xs.sc-ds-tab-group-h,.ds-control--xs.sc-ds-tab-group{--ds-control-radius:var(--dimension-radius-025)}.ds-control--md.sc-ds-tab-group-h,.ds-control--md.sc-ds-tab-group{--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-tab-group-h,.ds-control--sm.sc-ds-tab-group{--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-tab-group-h,.ds-control--xs.sc-ds-tab-group{--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-tab-group-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-tab-group-h:focus-visible,.ds-focus-ring.sc-ds-tab-group: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-tab-group-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-tab-group{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-tab-group-h:focus-visible,.ds-focus-ring-inset.sc-ds-tab-group:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-tab-group-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-tab-group: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-tab-group-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-tab-group{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-tab-group-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-tab-group::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}.ds-interaction-fill.sc-ds-tab-group-h,.ds-interaction-fill.sc-ds-tab-group{position:relative;z-index:0;--ds-interaction-hover:var(--color-interaction-hover);--ds-interaction-pressed:var(--color-interaction-pressed);--ds-interaction-active:var(--color-interaction-active-brand);--ds-interaction-border-width:0px;--ds-interaction-border-color:transparent}.ds-interaction-fill.sc-ds-tab-group-h::before,.ds-interaction-fill.sc-ds-tab-group::before,.ds-interaction-fill.sc-ds-tab-group-h::after,.ds-interaction-fill.sc-ds-tab-group::after{content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none;transition:none}.ds-interaction-fill.sc-ds-tab-group-h::before,.ds-interaction-fill.sc-ds-tab-group::before{z-index:1}.ds-interaction-fill.sc-ds-tab-group-h::after,.ds-interaction-fill.sc-ds-tab-group::after{z-index:3;box-shadow:inset 0 0 0 var(--ds-interaction-border-width) var(--ds-interaction-border-color)}.ds-interaction-fill--bordered.sc-ds-tab-group-h,.ds-interaction-fill--bordered.sc-ds-tab-group{--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--color-border-secondary)}.ds-interaction-fill--selected.sc-ds-tab-group-h::before,.ds-interaction-fill--selected.sc-ds-tab-group::before{background:var(--ds-interaction-active)}.ds-interaction-fill--selected.sc-ds-tab-group-h,.ds-interaction-fill--selected.sc-ds-tab-group{--ds-interaction-dot-ring:var(--ds-interaction-active)}.ds-interaction-fill.sc-ds-tab-group-h:hover:not(:disabled)::after,.ds-interaction-fill.sc-ds-tab-group:hover:not(:disabled)::after{background:var(--ds-interaction-hover)}.ds-interaction-fill.sc-ds-tab-group-h:active:not(:disabled)::after,.ds-interaction-fill.sc-ds-tab-group:active:not(:disabled)::after{background:var(--ds-interaction-pressed)}.ds-interaction-fill.sc-ds-tab-group-h>.ds-interaction-fill__content.sc-ds-tab-group,.ds-interaction-fill.sc-ds-tab-group>.ds-interaction-fill__content.sc-ds-tab-group,.ds-interaction-fill__content.sc-ds-tab-group{position:relative;z-index:2}.ds-interaction-fill--on-faint.sc-ds-tab-group-h,.ds-interaction-fill--on-faint.sc-ds-tab-group{--ds-interaction-active:var(--color-interaction-active)}.ds-interaction-fill--on-medium.sc-ds-tab-group-h,.ds-interaction-fill--on-medium.sc-ds-tab-group{--ds-interaction-hover:var(--color-interaction-on-medium-background-hover);--ds-interaction-pressed:var(--color-interaction-on-medium-background-pressed);--ds-interaction-active:var(--color-interaction-on-medium-background-active);--ds-focus-ring-color:var(--color-interaction-on-medium-background-focus)}.ds-interaction-fill--on-bold.sc-ds-tab-group-h,.ds-interaction-fill--on-bold.sc-ds-tab-group{--ds-interaction-hover:var(--color-interaction-on-bold-background-hover);--ds-interaction-pressed:var(--color-interaction-on-bold-background-pressed);--ds-interaction-active:var(--color-interaction-on-bold-background-active);--ds-focus-ring-color:var(--color-interaction-on-bold-background-focus)}.ds-interaction-fill--on-strong.sc-ds-tab-group-h,.ds-interaction-fill--on-strong.sc-ds-tab-group{--ds-interaction-hover:var(--color-interaction-on-strong-background-hover);--ds-interaction-pressed:var(--color-interaction-on-strong-background-pressed);--ds-interaction-active:var(--color-interaction-on-strong-background-active);--ds-focus-ring-color:var(--color-interaction-on-strong-background-focus)}.ds-interaction-fill--on-translucent.sc-ds-tab-group-h,.ds-interaction-fill--on-translucent.sc-ds-tab-group{--ds-interaction-hover:var(--color-translucent-interaction-hover);--ds-interaction-pressed:var(--color-translucent-interaction-pressed);--ds-interaction-active:var(--color-translucent-interaction-active);--ds-focus-ring-color:var(--color-translucent-interaction-focus)}.ds-interaction-fill--on-inverted.sc-ds-tab-group-h,.ds-interaction-fill--on-inverted.sc-ds-tab-group{--ds-interaction-hover:var(--color-inverted-interaction-hover);--ds-interaction-pressed:var(--color-inverted-interaction-pressed);--ds-interaction-active:var(--color-inverted-interaction-active);--ds-focus-ring-color:var(--color-inverted-interaction-focus)}.ds-interaction-fill--on-media.sc-ds-tab-group-h,.ds-interaction-fill--on-media.sc-ds-tab-group{--ds-interaction-hover:var(--color-media-interaction-hover);--ds-interaction-pressed:var(--color-media-interaction-pressed);--ds-interaction-active:var(--color-media-interaction-active);--ds-focus-ring-color:var(--color-media-interaction-focus)}.ds-interaction-fill--on-always-dark.sc-ds-tab-group-h,.ds-interaction-fill--on-always-dark.sc-ds-tab-group{--ds-interaction-hover:var(--color-always-dark-interaction-hover);--ds-interaction-pressed:var(--color-always-dark-interaction-pressed);--ds-interaction-active:var(--color-always-dark-interaction-active);--ds-focus-ring-color:var(--color-always-dark-interaction-focus)}.ds-interaction-fill--on-navigation.sc-ds-tab-group-h,.ds-interaction-fill--on-navigation.sc-ds-tab-group{--ds-interaction-hover:var(--color-navigation-interaction-hover);--ds-interaction-pressed:var(--color-navigation-interaction-pressed);--ds-interaction-active:var(--color-navigation-interaction-active);--ds-focus-ring-color:var(--color-navigation-interaction-focus)}.ds-control-inactive.sc-ds-tab-group-h,.ds-control-inactive.sc-ds-tab-group{opacity:0.5;pointer-events:none;cursor:not-allowed}.sc-ds-tab-group-h{display:block;--_tab-group-surface-border:var(--color-border-tertiary);--_tab-group-divider:var(--color-border-secondary)}.tab-group-host--on-medium.sc-ds-tab-group-h{--_tab-group-surface-border:var(--color-border-on-medium-background-tertiary);--_tab-group-divider:var(--color-border-on-medium-background-secondary)}.tab-group-host--on-bold.sc-ds-tab-group-h{--_tab-group-surface-border:var(--color-border-on-bold-background-tertiary);--_tab-group-divider:var(--color-border-on-bold-background-secondary)}.tab-group-host--on-strong.sc-ds-tab-group-h{--_tab-group-surface-border:var(--color-border-on-strong-background-tertiary);--_tab-group-divider:var(--color-border-on-strong-background-secondary)}.tab-group-host--on-translucent.sc-ds-tab-group-h{--_tab-group-surface-border:var(--color-translucent-border-tertiary);--_tab-group-divider:var(--color-translucent-border-secondary)}.tab-group-host--on-inverted.sc-ds-tab-group-h{--_tab-group-surface-border:var(--color-inverted-border-tertiary);--_tab-group-divider:var(--color-inverted-border-secondary)}.tab-group-host--on-media.sc-ds-tab-group-h{--_tab-group-surface-border:var(--color-media-border-tertiary);--_tab-group-divider:var(--color-media-border-secondary)}.tab-group-host--on-always-dark.sc-ds-tab-group-h{--_tab-group-surface-border:var(--color-always-dark-border-tertiary);--_tab-group-divider:var(--color-always-dark-border-secondary)}.tab-list.sc-ds-tab-group{display:flex;align-items:center;gap:var(--dimension-space-050);position:relative;width:max-content;max-width:100%;height:var(--dimension-size-400);padding:calc(var(--dimension-space-050) - var(--dimension-stroke-width-012));background-color:var(--color-background-secondary);border:var(--dimension-stroke-width-012) solid var(--_tab-group-surface-border);border-radius:var(--dimension-radius-half);box-sizing:border-box}.tab-group-host--surface.sc-ds-tab-group-h .tab-list.sc-ds-tab-group{background-color:transparent}.tab.sc-ds-tab-group{display:flex;align-items:center;justify-content:center;gap:var(--ds-control-gap);padding:0 var(--ds-control-padding-inline);background-color:transparent;border:none;border-radius:var(--dimension-radius-half);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--color-foreground-secondary);transition:color var(--effect-motion-short-2);flex-shrink:0;height:var(--ds-control-height);min-width:var(--dimension-size-400);box-sizing:border-box;--_dot:var(--color-foreground-bold-brand)}.tab--selected.sc-ds-tab-group{color:var(--color-foreground-primary);background-color:var(--color-background-primary);--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--_tab-group-surface-border)}.tab-group-host--surface.sc-ds-tab-group-h .tab--selected.sc-ds-tab-group{background-color:var(--ds-interaction-active)}.tab--selected.sc-ds-tab-group:not(.ds-interaction-fill){box-shadow:inset 0 0 0 var(--ds-interaction-border-width) var(--ds-interaction-border-color)}.tab__content.sc-ds-tab-group{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:var(--ds-control-gap);min-width:0}.tab__content--dot.sc-ds-tab-group{padding-right:var(--dimension-space-050)}.tab__label.sc-ds-tab-group{padding:0 var(--ds-control-label-inset);white-space:nowrap}.tab__icon.sc-ds-tab-group{flex-shrink:0}.tab__dot.sc-ds-tab-group{position:absolute;top:0;right:0;z-index:2;pointer-events:none}.on-medium.sc-ds-tab-group{color:var(--color-foreground-on-medium-background-secondary)}.on-medium.tab--selected.sc-ds-tab-group{color:var(--color-foreground-on-medium-background-primary)}.on-bold.sc-ds-tab-group{color:var(--color-foreground-on-bold-background-secondary)}.on-bold.tab--selected.sc-ds-tab-group{color:var(--color-foreground-on-bold-background-primary)}.on-strong.sc-ds-tab-group{color:var(--color-foreground-on-strong-background-secondary)}.on-strong.tab--selected.sc-ds-tab-group{color:var(--color-foreground-on-strong-background-primary)}.on-translucent.sc-ds-tab-group{color:var(--color-translucent-foreground-secondary)}.on-translucent.tab--selected.sc-ds-tab-group{color:var(--color-translucent-foreground-primary)}.on-inverted.sc-ds-tab-group{color:var(--color-inverted-foreground-secondary)}.on-inverted.tab--selected.sc-ds-tab-group{color:var(--color-inverted-foreground-primary)}.on-media.sc-ds-tab-group{color:var(--color-media-foreground-secondary)}.on-media.tab--selected.sc-ds-tab-group{color:var(--color-media-foreground-primary)}.on-always-dark.sc-ds-tab-group{color:var(--color-always-dark-foreground-secondary)}.on-always-dark.tab--selected.sc-ds-tab-group{color:var(--color-always-dark-foreground-primary)}.tab-divider.sc-ds-tab-group{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--dimension-stroke-width-012);align-self:center;padding:0;flex-shrink:0;pointer-events:none}.tab-divider__line.sc-ds-tab-group{width:var(--dimension-stroke-width-012);height:var(--typography-lineheight-sm);flex-shrink:0;background-color:var(--_tab-group-divider)}`;const b=o(class o extends r{constructor(o){super();if(o!==false){this.__registerHost()}this.dsChange=t(this,"dsChange");this.value="";this.tabs=[];this.ariaLabel=null}get selectableTabs(){return i(this.tabs)}get focusableTabId(){return this.selectableTabs.some((o=>o.id===this.value&&!o.isInactive))?this.value:this.selectableTabs.find((o=>!o.isInactive))?.id??""}selectTab(o,r){this.value=o;this.dsChange.emit(o);if(r?.focus!==false){this.focusTab(o)}}focusTab(o){const r=this.el.querySelector(`[data-tab-id="${o}"]`);r?.focus({preventScroll:true})}onValueChange(o,r){if(r===undefined||o===r)return;requestAnimationFrame((()=>{const r=document.activeElement;if(!r||!this.el.contains(r))return;const t=r.getAttribute("data-tab-id");if(t===o)return;const n=this.selectableTabs.some((r=>r.id===o&&!r.isInactive))?o:this.focusableTabId;const s=this.el.querySelector(`[data-tab-id="${n}"]`);if(s){s.focus({preventScroll:true})}else{r.blur()}}))}findEnabled(o,r){const t=this.selectableTabs;const n=t.length;for(let s=0;s<n;s++){const a=(o+r*(s+1)+n*(s+1))%n;if(!t[a]?.isInactive)return a}return o}handleKeyDown(o){const r=this.selectableTabs;if(!r.length)return;const t=o.target?.closest("[data-tab-id]")?.dataset["tabId"];const n=r.findIndex((o=>o.id===(t??this.focusableTabId)));let s=null;if(o.key==="ArrowRight"){s=this.findEnabled(n,1)}else if(o.key==="ArrowLeft"){s=this.findEnabled(n,-1)}if(o.key==="Home"){const o=r.findIndex((o=>!o.isInactive));s=o===-1?null:o}else if(o.key==="End"){const o=[...r].reverse().findIndex((o=>!o.isInactive));s=o===-1?null:r.length-1-o}if(s!==null){o.preventDefault();const t=r[s];this.selectTab(t.id)}}getBgClass(){if(!this.background)return"";if(this.background==="always-dark")return"on-always-dark";return`on-${this.background}`}render(){const o=this.getBgClass();const r=this.focusableTabId;return n(s,{key:"41adb6c391d2df7690e0e426af1e12f5e3efc56c",class:{"tab-group-host":true,"tab-group-host--surface":!!o,[`tab-group-host--${o}`]:!!o}},n("div",{key:"422d7454a366e3ea756275ba6a35b02f7a4e7aa4",role:"tablist",class:"tab-list","aria-label":this.ariaLabel,"aria-labelledby":this.ariaLabelledby},this.tabs.map(((t,s)=>{if(e(t)){return n("div",{key:`divider-${s}`,class:"tab-divider","aria-hidden":"true"},n("div",{class:"tab-divider__line"}))}const a=t.id===this.value;const i=t.variant??"label";const d=i==="icon"||i==="icon-label";const c=i==="label"||i==="icon-label";const l=a&&!o;return n("button",{key:t.id,type:"button",role:"tab","data-tab-id":t.id,class:{tab:true,"tab--selected":a,"ds-control--sm":true,"ds-focus-ring-inset":true,"ds-interaction-fill":!t.isInactive,"ds-interaction-fill--on-faint":o==="on-faint","ds-interaction-fill--on-medium":o==="on-medium","ds-interaction-fill--on-bold":o==="on-bold","ds-interaction-fill--on-strong":o==="on-strong","ds-interaction-fill--on-translucent":o==="on-translucent","ds-interaction-fill--on-inverted":o==="on-inverted","ds-interaction-fill--on-media":o==="on-media","ds-interaction-fill--on-always-dark":o==="on-always-dark","ds-control-inactive":!!t.isInactive,[o]:!!o},"aria-label":i==="icon"?t.label:undefined,"aria-selected":a,"aria-disabled":t.isInactive?"true":undefined,"aria-controls":t.panelId??undefined,disabled:t.isInactive,tabIndex:t.id===r?0:-1,onClick:()=>!t.isInactive&&this.selectTab(t.id)},n("span",{class:{tab__content:true,[`tab__content--${i}`]:true,"tab__content--dot":!!t.dot}},d&&n("ds-icon",{class:"tab__icon",name:t.icon,size:"sm",color:"inherit"}),c&&n("ds-text",{class:"tab__label",as:"span",variant:"text-body-small",emphasis:l,color:"inherit"},t.label),t.dot&&n("ds-badge",{class:"tab__dot",variant:"dot",hasRing:false,label:"","aria-hidden":"true"})))}))))}get el(){return this}static get watchers(){return{value:[{onValueChange:0}]}}static get style(){return u()}},[2,"ds-tab-group",{value:[1025],tabs:[16],background:[1],ariaLabel:[1,"aria-label"],ariaLabelledby:[1,"aria-labelledby"]},[[0,"keydown","handleKeyDown"]],{value:[{onValueChange:0}]}]);function g(){if(typeof customElements==="undefined"){return}const o=["ds-tab-group","ds-badge","ds-icon","ds-text"];o.forEach((o=>{switch(o){case"ds-tab-group":if(!customElements.get(a(o))){customElements.define(a(o),b)}break;case"ds-badge":if(!customElements.get(a(o))){d()}break;case"ds-icon":if(!customElements.get(a(o))){c()}break;case"ds-text":if(!customElements.get(a(o))){l()}break}}))}g();export{b as T,g as d};
2
- //# sourceMappingURL=p-PZ6R_nGI.js.map
@@ -1,2 +0,0 @@
1
- import{p as t,H as e,h as s,a,t as c}from"./index.js";import{d as i}from"./p-BAfG3M8z.js";import{d as n}from"./p-BwGnhInj.js";const d=()=>`.sc-ds-empty-state-h{display:block;width:100%;height:100%}.sc-ds-empty-state-h,.empty-state.sc-ds-empty-state,.empty-state__text.sc-ds-empty-state{box-sizing:border-box}.empty-state.sc-ds-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--dimension-space-100);height:100%;width:100%;text-align:center}.empty-state__icon.sc-ds-empty-state{flex:0 0 auto}.empty-state__text.sc-ds-empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--dimension-space-050);width:100%}`;const o=t(class t extends e{constructor(t){super();if(t!==false){this.__registerHost()}this.body=""}render(){const t=Boolean(this.heading?.trim());const e=t&&Boolean(this.icon);return s(a,{key:"1622b450db5edbb9e3c5903f2fafc406bd48f015"},s("div",{key:"a054baefa54eb113c05c7668f9c8793773a21dc9",class:"empty-state"},e&&s("ds-icon",{key:"9a68874d4f34a1e90b0ce34697b23f54b03f0698",class:"empty-state__icon",name:this.icon,size:"xl",color:"primary"}),s("div",{key:"c9511e5d910cb70a382e56e45bcf114e4a768887",class:"empty-state__text"},t&&s("ds-text",{key:"06daa8f3acaf402b8316e15471005b675d7bf2b5",class:"empty-state__title",as:"div",variant:"text-title-small",color:"primary",align:"center"},this.heading),this.body&&s("ds-text",{key:"235199f601b91f7d4fac621ea7d72653f3e674da",class:"empty-state__body",as:"p",variant:"text-body-medium",color:"secondary",align:"center"},this.body))))}static get style(){return d()}},[2,"ds-empty-state",{icon:[1],heading:[1],body:[1]}]);function m(){if(typeof customElements==="undefined"){return}const t=["ds-empty-state","ds-icon","ds-text"];t.forEach((t=>{switch(t){case"ds-empty-state":if(!customElements.get(c(t))){customElements.define(c(t),o)}break;case"ds-icon":if(!customElements.get(c(t))){i()}break;case"ds-text":if(!customElements.get(c(t))){n()}break}}))}m();export{o as E,m as d};
2
- //# sourceMappingURL=p-jCWtxthA.js.map
@@ -1,2 +0,0 @@
1
- import{p as n}from"./p-B6Vuayt6.js";function t(n,t){return n===t||n.startsWith(`${t}/`)}function r(n,r){if(!n)return"";let u="";let e=0;for(const f of r){if(!f.href)continue;if(t(n,f.href)&&f.href.length>e){u=f.id;e=f.href.length}}return u}function u(n){return n.reduce(((n,t)=>n+t.items.length),0)}function e(n,t){return t?null:!n}function f(t){return t.split(",").map((t=>n(t.trim(),0)))}function i(n){const t=n.transitionProperty.split(",").map((n=>n.trim()));const r=f(n.transitionDuration);const u=f(n.transitionDelay);return t.reduce(((n,t,e)=>{if(t!=="all"&&t!=="width"&&t!=="min-width")return n;const f=r[e%r.length]??0;const i=u[e%u.length]??0;return Math.max(n,f+i,0)}),0)}function o(n){if(Array.isArray(n))return n;if(typeof n==="string"){try{const t=JSON.parse(n);return Array.isArray(t)?t:[]}catch{return[]}}return[]}function c(n,t){if(n)return true;if(t===null)return false;return t!=="false"}function s(n,t){return u(n)===0&&u(o(t))>0}export{i as a,e as b,r as d,o as p,c as r,s};
2
- //# sourceMappingURL=p-yhj1lIPx.js.map
@@ -1,314 +0,0 @@
1
- {
2
- "$schema": "https://ui.shadcn.com/schema/registry-item.json",
3
- "name": "shell-mobile-bar",
4
- "title": "ShellMobileBar",
5
- "description": "Persistent mobile shell navigation for Menu, the router-derived current area, Search, Agents, and Inbox.",
6
- "type": "registry:ui",
7
- "meta": {
8
- "library": "@ds-mo/ui",
9
- "distribution": "npm",
10
- "storybook": "https://zainadeel.github.io/compomo/?path=/story/shell-mobile-bar",
11
- "source": "src/wc/components/ShellMobileBar/ShellMobileBar.tsx",
12
- "intentStatus": "complete",
13
- "intent": {
14
- "audience": "specialized",
15
- "status": "experimental",
16
- "summary": "Persistent mobile shell navigation for Menu, the router-derived current area, Search, Agents, and Inbox.",
17
- "useWhen": [
18
- "ShellApp is rendering its dedicated below-768px application composition."
19
- ],
20
- "avoidWhen": [
21
- "Rendering desktop or tablet shell chrome.",
22
- "An arbitrary set of product tabs is required."
23
- ],
24
- "commonlyComposedWith": [
25
- "component:ds-shell-app"
26
- ],
27
- "patterns": [
28
- "pattern:application-shell"
29
- ],
30
- "accessibility": [
31
- "Every item keeps a visible label and accessible name.",
32
- "Only the active destination exposes aria-current; Menu exposes its controlled pane through aria-expanded."
33
- ],
34
- "states": [
35
- "The item order is fixed: Menu, current area, Search, Agents, Inbox.",
36
- "Reselecting an active destination does not reset its nested state."
37
- ],
38
- "responsiveBehavior": [
39
- "Render only below the mobile breakpoint and preserve safe-area clearance."
40
- ],
41
- "references": [
42
- {
43
- "label": "Storybook",
44
- "path": "src/wc/components/ShellMobileBar/ShellMobileBar.stories.ts"
45
- }
46
- ]
47
- },
48
- "api": {
49
- "props": {
50
- "activeDestination": {
51
- "type": "ShellMobileDestination",
52
- "resolvedType": "\"agents\" | \"area\" | \"inbox\" | \"search\"",
53
- "attribute": "active-destination",
54
- "default": "'area'",
55
- "required": false,
56
- "mutable": false
57
- },
58
- "agentsDot": {
59
- "type": "boolean",
60
- "resolvedType": "boolean",
61
- "attribute": "agents-dot",
62
- "default": "false",
63
- "required": false,
64
- "mutable": false
65
- },
66
- "agentsLabel": {
67
- "type": "string",
68
- "resolvedType": "string",
69
- "attribute": "agents-label",
70
- "default": "'Agents'",
71
- "required": false,
72
- "mutable": false
73
- },
74
- "currentArea": {
75
- "type": "PanelNavItem",
76
- "resolvedType": "PanelNavItem",
77
- "default": "{\n id: 'tracking',\n icon: 'MapPage',\n label: 'Tracking',\n }",
78
- "required": false,
79
- "mutable": false
80
- },
81
- "inboxDot": {
82
- "type": "boolean",
83
- "resolvedType": "boolean",
84
- "attribute": "inbox-dot",
85
- "default": "false",
86
- "required": false,
87
- "mutable": false
88
- },
89
- "inboxLabel": {
90
- "type": "string",
91
- "resolvedType": "string",
92
- "attribute": "inbox-label",
93
- "default": "'Inbox'",
94
- "required": false,
95
- "mutable": false
96
- },
97
- "menuLabel": {
98
- "type": "string",
99
- "resolvedType": "string",
100
- "attribute": "menu-label",
101
- "default": "'Menu'",
102
- "required": false,
103
- "mutable": false
104
- },
105
- "navigationExpanded": {
106
- "type": "boolean",
107
- "resolvedType": "boolean",
108
- "attribute": "navigation-expanded",
109
- "default": "false",
110
- "required": false,
111
- "mutable": false
112
- },
113
- "searchDot": {
114
- "type": "boolean",
115
- "resolvedType": "boolean",
116
- "attribute": "search-dot",
117
- "default": "false",
118
- "required": false,
119
- "mutable": false
120
- },
121
- "searchLabel": {
122
- "type": "string",
123
- "resolvedType": "string",
124
- "attribute": "search-label",
125
- "default": "'Search'",
126
- "required": false,
127
- "mutable": false
128
- }
129
- },
130
- "events": [
131
- {
132
- "name": "dsDestinationChange",
133
- "detail": "ShellMobileBarDestinationDetail",
134
- "bubbles": true,
135
- "cancelable": true,
136
- "composed": true
137
- },
138
- {
139
- "name": "dsNavigationToggle",
140
- "detail": "boolean",
141
- "bubbles": true,
142
- "cancelable": true,
143
- "composed": true
144
- }
145
- ],
146
- "methods": [
147
- {
148
- "name": "focusDestination",
149
- "signature": "focusDestination(destination: ShellMobileDestination | \"navigation\") => Promise<void>"
150
- }
151
- ],
152
- "slots": []
153
- },
154
- "props": {
155
- "activeDestination": {
156
- "type": "ShellMobileDestination",
157
- "resolvedType": "\"agents\" | \"area\" | \"inbox\" | \"search\"",
158
- "attribute": "active-destination",
159
- "default": "'area'",
160
- "required": false,
161
- "mutable": false
162
- },
163
- "agentsDot": {
164
- "type": "boolean",
165
- "resolvedType": "boolean",
166
- "attribute": "agents-dot",
167
- "default": "false",
168
- "required": false,
169
- "mutable": false
170
- },
171
- "agentsLabel": {
172
- "type": "string",
173
- "resolvedType": "string",
174
- "attribute": "agents-label",
175
- "default": "'Agents'",
176
- "required": false,
177
- "mutable": false
178
- },
179
- "currentArea": {
180
- "type": "PanelNavItem",
181
- "resolvedType": "PanelNavItem",
182
- "default": "{\n id: 'tracking',\n icon: 'MapPage',\n label: 'Tracking',\n }",
183
- "required": false,
184
- "mutable": false
185
- },
186
- "inboxDot": {
187
- "type": "boolean",
188
- "resolvedType": "boolean",
189
- "attribute": "inbox-dot",
190
- "default": "false",
191
- "required": false,
192
- "mutable": false
193
- },
194
- "inboxLabel": {
195
- "type": "string",
196
- "resolvedType": "string",
197
- "attribute": "inbox-label",
198
- "default": "'Inbox'",
199
- "required": false,
200
- "mutable": false
201
- },
202
- "menuLabel": {
203
- "type": "string",
204
- "resolvedType": "string",
205
- "attribute": "menu-label",
206
- "default": "'Menu'",
207
- "required": false,
208
- "mutable": false
209
- },
210
- "navigationExpanded": {
211
- "type": "boolean",
212
- "resolvedType": "boolean",
213
- "attribute": "navigation-expanded",
214
- "default": "false",
215
- "required": false,
216
- "mutable": false
217
- },
218
- "searchDot": {
219
- "type": "boolean",
220
- "resolvedType": "boolean",
221
- "attribute": "search-dot",
222
- "default": "false",
223
- "required": false,
224
- "mutable": false
225
- },
226
- "searchLabel": {
227
- "type": "string",
228
- "resolvedType": "string",
229
- "attribute": "search-label",
230
- "default": "'Search'",
231
- "required": false,
232
- "mutable": false
233
- }
234
- },
235
- "events": [
236
- {
237
- "name": "dsDestinationChange",
238
- "detail": "ShellMobileBarDestinationDetail",
239
- "bubbles": true,
240
- "cancelable": true,
241
- "composed": true
242
- },
243
- {
244
- "name": "dsNavigationToggle",
245
- "detail": "boolean",
246
- "bubbles": true,
247
- "cancelable": true,
248
- "composed": true
249
- }
250
- ],
251
- "methods": [
252
- {
253
- "name": "focusDestination",
254
- "signature": "focusDestination(destination: ShellMobileDestination | \"navigation\") => Promise<void>"
255
- }
256
- ],
257
- "slots": [],
258
- "exports": {
259
- "customElement": "ds-shell-mobile-bar",
260
- "react": "DsShellMobileBar",
261
- "angular": "DsShellMobileBar"
262
- },
263
- "consumption": {
264
- "install": "npm install @ds-mo/ui @ds-mo/tokens @ds-mo/icons",
265
- "cssSetup": "import '@ds-mo/tokens';\nimport '@ds-mo/tokens/reset';\nimport '@ds-mo/tokens/globals';",
266
- "customElements": {
267
- "import": "import '@ds-mo/ui/dist/components/ds-shell-mobile-bar.js';",
268
- "example": "<ds-shell-mobile-bar></ds-shell-mobile-bar>"
269
- },
270
- "react": {
271
- "import": "import { DsShellMobileBar } from '@ds-mo/ui/react';",
272
- "example": "<DsShellMobileBar />"
273
- },
274
- "angular": {
275
- "import": "import { DsShellMobileBar } from '@ds-mo/ui/angular/ds-shell-mobile-bar';",
276
- "example": "<ds-shell-mobile-bar></ds-shell-mobile-bar>"
277
- },
278
- "complexPropertyNote": "Assign these non-primitive values as JavaScript properties: currentArea.",
279
- "peerDependencies": {
280
- "required": [
281
- "@ds-mo/tokens ^3.1.1",
282
- "@ds-mo/icons ^6.4.0"
283
- ],
284
- "frameworks": "Custom Elements; React 18/19 wrappers; Angular 19-22 standalone adapters."
285
- }
286
- }
287
- },
288
- "dependencies": [
289
- "@ds-mo/ui",
290
- "@ds-mo/tokens",
291
- "@ds-mo/icons"
292
- ],
293
- "registryDependencies": [
294
- "icon",
295
- "text"
296
- ],
297
- "files": [
298
- {
299
- "path": "src/wc/components/ShellMobileBar/ShellMobileBar.css",
300
- "content": "@import '../../utils/focus-ring.css';\n@import '../../utils/interaction-fill.css';\n\n:host {\n display: block;\n min-width: 0;\n background: var(--color-background-primary);\n color: var(--color-foreground-secondary);\n}\n\n.shell-mobile-bar {\n display: grid;\n grid-template-columns: repeat(5, minmax(0, 1fr));\n align-items: stretch;\n min-width: 0;\n padding: var(--dimension-space-050) var(--dimension-space-050)\n max(var(--dimension-space-050), env(safe-area-inset-bottom));\n border-top: var(--dimension-stroke-width-012) solid var(--color-border-tertiary);\n background: var(--color-background-primary);\n box-sizing: border-box;\n}\n\n.shell-mobile-bar__item {\n appearance: none;\n min-width: 0;\n min-height: var(--dimension-size-600);\n padding: var(--dimension-space-050) var(--dimension-space-025);\n border: 0;\n border-radius: var(--dimension-radius-100);\n background: transparent;\n color: inherit;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n gap: var(--dimension-space-025);\n cursor: pointer;\n}\n\n.shell-mobile-bar__item--selected {\n color: var(--color-foreground-primary);\n}\n\n.shell-mobile-bar__item ds-text {\n display: block;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.shell-mobile-bar__icon {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--dimension-iconography-md);\n height: var(--dimension-iconography-md);\n}\n\n.shell-mobile-bar__dot {\n position: absolute;\n inset-block-start: calc(var(--dimension-space-025) * -1);\n inset-inline-end: calc(var(--dimension-space-025) * -1);\n width: var(--dimension-size-075);\n height: var(--dimension-size-075);\n border-radius: var(--dimension-radius-half);\n background: var(--color-background-bold-brand);\n box-shadow: 0 0 0 var(--dimension-stroke-width-025) var(--color-background-primary);\n}\n",
301
- "type": "registry:ui"
302
- },
303
- {
304
- "path": "src/wc/components/ShellMobileBar/ShellMobileBar.tsx",
305
- "content": "import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n} from '@stencil/core';\nimport {\n shouldEmitMobileDestinationChange,\n type ShellMobileDestination,\n} from '../../shell/shell-responsive';\nimport type { PanelNavItem } from '../PanelNav/panel-nav-types';\nimport type { ShellMobileBarDestinationDetail } from './shell-mobile-bar-types';\n\ninterface DestinationConfig {\n id: ShellMobileDestination;\n icon: string;\n label: string;\n dot: boolean;\n}\n\n@Component({\n tag: 'ds-shell-mobile-bar',\n styleUrl: 'ShellMobileBar.css',\n scoped: true,\n})\nexport class ShellMobileBar {\n @Element() el!: HTMLElement;\n\n @Prop() activeDestination: ShellMobileDestination = 'area';\n @Prop() currentArea: PanelNavItem = {\n id: 'tracking',\n icon: 'MapPage',\n label: 'Tracking',\n };\n @Prop() navigationExpanded: boolean = false;\n @Prop() menuLabel: string = 'Menu';\n @Prop() searchLabel: string = 'Search';\n @Prop() agentsLabel: string = 'Agents';\n @Prop() inboxLabel: string = 'Inbox';\n @Prop() searchDot: boolean = false;\n @Prop() agentsDot: boolean = false;\n @Prop() inboxDot: boolean = false;\n\n @Event() dsNavigationToggle!: EventEmitter<boolean>;\n @Event() dsDestinationChange!: EventEmitter<ShellMobileBarDestinationDetail>;\n\n private destinationConfig(): DestinationConfig[] {\n return [\n {\n id: 'area',\n icon: this.currentArea.icon || 'MapPage',\n label: this.currentArea.label || 'Area',\n dot: false,\n },\n { id: 'search', icon: 'MagnifyingGlass', label: this.searchLabel, dot: this.searchDot },\n { id: 'agents', icon: 'AI', label: this.agentsLabel, dot: this.agentsDot },\n { id: 'inbox', icon: 'Inbox', label: this.inboxLabel, dot: this.inboxDot },\n ];\n }\n\n private selectDestination(destination: ShellMobileDestination) {\n if (\n !shouldEmitMobileDestinationChange(\n this.activeDestination,\n destination,\n this.navigationExpanded\n )\n ) {\n return;\n }\n this.dsDestinationChange.emit({ destination });\n }\n\n @Method()\n async focusDestination(destination: ShellMobileDestination | 'navigation') {\n const target = this.el.querySelector<HTMLElement>(\n `#${\n destination === 'navigation'\n ? 'ds-shell-mobile-navigation-trigger'\n : `ds-shell-mobile-${destination}-trigger`\n }`\n );\n target?.focus({ preventScroll: true });\n }\n\n private renderDestination(item: DestinationConfig) {\n const selected = !this.navigationExpanded && item.id === this.activeDestination;\n return (\n <button\n id={`ds-shell-mobile-${item.id}-trigger`}\n type=\"button\"\n class={{\n 'shell-mobile-bar__item': true,\n 'shell-mobile-bar__item--selected': selected,\n 'ds-focus-ring-inset': true,\n 'ds-interaction-fill': true,\n 'ds-interaction-fill--selected': selected,\n }}\n aria-current={selected ? 'page' : undefined}\n onClick={() => this.selectDestination(item.id)}\n >\n <span class=\"shell-mobile-bar__icon\">\n <ds-icon name={item.icon} size=\"md\" color=\"inherit\" />\n {item.dot && (\n <span class=\"shell-mobile-bar__dot\" aria-hidden=\"true\" />\n )}\n </span>\n <ds-text as=\"span\" variant=\"text-caption\" color=\"inherit\">\n {item.label}\n </ds-text>\n </button>\n );\n }\n\n render() {\n return (\n <Host>\n <nav class=\"shell-mobile-bar\" aria-label=\"Primary\">\n <button\n id=\"ds-shell-mobile-navigation-trigger\"\n type=\"button\"\n class={{\n 'shell-mobile-bar__item': true,\n 'shell-mobile-bar__item--selected': this.navigationExpanded,\n 'ds-focus-ring-inset': true,\n 'ds-interaction-fill': true,\n 'ds-interaction-fill--selected': this.navigationExpanded,\n }}\n aria-expanded={String(this.navigationExpanded)}\n aria-controls=\"ds-shell-mobile-navigation\"\n onClick={() => this.dsNavigationToggle.emit(!this.navigationExpanded)}\n >\n <span class=\"shell-mobile-bar__icon\">\n <ds-icon name=\"Hamburger\" size=\"md\" color=\"inherit\" />\n </span>\n <ds-text\n as=\"span\"\n variant=\"text-caption\"\n color=\"inherit\"\n >\n {this.menuLabel}\n </ds-text>\n </button>\n {this.destinationConfig().map(item => this.renderDestination(item))}\n </nav>\n </Host>\n );\n }\n}\n",
306
- "type": "registry:ui"
307
- },
308
- {
309
- "path": "src/wc/components/ShellMobileBar/shell-mobile-bar-types.ts",
310
- "content": "import type { ShellMobileDestination } from '../../shell/shell-responsive';\n\nexport interface ShellMobileBarDestinationDetail {\n destination: ShellMobileDestination;\n}\n",
311
- "type": "registry:ui"
312
- }
313
- ]
314
- }