@ds-mo/ui 15.2.0 → 15.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. package/dist/.package-ready.json +1 -1
  2. package/dist/agent-patterns.json +3 -3
  3. package/dist/agent.json +446 -65
  4. package/dist/angular/ds-card-setting.d.ts +1 -1
  5. package/dist/angular/ds-card-setting.js +3 -3
  6. package/dist/angular/ds-input-time.d.ts +1 -1
  7. package/dist/angular/ds-input-time.js +3 -3
  8. package/dist/angular/ds-input.d.ts +5 -1
  9. package/dist/angular/ds-input.js +10 -4
  10. package/dist/angular/ds-map-entity-marker.d.ts +1 -1
  11. package/dist/angular/ds-map-entity-marker.js +3 -3
  12. package/dist/angular/ds-radio-tile.d.ts +15 -0
  13. package/dist/angular/ds-radio-tile.js +43 -0
  14. package/dist/angular/ds-setting-row.d.ts +18 -0
  15. package/dist/angular/ds-setting-row.js +42 -0
  16. package/dist/angular/ds-slider.d.ts +1 -1
  17. package/dist/angular/ds-slider.js +3 -3
  18. package/dist/angular/ds-textarea.d.ts +1 -1
  19. package/dist/angular/ds-textarea.js +3 -3
  20. package/dist/angular/ds-time-picker.d.ts +1 -1
  21. package/dist/angular/ds-time-picker.js +3 -3
  22. package/dist/angular/index.d.ts +1 -1
  23. package/dist/angular/index.js +2 -0
  24. package/dist/angular/number-value-accessor.d.ts +9 -0
  25. package/dist/angular/number-value-accessor.js +39 -0
  26. package/dist/angular/proxies.d.ts +2 -0
  27. package/dist/angular/proxies.js +2 -0
  28. package/dist/angular/radio-value-accessor.d.ts +1 -1
  29. package/dist/angular/radio-value-accessor.js +2 -2
  30. package/dist/angular/select-value-accessor.d.ts +1 -1
  31. package/dist/angular/select-value-accessor.js +2 -2
  32. package/dist/angular/text-value-accessor.d.ts +1 -1
  33. package/dist/angular/text-value-accessor.js +2 -2
  34. package/dist/components/ds-agent-activity.js +1 -1
  35. package/dist/components/ds-agent-questionnaire.js +1 -1
  36. package/dist/components/ds-agent-response.js +1 -1
  37. package/dist/components/ds-agent-source-list.js +1 -1
  38. package/dist/components/ds-agent-tool-call.js +1 -1
  39. package/dist/components/ds-attachment-list.js +1 -1
  40. package/dist/components/ds-badge.js +1 -1
  41. package/dist/components/ds-banner.js +1 -1
  42. package/dist/components/ds-bar-action.js +1 -1
  43. package/dist/components/ds-bar-nav.js +1 -1
  44. package/dist/components/ds-bar-page-title.js +1 -1
  45. package/dist/components/ds-bar-title.js +1 -1
  46. package/dist/components/ds-bar-workflow.js +1 -1
  47. package/dist/components/ds-breadcrumb.js +1 -1
  48. package/dist/components/ds-button-filled.js +1 -1
  49. package/dist/components/ds-button-inverted.js +1 -1
  50. package/dist/components/ds-button-unfilled.js +1 -1
  51. package/dist/components/ds-calendar.js +1 -1
  52. package/dist/components/ds-card-action-center.js +1 -1
  53. package/dist/components/ds-card-chart.js +1 -1
  54. package/dist/components/ds-card-navigation.js +1 -1
  55. package/dist/components/ds-card-overview.js +1 -1
  56. package/dist/components/ds-card-setting.js +1 -1
  57. package/dist/components/ds-card-setting.js.map +1 -1
  58. package/dist/components/ds-card-settings-scope.js +1 -1
  59. package/dist/components/ds-chart-legend.js +1 -1
  60. package/dist/components/ds-chart.js +1 -1
  61. package/dist/components/ds-checkbox.js +1 -1
  62. package/dist/components/ds-chip.js +1 -1
  63. package/dist/components/ds-code-block.js +1 -1
  64. package/dist/components/ds-conversation-list-item.js +1 -1
  65. package/dist/components/ds-conversation-list-section.js +1 -1
  66. package/dist/components/ds-conversation-list.js +1 -1
  67. package/dist/components/ds-data-customize.js +1 -1
  68. package/dist/components/ds-data-customize.js.map +1 -1
  69. package/dist/components/ds-data-filter.js +1 -1
  70. package/dist/components/ds-data-filter.js.map +1 -1
  71. package/dist/components/ds-data-group.js +1 -1
  72. package/dist/components/ds-data-preferences.js +1 -1
  73. package/dist/components/ds-data-preferences.js.map +1 -1
  74. package/dist/components/ds-data-saved-views.js +1 -1
  75. package/dist/components/ds-data-saved-views.js.map +1 -1
  76. package/dist/components/ds-data-search.js +1 -1
  77. package/dist/components/ds-data-search.js.map +1 -1
  78. package/dist/components/ds-data-sort.js +1 -1
  79. package/dist/components/ds-data-toolbar.js +1 -1
  80. package/dist/components/ds-empty-state.js +1 -1
  81. package/dist/components/ds-field.js +1 -1
  82. package/dist/components/ds-filter-menu.js +1 -1
  83. package/dist/components/ds-input-date.js +1 -1
  84. package/dist/components/ds-input-date.js.map +1 -1
  85. package/dist/components/ds-input-time.js +1 -1
  86. package/dist/components/ds-input-time.js.map +1 -1
  87. package/dist/components/ds-input.js +1 -1
  88. package/dist/components/ds-map-cluster-marker.js +1 -1
  89. package/dist/components/ds-map-entity-marker.js +1 -1
  90. package/dist/components/ds-map-entity-marker.js.map +1 -1
  91. package/dist/components/ds-markdown.js +1 -1
  92. package/dist/components/ds-menu.js +1 -1
  93. package/dist/components/ds-message-actions.js +1 -1
  94. package/dist/components/ds-message-bubble.js +1 -1
  95. package/dist/components/ds-message-bubble.js.map +1 -1
  96. package/dist/components/ds-message-composer.js +1 -1
  97. package/dist/components/ds-message-scroller.js +1 -1
  98. package/dist/components/ds-message.js +1 -1
  99. package/dist/components/ds-mobile-bar-nav.js +1 -1
  100. package/dist/components/ds-mobile-header.js +1 -1
  101. package/dist/components/ds-mobile-section-switcher.js +1 -1
  102. package/dist/components/ds-mobile-sheet-nav.js +1 -1
  103. package/dist/components/ds-modal.js +1 -1
  104. package/dist/components/ds-pagination.js +1 -1
  105. package/dist/components/ds-panel-nav.js +1 -1
  106. package/dist/components/ds-panel-sub-nav.js +1 -1
  107. package/dist/components/ds-panel-tool-header.js +1 -1
  108. package/dist/components/ds-panel-tool-search.js +1 -1
  109. package/dist/components/ds-panel-tool-search.js.map +1 -1
  110. package/dist/components/ds-panel-tools.js +1 -1
  111. package/dist/components/ds-paper-texture.js +1 -1
  112. package/dist/components/ds-radio-tile.d.ts +11 -0
  113. package/dist/components/ds-radio-tile.js +2 -0
  114. package/dist/components/ds-radio-tile.js.map +1 -0
  115. package/dist/components/ds-radio.js +1 -1
  116. package/dist/components/ds-score.js +1 -1
  117. package/dist/components/ds-scroll-overlay.js +1 -1
  118. package/dist/components/ds-scroll-overlay.js.map +1 -1
  119. package/dist/components/ds-select.js +1 -1
  120. package/dist/components/ds-setting-row.d.ts +11 -0
  121. package/dist/components/ds-setting-row.js +2 -0
  122. package/dist/components/ds-setting-row.js.map +1 -0
  123. package/dist/components/ds-shell-app.js +1 -1
  124. package/dist/components/ds-shell-page.js +1 -1
  125. package/dist/components/ds-shell-tools.js +1 -1
  126. package/dist/components/ds-skeleton.js +1 -1
  127. package/dist/components/ds-slider.js +1 -1
  128. package/dist/components/ds-slider.js.map +1 -1
  129. package/dist/components/ds-swatch-picker.js +1 -1
  130. package/dist/components/ds-switch.js +1 -1
  131. package/dist/components/ds-tab-group.js +1 -1
  132. package/dist/components/ds-table.js +1 -1
  133. package/dist/components/ds-table.js.map +1 -1
  134. package/dist/components/ds-tag.js +1 -1
  135. package/dist/components/ds-text.js +1 -1
  136. package/dist/components/ds-textarea.js +1 -1
  137. package/dist/components/ds-textarea.js.map +1 -1
  138. package/dist/components/ds-time-picker.js +1 -1
  139. package/dist/components/ds-toast.js +1 -1
  140. package/dist/components/ds-tooltip-chart.js +1 -1
  141. package/dist/components/ds-tooltip.js +1 -1
  142. package/dist/components/ds-typing-indicator.js +1 -1
  143. package/dist/components/{p-Br5e83Fr.js → p-3bsypMrY.js} +2 -2
  144. package/dist/components/{p-xhn1cZgU.js → p-AM_ht6Im.js} +2 -2
  145. package/dist/components/{p-B6qQaYkB.js → p-AmT4GlhM.js} +2 -2
  146. package/dist/components/{p-CuWPWC3t.js → p-B-HOVYoH.js} +2 -2
  147. package/dist/components/{p-p0FVyEFa.js → p-B7QEpaMe.js} +2 -2
  148. package/dist/components/{p-BX506yEW.js → p-B7bXN-vf.js} +2 -2
  149. package/dist/components/p-BHI4LcGK.js +2 -0
  150. package/dist/components/p-BHI4LcGK.js.map +1 -0
  151. package/dist/components/{p-CNZ6-kWd.js → p-BSuMDPaV.js} +2 -2
  152. package/dist/components/{p-Dqfc6Nvd.js → p-BU1B6NW8.js} +2 -2
  153. package/dist/components/{p-ZYWnJaye.js → p-BVwg5XVz.js} +2 -2
  154. package/dist/components/{p-C_Ma6Xa-.js → p-BXSHN1OK.js} +2 -2
  155. package/dist/components/{p-ER5M085B.js → p-BYJtvRQm.js} +2 -2
  156. package/dist/components/{p-DFO5lV_A.js → p-Bh1Fx0aW.js} +2 -2
  157. package/dist/components/{p-C1gaWjOm.js → p-Bm3KWMe4.js} +2 -2
  158. package/dist/components/{p-CR-Jjdcn.js → p-Bo7GxFBh.js} +2 -2
  159. package/dist/components/{p-BtnTQp4K.js → p-BsM37Prt.js} +2 -2
  160. package/dist/components/p-Bu4OmhKK.js +2 -0
  161. package/dist/components/{p-Dlp1HqgS.js.map → p-Bu4OmhKK.js.map} +1 -1
  162. package/dist/components/{p-C0JkLR83.js → p-BugKaVWc.js} +2 -2
  163. package/dist/components/p-C-c8SJ00.js +2 -0
  164. package/dist/components/p-C-c8SJ00.js.map +1 -0
  165. package/dist/components/{p-uADksYMl.js → p-C3-dcROG.js} +2 -2
  166. package/dist/components/p-C4VeD49U.js +2 -0
  167. package/dist/components/{p-BR5OC2PX.js.map → p-C4VeD49U.js.map} +1 -1
  168. package/dist/components/{p-DsLXlxt3.js → p-CCpJT31M.js} +2 -2
  169. package/dist/components/p-CCpJT31M.js.map +1 -0
  170. package/dist/components/{p-D7K1ZHML.js → p-CI7c9kp-.js} +2 -2
  171. package/dist/components/{p-mV4vSjSK.js → p-CJD0kLeV.js} +2 -2
  172. package/dist/components/{p-BOhefRMt.js → p-C_gJD8l3.js} +2 -2
  173. package/dist/components/{p-ZwRLjD5M.js → p-Cihjy4WY.js} +2 -2
  174. package/dist/components/p-Co5MiPNa.js +2 -0
  175. package/dist/components/{p-lamoJZE4.js.map → p-Co5MiPNa.js.map} +1 -1
  176. package/dist/components/{p-5SVmAjXY.js → p-CrL9wxZg.js} +2 -2
  177. package/dist/components/{p-CGidq1iC.js → p-CuwopElg.js} +2 -2
  178. package/dist/components/p-CwUXroLs.js +2 -0
  179. package/dist/components/{p-etg-Uk1u.js.map → p-CwUXroLs.js.map} +1 -1
  180. package/dist/components/{p-mux14tWZ.js → p-CzQ_JF6A.js} +2 -2
  181. package/dist/components/{p-BLuqpHvp.js → p-CztB8Pbq.js} +2 -2
  182. package/dist/components/{p-Cn6AfzeF.js → p-D0KD-Nr_.js} +2 -2
  183. package/dist/components/{p-D5HxZrMA.js → p-DCLRAH5i.js} +2 -2
  184. package/dist/components/{p-Cu8o2rOz.js → p-DFkw6wrS.js} +2 -2
  185. package/dist/components/{p-YrnU2fM7.js → p-DHapI2sf.js} +2 -2
  186. package/dist/components/p-DQPzqcYR.js +2 -0
  187. package/dist/components/p-DQPzqcYR.js.map +1 -0
  188. package/dist/components/{p-CTGgXIXM.js → p-DWmYCOKz.js} +2 -2
  189. package/dist/components/p-DX2RyZba.js +2 -0
  190. package/dist/components/{p-mxZoWfnS.js.map → p-DX2RyZba.js.map} +1 -1
  191. package/dist/components/{p-vfCu7XSc.js → p-DZ58Sg5a.js} +2 -2
  192. package/dist/components/{p-C6Aavz9h.js → p-Dcn1eDVt.js} +2 -2
  193. package/dist/components/{p-UY63jmrO.js → p-DcrdyDRw.js} +2 -2
  194. package/dist/components/p-DhKvqh5G.js +2 -0
  195. package/dist/components/p-DhKvqh5G.js.map +1 -0
  196. package/dist/components/p-Fkkd3gMB.js +2 -0
  197. package/dist/components/{p-BfF4RZdp.js.map → p-Fkkd3gMB.js.map} +1 -1
  198. package/dist/components/{p-QWukusRL.js → p-Gb-vTuXr.js} +2 -2
  199. package/dist/components/p-TVkFIMXz.js +2 -0
  200. package/dist/components/p-TVkFIMXz.js.map +1 -0
  201. package/dist/components/p-cuZva5tl.js +2 -0
  202. package/dist/components/{p-CZ7hxDy_.js.map → p-cuZva5tl.js.map} +1 -1
  203. package/dist/components/p-fYZK3zqM.js +2 -0
  204. package/dist/components/{p-BZ_e69zx.js.map → p-fYZK3zqM.js.map} +1 -1
  205. package/dist/components/{p-BzYW1IqO.js → p-iGNHXFZA.js} +2 -2
  206. package/dist/components/{p-BLSSaVWm.js → p-lADW-TI8.js} +2 -2
  207. package/dist/components/{p-BJJh-Bf7.js → p-p_MwknM3.js} +2 -2
  208. package/dist/components/{p-CRk0TjQv.js → p-tJaC01aE.js} +2 -2
  209. package/dist/components/{p-B3CZvMXs.js → p-z8L-YMi3.js} +2 -2
  210. package/dist/docs/components.json +1472 -94
  211. package/dist/framework/angular.d.ts +1 -0
  212. package/dist/framework/angular.js +1 -0
  213. package/dist/lint/index.js +1 -1
  214. package/dist/mcp-data/registry/agent-activity.json +2 -2
  215. package/dist/mcp-data/registry/agent-questionnaire.json +2 -2
  216. package/dist/mcp-data/registry/agent-response.json +2 -2
  217. package/dist/mcp-data/registry/agent-source-list.json +2 -2
  218. package/dist/mcp-data/registry/agent-tool-call.json +2 -2
  219. package/dist/mcp-data/registry/attachment-list.json +2 -2
  220. package/dist/mcp-data/registry/avatar.json +2 -2
  221. package/dist/mcp-data/registry/badge.json +2 -2
  222. package/dist/mcp-data/registry/banner.json +2 -2
  223. package/dist/mcp-data/registry/bar-action.json +2 -2
  224. package/dist/mcp-data/registry/bar-nav.json +2 -2
  225. package/dist/mcp-data/registry/bar-page-title.json +2 -2
  226. package/dist/mcp-data/registry/bar-title.json +2 -2
  227. package/dist/mcp-data/registry/bar-workflow.json +2 -2
  228. package/dist/mcp-data/registry/breadcrumb.json +2 -2
  229. package/dist/mcp-data/registry/button-filled.json +2 -2
  230. package/dist/mcp-data/registry/button-inverted.json +2 -2
  231. package/dist/mcp-data/registry/button-unfilled.json +2 -2
  232. package/dist/mcp-data/registry/calendar.json +2 -2
  233. package/dist/mcp-data/registry/card-action-center.json +2 -2
  234. package/dist/mcp-data/registry/card-chart.json +2 -2
  235. package/dist/mcp-data/registry/card-navigation.json +2 -2
  236. package/dist/mcp-data/registry/card-overview.json +2 -2
  237. package/dist/mcp-data/registry/card-setting.json +36 -15
  238. package/dist/mcp-data/registry/card-settings-scope.json +2 -2
  239. package/dist/mcp-data/registry/chart-legend.json +2 -2
  240. package/dist/mcp-data/registry/chart.json +2 -2
  241. package/dist/mcp-data/registry/checkbox.json +2 -2
  242. package/dist/mcp-data/registry/chip.json +2 -2
  243. package/dist/mcp-data/registry/code-block.json +2 -2
  244. package/dist/mcp-data/registry/conversation-list-item.json +2 -2
  245. package/dist/mcp-data/registry/conversation-list-section.json +2 -2
  246. package/dist/mcp-data/registry/conversation-list.json +2 -2
  247. package/dist/mcp-data/registry/data-customize.json +3 -3
  248. package/dist/mcp-data/registry/data-filter.json +2 -2
  249. package/dist/mcp-data/registry/data-group.json +2 -2
  250. package/dist/mcp-data/registry/data-preferences.json +2 -2
  251. package/dist/mcp-data/registry/data-saved-views.json +2 -2
  252. package/dist/mcp-data/registry/data-search.json +2 -2
  253. package/dist/mcp-data/registry/data-sort.json +2 -2
  254. package/dist/mcp-data/registry/data-toolbar.json +2 -2
  255. package/dist/mcp-data/registry/divider.json +2 -2
  256. package/dist/mcp-data/registry/empty-state.json +27 -14
  257. package/dist/mcp-data/registry/field.json +6 -5
  258. package/dist/mcp-data/registry/filter-menu.json +2 -2
  259. package/dist/mcp-data/registry/icon.json +2 -2
  260. package/dist/mcp-data/registry/input-date.json +2 -2
  261. package/dist/mcp-data/registry/input-time.json +26 -7
  262. package/dist/mcp-data/registry/input.json +265 -15
  263. package/dist/mcp-data/registry/loader.json +2 -2
  264. package/dist/mcp-data/registry/map-cluster-marker.json +3 -3
  265. package/dist/mcp-data/registry/map-entity-marker.json +56 -56
  266. package/dist/mcp-data/registry/markdown.json +2 -2
  267. package/dist/mcp-data/registry/menu.json +2 -2
  268. package/dist/mcp-data/registry/message-actions.json +2 -2
  269. package/dist/mcp-data/registry/message-bubble.json +2 -2
  270. package/dist/mcp-data/registry/message-composer.json +2 -2
  271. package/dist/mcp-data/registry/message-scroller.json +2 -2
  272. package/dist/mcp-data/registry/message.json +2 -2
  273. package/dist/mcp-data/registry/mobile-bar-nav.json +2 -2
  274. package/dist/mcp-data/registry/mobile-header.json +2 -2
  275. package/dist/mcp-data/registry/mobile-section-switcher.json +2 -2
  276. package/dist/mcp-data/registry/mobile-sheet-nav.json +2 -2
  277. package/dist/mcp-data/registry/modal.json +2 -2
  278. package/dist/mcp-data/registry/pagination.json +2 -2
  279. package/dist/mcp-data/registry/panel-nav.json +2 -2
  280. package/dist/mcp-data/registry/panel-sub-nav.json +2 -2
  281. package/dist/mcp-data/registry/panel-tool-header.json +2 -2
  282. package/dist/mcp-data/registry/panel-tool-search.json +2 -2
  283. package/dist/mcp-data/registry/panel-tools.json +2 -2
  284. package/dist/mcp-data/registry/paper-texture.json +2 -2
  285. package/dist/mcp-data/registry/radio-tile.json +398 -0
  286. package/dist/mcp-data/registry/radio.json +2 -2
  287. package/dist/mcp-data/registry/registry.json +453 -66
  288. package/dist/mcp-data/registry/score.json +2 -2
  289. package/dist/mcp-data/registry/scroll-overlay.json +2 -2
  290. package/dist/mcp-data/registry/select.json +2 -2
  291. package/dist/mcp-data/registry/setting-row.json +213 -0
  292. package/dist/mcp-data/registry/shell-app.json +2 -2
  293. package/dist/mcp-data/registry/shell-page.json +2 -2
  294. package/dist/mcp-data/registry/shell-tools.json +2 -2
  295. package/dist/mcp-data/registry/skeleton.json +2 -2
  296. package/dist/mcp-data/registry/slider.json +32 -12
  297. package/dist/mcp-data/registry/swatch-picker.json +2 -2
  298. package/dist/mcp-data/registry/switch.json +2 -2
  299. package/dist/mcp-data/registry/tab-group.json +2 -2
  300. package/dist/mcp-data/registry/table.json +5 -5
  301. package/dist/mcp-data/registry/tag.json +2 -2
  302. package/dist/mcp-data/registry/text.json +2 -2
  303. package/dist/mcp-data/registry/textarea.json +72 -5
  304. package/dist/mcp-data/registry/time-picker.json +28 -9
  305. package/dist/mcp-data/registry/toast.json +2 -2
  306. package/dist/mcp-data/registry/tooltip-chart.json +2 -2
  307. package/dist/mcp-data/registry/tooltip.json +2 -2
  308. package/dist/mcp-data/registry/typing-indicator.json +2 -2
  309. package/dist/react/components.d.ts +2 -0
  310. package/dist/react/components.js +2 -0
  311. package/dist/react/ds-input.d.ts +2 -0
  312. package/dist/react/ds-input.js +2 -0
  313. package/dist/react/ds-radio-tile.d.ts +12 -0
  314. package/dist/react/ds-radio-tile.js +12 -0
  315. package/dist/react/ds-setting-row.d.ts +12 -0
  316. package/dist/react/ds-setting-row.js +12 -0
  317. package/dist/types/components/CardSetting/CardSetting.d.ts +5 -3
  318. package/dist/types/components/CardSetting/index.d.ts +1 -1
  319. package/dist/types/components/EmptyState/EmptyState.d.ts +3 -0
  320. package/dist/types/components/Field/Field.d.ts +4 -0
  321. package/dist/types/components/Input/Input.d.ts +50 -1
  322. package/dist/types/components/InputTime/InputTime.d.ts +3 -0
  323. package/dist/types/components/MapEntityMarker/MapEntityMarker.d.ts +5 -5
  324. package/dist/types/components/RadioTile/RadioTile.d.ts +40 -0
  325. package/dist/types/components/RadioTile/index.d.ts +2 -0
  326. package/dist/types/components/SettingRow/SettingRow.d.ts +18 -0
  327. package/dist/types/components/Slider/Slider.d.ts +8 -1
  328. package/dist/types/components/Slider/index.d.ts +1 -1
  329. package/dist/types/components/Textarea/Textarea.d.ts +12 -0
  330. package/dist/types/components/TimePicker/TimePicker.d.ts +4 -0
  331. package/dist/types/components.d.ts +456 -35
  332. package/dist/types/utils/text-constraints.d.ts +20 -0
  333. package/dist/vue/components.d.ts +2 -0
  334. package/dist/vue/components.js +2 -0
  335. package/dist/vue/ds-card-setting.js +1 -0
  336. package/dist/vue/ds-input-time.js +1 -0
  337. package/dist/vue/ds-input.js +17 -0
  338. package/dist/vue/ds-map-entity-marker.js +2 -2
  339. package/dist/vue/ds-radio-tile.d.ts +3 -0
  340. package/dist/vue/ds-radio-tile.js +24 -0
  341. package/dist/vue/ds-setting-row.d.ts +3 -0
  342. package/dist/vue/ds-setting-row.js +14 -0
  343. package/dist/vue/ds-slider.d.ts +1 -1
  344. package/dist/vue/ds-slider.js +2 -1
  345. package/dist/vue/ds-textarea.js +4 -0
  346. package/dist/vue/ds-time-picker.js +1 -0
  347. package/package.json +5 -5
  348. package/dist/components/p-BCnzbfma.js +0 -2
  349. package/dist/components/p-BCnzbfma.js.map +0 -1
  350. package/dist/components/p-BR5OC2PX.js +0 -2
  351. package/dist/components/p-BZ_e69zx.js +0 -2
  352. package/dist/components/p-BfF4RZdp.js +0 -2
  353. package/dist/components/p-Bv9rSkp0.js +0 -2
  354. package/dist/components/p-Bv9rSkp0.js.map +0 -1
  355. package/dist/components/p-C6zycbhC.js +0 -2
  356. package/dist/components/p-C6zycbhC.js.map +0 -1
  357. package/dist/components/p-CZ7hxDy_.js +0 -2
  358. package/dist/components/p-Dlp1HqgS.js +0 -2
  359. package/dist/components/p-DsLXlxt3.js.map +0 -1
  360. package/dist/components/p-etg-Uk1u.js +0 -2
  361. package/dist/components/p-lamoJZE4.js +0 -2
  362. package/dist/components/p-mxZoWfnS.js +0 -2
  363. package/dist/components/p-xtGGIZmU.js +0 -2
  364. package/dist/components/p-xtGGIZmU.js.map +0 -1
  365. /package/dist/components/{p-Br5e83Fr.js.map → p-3bsypMrY.js.map} +0 -0
  366. /package/dist/components/{p-xhn1cZgU.js.map → p-AM_ht6Im.js.map} +0 -0
  367. /package/dist/components/{p-B6qQaYkB.js.map → p-AmT4GlhM.js.map} +0 -0
  368. /package/dist/components/{p-CuWPWC3t.js.map → p-B-HOVYoH.js.map} +0 -0
  369. /package/dist/components/{p-p0FVyEFa.js.map → p-B7QEpaMe.js.map} +0 -0
  370. /package/dist/components/{p-BX506yEW.js.map → p-B7bXN-vf.js.map} +0 -0
  371. /package/dist/components/{p-CNZ6-kWd.js.map → p-BSuMDPaV.js.map} +0 -0
  372. /package/dist/components/{p-Dqfc6Nvd.js.map → p-BU1B6NW8.js.map} +0 -0
  373. /package/dist/components/{p-ZYWnJaye.js.map → p-BVwg5XVz.js.map} +0 -0
  374. /package/dist/components/{p-C_Ma6Xa-.js.map → p-BXSHN1OK.js.map} +0 -0
  375. /package/dist/components/{p-ER5M085B.js.map → p-BYJtvRQm.js.map} +0 -0
  376. /package/dist/components/{p-DFO5lV_A.js.map → p-Bh1Fx0aW.js.map} +0 -0
  377. /package/dist/components/{p-C1gaWjOm.js.map → p-Bm3KWMe4.js.map} +0 -0
  378. /package/dist/components/{p-CR-Jjdcn.js.map → p-Bo7GxFBh.js.map} +0 -0
  379. /package/dist/components/{p-BtnTQp4K.js.map → p-BsM37Prt.js.map} +0 -0
  380. /package/dist/components/{p-C0JkLR83.js.map → p-BugKaVWc.js.map} +0 -0
  381. /package/dist/components/{p-uADksYMl.js.map → p-C3-dcROG.js.map} +0 -0
  382. /package/dist/components/{p-D7K1ZHML.js.map → p-CI7c9kp-.js.map} +0 -0
  383. /package/dist/components/{p-mV4vSjSK.js.map → p-CJD0kLeV.js.map} +0 -0
  384. /package/dist/components/{p-BOhefRMt.js.map → p-C_gJD8l3.js.map} +0 -0
  385. /package/dist/components/{p-ZwRLjD5M.js.map → p-Cihjy4WY.js.map} +0 -0
  386. /package/dist/components/{p-5SVmAjXY.js.map → p-CrL9wxZg.js.map} +0 -0
  387. /package/dist/components/{p-CGidq1iC.js.map → p-CuwopElg.js.map} +0 -0
  388. /package/dist/components/{p-mux14tWZ.js.map → p-CzQ_JF6A.js.map} +0 -0
  389. /package/dist/components/{p-BLuqpHvp.js.map → p-CztB8Pbq.js.map} +0 -0
  390. /package/dist/components/{p-Cn6AfzeF.js.map → p-D0KD-Nr_.js.map} +0 -0
  391. /package/dist/components/{p-D5HxZrMA.js.map → p-DCLRAH5i.js.map} +0 -0
  392. /package/dist/components/{p-Cu8o2rOz.js.map → p-DFkw6wrS.js.map} +0 -0
  393. /package/dist/components/{p-YrnU2fM7.js.map → p-DHapI2sf.js.map} +0 -0
  394. /package/dist/components/{p-CTGgXIXM.js.map → p-DWmYCOKz.js.map} +0 -0
  395. /package/dist/components/{p-vfCu7XSc.js.map → p-DZ58Sg5a.js.map} +0 -0
  396. /package/dist/components/{p-C6Aavz9h.js.map → p-Dcn1eDVt.js.map} +0 -0
  397. /package/dist/components/{p-UY63jmrO.js.map → p-DcrdyDRw.js.map} +0 -0
  398. /package/dist/components/{p-QWukusRL.js.map → p-Gb-vTuXr.js.map} +0 -0
  399. /package/dist/components/{p-BzYW1IqO.js.map → p-iGNHXFZA.js.map} +0 -0
  400. /package/dist/components/{p-BLSSaVWm.js.map → p-lADW-TI8.js.map} +0 -0
  401. /package/dist/components/{p-BJJh-Bf7.js.map → p-p_MwknM3.js.map} +0 -0
  402. /package/dist/components/{p-CRk0TjQv.js.map → p-tJaC01aE.js.map} +0 -0
  403. /package/dist/components/{p-B3CZvMXs.js.map → p-z8L-YMi3.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["CLOCK_HOURS","CLOCK_PERIODS","CLOCK_TIME_PATTERN","isClockTime","value","test","hour","minute","split","map","Number","clockMinuteStep","step","seconds","isFinite","Math","max","round","clockMinutes","baseMinute","stride","floor","normalizedBase","values","Set","offset","add","sort","a","b","splitClockTime","hour24","period","hour12","joinClockTime","parts","String","padStart","formatClockTimeLabel","parseLooseClockTime","trimmed","trim","twentyFour","match","meridiem","toUpperCase","isClockTimeOutOfRange","min","isClockTimeStepAligned","valueParts","baseParts","valueMinutes","baseMinutes","stepBoundedIndex","index","length","timePickerCss","TimePicker","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","isInactive","autoFocus","handleColumnKeyDown","event","column","current","columns","columnIndex","indexOf","key","nextColumn","preventDefault","nextValues","minutes","nextValue","focusValue","undefined","focusOption","next","find","isDisabledPart","optionParts","direction","candidate","componentDidLoad","scrollSelectedIntoView","setFocus","onValueChange","focusColumn","minimum","isDisabledTime","iso","hours","periods","some","orderedValues","filter","commit","dsChange","emit","optionEl","el","querySelector","scrollIntoView","block","requestAnimationFrame","focus","currentValue","renderTile","selected","focused","label","disabled","h","type","role","class","tabIndex","onClick","onKeyDown","as","variant","color","render","minuteValues","includes","hourFocus","minuteFocus","periodFocus","Host"],"sources":["src/wc/utils/clock-time.ts","src/wc/components/TimePicker/TimePicker.css?tag=ds-time-picker&encapsulation=scoped","src/wc/components/TimePicker/TimePicker.tsx"],"sourcesContent":["export type ClockPeriod = 'AM' | 'PM';\n\nexport interface ClockTimeParts {\n hour12: number;\n minute: number;\n period: ClockPeriod;\n}\n\nexport const CLOCK_HOURS = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] as const;\nexport const CLOCK_PERIODS: readonly ClockPeriod[] = ['AM', 'PM'];\n\nconst CLOCK_TIME_PATTERN = /^\\d{2}:\\d{2}$/;\n\nexport function isClockTime(value: string): boolean {\n if (!CLOCK_TIME_PATTERN.test(value)) return false;\n const [hour, minute] = value.split(':').map(Number);\n return hour >= 0 && hour <= 23 && minute >= 0 && minute <= 59;\n}\n\nexport function clockMinuteStep(step: string | number = 60): number {\n const seconds = typeof step === 'number' ? step : Number(step);\n if (!Number.isFinite(seconds) || seconds <= 0) return 1;\n if (seconds < 60) return 1;\n return Math.max(1, Math.round(seconds / 60));\n}\n\nexport function clockMinutes(step: number = 1, baseMinute: number = 0): number[] {\n const stride = Number.isFinite(step) && step > 0 ? Math.floor(step) : 1;\n const normalizedBase = ((Math.floor(baseMinute) % 60) + 60) % 60;\n const values = new Set<number>();\n for (let offset = 0; offset < 1440; offset += stride) {\n values.add((normalizedBase + offset) % 60);\n }\n return [...values].sort((a, b) => a - b);\n}\n\nexport function splitClockTime(value: string): ClockTimeParts | null {\n if (!isClockTime(value)) return null;\n const [hour24, minute] = value.split(':').map(Number);\n const period: ClockPeriod = hour24 >= 12 ? 'PM' : 'AM';\n const hour12 = hour24 % 12 === 0 ? 12 : hour24 % 12;\n return { hour12, minute, period };\n}\n\nexport function joinClockTime(parts: ClockTimeParts): string {\n const hour24 =\n parts.period === 'AM'\n ? parts.hour12 === 12\n ? 0\n : parts.hour12\n : parts.hour12 === 12\n ? 12\n : parts.hour12 + 12;\n return `${String(hour24).padStart(2, '0')}:${String(parts.minute).padStart(2, '0')}`;\n}\n\n/** Readable 12-hour label for filled clock values such as `09:00` → `9:00 AM`. */\nexport function formatClockTimeLabel(value: string): string {\n const parts = splitClockTime(value);\n if (!parts) return '';\n return `${parts.hour12}:${String(parts.minute).padStart(2, '0')} ${parts.period}`;\n}\n\n/** Parse a typed clock time: `HH:MM`, `H:MM`, or a 12-hour label such as `9:00 AM`. */\nexport function parseLooseClockTime(value: string): string {\n const trimmed = value.trim();\n if (!trimmed) return '';\n if (isClockTime(trimmed)) return trimmed;\n\n const twentyFour = trimmed.match(/^(\\d{1,2}):(\\d{2})$/);\n if (twentyFour) {\n const hour = Number(twentyFour[1]);\n const minute = Number(twentyFour[2]);\n if (hour > 23 || minute > 59) return '';\n return `${String(hour).padStart(2, '0')}:${twentyFour[2]}`;\n }\n\n const meridiem = trimmed.match(/^(\\d{1,2})(?::(\\d{2}))?\\s*([AaPp])\\.?[Mm]\\.?$/);\n if (!meridiem) return '';\n const hour12 = Number(meridiem[1]);\n const minute = meridiem[2] ? Number(meridiem[2]) : 0;\n if (hour12 < 1 || hour12 > 12 || minute > 59) return '';\n const period: ClockPeriod = meridiem[3].toUpperCase() === 'P' ? 'PM' : 'AM';\n return joinClockTime({ hour12, minute, period });\n}\n\nexport function isClockTimeOutOfRange(value: string, min?: string, max?: string): boolean {\n if (!isClockTime(value)) return true;\n if (min && isClockTime(min) && value < min) return true;\n if (max && isClockTime(max) && value > max) return true;\n return false;\n}\n\n/** Whether a minute-precision clock value aligns to the configured native step. */\nexport function isClockTimeStepAligned(\n value: string,\n step: string | number = 60,\n min?: string\n): boolean {\n if (!isClockTime(value)) return false;\n const valueParts = value.split(':').map(Number);\n const baseParts = min && isClockTime(min) ? min.split(':').map(Number) : [0, 0];\n const stride = clockMinuteStep(step);\n const valueMinutes = valueParts[0] * 60 + valueParts[1];\n const baseMinutes = baseParts[0] * 60 + baseParts[1];\n return (valueMinutes - baseMinutes) % stride === 0;\n}\n\n/** Move within a finite list without wrapping past the first or last item. */\nexport function stepBoundedIndex(index: number, offset: number, length: number): number {\n if (length <= 0) return 0;\n return Math.min(length - 1, Math.max(0, index + offset));\n}\n","@import '../../utils/radius.css';\n@import '../../utils/control-density.css';\n@import '../../utils/focus-ring.css';\n@import '../../utils/interaction-fill.css';\n@import '../../utils/forced-colors.css';\n\n:host {\n display: flex;\n min-height: 0;\n flex-direction: column;\n}\n\n.time-picker {\n display: grid;\n grid-template-columns: repeat(3, minmax(var(--dimension-size-400), 1fr));\n column-gap: var(--dimension-space-050);\n min-width: calc(\n (var(--dimension-size-400) * 3) + (var(--dimension-space-050) * 2) +\n (var(--ds-time-picker-padding, var(--dimension-space-100)) * 2)\n );\n padding: var(--ds-time-picker-padding, var(--dimension-space-100));\n}\n\n.time-picker__column {\n display: flex;\n min-width: 0;\n flex-direction: column;\n}\n\n.time-picker__list {\n display: flex;\n flex-direction: column;\n gap: var(--dimension-space-050);\n max-height: calc((var(--dimension-size-400) * 7) + (var(--dimension-space-050) * 6));\n overflow-x: hidden;\n overflow-y: auto;\n overscroll-behavior: contain;\n}\n\n.time-picker-tile {\n appearance: none;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n min-width: 0;\n width: 100%;\n height: var(--dimension-size-400);\n padding: 0;\n border: 0;\n border-radius: var(--dimension-radius-025);\n background: transparent;\n color: var(--color-foreground-primary);\n cursor: default;\n}\n\n.time-picker-tile:disabled {\n cursor: not-allowed;\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Method,\n Prop,\n Watch,\n h,\n Host,\n} from '@stencil/core';\nimport {\n CLOCK_HOURS,\n CLOCK_PERIODS,\n clockMinuteStep,\n clockMinutes,\n isClockTimeStepAligned,\n isClockTimeOutOfRange,\n joinClockTime,\n splitClockTime,\n stepBoundedIndex,\n type ClockPeriod,\n type ClockTimeParts,\n} from '../../utils';\n\ntype TimePickerColumn = 'hour' | 'minute' | 'period';\n\n@Component({\n tag: 'ds-time-picker',\n styleUrl: 'TimePicker.css',\n scoped: true,\n})\nexport class TimePicker {\n @Element() el!: HTMLElement;\n\n /** Clock value as `HH:MM`. */\n @Prop() value: string = '';\n @Prop() min: string | undefined;\n @Prop() max: string | undefined;\n /** Native time step in seconds. Defaults to minutes (`60`). */\n @Prop() step: string | number = 60;\n @Prop() isInactive: boolean = false;\n /** Move keyboard focus into the hour list after the picker is rendered. */\n @Prop() autoFocus: boolean = false;\n\n @Event() dsChange!: EventEmitter<string>;\n\n componentDidLoad() {\n this.scrollSelectedIntoView();\n if (this.autoFocus) void this.setFocus();\n }\n\n @Watch('value')\n onValueChange() {\n this.scrollSelectedIntoView();\n }\n\n @Method()\n async setFocus() {\n this.focusColumn('hour', CLOCK_HOURS);\n }\n\n private parts(): ClockTimeParts {\n return splitClockTime(this.value) ?? { hour12: 12, minute: 0, period: 'AM' };\n }\n\n private minutes(): number[] {\n const minimum = this.min ? splitClockTime(this.min) : null;\n return clockMinutes(clockMinuteStep(this.step), minimum?.minute ?? 0);\n }\n\n private isDisabledTime(iso: string): boolean {\n if (this.isInactive) return true;\n return (\n isClockTimeOutOfRange(iso, this.min, this.max) ||\n !isClockTimeStepAligned(iso, this.step, this.min)\n );\n }\n\n private optionParts(\n column: TimePickerColumn,\n value: number | ClockPeriod\n ): Partial<ClockTimeParts> {\n return column === 'hour'\n ? { hour12: value as number }\n : column === 'minute'\n ? { minute: value as number }\n : { period: value as ClockPeriod };\n }\n\n private isDisabledPart(column: TimePickerColumn, next: Partial<ClockTimeParts>): boolean {\n if (this.isInactive) return true;\n\n const current = { ...this.parts(), ...next };\n const hours: ReadonlyArray<number> = column === 'hour' ? [current.hour12] : CLOCK_HOURS;\n const minutes: ReadonlyArray<number> = column === 'minute' ? [current.minute] : this.minutes();\n const periods: ReadonlyArray<ClockPeriod> =\n column === 'period' ? [current.period] : CLOCK_PERIODS;\n\n return !hours.some(hour =>\n minutes.some(minute =>\n periods.some(\n period => !this.isDisabledTime(joinClockTime({ hour12: hour, minute, period }))\n )\n )\n );\n }\n\n private orderedValues<T>(current: T, values: ReadonlyArray<T>): T[] {\n return [current, ...values.filter(value => value !== current)];\n }\n\n private commit(column: TimePickerColumn, next: Partial<ClockTimeParts>) {\n const current = { ...this.parts(), ...next };\n const hours =\n column === 'hour' ? [current.hour12] : this.orderedValues(current.hour12, CLOCK_HOURS);\n const minutes =\n column === 'minute' ? [current.minute] : this.orderedValues(current.minute, this.minutes());\n const periods =\n column === 'period' ? [current.period] : this.orderedValues(current.period, CLOCK_PERIODS);\n\n for (const hour of hours) {\n for (const minute of minutes) {\n for (const period of periods) {\n const iso = joinClockTime({ hour12: hour, minute, period });\n if (!this.isDisabledTime(iso)) {\n this.dsChange.emit(iso);\n return;\n }\n }\n }\n }\n }\n\n private optionEl(column: TimePickerColumn, value: number | ClockPeriod): HTMLElement | null {\n return this.el.querySelector<HTMLElement>(`[data-${column}-option=\"${value}\"]`);\n }\n\n private scrollSelectedIntoView() {\n const parts = this.parts();\n this.optionEl('hour', parts.hour12)?.scrollIntoView({ block: 'nearest' });\n this.optionEl('minute', parts.minute)?.scrollIntoView({ block: 'nearest' });\n this.optionEl('period', parts.period)?.scrollIntoView({ block: 'nearest' });\n }\n\n private focusOption(column: TimePickerColumn, value: number | ClockPeriod) {\n requestAnimationFrame(() => {\n this.optionEl(column, value)?.focus();\n });\n }\n\n private focusValue(\n column: TimePickerColumn,\n values: ReadonlyArray<number | ClockPeriod>\n ): number | ClockPeriod | undefined {\n const current = this.parts();\n const currentValue =\n column === 'hour' ? current.hour12 : column === 'minute' ? current.minute : current.period;\n if (!this.isDisabledPart(column, this.optionParts(column, currentValue))) return currentValue;\n return values.find(value => !this.isDisabledPart(column, this.optionParts(column, value)));\n }\n\n private focusColumn(column: TimePickerColumn, values: ReadonlyArray<number | ClockPeriod>): void {\n const value = this.focusValue(column, values);\n if (value !== undefined) this.optionEl(column, value)?.focus();\n }\n\n private handleColumnKeyDown = (\n event: KeyboardEvent,\n column: TimePickerColumn,\n values: ReadonlyArray<number | ClockPeriod>,\n current: number | ClockPeriod\n ) => {\n const columns: TimePickerColumn[] = ['hour', 'minute', 'period'];\n const columnIndex = columns.indexOf(column);\n if (event.key === 'ArrowLeft' || event.key === 'ArrowRight') {\n const nextColumn =\n columns[stepBoundedIndex(columnIndex, event.key === 'ArrowLeft' ? -1 : 1, columns.length)];\n if (!nextColumn || nextColumn === column) {\n event.preventDefault();\n return;\n }\n event.preventDefault();\n const nextValues =\n nextColumn === 'hour'\n ? CLOCK_HOURS\n : nextColumn === 'minute'\n ? this.minutes()\n : CLOCK_PERIODS;\n const nextValue = this.focusValue(nextColumn, nextValues);\n if (nextValue !== undefined) this.focusOption(nextColumn, nextValue);\n return;\n }\n\n let offset: number | null = null;\n if (event.key === 'ArrowUp') offset = -1;\n else if (event.key === 'ArrowDown') offset = 1;\n else if (event.key === 'Home' || event.key === 'End') offset = 0;\n if (offset === null) return;\n event.preventDefault();\n let next: number | ClockPeriod | undefined;\n if (event.key === 'Home') {\n next = values.find(value => !this.isDisabledPart(column, this.optionParts(column, value)));\n } else if (event.key === 'End') {\n for (let index = values.length - 1; index >= 0; index -= 1) {\n const value = values[index];\n if (value !== undefined && !this.isDisabledPart(column, this.optionParts(column, value))) {\n next = value;\n break;\n }\n }\n } else {\n const direction = offset;\n let index = values.indexOf(current);\n if (index < 0) index = direction > 0 ? -1 : values.length;\n for (\n let candidate = index + direction;\n candidate >= 0 && candidate < values.length;\n candidate += direction\n ) {\n const value = values[candidate];\n if (value !== undefined && !this.isDisabledPart(column, this.optionParts(column, value))) {\n next = value;\n break;\n }\n }\n }\n if (next === undefined) return;\n this.focusOption(column, next);\n };\n\n private renderTile(\n column: TimePickerColumn,\n value: number | ClockPeriod,\n selected: boolean,\n focused: boolean,\n label: string,\n values: ReadonlyArray<number | ClockPeriod>\n ) {\n const next = this.optionParts(column, value);\n const disabled = this.isDisabledPart(column, next);\n return (\n <button\n type=\"button\"\n role=\"option\"\n data-hour-option={column === 'hour' ? String(value) : undefined}\n data-minute-option={column === 'minute' ? String(value) : undefined}\n data-period-option={column === 'period' ? String(value) : undefined}\n class={{\n 'time-picker-tile': true,\n 'time-picker-tile--selected': selected,\n 'ds-focus-ring-inset': true,\n 'ds-interaction-fill': !disabled,\n 'ds-interaction-fill--selected': selected && !disabled,\n }}\n disabled={disabled}\n aria-selected={selected ? 'true' : 'false'}\n tabIndex={focused ? 0 : -1}\n onClick={() => this.commit(column, next)}\n onKeyDown={event => this.handleColumnKeyDown(event, column, values, value)}\n >\n <ds-text\n class=\"ds-interaction-fill__content\"\n as=\"span\"\n variant=\"text-body-medium\"\n color={selected ? 'primary' : 'secondary'}\n >\n {label}\n </ds-text>\n </button>\n );\n }\n\n render() {\n const parts = this.parts();\n const minutes = this.minutes();\n const minuteValues = minutes.includes(parts.minute)\n ? minutes\n : [...minutes, parts.minute].sort((a, b) => a - b);\n const hourFocus = this.focusValue('hour', CLOCK_HOURS);\n const minuteFocus = this.focusValue('minute', minuteValues);\n const periodFocus = this.focusValue('period', CLOCK_PERIODS);\n\n return (\n <Host>\n <div class=\"time-picker\" role=\"group\" aria-label=\"Choose time\">\n <div class=\"time-picker__column\">\n <div class=\"time-picker__list\" role=\"listbox\" aria-label=\"Hour\">\n {CLOCK_HOURS.map(hour =>\n this.renderTile(\n 'hour',\n hour,\n hour === parts.hour12,\n hour === hourFocus,\n String(hour),\n CLOCK_HOURS\n )\n )}\n </div>\n </div>\n <div class=\"time-picker__column\">\n <div class=\"time-picker__list\" role=\"listbox\" aria-label=\"Minute\">\n {minuteValues.map(minute =>\n this.renderTile(\n 'minute',\n minute,\n minute === parts.minute,\n minute === minuteFocus,\n String(minute).padStart(2, '0'),\n minuteValues\n )\n )}\n </div>\n </div>\n <div class=\"time-picker__column\">\n <div class=\"time-picker__list\" role=\"listbox\" aria-label=\"AM/PM\">\n {CLOCK_PERIODS.map(period =>\n this.renderTile(\n 'period',\n period,\n period === parts.period,\n period === periodFocus,\n period,\n CLOCK_PERIODS\n )\n )}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- function t({align:t,alignOffsetPx:n,sectionInsetPx:e,anchorAlignment:r="choice-cell"}){if(r==="popup-frame"||t==="center")return n;return n+(t==="start"?-e:e)}function n(t,n){return t+n*2}const e=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(",");function r(t){if(t instanceof HTMLSlotElement){const n=t.assignedNodes({flatten:true});return n.length>0?n:Array.from(t.childNodes)}if(t instanceof Element&&t.shadowRoot){return Array.from(t.shadowRoot.childNodes)}return Array.from(t.childNodes)}function i(t){if(t instanceof Element&&t.assignedSlot)return t.assignedSlot;const n=t.parentNode;return n instanceof ShadowRoot?n.host:n}function s(t){let n=t;while(n){if(n instanceof HTMLElement&&n.inert)return true;n=i(n)}return false}function o(t){if(!t.matches(e)||t.tabIndex<0)return false;if(s(t)||t.getClientRects().length===0)return false;return getComputedStyle(t).visibility!=="hidden"}function u(t,n){const e=[];const i=new Set;const s=[t];while(s.length>0){const t=s.pop();if(!t||i.has(t))continue;i.add(t);if(t===n)continue;if(t instanceof HTMLElement&&o(t))e.push(t);const u=r(t);for(let t=u.length-1;t>=0;t-=1){s.push(u[t])}}const u=new Map(e.map(((t,n)=>[t,n])));return e.sort(((t,n)=>{const e=t.tabIndex;const r=n.tabIndex;if(e>0||r>0){if(e===0)return 1;if(r===0)return-1;if(e!==r)return e-r}return(u.get(t)??0)-(u.get(n)??0)}))}function c(t,n){return t.composedPath().some((t=>t===n||t instanceof Node&&n.contains(t)))}class f{constructor(t){this.options=t;this.ownerDocument=null;this.outsideHandler=t=>{const n=this.options.getAnchor();const e=this.options.getPopup();if(n&&c(t,n)||e&&c(t,e)){return}this.options.onOutsideActivation()}}connect(){this.disconnect();const t=this.options.getPopup()??this.options.getAnchor();this.ownerDocument=t?.ownerDocument??this.options.getOwnerDocument?.()??null;this.ownerDocument?.addEventListener("mousedown",this.outsideHandler,true)}disconnect(){this.ownerDocument?.removeEventListener("mousedown",this.outsideHandler,true);this.ownerDocument=null}focusAnchor(){const t=this.options.getAnchor();if(t?.setFocus){void t.setFocus();return}this.anchorFocusTarget?.focus()}tabLeavesPopup(t){const n=this.options.getPopup();if(!n)return true;const e=u(n);const r=e.findIndex((n=>t.composedPath().includes(n)));if(r<0)return true;return t.shiftKey?r===0:r===e.length-1}moveFocusAfterTab(t){if(t){this.focusAnchor();return}const n=this.options.getAnchor();const e=this.anchorFocusTarget;if(!n||!e)return;const r=u(n.ownerDocument,this.options.getPopup());const i=r.indexOf(e);if(i<0||r.length===0){this.focusAnchor();return}r[(i+1)%r.length]?.focus()}get anchorFocusTarget(){const t=this.options.getAnchor();if(!t)return null;if(o(t))return t;return u(t)[0]??t}}export{f as A,n as c,c as e,t as r};
2
- //# sourceMappingURL=p-etg-Uk1u.js.map
@@ -1,2 +0,0 @@
1
- import{p as e,H as o,h as s,a as t,t as a}from"./index.js";import{C as d}from"./p-BnhGV__o.js";import{d as i}from"./p-Cn6AfzeF.js";import{d as c}from"./p-D7K1ZHML.js";import{d as n}from"./p-DjkUFlDW.js";import{d as r}from"./p-0XTyQNRG.js";import{d as l}from"./p-ZwRLjD5M.js";import{d as b}from"./p-C_Ma6Xa-.js";const f=()=>`.sc-ds-code-block-h{display:block;width:100%;min-width:0;box-sizing:border-box;-webkit-user-select:none;user-select:none}.code-block.sc-ds-code-block{width:100%;min-width:0;margin:0;overflow:hidden;border-radius:var(--dimension-radius-050);background:var(--color-background-strong-neutral);color:var(--color-foreground-faint-neutral);box-sizing:border-box}.code-block__header.sc-ds-code-block{display:flex;align-items:center;justify-content:space-between;gap:var(--dimension-space-100);min-height:var(--dimension-size-400);padding:var(--dimension-space-050) var(--dimension-space-100);background:var(--color-background-strong-neutral);box-sizing:border-box}pre.sc-ds-code-block{margin:0;padding:var(--dimension-space-150);overflow:auto;font-family:var( --typography-font-family-code, 'Fira Code', ui-monospace, 'SFMono-Regular', 'Cascadia Code', 'Roboto Mono', Menlo, Monaco, Consolas, 'Liberation Mono', monospace );font-size:var(--typography-fontsize-sm);font-variant-ligatures:var(--ds-code-font-variant-ligatures, normal);font-weight:var(--typography-weight-regular);line-height:var(--typography-lineheight-sm);letter-spacing:var(--typography-letterspacing-none);tab-size:2;-webkit-user-select:text;user-select:text}code.sc-ds-code-block{font:inherit;white-space:pre}`;const p=e(class e extends o{constructor(e){super();if(e!==false){this.__registerHost()}this.code="";this.language="";this.filename="";this.copied=false;this.copyFeedback=new d((e=>{this.copied=e}));this.copy=async()=>{await this.copyFeedback.copy(this.code)}}connectedCallback(){this.copyFeedback.connect()}handleCodeChange(){this.copyFeedback.reset()}disconnectedCallback(){this.copyFeedback.disconnect()}render(){const e=this.filename||this.language||"Code";return s(t,{key:"ecdcbc953ec38eedb47343595ba47393202c3859"},s("figure",{key:"44e9bc8564e1a7793dde2c963919337539ad574c",class:"code-block"},s("figcaption",{key:"964b584e04ca114bcfdfa97fe5537299b7bd6f54",class:"code-block__header"},s("ds-text",{key:"d73fd9100c309343f516a773e02df8d291d139b1",as:"span",variant:"text-caption",emphasis:true,color:"on-strong"},e),s("ds-tooltip",{key:"35b7d42504714f8c7edd49d0745e9a59ce7cd156",label:this.copied?"Copied":"Copy code",side:"bottom",size:"sm"},s("ds-button-unfilled",{key:"fd71653ffe4642b4c54f18c74e2b6857dd85c654",variant:"icon",icon:this.copied?"Check":"Copy",size:"xs","aria-label":this.copied?"Copied":"Copy code",hasBorder:false,onDsClick:this.copy}))),s("pre",{key:"534dd262ef52a5a7e5dce8d068dcaad0b100999f"},s("code",{key:"1367e6f9c3c138de4a9fdc30ead252bbd4964394"},this.code))))}static get watchers(){return{code:[{handleCodeChange:0}]}}static get style(){return f()}},[2,"ds-code-block",{code:[1],language:[1],filename:[1],copied:[32]},undefined,{code:[{handleCodeChange:0}]}]);function m(){if(typeof customElements==="undefined"){return}const e=["ds-code-block","ds-badge","ds-button-unfilled","ds-icon","ds-loader","ds-text","ds-tooltip"];e.forEach((e=>{switch(e){case"ds-code-block":if(!customElements.get(a(e))){customElements.define(a(e),p)}break;case"ds-badge":if(!customElements.get(a(e))){i()}break;case"ds-button-unfilled":if(!customElements.get(a(e))){c()}break;case"ds-icon":if(!customElements.get(a(e))){n()}break;case"ds-loader":if(!customElements.get(a(e))){r()}break;case"ds-text":if(!customElements.get(a(e))){l()}break;case"ds-tooltip":if(!customElements.get(a(e))){b()}break}}))}m();export{p as C,m as d};
2
- //# sourceMappingURL=p-lamoJZE4.js.map
@@ -1,2 +0,0 @@
1
- import{p as s,H as e,c as i,h as t,a,t as r}from"./index.js";import{g as n,i as o}from"./p-BQq26pt9.js";import{C as d,c,a as l,b as h,t as b,v,e as f,f as u,r as p,d as m}from"./p-BxduVc5g.js";import{d as g}from"./p-Cn6AfzeF.js";import{d as _}from"./p-D7K1ZHML.js";import{d as y}from"./p-DjkUFlDW.js";import{d as w}from"./p-0XTyQNRG.js";import{d as x}from"./p-BR5OC2PX.js";import{d as k}from"./p-B6qQaYkB.js";import{d as C}from"./p-C6Aavz9h.js";import{d as T}from"./p-BJJh-Bf7.js";import{d as F}from"./p-ZwRLjD5M.js";import{d as D}from"./p-C_Ma6Xa-.js";function S(s,e,i){if(!s||!e){return{value:"",hideTabs:false}}if(s!==e&&!s.startsWith(`${e}/`)){return{value:"",hideTabs:false}}const t=s.slice(e.length);const a=t.startsWith("/")?t.slice(1).split("/")[0]:"";const r=n(i);if(!a){return{value:r[0]?.id??"",hideTabs:false}}const o=r.find((s=>s.id===a));if(o){return{value:o.id,hideTabs:false}}return{value:"",hideTabs:true}}function E(s,e){return s.length===0&&(e?.length??0)>0}const M=()=>`.sc-ds-bar-nav-h,.sc-ds-bar-nav:where(.ds-table),.sc-ds-bar-nav:where(.tooltip-popup),.sc-ds-bar-nav:where(.ds-radius){--ds-radius-control:var(--dimension-radius-025);--ds-radius-card:var(--dimension-radius-050);--ds-radius-modal:var(--dimension-radius-050);--ds-radius-menu:var(--dimension-radius-075);--ds-radius-tooltip-control:var(--dimension-radius-025);--ds-radius-tooltip-menu:var(--dimension-radius-075);--ds-radius-table:var(--dimension-radius-050)}.ds-control--lg.sc-ds-bar-nav,.ds-control--lg.sc-ds-bar-nav-h,.ds-control--md.sc-ds-bar-nav-h,.ds-control--md.sc-ds-bar-nav,.ds-control--sm.sc-ds-bar-nav-h,.ds-control--sm.sc-ds-bar-nav,.ds-control--xs.sc-ds-bar-nav-h,.ds-control--xs.sc-ds-bar-nav{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-bar-nav-h,.ds-control--lg.sc-ds-bar-nav{--ds-control-height:var(--dimension-size-500);--ds-control-icon:var(--dimension-iconography-lg);--ds-control-padding-inline:var(--dimension-space-100);--ds-control-label-inset:var(--dimension-space-050);--ds-control-gap:var(--dimension-space-050)}.ds-control--md.sc-ds-bar-nav-h,.ds-control--md.sc-ds-bar-nav{--ds-control-height:var(--dimension-size-400);--ds-control-icon:var(--dimension-iconography-md);--ds-control-padding-inline:var(--dimension-space-075);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-050)}.ds-control--sm.sc-ds-bar-nav-h,.ds-control--sm.sc-ds-bar-nav{--ds-control-height:var(--dimension-size-300);--ds-control-icon:var(--dimension-iconography-sm);--ds-control-padding-inline:var(--dimension-space-050);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-025)}.ds-control--xs.sc-ds-bar-nav-h,.ds-control--xs.sc-ds-bar-nav{--ds-control-height:var(--dimension-size-200);--ds-control-icon:var(--dimension-iconography-xs);--ds-control-padding-inline:var(--dimension-space-025);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:0}.ds-control-frame.sc-ds-bar-nav{display:inline-flex;align-items:center;box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400));padding-inline:var(--ds-control-padding-inline, var(--dimension-space-075));gap:var(--ds-control-gap, var(--dimension-space-050));border-radius:var(--ds-control-radius, var(--dimension-radius-025))}.ds-control-section-heading.sc-ds-bar-nav{display:flex;align-items:center;box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400));padding-inline:calc( var(--ds-control-padding-inline, var(--dimension-space-075)) + var(--ds-control-label-inset, var(--dimension-space-025)) )}.ds-control-icon-box.sc-ds-bar-nav{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))}.ds-control-label-box.sc-ds-bar-nav{min-width:0;padding-inline:var(--ds-control-label-inset, var(--dimension-space-025))}.ds-control-label-dot.sc-ds-bar-nav{position:relative;padding-inline-end:calc( var(--ds-control-label-inset, var(--dimension-space-025)) + var(--ds-control-gap, var(--dimension-space-050)) )}.ds-control-label-dot__badge.sc-ds-bar-nav{position:absolute;inset-block-start:0;inset-inline-end:0;pointer-events:none}.ds-chrome-space--sm.sc-ds-bar-nav-h,.ds-chrome-space--sm.sc-ds-bar-nav{--ds-chrome-padding:var(--dimension-space-050);--ds-chrome-gap:var(--dimension-space-050)}.ds-chrome-space--md.sc-ds-bar-nav-h,.ds-chrome-space--md.sc-ds-bar-nav{--ds-chrome-padding:var(--dimension-space-100);--ds-chrome-gap:var(--dimension-space-100)}.ds-chrome-space--lg.sc-ds-bar-nav-h,.ds-chrome-space--lg.sc-ds-bar-nav{--ds-chrome-padding:var(--dimension-space-200);--ds-chrome-gap:var(--dimension-space-200)}.ds-chrome-row.sc-ds-bar-nav-h,.ds-chrome-row.sc-ds-bar-nav,.ds-chrome-column.sc-ds-bar-nav-h,.ds-chrome-column.sc-ds-bar-nav,.ds-chrome-grid.sc-ds-bar-nav-h,.ds-chrome-grid.sc-ds-bar-nav{display:flex;box-sizing:border-box;gap:var(--ds-chrome-gap, var(--dimension-space-100));padding:var(--ds-chrome-padding, var(--dimension-space-100))}.ds-chrome-row.sc-ds-bar-nav-h,.ds-chrome-row.sc-ds-bar-nav{flex-direction:row;align-items:center}.ds-chrome-column.sc-ds-bar-nav-h,.ds-chrome-column.sc-ds-bar-nav{flex-direction:column}.ds-chrome-grid.sc-ds-bar-nav-h,.ds-chrome-grid.sc-ds-bar-nav{display:grid;align-items:center}@media (forced-colors: active){.sc-ds-bar-nav:root,.sc-ds-bar-nav-h,.ds-forced-colors-scope.sc-ds-bar-nav{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.sc-ds-bar-nav-h{--ds-focus-ring-width:var(--dimension-stroke-width-025, 2px);--ds-focus-ring-offset:var(--dimension-space-025, 2px);--ds-focus-ring-color:var(--color-interaction-focus)}.ds-focus-ring.sc-ds-bar-nav-h,.ds-focus-ring.sc-ds-bar-nav,.ds-focus-ring-inset.sc-ds-bar-nav-h,.ds-focus-ring-inset.sc-ds-bar-nav{outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.ds-focus-ring.sc-ds-bar-nav-h:focus-visible,.ds-focus-ring.sc-ds-bar-nav:focus-visible{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring.ds-focus-ring--visible.sc-ds-bar-nav-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-bar-nav{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring-inset.sc-ds-bar-nav-h:focus-visible,.ds-focus-ring-inset.sc-ds-bar-nav:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-bar-nav-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-bar-nav:focus-visible::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-bar-nav-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-bar-nav{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-bar-nav-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-bar-nav::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}@media (forced-colors: active){.sc-ds-bar-nav-h{--ds-focus-ring-color:var(--ds-forced-color-selected)}}@media (forced-colors: active){.sc-ds-bar-nav:root,.sc-ds-bar-nav-h,.ds-forced-colors-scope.sc-ds-bar-nav{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.ds-control-inactive.sc-ds-bar-nav-h,.ds-control-inactive.sc-ds-bar-nav{opacity:var(--effect-opacity-medium);pointer-events:none;cursor:not-allowed}@media (forced-colors: active){.ds-control-inactive.sc-ds-bar-nav-h,.ds-control-inactive.sc-ds-bar-nav{color:var(--ds-forced-color-disabled);opacity:1}}.sc-ds-bar-nav-h{display:block}.bar-nav.sc-ds-bar-nav{position:relative;height:var(--dimension-size-600);border-bottom:var(--dimension-stroke-width-012) solid var(--_bar-nav-border);background-color:var(--_bar-nav-bg);color:var(--_bar-nav-fg-primary);-webkit-user-select:none;user-select:none;overflow:hidden;transition:background-color var(--effect-motion-short-3), border-color var(--effect-motion-short-3), color var(--effect-motion-short-3);isolation:isolate;--_bar-nav-bg:var(--color-background-secondary);--_bar-nav-border:var(--color-border-tertiary);--_bar-nav-fg-primary:var(--color-foreground-primary);--_bar-nav-fg-secondary:var(--color-foreground-secondary);--_bar-nav-hover:var(--color-interaction-hover);--_bar-nav-pressed:var(--color-interaction-pressed);--_bar-nav-focus:var(--color-interaction-focus);--_bar-nav-dot:var(--color-foreground-bold-brand);--ds-focus-ring-color:var(--_bar-nav-focus)}.bar-nav--dashboard.sc-ds-bar-nav,.bar-nav--settings.sc-ds-bar-nav{--_bar-nav-bg:var(--color-background-secondary);--_bar-nav-border:var(--color-border-tertiary);--_bar-nav-fg-primary:var(--color-foreground-primary);--_bar-nav-fg-secondary:var(--color-foreground-secondary);--_bar-nav-hover:var(--color-interaction-hover);--_bar-nav-pressed:var(--color-interaction-pressed);--_bar-nav-focus:var(--color-interaction-focus);--_bar-nav-dot:var(--color-foreground-bold-brand)}ds-shell-app.sc-ds-bar-nav-h:not([gradient-preset='none']) .bar-nav.sc-ds-bar-nav,ds-shell-app:not([gradient-preset='none']) .sc-ds-bar-nav-h .bar-nav.sc-ds-bar-nav,ds-shell-app.shell-app--paper-texture.sc-ds-bar-nav-h .bar-nav.sc-ds-bar-nav,ds-shell-app.shell-app--paper-texture .sc-ds-bar-nav-h .bar-nav.sc-ds-bar-nav{background-color:transparent}.bar-nav.sc-ds-bar-nav>.sc-ds-bar-nav:not(.bar-nav__tabs-probe){position:relative;z-index:3}.bar-nav--tabs-collapsed.sc-ds-bar-nav{display:flex;gap:var(--dimension-space-100);align-items:center}.bar-nav__left.sc-ds-bar-nav{position:relative;flex:1 1 0%;min-width:0;width:0;display:flex;align-items:center}.bar-nav__tabs-visible.sc-ds-bar-nav{flex:1;min-width:0;width:100%}.bar-nav__tabs-probe.sc-ds-bar-nav{position:absolute;left:0;top:0;visibility:hidden;pointer-events:none;overflow:visible;width:max-content;max-width:none;z-index:-1}.bar-nav__tabs-probe.sc-ds-bar-nav>div.sc-ds-bar-nav{width:max-content}.bar-nav__tab-list.sc-ds-bar-nav{display:flex;align-items:center;gap:var(--dimension-space-050);position:relative;width:max-content}.bar-nav__tab.sc-ds-bar-nav{display:flex;align-items:center;justify-content:center;gap:var(--ds-control-gap);height:var(--ds-control-height);min-width:var(--ds-control-height);padding:0 var(--ds-control-padding-inline);box-sizing:border-box;border:none;border-radius:var(--ds-control-radius);background-color:transparent;color:var(--_bar-nav-fg-secondary);cursor:default;position:relative;flex-shrink:0;-webkit-user-select:none;user-select:none;transition:color var(--effect-motion-short-2)}.bar-nav__tab.sc-ds-bar-nav::after{content:'';position:absolute;inset:0;border-radius:var(--ds-control-radius);background:transparent;pointer-events:none;cursor:inherit}@media (hover: hover) and (pointer: fine){.bar-nav__tab.sc-ds-bar-nav:hover::after{background:var(--_bar-nav-hover)}}.bar-nav__tab.sc-ds-bar-nav:active::after{background:var(--_bar-nav-pressed)}.bar-nav__tab--selected.sc-ds-bar-nav{color:var(--_bar-nav-fg-primary)}.bar-nav__tab-label.sc-ds-bar-nav{display:inline-flex;align-items:center;white-space:nowrap}.bar-nav__tab-divider.sc-ds-bar-nav{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--dimension-space-100);height:var(--ds-control-height);padding-block:var(--ds-control-padding-inline);flex-shrink:0;pointer-events:none}.bar-nav__tab-divider-line.sc-ds-bar-nav{width:var(--dimension-stroke-width-012);align-self:stretch;background-color:var(--_bar-nav-border)}.bar-nav__tabs-pending.sc-ds-bar-nav{flex:1;min-width:0;height:var(--ds-control-height);visibility:hidden;pointer-events:none}.bar-nav__overflow-trigger.sc-ds-bar-nav{margin-left:auto;--ds-button-unfilled-fg:var(--_bar-nav-fg-secondary);--ds-button-unfilled-fg-active:var(--_bar-nav-fg-primary);--ds-interaction-hover:var(--_bar-nav-hover);--ds-interaction-pressed:var(--_bar-nav-pressed);--ds-focus-ring-color:var(--_bar-nav-focus)}ds-text.bar-nav__heading.sc-ds-bar-nav{display:inline-flex;align-items:center;height:var(--ds-control-height);padding-inline:calc(var(--ds-control-padding-inline) + var(--ds-control-label-inset));-webkit-user-select:none;user-select:none}`;const O=s(class s extends e{constructor(s){super();if(s!==false){this.__registerHost()}this.dsTabChange=i(this,"dsTabChange",7);this.navStyle="dashboard";this.tabs=[];this.value="";this.basePath="";this.currentUrl="";this.moreTabsLabel="More tabs";this.resolvedTabs=[];this.urlDerivedValue="";this.hideTabsForDetailRoute=false;this.tabsCollapsed=false;this.menuOpen=false;this.menuTriggerActive=false;this.tabLayoutCommitted=false;this.visibleTabs=[];this.overflowTabs=[];this.menuInitialFocusVisible=false;this.overflowRovingFocused=false;this.focusedTabId="";this.headerEl=null;this.triggerEl=null;this.menuEl=null;this.visibleTabListEl=null;this.probeTabListEl=null;this.resizeObserver=null;this.intrinsicWidthRetryCount=0;this.tabLayoutPendingFrames=0;this.panelNavTransition=new d;this.panelToolsTransition=new d;this.overflowCoalescer=c((()=>{this.updateTabsCollapsed()}));this.chromeTransitionShell=null;this.committedSection="";this.pendingSection="";this.onChromeTransitionStart=s=>{const e=p(s);if(e==="panel-nav"){this.panelNavTransition.enter();return}if(e==="panel-tools"){const e=m(s)??"opening";if(e==="closing"){this.panelToolsTransition.enter()}}};this.onChromeTransitionEnd=s=>{const e=p(s);if(e==="panel-nav"){this.panelNavTransition.exit();if(!this.panelNavTransition.isActive){this.scheduleOverflowCheck()}return}if(e==="panel-tools"){this.panelToolsTransition.exit();this.scheduleOverflowCheck()}};this.handleOverflowFocus=()=>{this.overflowRovingFocused=true};this.handleOverflowBlur=()=>{this.overflowRovingFocused=false}}get effectiveValue(){if(this.currentUrl&&this.basePath){return this.urlDerivedValue}return this.value}get renderedSelectableTabs(){const s=this.hasOverflowTabs?this.visibleTabs:this.resolvedTabs;return n(s)}get hasOverflowTabs(){return this.tabLayoutCommitted&&this.tabsCollapsed&&this.overflowTabs.length>0}syncFocusedTabId(s,e){if(e.some((e=>e.id===s&&!e.isInactive))){this.focusedTabId=s;return}const i=e.find((s=>!s.isInactive));this.focusedTabId=i?.id??""}digestTabsConfig(s){return s.map((s=>o(s)?"|":s.id)).join(",")}resetTabOverflowLayout(){this.tabLayoutCommitted=false;this.tabsCollapsed=false;this.menuOpen=false;this.menuTriggerActive=false;this.menuInitialFocusVisible=false;this.intrinsicWidthRetryCount=0;this.tabLayoutPendingFrames=0;this.visibleTabs=[];this.overflowTabs=[]}onHostPropsChange(){this.applyHostProps()}onSelectionChange(){this.syncFocusedTabId(this.effectiveValue,this.renderedSelectableTabs);this.syncMenuSections();this.scheduleOverflowCheck()}onMenuOpenChange(s){if(this.menuEl){this.menuEl.open=s}}onTabsCollapsedChange(s,e){if(!s){this.menuOpen=false;this.menuTriggerActive=false;this.menuInitialFocusVisible=false;this.menuEl=null}this.scheduleOverflowCheck();if(s){requestAnimationFrame((()=>{this.scheduleOverflowCheck()}))}if(s||e===undefined||e===s)return;requestAnimationFrame((()=>this.scheduleOverflowCheck()));queueMicrotask((()=>this.focusVisibleSelectedTab()))}componentWillLoad(){this.applyHostProps();this.syncFocusedTabId(this.effectiveValue,n(this.resolvedTabs))}componentDidLoad(){this.syncHostPropsIfNeeded();this.scheduleDeferredHostPropSync();this.setupOverflowObserver();this.bindChromeTransitionListeners();this.scheduleOverflowCheck()}componentDidRender(){if(this.chromeOverflowPaused()){this.syncMenuAnchor();return}this.scheduleOverflowCheck();this.syncMenuAnchor()}disconnectedCallback(){this.resizeObserver?.disconnect();this.resizeObserver=null;this.overflowCoalescer.cancel();this.unbindChromeTransitionListeners()}bindChromeTransitionListeners(){const s=this.el.closest("ds-shell-app");if(!s)return;this.chromeTransitionShell=s;s.addEventListener(l,this.onChromeTransitionStart);s.addEventListener(h,this.onChromeTransitionEnd)}unbindChromeTransitionListeners(){if(!this.chromeTransitionShell)return;this.chromeTransitionShell.removeEventListener(l,this.onChromeTransitionStart);this.chromeTransitionShell.removeEventListener(h,this.onChromeTransitionEnd);this.chromeTransitionShell=null}chromeOverflowPaused(){return this.panelNavTransition.isActive||this.panelToolsTransition.isActive}syncHostPropsIfNeeded(){if(E(this.resolvedTabs,this.tabs)){this.applyHostProps()}else if(this.currentUrl&&this.basePath){this.syncValueFromUrl()}}scheduleDeferredHostPropSync(){let e=s.HOST_PROP_SYNC_BUDGET;const i=()=>{this.syncHostPropsIfNeeded();if(--e>0){requestAnimationFrame(i)}};queueMicrotask(i)}setupOverflowObserver(){if(typeof ResizeObserver==="undefined"||!this.headerEl)return;this.resizeObserver?.disconnect();this.resizeObserver=new ResizeObserver((()=>{if(this.chromeOverflowPaused())return;this.scheduleOverflowCheck()}));this.resizeObserver.observe(this.headerEl)}scheduleOverflowCheck(){if(this.chromeOverflowPaused())return;this.overflowCoalescer.schedule()}getLeftZoneAvailableWidth(){if(!this.headerEl)return 0;const s=getComputedStyle(this.headerEl);const e=(parseFloat(s.paddingLeft)||0)+(parseFloat(s.paddingRight)||0);return Math.max(0,this.headerEl.clientWidth-e)}getTabsIntrinsicWidth(){return this.probeTabListEl?.scrollWidth??0}getHeaderGap(){if(!this.headerEl)return 0;const s=getComputedStyle(this.headerEl);return parseFloat(s.columnGap||s.gap)||0}getOverflowTriggerReserveWidth(){if(!this.triggerEl){return 40}return this.triggerEl.getBoundingClientRect().width+this.getHeaderGap()}getProbeTabMetrics(){const s=this.probeTabListEl;if(!s)return null;const e=Array.from(s.children);const i=e.map((s=>s.getBoundingClientRect().width));if(i.length===0||i.some((s=>s===0)))return null;const t=getComputedStyle(s);const a=parseFloat(t.columnGap||t.gap)||0;const r=i.reduce(((s,e)=>s+e),0);const n=a*Math.max(0,i.length-1);const o=Math.max(0,s.scrollWidth-r-n);return{itemWidths:i,itemGap:a,listExtraWidth:o}}setOverflowTabLayout(s,e){const i=e.length>0;const t=this.digestTabsConfig(s)!==this.digestTabsConfig(this.visibleTabs);const a=this.digestTabsConfig(e)!==this.digestTabsConfig(this.overflowTabs);if(t){this.visibleTabs=s}if(a){this.overflowTabs=e}if(i!==this.tabsCollapsed){this.tabsCollapsed=i;if(!i){this.menuOpen=false;this.menuTriggerActive=false}}this.syncFocusedTabId(this.effectiveValue,n(i?s:this.resolvedTabs))}scheduleIntrinsicWidthRetry(){if(this.intrinsicWidthRetryCount>=s.INTRINSIC_WIDTH_RETRY_MAX)return;this.intrinsicWidthRetryCount++;requestAnimationFrame((()=>this.scheduleOverflowCheck()))}forceTabLayoutCommit(s){this.intrinsicWidthRetryCount=0;this.tabLayoutPendingFrames=0;this.setOverflowTabLayout(s?[]:this.resolvedTabs,s?this.resolvedTabs:[]);this.tabLayoutCommitted=true}updateTabsCollapsed(){if(!this.headerEl||this.resolvedTabs.length===0||this.hideTabsForDetailRoute){if(this.tabsCollapsed){this.setOverflowTabLayout([],[])}this.intrinsicWidthRetryCount=0;this.tabLayoutPendingFrames=0;this.tabLayoutCommitted=true;return}const e=this.getProbeTabMetrics();const i=this.getTabsIntrinsicWidth();if(!e||i===0){this.tabLayoutPendingFrames+=1;if(this.intrinsicWidthRetryCount>=s.INTRINSIC_WIDTH_RETRY_MAX){this.forceTabLayoutCommit(false)}else if(this.tabLayoutPendingFrames>=s.TAB_LAYOUT_COMMIT_MAX_FRAMES){this.forceTabLayoutCommit(false)}else{this.scheduleIntrinsicWidthRetry()}return}this.intrinsicWidthRetryCount=0;this.tabLayoutPendingFrames=0;const t=b(i,this.getLeftZoneAvailableWidth(),this.tabsCollapsed,s.OVERFLOW_HYSTERESIS_PX);if(!t){this.setOverflowTabLayout(this.resolvedTabs,[]);this.tabLayoutCommitted=true;return}const a=v(e.itemWidths,this.getLeftZoneAvailableWidth(),this.getOverflowTriggerReserveWidth(),e.itemGap,e.listExtraWidth);const r=f(this.resolvedTabs.slice(0,a));const n=this.resolvedTabs.slice(r.length);this.setOverflowTabLayout(r,n);this.tabLayoutCommitted=true}syncMenuAnchor(){if(!this.menuEl||!this.triggerEl||!this.hasOverflowTabs)return;this.menuEl.anchor=this.triggerEl;this.syncMenuSections()}handleMenuSelect(s){const e=s.detail;if(e?.value!==undefined){this.selectTab(String(e.value))}this.menuOpen=false;this.menuInitialFocusVisible=false}handleMenuClose(){this.menuOpen=false;this.menuInitialFocusVisible=false}handleMenuAfterClose(){if(!this.menuOpen)this.menuTriggerActive=false}incomingTabs(){return this.tabs??[]}applyHostProps(){const s=this.basePath;const e=s!==""&&this.committedSection!==""&&s!==this.committedSection;if(e){this.urlDerivedValue="";this.committedSection="";this.pendingSection=s;this.resolvedTabs=[];this.resetTabOverflowLayout();return}if(this.pendingSection){if(!s||s!==this.pendingSection){return}if(!this.currentUrl.startsWith(this.pendingSection)){return}const e=this.incomingTabs();if(e.length===0){return}this.pendingSection=""}const i=this.incomingTabs();const t=this.digestTabsConfig(i)!==this.digestTabsConfig(this.resolvedTabs);this.resolvedTabs=i;this.syncValueFromUrl();this.committedSection=s;if(t){this.resetTabOverflowLayout()}this.scheduleOverflowCheck()}syncMenuSections(){if(!this.menuEl)return;this.menuEl.sections=u(this.overflowTabs,this.effectiveValue)}syncValueFromUrl(){const s=this.incomingTabs();if(!this.currentUrl||!this.basePath){this.urlDerivedValue="";this.hideTabsForDetailRoute=false;return}if(!this.currentUrl.startsWith(this.basePath)){this.urlDerivedValue="";this.hideTabsForDetailRoute=false;return}const{value:e,hideTabs:i}=S(this.currentUrl,this.basePath,s);this.urlDerivedValue=e;this.hideTabsForDetailRoute=i}selectTab(s){this.value=s;this.dsTabChange.emit(s)}focusVisibleSelectedTab(){const s=this.visibleTabListEl?.querySelector(`[data-tab-id="${this.effectiveValue}"]`);s?.focus({preventScroll:true})}focusVisibleTab(s){this.focusedTabId=s;const e=this.visibleTabListEl?.querySelector(`[data-tab-id="${s}"]`);e?.focus({preventScroll:true})}focusLastVisibleTab(){const s=[...this.renderedSelectableTabs].reverse().find((s=>!s.isInactive));if(s)this.focusVisibleTab(s.id)}findEnabledVisibleTab(s,e){const i=this.renderedSelectableTabs;for(let t=s+e;t>=0&&t<i.length;t+=e){if(!i[t]?.isInactive)return t}return null}handleTabKeyDown(s){const e=this.renderedSelectableTabs;if(!e.length)return;const i=s.target?.getAttribute("data-tab-id");const t=i??this.focusedTabId;if(s.key==="Enter"||s.key===" "){const i=e.find((s=>s.id===t));if(!i||i.isInactive)return;s.preventDefault();this.selectTab(i.id);return}const a=e.findIndex((s=>s.id===t));if(a<0)return;let r;if(s.key==="ArrowRight"){r=this.findEnabledVisibleTab(a,1);if(r===null&&this.hasOverflowTabs){s.preventDefault();this.overflowRovingFocused=true;void this.triggerEl?.setFocus?.();return}}else if(s.key==="ArrowLeft"){r=this.findEnabledVisibleTab(a,-1)}else if(s.key==="Home"){r=e.findIndex((s=>!s.isInactive))}else if(s.key==="End"){const s=[...e].reverse().findIndex((s=>!s.isInactive));r=s<0?null:e.length-1-s}else{return}if(r===null||r<0||r===a)return;s.preventDefault();this.focusVisibleTab(e[r].id)}toggleTabMenu(s){if(this.menuOpen){this.menuOpen=false;this.menuInitialFocusVisible=false;return}if(this.menuEl&&this.triggerEl){this.menuEl.anchor=this.triggerEl;this.menuEl.minWidth="";this.syncMenuSections()}this.menuInitialFocusVisible=s?.focusVisible??false;this.menuTriggerActive=true;this.menuOpen=true}handleTriggerKeyDown(s){if(!this.hasOverflowTabs)return;if(!this.menuOpen){if(s.key==="ArrowLeft"){s.preventDefault();this.overflowRovingFocused=false;this.focusLastVisibleTab();return}if(s.key==="Enter"||s.key===" "){s.preventDefault();this.toggleTabMenu({focusVisible:true})}return}if(s.key==="Escape"){s.preventDefault();this.menuOpen=false;this.menuInitialFocusVisible=false;void this.triggerEl?.setFocus?.()}}renderTabList(s,e){return t("div",{role:"tablist",class:"bar-nav__tab-list","aria-label":this.heading,ref:s=>{if(e){const e=s??null;if(e===this.probeTabListEl)return;this.probeTabListEl=e;if(e){this.intrinsicWidthRetryCount=0;this.tabLayoutPendingFrames=0;this.scheduleOverflowCheck()}}else{this.visibleTabListEl=s??null}},onKeyDown:e?undefined:s=>this.handleTabKeyDown(s),onFocusin:e?undefined:()=>{this.overflowRovingFocused=false}},s.map(((s,i)=>{if(o(s)){return t("div",{class:"bar-nav__tab-divider",key:`divider-${i}`,"aria-hidden":"true"},t("div",{class:"bar-nav__tab-divider-line"}))}const a=s.id===this.effectiveValue;return t("button",{key:s.id,type:"button",role:"tab","data-tab-id":s.id,class:{"bar-nav__tab":true,"bar-nav__tab--selected":a,"ds-control--md":true,"ds-focus-ring-inset":true,"ds-control-inactive":!!s.isInactive},"aria-selected":a?"true":"false","aria-disabled":s.isInactive?"true":undefined,"aria-controls":s.panelId??undefined,disabled:s.isInactive,tabIndex:!e&&!this.overflowRovingFocused&&s.id===this.focusedTabId?0:-1,onClick:()=>!e&&!s.isInactive&&this.selectTab(s.id),onFocus:()=>{if(!e)this.focusedTabId=s.id}},t("span",{class:{"bar-nav__tab-label":true,"ds-control-label-box":true,"ds-control-label-dot":!!s.dot,"bar-nav__tab-label--dot":!!s.dot}},t("ds-text",{as:"span",variant:"text-body-medium",emphasis:a,color:"inherit"},s.label),s.dot&&t("ds-badge",{class:"bar-nav__tab-dot ds-control-label-dot__badge",variant:"dot",hasRing:false,label:"","aria-hidden":"true"})))})))}render(){const s=this.basePath===""||this.committedSection===this.basePath;const e=s&&this.resolvedTabs.length>0&&!this.hideTabsForDetailRoute;const i=this.basePath||"no-section";const r=this.hasOverflowTabs?this.visibleTabs:this.resolvedTabs;return t(a,{key:"ee99352c39d293f5d510e8dfb549aa8c4eec79f0"},t("header",{key:"09d618fdd79b251c412c527ebdeb3e8e3064e713",class:{"bar-nav":true,"ds-control--md":true,"ds-chrome-row":true,"ds-chrome-space--md":true,"bar-nav--dashboard":this.navStyle==="dashboard","bar-nav--settings":this.navStyle==="settings","bar-nav--tabs-collapsed":e&&this.hasOverflowTabs},ref:s=>{this.headerEl=s;if(s&&!this.resizeObserver){this.setupOverflowObserver()}}},e&&t("div",{key:"05866e84bf84ca0597dfd297444aabc40b797726",class:"bar-nav__tabs-probe","aria-hidden":"true",inert:true},t("div",{key:`probe-${i}`},this.renderTabList(this.resolvedTabs,true))),e&&this.tabLayoutCommitted&&r.length>0&&t("div",{key:"81de5d4ada7b751df602bbe39324fa37100f12c3",class:"bar-nav__left"},t("div",{key:`visible-${i}`,class:"bar-nav__tabs-visible"},this.renderTabList(r,false))),e&&!this.tabLayoutCommitted&&t("div",{key:"1ceae267e6d4c4d431bd1531a28bf6cbeb7326c9",class:"bar-nav__tabs-pending","aria-hidden":"true"}),!e&&this.heading&&t("ds-text",{key:"0fb03ffbeb4447cb7121ee038853418856c6b385",class:"bar-nav__heading",lineTruncation:1,as:"span",variant:"text-body-medium",emphasis:true,color:"primary",wrap:"nowrap"},this.heading),e&&this.hasOverflowTabs&&t("ds-button-unfilled",{key:"4d99bb71cf19e5124e0785098fd887ad20e9f149",variant:"icon",class:{"bar-nav__overflow-trigger":true},icon:"ChevronDown",activeFill:false,hasBorder:false,focusTabIndex:this.overflowRovingFocused?0:-1,ref:s=>{this.triggerEl=s??null},haspopup:"menu",expanded:this.menuOpen,surfaceOpen:this.menuTriggerActive,"aria-label":this.moreTabsLabel,onDsClick:()=>this.toggleTabMenu({focusVisible:false}),onFocusin:this.handleOverflowFocus,onFocusout:this.handleOverflowBlur,onKeyDown:s=>this.handleTriggerKeyDown(s)})),e&&this.hasOverflowTabs&&t("ds-menu",{key:"7bea07f7f086339bf8852a9afd6300c43d96d636",ref:s=>{this.menuEl=s??null},open:this.menuOpen,sections:u(this.overflowTabs,this.effectiveValue),side:"bottom",align:"end",sideOffset:"calc(var(--dimension-space-100) + var(--dimension-space-050))",initialFocusVisible:this.menuInitialFocusVisible,onDsSelect:s=>this.handleMenuSelect(s),onDsClose:()=>this.handleMenuClose(),onDsAfterClose:()=>this.handleMenuAfterClose()}))}get el(){return this}static get watchers(){return{tabs:[{onHostPropsChange:0}],currentUrl:[{onHostPropsChange:0}],basePath:[{onHostPropsChange:0}],value:[{onSelectionChange:0}],urlDerivedValue:[{onSelectionChange:0}],menuOpen:[{onMenuOpenChange:0}],tabsCollapsed:[{onTabsCollapsedChange:0}]}}static get style(){return M()}},[2,"ds-bar-nav",{navStyle:[513,"nav-style"],tabs:[16],value:[1025],heading:[1],basePath:[1,"base-path"],currentUrl:[1,"current-url"],moreTabsLabel:[1,"more-tabs-label"],resolvedTabs:[32],urlDerivedValue:[32],hideTabsForDetailRoute:[32],tabsCollapsed:[32],menuOpen:[32],menuTriggerActive:[32],tabLayoutCommitted:[32],visibleTabs:[32],overflowTabs:[32],menuInitialFocusVisible:[32],overflowRovingFocused:[32],focusedTabId:[32],committedSection:[32],pendingSection:[32]},undefined,{tabs:[{onHostPropsChange:0}],currentUrl:[{onHostPropsChange:0}],basePath:[{onHostPropsChange:0}],value:[{onSelectionChange:0}],urlDerivedValue:[{onSelectionChange:0}],menuOpen:[{onMenuOpenChange:0}],tabsCollapsed:[{onTabsCollapsedChange:0}]}]);O.HOST_PROP_SYNC_BUDGET=8;O.INTRINSIC_WIDTH_RETRY_MAX=3;O.TAB_LAYOUT_COMMIT_MAX_FRAMES=16;O.OVERFLOW_HYSTERESIS_PX=8;function j(){if(typeof customElements==="undefined"){return}const s=["ds-bar-nav","ds-badge","ds-button-unfilled","ds-icon","ds-loader","ds-menu","ds-swatch-picker","ds-switch","ds-tag","ds-text","ds-tooltip"];s.forEach((s=>{switch(s){case"ds-bar-nav":if(!customElements.get(r(s))){customElements.define(r(s),O)}break;case"ds-badge":if(!customElements.get(r(s))){g()}break;case"ds-button-unfilled":if(!customElements.get(r(s))){_()}break;case"ds-icon":if(!customElements.get(r(s))){y()}break;case"ds-loader":if(!customElements.get(r(s))){w()}break;case"ds-menu":if(!customElements.get(r(s))){x()}break;case"ds-swatch-picker":if(!customElements.get(r(s))){k()}break;case"ds-switch":if(!customElements.get(r(s))){C()}break;case"ds-tag":if(!customElements.get(r(s))){T()}break;case"ds-text":if(!customElements.get(r(s))){F()}break;case"ds-tooltip":if(!customElements.get(r(s))){D()}break}}))}j();export{O as B,j as d};
2
- //# sourceMappingURL=p-mxZoWfnS.js.map
@@ -1,2 +0,0 @@
1
- import{h as e}from"./index.js";import{C as o,a as s}from"./p-CGidq1iC.js";const a=({size:s="md",heading:a,ariaLabel:t,className:n},i)=>e("div",{class:`ds-choice-list ds-chrome-column ds-chrome-space--sm ${n??""}`.trim(),role:"listbox","aria-label":t},a?e("ds-text",{class:`ds-choice-section__header ds-control-section-heading ds-control--${s}`,as:"div",variant:o[s],color:"primary",emphasis:true,"aria-hidden":"true"},a):null,i);const t=({size:o="md",hasFocusBoundary:s=true,hasInteractionFill:a=true,value:t,placeholder:n,ariaLabel:i,controls:c,activeDescendant:r,disabled:l=false,inputRef:d,clearLabel:u,onValueChange:f,onClear:m,onKeyDown:p})=>e("div",{class:{"select-search":true,"select-search--without-focus-boundary":!s}},e("ds-input",{class:"select-search__control",ref:e=>d(e??null),type:"search",size:o,width:"fill",value:t,placeholder:n,icon:"MagnifyingGlass",clearLabel:u,isInactive:l,hasBorder:false,hasInteractionFill:a,ariaLabel:i??n,ariaControls:c,ariaActiveDescendant:r,onKeyDown:p,onDsChange:e=>{e.stopPropagation();f(e.detail)},onDsClear:e=>{e.stopPropagation();m?.()}}));const n=({size:o="md",clearLabel:a,summary:t,compactSummary:n,useCompactSummary:i=false,contentRef:c,summaryMeasureRef:r,clearRef:l,onClear:d})=>e("div",{class:"ds-choice-footer"},e("div",{ref:e=>c?.(e??null),class:`ds-choice-footer__content ds-control--${o}`},t&&[e("ds-text",{key:"summary",class:"ds-choice-footer__summary",as:"span",variant:s[o],color:"secondary"},i?n??t:t),e("ds-text",{key:"summary-measure",ref:e=>r?.(e??null),class:"ds-choice-footer__summary-measure",as:"span",variant:s[o],color:"secondary","aria-hidden":"true"},t)],e("button",{ref:e=>l?.(e??null),type:"button",class:"ds-choice-footer__clear ds-text-action ds-focus-ring",onClick:d},e("ds-text",{as:"span",variant:s[o],color:"inherit"},a))));const i=({size:o="md",label:a,onAction:t})=>e("div",{class:"ds-choice-footer"},e("div",{class:`ds-choice-footer__content ds-control--${o}`},e("button",{type:"button",class:"ds-choice-footer__action ds-text-action ds-focus-ring",onClick:t},e("ds-text",{as:"span",variant:s[o],color:"inherit"},a))));const c=({size:a="md",id:t,option:n,selected:i,active:c,focusRingVisible:r,usesSubtext:l,leading:d,supporting:u,action:f,actionOpen:m=false,popupRole:p="listbox",tabIndex:h,onFocus:v,onKeyDown:b,onHover:y,onSelect:_})=>{const x=p==="grid";return e("div",{id:x?t:undefined,role:x?"row":undefined,"aria-selected":x?String(i):undefined,"aria-disabled":x&&n.isInactive?"true":undefined,class:{"select-option-row":true,"select-option-row--has-action":!!f,"select-option-row--action-open":m,"select-option-row--keyboard-active":!!f&&c&&r}},e("div",{id:x?undefined:t,class:{"select-option":true,"ds-choice-item":true,"ds-control-frame":true,[`ds-control--${a}`]:true,"ds-focus-ring-inset":true,"ds-focus-ring--visible":c&&r,"ds-interaction-fill":!n.isInactive,"ds-interaction-fill--selected":i&&!n.isInactive,"ds-control-inactive":!!n.isInactive,"select-option--active":c},role:x?"gridcell":"option",tabIndex:h,"aria-selected":x?undefined:String(i),"aria-disabled":!x&&n.isInactive?"true":undefined,onMouseDown:e=>e.preventDefault(),onFocus:v,onKeyDown:b,onMouseMove:()=>{if(!n.isInactive)y()},onClick:_},d,e("div",{class:"ds-choice-item__content ds-interaction-fill__content"},e("ds-text",{class:"ds-choice-item__label ds-control-label-box",as:"span",variant:s[a],color:i?"primary":"secondary"},n.label),u??(l?e("ds-text",{class:"ds-choice-item__subtext ds-control-label-box",as:"span",variant:o[a],color:"secondary"},n.subtext?.trim()||"—"):null))),f&&e("div",{class:"select-option-row__action ds-control-elevation ds-control-elevation--md ds-control-elevation--press-scale",role:x?"gridcell":undefined},f))};export{c as C,t as a,a as b,i as c,n as d};
2
- //# sourceMappingURL=p-xtGGIZmU.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["ChoiceListSection","size","heading","ariaLabel","className","children","h","class","trim","role","as","variant","CONTROL_SUPPORTING_TEXT_VARIANT","color","emphasis","ChoiceSearch","hasFocusBoundary","hasInteractionFill","value","placeholder","controls","activeDescendant","disabled","inputRef","clearLabel","onValueChange","onClear","onKeyDown","ref","element","type","width","icon","isInactive","hasBorder","ariaControls","ariaActiveDescendant","onDsChange","event","stopPropagation","detail","onDsClear","ChoiceFooter","summary","compactSummary","useCompactSummary","contentRef","summaryMeasureRef","clearRef","key","CONTROL_TEXT_VARIANT","onClick","ChoiceActionFooter","label","onAction","ChoiceOptionRow","id","option","selected","active","focusRingVisible","usesSubtext","leading","supporting","action","actionOpen","popupRole","tabIndex","onFocus","onHover","onSelect","grid","undefined","String","onMouseDown","preventDefault","onMouseMove","subtext"],"sources":["src/wc/utils/choice-list-parts.tsx"],"sourcesContent":["import { FunctionalComponent, h, VNode } from '@stencil/core';\nimport type { ChoiceOption } from './choice-list';\nimport {\n CONTROL_SUPPORTING_TEXT_VARIANT,\n CONTROL_TEXT_VARIANT,\n type ControlSize,\n} from './control-text';\n\ninterface ChoiceListSectionProps {\n size?: ControlSize;\n heading?: string;\n ariaLabel: string;\n className?: string;\n}\n\n/** Shared listbox anatomy used when an owning surface composes choice lists directly. */\nexport const ChoiceListSection: FunctionalComponent<ChoiceListSectionProps> = (\n { size = 'md', heading, ariaLabel, className },\n children\n) => (\n <div\n class={`ds-choice-list ds-chrome-column ds-chrome-space--sm ${className ?? ''}`.trim()}\n role=\"listbox\"\n aria-label={ariaLabel}\n >\n {heading ? (\n <ds-text\n class={`ds-choice-section__header ds-control-section-heading ds-control--${size}`}\n as=\"div\"\n variant={CONTROL_SUPPORTING_TEXT_VARIANT[size]}\n color=\"primary\"\n emphasis\n aria-hidden=\"true\"\n >\n {heading}\n </ds-text>\n ) : null}\n {children}\n </div>\n);\n\ninterface ChoiceSearchProps {\n size?: ControlSize;\n hasFocusBoundary?: boolean;\n hasInteractionFill?: boolean;\n value: string;\n placeholder: string;\n ariaLabel?: string;\n controls?: string;\n activeDescendant?: string;\n disabled?: boolean;\n inputRef: (element: HTMLDsInputElement | null) => void;\n clearLabel: string;\n onValueChange: (value: string) => void;\n onClear?: () => void;\n onKeyDown: (event: KeyboardEvent) => void;\n}\n\nexport const ChoiceSearch: FunctionalComponent<ChoiceSearchProps> = ({\n size = 'md',\n hasFocusBoundary = true,\n hasInteractionFill = true,\n value,\n placeholder,\n ariaLabel,\n controls,\n activeDescendant,\n disabled = false,\n inputRef,\n clearLabel,\n onValueChange,\n onClear,\n onKeyDown,\n}) => {\n return (\n <div\n class={{\n 'select-search': true,\n 'select-search--without-focus-boundary': !hasFocusBoundary,\n }}\n >\n <ds-input\n class=\"select-search__control\"\n ref={element => inputRef((element as HTMLDsInputElement) ?? null)}\n type=\"search\"\n size={size}\n width=\"fill\"\n value={value}\n placeholder={placeholder}\n icon=\"MagnifyingGlass\"\n clearLabel={clearLabel}\n isInactive={disabled}\n hasBorder={false}\n hasInteractionFill={hasInteractionFill}\n ariaLabel={ariaLabel ?? placeholder}\n ariaControls={controls}\n ariaActiveDescendant={activeDescendant}\n onKeyDown={onKeyDown}\n onDsChange={(event: CustomEvent<string>) => {\n event.stopPropagation();\n onValueChange(event.detail);\n }}\n onDsClear={(event: CustomEvent<void>) => {\n event.stopPropagation();\n onClear?.();\n }}\n />\n </div>\n );\n};\n\ninterface ChoiceFooterProps {\n size?: ControlSize;\n clearLabel: string;\n summary?: string;\n compactSummary?: string;\n useCompactSummary?: boolean;\n contentRef?: (element: HTMLDivElement | null) => void;\n summaryMeasureRef?: (element: HTMLElement | null) => void;\n clearRef?: (element: HTMLButtonElement | null) => void;\n onClear: (event: MouseEvent) => void;\n}\n\nexport const ChoiceFooter: FunctionalComponent<ChoiceFooterProps> = ({\n size = 'md',\n clearLabel,\n summary,\n compactSummary,\n useCompactSummary = false,\n contentRef,\n summaryMeasureRef,\n clearRef,\n onClear,\n}) => (\n <div class=\"ds-choice-footer\">\n <div\n ref={element => contentRef?.((element as HTMLDivElement) ?? null)}\n class={`ds-choice-footer__content ds-control--${size}`}\n >\n {summary && [\n <ds-text\n key=\"summary\"\n class=\"ds-choice-footer__summary\"\n as=\"span\"\n variant={CONTROL_TEXT_VARIANT[size]}\n color=\"secondary\"\n >\n {useCompactSummary ? (compactSummary ?? summary) : summary}\n </ds-text>,\n <ds-text\n key=\"summary-measure\"\n ref={element => summaryMeasureRef?.((element as HTMLElement) ?? null)}\n class=\"ds-choice-footer__summary-measure\"\n as=\"span\"\n variant={CONTROL_TEXT_VARIANT[size]}\n color=\"secondary\"\n aria-hidden=\"true\"\n >\n {summary}\n </ds-text>,\n ]}\n <button\n ref={element => clearRef?.((element as HTMLButtonElement) ?? null)}\n type=\"button\"\n class=\"ds-choice-footer__clear ds-text-action ds-focus-ring\"\n onClick={onClear}\n >\n <ds-text as=\"span\" variant={CONTROL_TEXT_VARIANT[size]} color=\"inherit\">\n {clearLabel}\n </ds-text>\n </button>\n </div>\n </div>\n);\n\ninterface ChoiceActionFooterProps {\n size?: ControlSize;\n label: string;\n onAction: (event: MouseEvent) => void;\n}\n\nexport const ChoiceActionFooter: FunctionalComponent<ChoiceActionFooterProps> = ({\n size = 'md',\n label,\n onAction,\n}) => (\n <div class=\"ds-choice-footer\">\n <div class={`ds-choice-footer__content ds-control--${size}`}>\n <button\n type=\"button\"\n class=\"ds-choice-footer__action ds-text-action ds-focus-ring\"\n onClick={onAction}\n >\n <ds-text as=\"span\" variant={CONTROL_TEXT_VARIANT[size]} color=\"inherit\">\n {label}\n </ds-text>\n </button>\n </div>\n </div>\n);\n\ninterface ChoiceOptionRowProps {\n size?: ControlSize;\n id: string;\n option: ChoiceOption;\n selected: boolean;\n active: boolean;\n focusRingVisible: boolean;\n usesSubtext: boolean;\n leading?: VNode;\n supporting?: VNode;\n action?: VNode;\n actionOpen?: boolean;\n popupRole?: 'listbox' | 'grid';\n tabIndex?: number;\n onFocus?: () => void;\n onKeyDown?: (event: KeyboardEvent) => void;\n onHover: () => void;\n onSelect: () => void;\n}\n\nexport const ChoiceOptionRow: FunctionalComponent<ChoiceOptionRowProps> = ({\n size = 'md',\n id,\n option,\n selected,\n active,\n focusRingVisible,\n usesSubtext,\n leading,\n supporting,\n action,\n actionOpen = false,\n popupRole = 'listbox',\n tabIndex,\n onFocus,\n onKeyDown,\n onHover,\n onSelect,\n}) => {\n const grid = popupRole === 'grid';\n return (\n <div\n id={grid ? id : undefined}\n role={grid ? 'row' : undefined}\n aria-selected={grid ? String(selected) : undefined}\n aria-disabled={grid && option.isInactive ? 'true' : undefined}\n class={{\n 'select-option-row': true,\n 'select-option-row--has-action': !!action,\n 'select-option-row--action-open': actionOpen,\n 'select-option-row--keyboard-active': !!action && active && focusRingVisible,\n }}\n >\n <div\n id={grid ? undefined : id}\n class={{\n 'select-option': true,\n 'ds-choice-item': true,\n 'ds-control-frame': true,\n [`ds-control--${size}`]: true,\n 'ds-focus-ring-inset': true,\n 'ds-focus-ring--visible': active && focusRingVisible,\n 'ds-interaction-fill': !option.isInactive,\n 'ds-interaction-fill--selected': selected && !option.isInactive,\n 'ds-control-inactive': !!option.isInactive,\n 'select-option--active': active,\n }}\n role={grid ? 'gridcell' : 'option'}\n tabIndex={tabIndex}\n aria-selected={grid ? undefined : String(selected)}\n aria-disabled={!grid && option.isInactive ? 'true' : undefined}\n onMouseDown={event => event.preventDefault()}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n onMouseMove={() => {\n if (!option.isInactive) onHover();\n }}\n onClick={onSelect}\n >\n {leading}\n <div class=\"ds-choice-item__content ds-interaction-fill__content\">\n <ds-text\n class=\"ds-choice-item__label ds-control-label-box\"\n as=\"span\"\n variant={CONTROL_TEXT_VARIANT[size]}\n color={selected ? 'primary' : 'secondary'}\n >\n {option.label}\n </ds-text>\n {supporting ??\n (usesSubtext ? (\n <ds-text\n class=\"ds-choice-item__subtext ds-control-label-box\"\n as=\"span\"\n variant={CONTROL_SUPPORTING_TEXT_VARIANT[size]}\n color=\"secondary\"\n >\n {option.subtext?.trim() || '—'}\n </ds-text>\n ) : null)}\n </div>\n </div>\n {action && (\n <div\n class=\"select-option-row__action ds-control-elevation ds-control-elevation--md ds-control-elevation--press-scale\"\n role={grid ? 'gridcell' : undefined}\n >\n {action}\n </div>\n )}\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}