@ds-mo/ui 15.2.0 → 15.4.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 (504) hide show
  1. package/dist/.package-ready.json +1 -1
  2. package/dist/agent-patterns.json +3 -3
  3. package/dist/agent.json +936 -80
  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-checkbox-group.d.ts +12 -0
  7. package/dist/angular/ds-checkbox-group.js +38 -0
  8. package/dist/angular/ds-checkbox.d.ts +1 -1
  9. package/dist/angular/ds-checkbox.js +3 -3
  10. package/dist/angular/ds-inline-banner-settings.d.ts +12 -0
  11. package/dist/angular/ds-inline-banner-settings.js +38 -0
  12. package/dist/angular/ds-input-time.d.ts +1 -1
  13. package/dist/angular/ds-input-time.js +3 -3
  14. package/dist/angular/ds-input.d.ts +5 -1
  15. package/dist/angular/ds-input.js +10 -4
  16. package/dist/angular/ds-map-entity-marker.d.ts +1 -1
  17. package/dist/angular/ds-map-entity-marker.js +3 -3
  18. package/dist/angular/ds-radio-tile.d.ts +15 -0
  19. package/dist/angular/ds-radio-tile.js +43 -0
  20. package/dist/angular/ds-radio.d.ts +1 -1
  21. package/dist/angular/ds-radio.js +3 -3
  22. package/dist/angular/ds-setting-row-checkbox.d.ts +12 -0
  23. package/dist/angular/ds-setting-row-checkbox.js +38 -0
  24. package/dist/angular/ds-setting-row-radio.d.ts +12 -0
  25. package/dist/angular/ds-setting-row-radio.js +38 -0
  26. package/dist/angular/ds-setting-row-toggle.d.ts +18 -0
  27. package/dist/angular/ds-setting-row-toggle.js +42 -0
  28. package/dist/angular/ds-slider.d.ts +1 -1
  29. package/dist/angular/ds-slider.js +3 -3
  30. package/dist/angular/ds-textarea.d.ts +1 -1
  31. package/dist/angular/ds-textarea.js +3 -3
  32. package/dist/angular/ds-time-picker.d.ts +1 -1
  33. package/dist/angular/ds-time-picker.js +3 -3
  34. package/dist/angular/index.d.ts +1 -1
  35. package/dist/angular/index.js +6 -0
  36. package/dist/angular/number-value-accessor.d.ts +9 -0
  37. package/dist/angular/number-value-accessor.js +39 -0
  38. package/dist/angular/proxies.d.ts +6 -0
  39. package/dist/angular/proxies.js +6 -0
  40. package/dist/angular/radio-value-accessor.d.ts +1 -1
  41. package/dist/angular/radio-value-accessor.js +2 -2
  42. package/dist/angular/select-value-accessor.d.ts +1 -1
  43. package/dist/angular/select-value-accessor.js +2 -2
  44. package/dist/angular/text-value-accessor.d.ts +1 -1
  45. package/dist/angular/text-value-accessor.js +2 -2
  46. package/dist/components/ds-agent-activity.js +1 -1
  47. package/dist/components/ds-agent-questionnaire.js +1 -1
  48. package/dist/components/ds-agent-response.js +1 -1
  49. package/dist/components/ds-agent-response.js.map +1 -1
  50. package/dist/components/ds-agent-source-list.js +1 -1
  51. package/dist/components/ds-agent-tool-call.js +1 -1
  52. package/dist/components/ds-attachment-list.js +1 -1
  53. package/dist/components/ds-badge.js +1 -1
  54. package/dist/components/ds-banner.js +1 -1
  55. package/dist/components/ds-bar-action.js +1 -1
  56. package/dist/components/ds-bar-nav.js +1 -1
  57. package/dist/components/ds-bar-page-title.js +1 -1
  58. package/dist/components/ds-bar-title.js +1 -1
  59. package/dist/components/ds-bar-workflow.js +1 -1
  60. package/dist/components/ds-breadcrumb.js +1 -1
  61. package/dist/components/ds-button-filled.js +1 -1
  62. package/dist/components/ds-button-inverted.js +1 -1
  63. package/dist/components/ds-button-inverted.js.map +1 -1
  64. package/dist/components/ds-button-unfilled.js +1 -1
  65. package/dist/components/ds-calendar.js +1 -1
  66. package/dist/components/ds-card-action-center.js +1 -1
  67. package/dist/components/ds-card-action-center.js.map +1 -1
  68. package/dist/components/ds-card-chart.js +1 -1
  69. package/dist/components/ds-card-navigation.js +1 -1
  70. package/dist/components/ds-card-navigation.js.map +1 -1
  71. package/dist/components/ds-card-overview.js +1 -1
  72. package/dist/components/ds-card-overview.js.map +1 -1
  73. package/dist/components/ds-card-setting.js +1 -1
  74. package/dist/components/ds-card-setting.js.map +1 -1
  75. package/dist/components/ds-card-settings-scope.js +1 -1
  76. package/dist/components/ds-card-settings-scope.js.map +1 -1
  77. package/dist/components/ds-chart-legend.js +1 -1
  78. package/dist/components/ds-chart-legend.js.map +1 -1
  79. package/dist/components/ds-chart.js +1 -1
  80. package/dist/components/ds-checkbox-group.d.ts +11 -0
  81. package/dist/components/ds-checkbox-group.js +2 -0
  82. package/dist/components/ds-checkbox-group.js.map +1 -0
  83. package/dist/components/ds-checkbox.js +1 -1
  84. package/dist/components/ds-chip.js +1 -1
  85. package/dist/components/ds-code-block.js +1 -1
  86. package/dist/components/ds-conversation-list-item.js +1 -1
  87. package/dist/components/ds-conversation-list-item.js.map +1 -1
  88. package/dist/components/ds-conversation-list-section.js +1 -1
  89. package/dist/components/ds-conversation-list.js +1 -1
  90. package/dist/components/ds-data-customize.js +1 -1
  91. package/dist/components/ds-data-customize.js.map +1 -1
  92. package/dist/components/ds-data-filter.js +1 -1
  93. package/dist/components/ds-data-filter.js.map +1 -1
  94. package/dist/components/ds-data-group.js +1 -1
  95. package/dist/components/ds-data-preferences.js +1 -1
  96. package/dist/components/ds-data-preferences.js.map +1 -1
  97. package/dist/components/ds-data-saved-views.js +1 -1
  98. package/dist/components/ds-data-saved-views.js.map +1 -1
  99. package/dist/components/ds-data-search.js +1 -1
  100. package/dist/components/ds-data-search.js.map +1 -1
  101. package/dist/components/ds-data-sort.js +1 -1
  102. package/dist/components/ds-data-toolbar.js +1 -1
  103. package/dist/components/ds-divider.js +1 -1
  104. package/dist/components/ds-empty-state.js +1 -1
  105. package/dist/components/ds-field.js +1 -1
  106. package/dist/components/ds-filter-menu.js +1 -1
  107. package/dist/components/ds-inline-banner-settings.d.ts +11 -0
  108. package/dist/components/ds-inline-banner-settings.js +2 -0
  109. package/dist/components/ds-inline-banner-settings.js.map +1 -0
  110. package/dist/components/ds-input-date.js +1 -1
  111. package/dist/components/ds-input-date.js.map +1 -1
  112. package/dist/components/ds-input-time.js +1 -1
  113. package/dist/components/ds-input-time.js.map +1 -1
  114. package/dist/components/ds-input.js +1 -1
  115. package/dist/components/ds-map-cluster-marker.js +1 -1
  116. package/dist/components/ds-map-entity-marker.js +1 -1
  117. package/dist/components/ds-map-entity-marker.js.map +1 -1
  118. package/dist/components/ds-markdown.js +1 -1
  119. package/dist/components/ds-menu.js +1 -1
  120. package/dist/components/ds-message-actions.js +1 -1
  121. package/dist/components/ds-message-bubble.js +1 -1
  122. package/dist/components/ds-message-bubble.js.map +1 -1
  123. package/dist/components/ds-message-composer.js +1 -1
  124. package/dist/components/ds-message-composer.js.map +1 -1
  125. package/dist/components/ds-message-scroller.js +1 -1
  126. package/dist/components/ds-message.js +1 -1
  127. package/dist/components/ds-mobile-bar-nav.js +1 -1
  128. package/dist/components/ds-mobile-header.js +1 -1
  129. package/dist/components/ds-mobile-section-switcher.js +1 -1
  130. package/dist/components/ds-mobile-sheet-nav.js +1 -1
  131. package/dist/components/ds-modal.js +1 -1
  132. package/dist/components/ds-pagination.js +1 -1
  133. package/dist/components/ds-panel-nav.js +1 -1
  134. package/dist/components/ds-panel-sub-nav.js +1 -1
  135. package/dist/components/ds-panel-sub-nav.js.map +1 -1
  136. package/dist/components/ds-panel-tool-header.js +1 -1
  137. package/dist/components/ds-panel-tool-search.js +1 -1
  138. package/dist/components/ds-panel-tool-search.js.map +1 -1
  139. package/dist/components/ds-panel-tools.js +1 -1
  140. package/dist/components/ds-paper-texture.js +1 -1
  141. package/dist/components/ds-radio-tile.d.ts +11 -0
  142. package/dist/components/ds-radio-tile.js +2 -0
  143. package/dist/components/ds-radio-tile.js.map +1 -0
  144. package/dist/components/ds-radio.js +1 -1
  145. package/dist/components/ds-score.js +1 -1
  146. package/dist/components/ds-scroll-overlay.js +1 -1
  147. package/dist/components/ds-select.js +1 -1
  148. package/dist/components/ds-setting-row-checkbox.d.ts +11 -0
  149. package/dist/components/ds-setting-row-checkbox.js +2 -0
  150. package/dist/components/ds-setting-row-checkbox.js.map +1 -0
  151. package/dist/components/ds-setting-row-radio.d.ts +11 -0
  152. package/dist/components/ds-setting-row-radio.js +2 -0
  153. package/dist/components/ds-setting-row-radio.js.map +1 -0
  154. package/dist/components/ds-setting-row-toggle.d.ts +11 -0
  155. package/dist/components/ds-setting-row-toggle.js +2 -0
  156. package/dist/components/ds-setting-row-toggle.js.map +1 -0
  157. package/dist/components/ds-shell-app.js +1 -1
  158. package/dist/components/ds-shell-app.js.map +1 -1
  159. package/dist/components/ds-shell-page.js +1 -1
  160. package/dist/components/ds-shell-tools.js +1 -1
  161. package/dist/components/ds-skeleton.js +1 -1
  162. package/dist/components/ds-slider.js +1 -1
  163. package/dist/components/ds-slider.js.map +1 -1
  164. package/dist/components/ds-swatch-picker.js +1 -1
  165. package/dist/components/ds-switch.js +1 -1
  166. package/dist/components/ds-tab-group.js +1 -1
  167. package/dist/components/ds-table.js +1 -1
  168. package/dist/components/ds-table.js.map +1 -1
  169. package/dist/components/ds-tag.js +1 -1
  170. package/dist/components/ds-text.js +1 -1
  171. package/dist/components/ds-textarea.js +1 -1
  172. package/dist/components/ds-textarea.js.map +1 -1
  173. package/dist/components/ds-time-picker.js +1 -1
  174. package/dist/components/ds-toast.js +1 -1
  175. package/dist/components/ds-tooltip-chart.js +1 -1
  176. package/dist/components/ds-tooltip.js +1 -1
  177. package/dist/components/ds-typing-indicator.js +1 -1
  178. package/dist/components/p-7TVdPhGR.js +2 -0
  179. package/dist/components/{p-YrnU2fM7.js.map → p-7TVdPhGR.js.map} +1 -1
  180. package/dist/components/{p-7V1AhetH.js → p-B0BQCVkq.js} +2 -2
  181. package/dist/components/p-B0EpvBDs.js +2 -0
  182. package/dist/components/{p-lamoJZE4.js.map → p-B0EpvBDs.js.map} +1 -1
  183. package/dist/components/{p-Cu8o2rOz.js → p-B39iJO8F.js} +2 -2
  184. package/dist/components/p-B9TM6FqC.js +2 -0
  185. package/dist/components/{p-BJJh-Bf7.js.map → p-B9TM6FqC.js.map} +1 -1
  186. package/dist/components/{p-B6qQaYkB.js → p-B9y6azEw.js} +2 -2
  187. package/dist/components/p-BDdlJZyL.js +2 -0
  188. package/dist/components/{p-CZ7hxDy_.js.map → p-BDdlJZyL.js.map} +1 -1
  189. package/dist/components/{p-5SVmAjXY.js → p-BERXvOCf.js} +2 -2
  190. package/dist/components/{p-xhn1cZgU.js → p-BFHpU-uU.js} +2 -2
  191. package/dist/components/{p-CuWPWC3t.js → p-BQspV5U7.js} +2 -2
  192. package/dist/components/p-BWSIw8AQ.js +2 -0
  193. package/dist/components/p-BWSIw8AQ.js.map +1 -0
  194. package/dist/components/p-BhjqYTiY.js +2 -0
  195. package/dist/components/p-BhjqYTiY.js.map +1 -0
  196. package/dist/components/{p-BOhefRMt.js → p-Bk3poU91.js} +2 -2
  197. package/dist/components/{p-QWukusRL.js → p-BnuNaXR2.js} +2 -2
  198. package/dist/components/p-BwdnVqAY.js +2 -0
  199. package/dist/components/p-BwdnVqAY.js.map +1 -0
  200. package/dist/components/p-C4huuwed.js +2 -0
  201. package/dist/components/{p-CRk0TjQv.js.map → p-C4huuwed.js.map} +1 -1
  202. package/dist/components/{p-BtnTQp4K.js → p-C8V4lkVy.js} +2 -2
  203. package/dist/components/p-CJ1NnOEW.js +2 -0
  204. package/dist/components/p-CJ1NnOEW.js.map +1 -0
  205. package/dist/components/p-CPamUzaj.js +2 -0
  206. package/dist/components/{p-CNZ6-kWd.js.map → p-CPamUzaj.js.map} +1 -1
  207. package/dist/components/{p-Dqfc6Nvd.js → p-CUDocY23.js} +2 -2
  208. package/dist/components/{p-Dqfc6Nvd.js.map → p-CUDocY23.js.map} +1 -1
  209. package/dist/components/p-CX6ZxUQT.js +2 -0
  210. package/dist/components/p-CX6ZxUQT.js.map +1 -0
  211. package/dist/components/p-CZNZTcYS.js +2 -0
  212. package/dist/components/p-CZNZTcYS.js.map +1 -0
  213. package/dist/components/p-CbCN9ew9.js +2 -0
  214. package/dist/components/p-CbCN9ew9.js.map +1 -0
  215. package/dist/components/p-CeXf9-X3.js.map +1 -1
  216. package/dist/components/p-Cgn-BORA.js +2 -0
  217. package/dist/components/p-Cgn-BORA.js.map +1 -0
  218. package/dist/components/{p-mux14tWZ.js → p-Co1rUdOR.js} +2 -2
  219. package/dist/components/p-Co1rUdOR.js.map +1 -0
  220. package/dist/components/{p-CGidq1iC.js → p-CuwopElg.js} +2 -2
  221. package/dist/components/p-CwUXroLs.js +2 -0
  222. package/dist/components/{p-etg-Uk1u.js.map → p-CwUXroLs.js.map} +1 -1
  223. package/dist/components/{p-Cn6AfzeF.js → p-CwdRaJER.js} +2 -2
  224. package/dist/components/p-D6FRqNhN.js +2 -0
  225. package/dist/components/p-D6FRqNhN.js.map +1 -0
  226. package/dist/components/{p-ZwRLjD5M.js → p-D8OWhnID.js} +2 -2
  227. package/dist/components/p-DCyJ3_PL.js +2 -0
  228. package/dist/components/{p-BZ_e69zx.js.map → p-DCyJ3_PL.js.map} +1 -1
  229. package/dist/components/{p-C_Ma6Xa-.js → p-DIQiHX0q.js} +2 -2
  230. package/dist/components/{p-B3CZvMXs.js → p-DJDbskZf.js} +2 -2
  231. package/dist/components/p-DRdoGSGX.js +2 -0
  232. package/dist/components/{p-CTGgXIXM.js.map → p-DRdoGSGX.js.map} +1 -1
  233. package/dist/components/{p-C1gaWjOm.js → p-DSZPO06T.js} +2 -2
  234. package/dist/components/{p-uADksYMl.js → p-DSmDyI2o.js} +2 -2
  235. package/dist/components/{p-UY63jmrO.js → p-DVEx-Xg9.js} +2 -2
  236. package/dist/components/p-DXk1eml1.js +2 -0
  237. package/dist/components/{p-Dlp1HqgS.js.map → p-DXk1eml1.js.map} +1 -1
  238. package/dist/components/{p-p0FVyEFa.js → p-DYQa1DVF.js} +2 -2
  239. package/dist/components/p-DYQa1DVF.js.map +1 -0
  240. package/dist/components/p-DYsE6HLk.js +2 -0
  241. package/dist/components/p-DYsE6HLk.js.map +1 -0
  242. package/dist/components/{p-vfCu7XSc.js → p-DZ58Sg5a.js} +2 -2
  243. package/dist/components/p-DebLYW7A.js +2 -0
  244. package/dist/components/p-DebLYW7A.js.map +1 -0
  245. package/dist/components/p-DhKvqh5G.js +2 -0
  246. package/dist/components/p-DhKvqh5G.js.map +1 -0
  247. package/dist/components/{p-DFO5lV_A.js → p-DmSnHVW6.js} +2 -2
  248. package/dist/components/p-Dnt5xUBD.js +2 -0
  249. package/dist/components/{p-BR5OC2PX.js.map → p-Dnt5xUBD.js.map} +1 -1
  250. package/dist/components/p-Doa2blZT.js +2 -0
  251. package/dist/components/{p-BLuqpHvp.js.map → p-Doa2blZT.js.map} +1 -1
  252. package/dist/components/{p-DsLXlxt3.js → p-Dyqd-cub.js} +2 -2
  253. package/dist/components/p-Dyqd-cub.js.map +1 -0
  254. package/dist/components/p-DzvTC27M.js +2 -0
  255. package/dist/components/p-DzvTC27M.js.map +1 -0
  256. package/dist/components/p-JBki_jyY.js +2 -0
  257. package/dist/components/{p-C0JkLR83.js.map → p-JBki_jyY.js.map} +1 -1
  258. package/dist/components/p-MOJmB6vX.js +2 -0
  259. package/dist/components/{p-BzYW1IqO.js.map → p-MOJmB6vX.js.map} +1 -1
  260. package/dist/components/p-TVkFIMXz.js +2 -0
  261. package/dist/components/p-TVkFIMXz.js.map +1 -0
  262. package/dist/components/{p-ER5M085B.js → p-UJMEz8_O.js} +2 -2
  263. package/dist/components/{p-CR-Jjdcn.js → p-_IqSPt5V.js} +2 -2
  264. package/dist/components/p-g0jsfEXz.js +2 -0
  265. package/dist/components/{p-BfF4RZdp.js.map → p-g0jsfEXz.js.map} +1 -1
  266. package/dist/components/{p-BLSSaVWm.js → p-pp1IQN4Z.js} +2 -2
  267. package/dist/docs/components.json +2901 -835
  268. package/dist/framework/angular.d.ts +1 -0
  269. package/dist/framework/angular.js +1 -0
  270. package/dist/lib/shell/index.js +1 -1
  271. package/dist/lib/shell/index.js.map +1 -1
  272. package/dist/lint/index.js +1 -1
  273. package/dist/mcp-data/registry/agent-activity.json +2 -2
  274. package/dist/mcp-data/registry/agent-questionnaire.json +2 -2
  275. package/dist/mcp-data/registry/agent-response.json +3 -3
  276. package/dist/mcp-data/registry/agent-source-list.json +2 -2
  277. package/dist/mcp-data/registry/agent-tool-call.json +2 -2
  278. package/dist/mcp-data/registry/attachment-list.json +2 -2
  279. package/dist/mcp-data/registry/avatar.json +2 -2
  280. package/dist/mcp-data/registry/badge.json +2 -2
  281. package/dist/mcp-data/registry/banner.json +2 -2
  282. package/dist/mcp-data/registry/bar-action.json +2 -2
  283. package/dist/mcp-data/registry/bar-nav.json +5 -5
  284. package/dist/mcp-data/registry/bar-page-title.json +4 -4
  285. package/dist/mcp-data/registry/bar-title.json +4 -4
  286. package/dist/mcp-data/registry/bar-workflow.json +2 -2
  287. package/dist/mcp-data/registry/breadcrumb.json +2 -2
  288. package/dist/mcp-data/registry/button-filled.json +2 -2
  289. package/dist/mcp-data/registry/button-inverted.json +2 -2
  290. package/dist/mcp-data/registry/button-unfilled.json +9 -9
  291. package/dist/mcp-data/registry/calendar.json +2 -2
  292. package/dist/mcp-data/registry/card-action-center.json +2 -2
  293. package/dist/mcp-data/registry/card-chart.json +2 -2
  294. package/dist/mcp-data/registry/card-navigation.json +2 -2
  295. package/dist/mcp-data/registry/card-overview.json +2 -2
  296. package/dist/mcp-data/registry/card-setting.json +50 -15
  297. package/dist/mcp-data/registry/card-settings-scope.json +2 -2
  298. package/dist/mcp-data/registry/chart-legend.json +2 -2
  299. package/dist/mcp-data/registry/chart.json +2 -2
  300. package/dist/mcp-data/registry/checkbox-group.json +246 -0
  301. package/dist/mcp-data/registry/checkbox.json +26 -6
  302. package/dist/mcp-data/registry/chip.json +2 -2
  303. package/dist/mcp-data/registry/code-block.json +2 -2
  304. package/dist/mcp-data/registry/conversation-list-item.json +2 -2
  305. package/dist/mcp-data/registry/conversation-list-section.json +2 -2
  306. package/dist/mcp-data/registry/conversation-list.json +2 -2
  307. package/dist/mcp-data/registry/data-customize.json +3 -3
  308. package/dist/mcp-data/registry/data-filter.json +2 -2
  309. package/dist/mcp-data/registry/data-group.json +2 -2
  310. package/dist/mcp-data/registry/data-preferences.json +2 -2
  311. package/dist/mcp-data/registry/data-saved-views.json +2 -2
  312. package/dist/mcp-data/registry/data-search.json +2 -2
  313. package/dist/mcp-data/registry/data-sort.json +2 -2
  314. package/dist/mcp-data/registry/data-toolbar.json +2 -2
  315. package/dist/mcp-data/registry/divider.json +2 -2
  316. package/dist/mcp-data/registry/empty-state.json +27 -14
  317. package/dist/mcp-data/registry/field.json +6 -5
  318. package/dist/mcp-data/registry/filter-menu.json +2 -2
  319. package/dist/mcp-data/registry/icon.json +2 -2
  320. package/dist/mcp-data/registry/inline-banner-settings.json +175 -0
  321. package/dist/mcp-data/registry/input-date.json +2 -2
  322. package/dist/mcp-data/registry/input-time.json +26 -7
  323. package/dist/mcp-data/registry/input.json +265 -15
  324. package/dist/mcp-data/registry/loader.json +2 -2
  325. package/dist/mcp-data/registry/map-cluster-marker.json +3 -3
  326. package/dist/mcp-data/registry/map-entity-marker.json +56 -56
  327. package/dist/mcp-data/registry/markdown.json +2 -2
  328. package/dist/mcp-data/registry/menu.json +2 -2
  329. package/dist/mcp-data/registry/message-actions.json +2 -2
  330. package/dist/mcp-data/registry/message-bubble.json +5 -5
  331. package/dist/mcp-data/registry/message-composer.json +7 -7
  332. package/dist/mcp-data/registry/message-scroller.json +2 -2
  333. package/dist/mcp-data/registry/message.json +3 -3
  334. package/dist/mcp-data/registry/mobile-bar-nav.json +2 -2
  335. package/dist/mcp-data/registry/mobile-header.json +2 -2
  336. package/dist/mcp-data/registry/mobile-section-switcher.json +2 -2
  337. package/dist/mcp-data/registry/mobile-sheet-nav.json +2 -2
  338. package/dist/mcp-data/registry/modal.json +2 -2
  339. package/dist/mcp-data/registry/pagination.json +2 -2
  340. package/dist/mcp-data/registry/panel-nav.json +4 -4
  341. package/dist/mcp-data/registry/panel-sub-nav.json +2 -2
  342. package/dist/mcp-data/registry/panel-tool-header.json +4 -4
  343. package/dist/mcp-data/registry/panel-tool-search.json +3 -3
  344. package/dist/mcp-data/registry/panel-tools.json +4 -4
  345. package/dist/mcp-data/registry/paper-texture.json +2 -2
  346. package/dist/mcp-data/registry/radio-tile.json +399 -0
  347. package/dist/mcp-data/registry/radio.json +51 -9
  348. package/dist/mcp-data/registry/registry.json +954 -80
  349. package/dist/mcp-data/registry/score.json +2 -2
  350. package/dist/mcp-data/registry/scroll-overlay.json +2 -2
  351. package/dist/mcp-data/registry/select.json +2 -2
  352. package/dist/mcp-data/registry/setting-row-checkbox.json +197 -0
  353. package/dist/mcp-data/registry/setting-row-radio.json +196 -0
  354. package/dist/mcp-data/registry/setting-row-toggle.json +233 -0
  355. package/dist/mcp-data/registry/shell-app.json +4 -4
  356. package/dist/mcp-data/registry/shell-page.json +2 -2
  357. package/dist/mcp-data/registry/shell-tools.json +2 -2
  358. package/dist/mcp-data/registry/skeleton.json +2 -2
  359. package/dist/mcp-data/registry/slider.json +32 -12
  360. package/dist/mcp-data/registry/swatch-picker.json +2 -2
  361. package/dist/mcp-data/registry/switch.json +4 -4
  362. package/dist/mcp-data/registry/tab-group.json +2 -2
  363. package/dist/mcp-data/registry/table.json +5 -5
  364. package/dist/mcp-data/registry/tag.json +2 -2
  365. package/dist/mcp-data/registry/text.json +2 -2
  366. package/dist/mcp-data/registry/textarea.json +72 -5
  367. package/dist/mcp-data/registry/time-picker.json +28 -9
  368. package/dist/mcp-data/registry/toast.json +2 -2
  369. package/dist/mcp-data/registry/tooltip-chart.json +2 -2
  370. package/dist/mcp-data/registry/tooltip.json +2 -2
  371. package/dist/mcp-data/registry/typing-indicator.json +2 -2
  372. package/dist/react/components.d.ts +6 -0
  373. package/dist/react/components.js +6 -0
  374. package/dist/react/ds-checkbox-group.d.ts +9 -0
  375. package/dist/react/ds-checkbox-group.js +12 -0
  376. package/dist/react/ds-inline-banner-settings.d.ts +9 -0
  377. package/dist/react/ds-inline-banner-settings.js +12 -0
  378. package/dist/react/ds-input.d.ts +2 -0
  379. package/dist/react/ds-input.js +2 -0
  380. package/dist/react/ds-radio-tile.d.ts +12 -0
  381. package/dist/react/ds-radio-tile.js +12 -0
  382. package/dist/react/ds-setting-row-checkbox.d.ts +9 -0
  383. package/dist/react/ds-setting-row-checkbox.js +12 -0
  384. package/dist/react/ds-setting-row-radio.d.ts +9 -0
  385. package/dist/react/ds-setting-row-radio.js +12 -0
  386. package/dist/react/ds-setting-row-toggle.d.ts +12 -0
  387. package/dist/react/ds-setting-row-toggle.js +12 -0
  388. package/dist/types/components/BarPageTitle/BarPageTitle.d.ts +2 -0
  389. package/dist/types/components/BarTitle/bar-title-action-chrome.d.ts +4 -0
  390. package/dist/types/components/ButtonUnfilled/ButtonUnfilled.d.ts +5 -2
  391. package/dist/types/components/CardSetting/CardSetting.d.ts +15 -3
  392. package/dist/types/components/CardSetting/index.d.ts +1 -1
  393. package/dist/types/components/Checkbox/Checkbox.d.ts +2 -0
  394. package/dist/types/components/CheckboxGroup/CheckboxGroup.d.ts +20 -0
  395. package/dist/types/components/EmptyState/EmptyState.d.ts +3 -0
  396. package/dist/types/components/Field/Field.d.ts +4 -0
  397. package/dist/types/components/InlineBannerSettings/InlineBannerSettings.d.ts +6 -0
  398. package/dist/types/components/Input/Input.d.ts +50 -1
  399. package/dist/types/components/InputTime/InputTime.d.ts +3 -0
  400. package/dist/types/components/MapEntityMarker/MapEntityMarker.d.ts +5 -5
  401. package/dist/types/components/Radio/Radio.d.ts +8 -0
  402. package/dist/types/components/RadioTile/RadioTile.d.ts +40 -0
  403. package/dist/types/components/RadioTile/index.d.ts +2 -0
  404. package/dist/types/components/SettingRowCheckbox/SettingRowCheckbox.d.ts +19 -0
  405. package/dist/types/components/SettingRowRadio/SettingRowRadio.d.ts +19 -0
  406. package/dist/types/components/SettingRowToggle/SettingRowToggle.d.ts +21 -0
  407. package/dist/types/components/Slider/Slider.d.ts +8 -1
  408. package/dist/types/components/Slider/index.d.ts +1 -1
  409. package/dist/types/components/Switch/Switch.d.ts +7 -0
  410. package/dist/types/components/Textarea/Textarea.d.ts +12 -0
  411. package/dist/types/components/TimePicker/TimePicker.d.ts +4 -0
  412. package/dist/types/components.d.ts +728 -37
  413. package/dist/types/utils/text-constraints.d.ts +20 -0
  414. package/dist/vue/components.d.ts +6 -0
  415. package/dist/vue/components.js +6 -0
  416. package/dist/vue/ds-card-setting.js +1 -0
  417. package/dist/vue/ds-checkbox-group.d.ts +3 -0
  418. package/dist/vue/ds-checkbox-group.js +12 -0
  419. package/dist/vue/ds-checkbox.js +1 -0
  420. package/dist/vue/ds-inline-banner-settings.d.ts +3 -0
  421. package/dist/vue/ds-inline-banner-settings.js +8 -0
  422. package/dist/vue/ds-input-time.js +1 -0
  423. package/dist/vue/ds-input.js +17 -0
  424. package/dist/vue/ds-map-entity-marker.js +2 -2
  425. package/dist/vue/ds-radio-tile.d.ts +3 -0
  426. package/dist/vue/ds-radio-tile.js +24 -0
  427. package/dist/vue/ds-radio.js +2 -0
  428. package/dist/vue/ds-setting-row-checkbox.d.ts +3 -0
  429. package/dist/vue/ds-setting-row-checkbox.js +11 -0
  430. package/dist/vue/ds-setting-row-radio.d.ts +3 -0
  431. package/dist/vue/ds-setting-row-radio.js +11 -0
  432. package/dist/vue/ds-setting-row-toggle.d.ts +3 -0
  433. package/dist/vue/ds-setting-row-toggle.js +15 -0
  434. package/dist/vue/ds-slider.d.ts +1 -1
  435. package/dist/vue/ds-slider.js +2 -1
  436. package/dist/vue/ds-textarea.js +4 -0
  437. package/dist/vue/ds-time-picker.js +1 -0
  438. package/package.json +5 -5
  439. package/dist/components/p-BCnzbfma.js +0 -2
  440. package/dist/components/p-BCnzbfma.js.map +0 -1
  441. package/dist/components/p-BJJh-Bf7.js +0 -2
  442. package/dist/components/p-BLuqpHvp.js +0 -2
  443. package/dist/components/p-BR5OC2PX.js +0 -2
  444. package/dist/components/p-BX506yEW.js +0 -2
  445. package/dist/components/p-BX506yEW.js.map +0 -1
  446. package/dist/components/p-BZ_e69zx.js +0 -2
  447. package/dist/components/p-BfF4RZdp.js +0 -2
  448. package/dist/components/p-Br5e83Fr.js +0 -2
  449. package/dist/components/p-Br5e83Fr.js.map +0 -1
  450. package/dist/components/p-Bv9rSkp0.js +0 -2
  451. package/dist/components/p-Bv9rSkp0.js.map +0 -1
  452. package/dist/components/p-BzYW1IqO.js +0 -2
  453. package/dist/components/p-C0JkLR83.js +0 -2
  454. package/dist/components/p-C6Aavz9h.js +0 -2
  455. package/dist/components/p-C6Aavz9h.js.map +0 -1
  456. package/dist/components/p-C6zycbhC.js +0 -2
  457. package/dist/components/p-C6zycbhC.js.map +0 -1
  458. package/dist/components/p-CNZ6-kWd.js +0 -2
  459. package/dist/components/p-CRk0TjQv.js +0 -2
  460. package/dist/components/p-CTGgXIXM.js +0 -2
  461. package/dist/components/p-CZ7hxDy_.js +0 -2
  462. package/dist/components/p-Cc3ZUQlJ.js +0 -2
  463. package/dist/components/p-Cc3ZUQlJ.js.map +0 -1
  464. package/dist/components/p-D5HxZrMA.js +0 -2
  465. package/dist/components/p-D5HxZrMA.js.map +0 -1
  466. package/dist/components/p-D7K1ZHML.js +0 -2
  467. package/dist/components/p-D7K1ZHML.js.map +0 -1
  468. package/dist/components/p-Dlp1HqgS.js +0 -2
  469. package/dist/components/p-DsLXlxt3.js.map +0 -1
  470. package/dist/components/p-YrnU2fM7.js +0 -2
  471. package/dist/components/p-ZYWnJaye.js +0 -2
  472. package/dist/components/p-ZYWnJaye.js.map +0 -1
  473. package/dist/components/p-etg-Uk1u.js +0 -2
  474. package/dist/components/p-lamoJZE4.js +0 -2
  475. package/dist/components/p-mV4vSjSK.js +0 -2
  476. package/dist/components/p-mV4vSjSK.js.map +0 -1
  477. package/dist/components/p-mux14tWZ.js.map +0 -1
  478. package/dist/components/p-mxZoWfnS.js +0 -2
  479. package/dist/components/p-mxZoWfnS.js.map +0 -1
  480. package/dist/components/p-p0FVyEFa.js.map +0 -1
  481. package/dist/components/p-xtGGIZmU.js +0 -2
  482. package/dist/components/p-xtGGIZmU.js.map +0 -1
  483. /package/dist/components/{p-7V1AhetH.js.map → p-B0BQCVkq.js.map} +0 -0
  484. /package/dist/components/{p-Cu8o2rOz.js.map → p-B39iJO8F.js.map} +0 -0
  485. /package/dist/components/{p-B6qQaYkB.js.map → p-B9y6azEw.js.map} +0 -0
  486. /package/dist/components/{p-5SVmAjXY.js.map → p-BERXvOCf.js.map} +0 -0
  487. /package/dist/components/{p-xhn1cZgU.js.map → p-BFHpU-uU.js.map} +0 -0
  488. /package/dist/components/{p-CuWPWC3t.js.map → p-BQspV5U7.js.map} +0 -0
  489. /package/dist/components/{p-BOhefRMt.js.map → p-Bk3poU91.js.map} +0 -0
  490. /package/dist/components/{p-QWukusRL.js.map → p-BnuNaXR2.js.map} +0 -0
  491. /package/dist/components/{p-BtnTQp4K.js.map → p-C8V4lkVy.js.map} +0 -0
  492. /package/dist/components/{p-CGidq1iC.js.map → p-CuwopElg.js.map} +0 -0
  493. /package/dist/components/{p-Cn6AfzeF.js.map → p-CwdRaJER.js.map} +0 -0
  494. /package/dist/components/{p-ZwRLjD5M.js.map → p-D8OWhnID.js.map} +0 -0
  495. /package/dist/components/{p-C_Ma6Xa-.js.map → p-DIQiHX0q.js.map} +0 -0
  496. /package/dist/components/{p-B3CZvMXs.js.map → p-DJDbskZf.js.map} +0 -0
  497. /package/dist/components/{p-C1gaWjOm.js.map → p-DSZPO06T.js.map} +0 -0
  498. /package/dist/components/{p-uADksYMl.js.map → p-DSmDyI2o.js.map} +0 -0
  499. /package/dist/components/{p-UY63jmrO.js.map → p-DVEx-Xg9.js.map} +0 -0
  500. /package/dist/components/{p-vfCu7XSc.js.map → p-DZ58Sg5a.js.map} +0 -0
  501. /package/dist/components/{p-DFO5lV_A.js.map → p-DmSnHVW6.js.map} +0 -0
  502. /package/dist/components/{p-ER5M085B.js.map → p-UJMEz8_O.js.map} +0 -0
  503. /package/dist/components/{p-CR-Jjdcn.js.map → p-_IqSPt5V.js.map} +0 -0
  504. /package/dist/components/{p-BLSSaVWm.js.map → p-pp1IQN4Z.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["barTitleCss","nextBarTitleId","BAR_TITLE_SHELL_BAR_MENU_SIDE_OFFSET","BarTitle","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","description","showBack","backAriaLabel","backLabel","breadcrumbs","breadcrumbAriaLabel","sections","value","sectionsAriaLabel","primaryAction","actions","actionsAriaLabel","variant","placement","showDivider","sectionMenuOpen","openActionMenuId","surfaceActionMenuId","sectionSurfaceOpen","sectionMenuInitialFocusVisible","actionMenuInitialFocusVisible","instanceId","sectionMenuTriggerId","sectionMenuId","actionMenuTriggerId","actionMenuId","sectionTriggerEl","actionTriggerEl","actionTriggerEls","Map","toggleSectionMenu","event","detail","closeSectionMenu","handleSectionSelect","id","String","selected","selectableSections","find","section","isInactive","dsSectionChange","emit","requestAnimationFrame","focus","toggleActionMenu","finishActionMenuClose","domId","barTitleActionMenuDomId","resolvedActionItems","target","closeActionMenu","handleActionSelect","action","findBarTitleAction","isLoading","menuId","dsAction","restoreBarTitleActionFocus","overflowTrigger","actionTriggers","handleBreadcrumbSelect","length","dsBack","originalEvent","forwarded","dsBreadcrumbSelect","defaultPrevented","preventDefault","componentWillLoad","el","closest","setAttribute","reportActionIdIssues","handleSectionsChange","hasSectionSelector","handleActionsChange","availableActionMenuIds","has","issue","barTitleActionIdIssues","console","warn","compact","effectiveVariant","menuSideOffset","undefined","dividerVisible","showCompactDivider","expandedBreadcrumbItems","label","ariaLabel","primaryCollapsed","actionItems","collapse","selectableBarTitleSections","effectiveValue","effectiveBarTitleSectionValue","selectedSectionLabel","selectedBarTitleSectionLabel","sectionTriggerAriaLabel","barTitleSectionTriggerAriaLabel","sectionMenuSections","barTitleSectionMenuSections","resolveBarTitleActionItems","visibleActions","visibleBarTitleActions","actionMenuSections","overflowBarTitleActionSections","showActionMenuTrigger","availableBarTitleActionMenuIds","chromeActionOptions","classPrefix","showOverflowTrigger","setOverflowTriggerEl","emitAction","renderSectionSelector","h","class","renderBarTitleSectionTrigger","triggerId","open","surfaceOpen","selectedLabel","setTriggerEl","onToggle","renderActions","renderBarTitleActions","renderActionMenus","renderBarTitleActionMenus","sideOffset","renderBreadcrumb","items","onDsSelect","renderBack","renderBarTitleBack","onBack","render","Host","key","emphasis","color","as","lineTruncation","heading","wrap","anchorId","menuLabel","initialFocusVisible","onDsClose","onDsAfterClose","renderBarTitleOverflowMenu"],"sources":["src/wc/components/BarTitle/BarTitle.css?tag=ds-bar-title&encapsulation=scoped","src/wc/components/BarTitle/BarTitle.tsx"],"sourcesContent":["@import '../../utils/radius.css';\n@import '../../utils/control-density.css';\n@import '../../utils/chrome-header.css';\n@import '../../utils/focus-ring.css';\n@import '../../utils/interaction-fill.css';\n\n:host {\n display: block;\n min-width: 0;\n box-sizing: border-box;\n background: var(--_shell-page-header-background, var(--color-background-primary));\n}\n\n:host([placement='shell-bar']) {\n --_shell-page-header-background: var(--color-background-secondary);\n}\n\n:host-context(ds-shell-app:not([gradient-preset='none']))[placement='shell-bar'],\n:host-context(ds-shell-app:not([gradient-preset='none']))[placement='shell-bar'] .bar-title,\n:host-context(ds-shell-app.shell-app--paper-texture)[placement='shell-bar'],\n:host-context(ds-shell-app.shell-app--paper-texture)[placement='shell-bar'] .bar-title {\n background: transparent;\n}\n\n:host([data-shell-page-syncing]) {\n visibility: hidden;\n}\n\n.bar-title {\n position: relative;\n min-width: 0;\n box-sizing: border-box;\n background: var(--_shell-page-header-background, var(--color-background-primary));\n}\n\n.bar-title::after {\n content: '';\n position: absolute;\n inset: auto var(--ds-bar-title-divider-inset, var(--dimension-space-200)) 0;\n height: var(--dimension-stroke-width-012);\n background: var(--color-border-tertiary);\n pointer-events: none;\n}\n\n.bar-title--divider-hidden::after {\n display: none;\n}\n\n.bar-title__inner {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: var(--dimension-space-100);\n padding: var(--dimension-space-200);\n box-sizing: border-box;\n}\n\n.bar-title__row {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: var(--dimension-space-100);\n min-height: var(--dimension-size-400);\n min-width: 0;\n}\n\n:host(.bar-title-host--expanded) .bar-title__row {\n gap: var(--dimension-space-400);\n}\n\n.bar-title__leading {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n gap: var(--dimension-space-100);\n min-width: 0;\n}\n\n.bar-title__title-row {\n display: flex;\n align-items: center;\n gap: var(--dimension-space-100);\n min-width: 0;\n min-height: var(--dimension-size-400);\n}\n\n.bar-title__identity {\n display: flex;\n flex: 0 1 auto;\n align-items: center;\n gap: var(--dimension-space-050);\n min-width: 0;\n}\n\n.bar-title__back,\n.bar-title__section-chevron {\n flex: 0 0 auto;\n}\n\n.bar-title__breadcrumb {\n display: block;\n width: 100%;\n min-width: 0;\n}\n\n.bar-title__heading {\n display: block;\n width: auto;\n min-width: 0;\n user-select: none;\n}\n\n.bar-title__divider {\n width: var(--dimension-stroke-width-012);\n height: var(--dimension-size-250);\n margin-inline-start: var(--dimension-space-100);\n flex: 0 0 var(--dimension-stroke-width-012);\n background: var(--color-border-tertiary);\n}\n\n.bar-title__section-selector {\n display: flex;\n flex: 0 1 auto;\n min-width: 0;\n max-width: var(--dimension-panel-width-sm);\n}\n\n.bar-title__section-trigger {\n --ds-control-radius: var(--dimension-radius-half);\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--ds-control-gap);\n height: var(--ds-control-height);\n min-width: 0;\n max-width: 100%;\n padding-inline: var(--ds-control-padding-inline);\n border: none;\n border-radius: var(--ds-control-radius);\n box-sizing: border-box;\n background: transparent;\n color: var(--color-foreground-secondary);\n cursor: default;\n font-family: inherit;\n user-select: none;\n}\n\n.bar-title__section-label {\n min-width: 0;\n padding-inline: var(--ds-control-label-inset);\n}\n\n.bar-title__actions {\n display: flex;\n align-items: center;\n gap: var(--dimension-space-100);\n flex: 0 0 auto;\n}\n\n.bar-title__description {\n display: block;\n min-width: 0;\n max-width: 100%;\n}\n\n:host(.bar-title-host--compact) .bar-title {\n height: var(--dimension-size-600);\n}\n\n:host(.bar-title-host--compact) .bar-title::after {\n inset-inline: 0;\n}\n\n:host(.bar-title-host--compact) .bar-title__inner {\n flex: 1 1 auto;\n height: 100%;\n min-width: 0;\n padding: 0;\n gap: 0;\n}\n\n:host(.bar-title-host--compact) .bar-title__row {\n height: 100%;\n align-items: center;\n}\n\n:host(.bar-title-host--compact) .bar-title__identity {\n height: var(--dimension-size-400);\n}\n\n:host(.bar-title-host--compact) .bar-title__divider {\n margin-inline-start: 0;\n}\n\n:host(.bar-title-host--compact) .bar-title__heading {\n display: inline-flex;\n flex: 1 1 auto;\n align-items: center;\n height: var(--dimension-size-400);\n padding-inline: calc(var(--ds-control-padding-inline) + var(--ds-control-label-inset));\n box-sizing: border-box;\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport type { BreadcrumbItem, BreadcrumbSelectDetail } from '../Breadcrumb/breadcrumb-types';\nimport type { MenuItemData, MenuSection } from '../Menu/menu-types';\nimport {\n type BarTitleActionConfigItem,\n type BarTitleActionItem,\n type BarTitlePrimaryAction,\n type BarTitleSectionItem,\n type BarTitlePlacement,\n type BarTitleVariant,\n} from './bar-title-types';\nimport {\n availableBarTitleActionMenuIds,\n barTitleActionIdIssues,\n findBarTitleAction,\n overflowBarTitleActionSections,\n resolveBarTitleActionItems,\n visibleBarTitleActions,\n} from './bar-title-actions';\nimport {\n type FocusableBarTitleButton,\n barTitleActionMenuDomId,\n renderBarTitleActionMenus,\n renderBarTitleActions,\n renderBarTitleBack,\n renderBarTitleOverflowMenu,\n renderBarTitleSectionTrigger,\n restoreBarTitleActionFocus,\n} from './bar-title-action-chrome';\nimport {\n barTitleSectionMenuSections,\n barTitleSectionTriggerAriaLabel,\n effectiveBarTitleSectionValue,\n selectableBarTitleSections,\n selectedBarTitleSectionLabel,\n} from './bar-title-sections';\n\nlet nextBarTitleId = 0;\n\nconst BAR_TITLE_SHELL_BAR_MENU_SIDE_OFFSET =\n 'calc(var(--dimension-space-100) + var(--dimension-space-050))';\n\n@Component({\n tag: 'ds-bar-title',\n styleUrl: 'BarTitle.css',\n scoped: true,\n})\nexport class BarTitle {\n @Element() el!: HTMLElement;\n\n /** The page's single visible h1. */\n @Prop() heading!: string;\n\n /** Optional supporting copy shown in the expanded presentation. */\n @Prop() description: string = '';\n\n /** Show the leading page-level Back action. */\n @Prop({ attribute: 'show-back' }) showBack: boolean = false;\n\n /** Accessible name for the leading Back action. */\n @Prop() backAriaLabel: string = 'Back';\n\n /** Visible parent-page label used by the expanded breadcrumb when breadcrumbs is empty. */\n @Prop() backLabel: string = 'Back';\n\n /** Optional expanded ancestor path. Compact variants continue to use the Back action. */\n @Prop() breadcrumbs: BreadcrumbItem[] = [];\n\n /** Accessible name for the expanded breadcrumb navigation landmark. */\n @Prop() breadcrumbAriaLabel: string = 'Breadcrumb';\n\n /** Optional page sections exposed through the active-section menu. */\n @Prop() sections: BarTitleSectionItem[] = [];\n\n /** Id of the active page section. */\n @Prop() value: string = '';\n\n /** Accessible name for the page-section menu. */\n @Prop() sectionsAriaLabel: string = 'Change page section';\n\n /** The one highest-emphasis page action. */\n @Prop() primaryAction: BarTitlePrimaryAction | null = null;\n\n /** Secondary page actions shown in the overflow menu. Dividers create groups. */\n @Prop() actions: BarTitleActionItem[] = [];\n\n /**\n * Ordered page-header actions. When supplied, this replaces the legacy\n * primaryAction/actions presentation while preserving the same dsAction event.\n */\n @Prop() actionItems?: BarTitleActionConfigItem[];\n\n /** Accessible name for the page-actions menu. */\n @Prop() actionsAriaLabel: string = 'More page actions';\n\n /** Explicit visual/capacity variant. ShellPage owns automatic selection. */\n @Prop() variant: BarTitleVariant = 'expanded';\n\n /** Page-header placement, or compact application-shell bar placement. */\n @Prop({ reflect: true }) placement: BarTitlePlacement = 'page';\n\n /** Draw the page-title divider beneath the header. */\n @Prop() showDivider: boolean = true;\n\n /** Override divider visibility for compact and constrained variants. */\n @Prop() showCompactDivider?: boolean;\n\n /** Emitted when the leading Back action is activated. */\n @Event() dsBack!: EventEmitter<MouseEvent>;\n\n /** Emitted when an authored expanded breadcrumb item is activated. */\n @Event({ cancelable: true }) dsBreadcrumbSelect!: EventEmitter<BreadcrumbSelectDetail>;\n\n /** Emitted with the newly selected page-section id. */\n @Event() dsSectionChange!: EventEmitter<string>;\n\n /** Emitted with the activated primary or overflow action id. */\n @Event() dsAction!: EventEmitter<string>;\n\n @State() private sectionMenuOpen = false;\n @State() private openActionMenuId = '';\n @State() private surfaceActionMenuId = '';\n @State() private sectionSurfaceOpen = false;\n @State() private sectionMenuInitialFocusVisible = false;\n @State() private actionMenuInitialFocusVisible = false;\n\n private readonly instanceId = nextBarTitleId++;\n private readonly sectionMenuTriggerId = `bar-title-section-trigger-${this.instanceId}`;\n private readonly sectionMenuId = `bar-title-section-menu-${this.instanceId}`;\n private readonly actionMenuTriggerId = `bar-title-action-trigger-${this.instanceId}`;\n private readonly actionMenuId = `bar-title-action-menu-${this.instanceId}`;\n private sectionTriggerEl: HTMLButtonElement | null = null;\n private actionTriggerEl: FocusableBarTitleButton | null = null;\n private actionTriggerEls = new Map<string, FocusableBarTitleButton>();\n\n componentWillLoad() {\n if (this.el.closest('ds-shell-page')) {\n this.el.setAttribute('data-shell-page-syncing', '');\n }\n this.reportActionIdIssues();\n }\n\n @Watch('sections')\n handleSectionsChange() {\n if (!this.hasSectionSelector) {\n this.closeSectionMenu();\n this.sectionSurfaceOpen = false;\n }\n }\n\n @Watch('actions')\n @Watch('primaryAction')\n @Watch('actionItems')\n handleActionsChange() {\n this.reportActionIdIssues();\n if (!this.availableActionMenuIds.has(this.openActionMenuId)) this.closeActionMenu();\n if (!this.availableActionMenuIds.has(this.surfaceActionMenuId)) this.surfaceActionMenuId = '';\n }\n\n private reportActionIdIssues() {\n for (const issue of barTitleActionIdIssues(this.resolvedActionItems)) {\n console.warn(`[ds-bar-title] ${issue}`);\n }\n }\n\n private get compact(): boolean {\n return this.effectiveVariant !== 'expanded';\n }\n\n private get menuSideOffset(): string | undefined {\n return this.placement === 'shell-bar' ? BAR_TITLE_SHELL_BAR_MENU_SIDE_OFFSET : undefined;\n }\n\n private get effectiveVariant(): BarTitleVariant {\n return this.placement === 'shell-bar' ? 'compact' : this.variant;\n }\n\n private get dividerVisible(): boolean {\n return this.compact ? (this.showCompactDivider ?? this.showDivider) : this.showDivider;\n }\n\n private get expandedBreadcrumbItems(): BreadcrumbItem[] {\n if (this.breadcrumbs.length > 0) return this.breadcrumbs;\n if (!this.showBack) return [];\n return [\n {\n id: 'back',\n label: this.backLabel,\n ariaLabel: this.backAriaLabel,\n },\n ];\n }\n\n private get primaryCollapsed(): boolean {\n return (\n this.actionItems === undefined &&\n this.effectiveVariant === 'constrained' &&\n this.primaryAction !== null &&\n (this.primaryAction.collapse ?? 'auto') === 'auto'\n );\n }\n\n private get selectableSections() {\n return selectableBarTitleSections(this.sections);\n }\n\n private get hasSectionSelector(): boolean {\n return this.selectableSections.length > 1;\n }\n\n private get effectiveValue(): string {\n return effectiveBarTitleSectionValue(this.sections, this.value);\n }\n\n private get selectedSectionLabel(): string {\n return selectedBarTitleSectionLabel(this.sections, this.value);\n }\n\n private get sectionTriggerAriaLabel(): string {\n return barTitleSectionTriggerAriaLabel(this.sectionsAriaLabel, this.selectedSectionLabel);\n }\n\n private get sectionMenuSections() {\n return barTitleSectionMenuSections(this.sections, this.effectiveValue);\n }\n\n private get resolvedActionItems(): BarTitleActionConfigItem[] {\n return resolveBarTitleActionItems(this.actionItems, this.primaryAction, this.actions);\n }\n\n private get visibleActions(): BarTitleActionConfigItem[] {\n return visibleBarTitleActions(this.resolvedActionItems, this.effectiveVariant);\n }\n\n private get actionMenuSections(): MenuSection[] {\n return overflowBarTitleActionSections(this.resolvedActionItems, this.effectiveVariant);\n }\n\n private get showActionMenuTrigger(): boolean {\n return this.actionMenuSections.length > 0;\n }\n\n private get availableActionMenuIds(): Set<string> {\n return availableBarTitleActionMenuIds(this.visibleActions, this.showActionMenuTrigger);\n }\n\n private toggleSectionMenu = (event: MouseEvent) => {\n this.sectionMenuInitialFocusVisible = event.detail === 0;\n this.openActionMenuId = '';\n this.sectionMenuOpen = !this.sectionMenuOpen;\n if (this.sectionMenuOpen) this.sectionSurfaceOpen = true;\n };\n\n private closeSectionMenu = () => {\n this.sectionMenuOpen = false;\n };\n\n private handleSectionSelect = (event: CustomEvent<MenuItemData>) => {\n const id = String(event.detail?.value ?? '');\n const selected = this.selectableSections.find(section => section.id === id);\n if (!selected || selected.isInactive) return;\n this.closeSectionMenu();\n this.dsSectionChange.emit(id);\n requestAnimationFrame(() => this.sectionTriggerEl?.focus());\n };\n\n private toggleActionMenu = (id: string, event: MouseEvent) => {\n this.actionMenuInitialFocusVisible = event.detail === 0;\n this.sectionMenuOpen = false;\n this.openActionMenuId = this.openActionMenuId === id ? '' : id;\n if (this.openActionMenuId) this.surfaceActionMenuId = this.openActionMenuId;\n };\n\n private finishActionMenuClose = (event: CustomEvent<void>) => {\n const id = this.surfaceActionMenuId;\n const domId =\n id === '__overflow'\n ? this.actionMenuId\n : barTitleActionMenuDomId('bar-title', this.instanceId, this.resolvedActionItems, id);\n if (this.openActionMenuId !== id && (event.target as HTMLElement).id === domId) {\n this.surfaceActionMenuId = '';\n }\n };\n\n private closeActionMenu = () => {\n this.openActionMenuId = '';\n };\n\n private handleActionSelect = (event: CustomEvent<MenuItemData>) => {\n const id = String(event.detail?.value ?? '');\n const action = findBarTitleAction(this.resolvedActionItems, id);\n if (!action || action.isInactive || ('isLoading' in action && action.isLoading)) return;\n const menuId = this.openActionMenuId;\n this.closeActionMenu();\n this.dsAction.emit(id);\n requestAnimationFrame(() => {\n void restoreBarTitleActionFocus({\n menuId,\n overflowTrigger: this.actionTriggerEl,\n actionTriggers: this.actionTriggerEls,\n resolvedActionItems: this.resolvedActionItems,\n });\n });\n };\n\n private chromeActionOptions() {\n return {\n classPrefix: 'bar-title',\n compact: this.compact,\n visibleActions: this.visibleActions,\n showOverflowTrigger: this.showActionMenuTrigger,\n actionItems: this.actionItems,\n primaryAction: this.primaryAction,\n resolvedActionItems: this.resolvedActionItems,\n instanceId: this.instanceId,\n openActionMenuId: this.openActionMenuId,\n surfaceActionMenuId: this.surfaceActionMenuId,\n actionsAriaLabel: this.actionsAriaLabel,\n actionMenuTriggerId: this.actionMenuTriggerId,\n actionMenuId: this.actionMenuId,\n actionTriggers: this.actionTriggerEls,\n setOverflowTriggerEl: (el: FocusableBarTitleButton | null) => {\n this.actionTriggerEl = el;\n },\n toggleActionMenu: this.toggleActionMenu,\n emitAction: (id: string) => this.dsAction.emit(id),\n };\n }\n\n private renderSectionSelector() {\n if (!this.hasSectionSelector) return null;\n return [\n <div class=\"bar-title__divider\" aria-hidden=\"true\" />,\n renderBarTitleSectionTrigger({\n classPrefix: 'bar-title',\n triggerId: this.sectionMenuTriggerId,\n menuId: this.sectionMenuId,\n open: this.sectionMenuOpen,\n surfaceOpen: this.sectionSurfaceOpen,\n ariaLabel: this.sectionTriggerAriaLabel,\n selectedLabel: this.selectedSectionLabel,\n setTriggerEl: el => {\n this.sectionTriggerEl = el;\n },\n onToggle: this.toggleSectionMenu,\n }),\n ];\n }\n\n private renderActions() {\n return renderBarTitleActions(this.chromeActionOptions());\n }\n\n private renderActionMenus() {\n return renderBarTitleActionMenus({\n classPrefix: 'bar-title',\n visibleActions: this.visibleActions,\n instanceId: this.instanceId,\n resolvedActionItems: this.resolvedActionItems,\n sideOffset: this.menuSideOffset,\n openActionMenuId: this.openActionMenuId,\n actionMenuInitialFocusVisible: this.actionMenuInitialFocusVisible,\n overflowTrigger: this.actionTriggerEl,\n actionTriggers: this.actionTriggerEls,\n closeActionMenu: this.closeActionMenu,\n finishActionMenuClose: this.finishActionMenuClose,\n handleActionSelect: this.handleActionSelect,\n });\n }\n\n private handleBreadcrumbSelect = (event: CustomEvent<BreadcrumbSelectDetail>) => {\n if (this.breadcrumbs.length === 0) {\n this.dsBack.emit(event.detail.originalEvent);\n return;\n }\n const forwarded = this.dsBreadcrumbSelect.emit(event.detail);\n if (forwarded.defaultPrevented) event.preventDefault();\n };\n\n private renderBreadcrumb() {\n const items = this.expandedBreadcrumbItems;\n if (items.length === 0) return null;\n return (\n <ds-breadcrumb\n class=\"bar-title__breadcrumb\"\n items={items}\n ariaLabel={this.breadcrumbAriaLabel}\n onDsSelect={this.handleBreadcrumbSelect}\n />\n );\n }\n\n private renderBack() {\n return renderBarTitleBack({\n classPrefix: 'bar-title',\n showBack: this.showBack,\n backAriaLabel: this.backAriaLabel,\n onBack: event => this.dsBack.emit(event),\n });\n }\n\n render() {\n const compact = this.compact;\n return (\n <Host\n class={{\n 'bar-title-host--compact': compact,\n 'bar-title-host--expanded': this.effectiveVariant === 'expanded',\n 'bar-title-host--constrained': this.effectiveVariant === 'constrained',\n 'bar-title-host--has-description': !!this.description,\n 'bar-title-host--has-back': this.showBack,\n 'bar-title-host--has-breadcrumb': !compact && this.expandedBreadcrumbItems.length > 0,\n 'bar-title-host--shell-bar': this.placement === 'shell-bar',\n }}\n >\n <div\n class={{\n 'bar-title': true,\n 'bar-title--divider-hidden': !this.dividerVisible,\n 'ds-chrome-header': compact,\n }}\n >\n <div class=\"bar-title__inner\">\n {!compact ? this.renderBreadcrumb() : null}\n <div class=\"bar-title__row\">\n <div class=\"bar-title__leading\">\n <div class=\"bar-title__title-row\" data-shell-page-header-anchor>\n <div class=\"bar-title__identity\">\n {compact ? this.renderBack() : null}\n <ds-text\n class=\"bar-title__heading ds-control--md\"\n variant={compact ? 'text-title-small' : 'text-title-medium'}\n emphasis\n color=\"primary\"\n as=\"h1\"\n lineTruncation={1}\n >\n {this.heading}\n </ds-text>\n </div>\n {this.renderSectionSelector()}\n </div>\n {this.description && !compact ? (\n <ds-text\n class=\"bar-title__description\"\n variant=\"text-body-small\"\n color=\"secondary\"\n lineTruncation={2}\n wrap=\"wrap\"\n as=\"p\"\n >\n {this.description}\n </ds-text>\n ) : null}\n </div>\n {this.renderActions()}\n </div>\n </div>\n </div>\n\n {this.hasSectionSelector ? (\n <ds-menu\n id={this.sectionMenuId}\n class=\"bar-title__section-menu\"\n anchorId={this.sectionMenuTriggerId}\n sideOffset={this.menuSideOffset}\n menuLabel={this.sectionsAriaLabel}\n open={this.sectionMenuOpen}\n initialFocusVisible={this.sectionMenuInitialFocusVisible}\n sections={this.sectionMenuSections}\n onDsClose={this.closeSectionMenu}\n onDsAfterClose={() => {\n if (!this.sectionMenuOpen) this.sectionSurfaceOpen = false;\n }}\n onDsSelect={this.handleSectionSelect}\n />\n ) : null}\n\n {this.renderActionMenus()}\n\n {renderBarTitleOverflowMenu({\n classPrefix: 'bar-title',\n showOverflowTrigger: this.showActionMenuTrigger,\n actionMenuId: this.actionMenuId,\n actionMenuTriggerId: this.actionMenuTriggerId,\n sideOffset: this.menuSideOffset,\n actionsAriaLabel: this.actionsAriaLabel,\n open: this.openActionMenuId === '__overflow',\n actionMenuInitialFocusVisible: this.actionMenuInitialFocusVisible,\n actionMenuSections: this.actionMenuSections,\n closeActionMenu: this.closeActionMenu,\n finishActionMenuClose: this.finishActionMenuClose,\n handleActionSelect: this.handleActionSelect,\n })}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["barTitleCss","nextBarTitleId","BAR_TITLE_SHELL_BAR_MENU_SIDE_OFFSET","BarTitle","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","description","showBack","backAriaLabel","backLabel","breadcrumbs","breadcrumbAriaLabel","sections","value","sectionsAriaLabel","primaryAction","actions","actionsAriaLabel","variant","placement","showDivider","sectionMenuOpen","openActionMenuId","surfaceActionMenuId","sectionSurfaceOpen","sectionMenuInitialFocusVisible","actionMenuInitialFocusVisible","instanceId","sectionMenuTriggerId","sectionMenuId","actionMenuTriggerId","actionMenuId","sectionTriggerEl","actionTriggerEl","actionTriggerEls","Map","toggleSectionMenu","event","detail","closeSectionMenu","handleSectionSelect","id","String","selected","selectableSections","find","section","isInactive","dsSectionChange","emit","requestAnimationFrame","focus","toggleActionMenu","finishActionMenuClose","domId","barTitleActionMenuDomId","resolvedActionItems","target","closeActionMenu","handleActionSelect","action","findBarTitleAction","isLoading","menuId","dsAction","restoreBarTitleActionFocus","overflowTrigger","actionTriggers","handleBreadcrumbSelect","length","dsBack","originalEvent","forwarded","dsBreadcrumbSelect","defaultPrevented","preventDefault","componentWillLoad","el","closest","setAttribute","reportActionIdIssues","handleSectionsChange","hasSectionSelector","handleActionsChange","availableActionMenuIds","has","issue","barTitleActionIdIssues","console","warn","compact","effectiveVariant","menuSideOffset","undefined","dividerVisible","showCompactDivider","expandedBreadcrumbItems","label","ariaLabel","primaryCollapsed","actionItems","collapse","selectableBarTitleSections","effectiveValue","effectiveBarTitleSectionValue","selectedSectionLabel","selectedBarTitleSectionLabel","sectionTriggerAriaLabel","barTitleSectionTriggerAriaLabel","sectionMenuSections","barTitleSectionMenuSections","resolveBarTitleActionItems","visibleActions","visibleBarTitleActions","actionMenuSections","overflowBarTitleActionSections","showActionMenuTrigger","availableBarTitleActionMenuIds","chromeActionOptions","classPrefix","showOverflowTrigger","setOverflowTriggerEl","emitAction","renderSectionSelector","h","class","renderBarTitleSectionTrigger","triggerId","open","surfaceOpen","selectedLabel","setTriggerEl","onToggle","renderActions","renderBarTitleActions","renderActionMenus","renderBarTitleActionMenus","sideOffset","renderBreadcrumb","items","onDsSelect","renderBack","renderBarTitleBack","onBack","render","Host","key","emphasis","color","as","lineTruncation","heading","wrap","anchorId","menuLabel","initialFocusVisible","onDsClose","onDsAfterClose","renderBarTitleOverflowMenu"],"sources":["src/wc/components/BarTitle/BarTitle.css?tag=ds-bar-title&encapsulation=scoped","src/wc/components/BarTitle/BarTitle.tsx"],"sourcesContent":["@import '../../utils/radius.css';\n@import '../../utils/control-density.css';\n@import '../../utils/chrome-header.css';\n@import '../../utils/focus-ring.css';\n@import '../../utils/interaction-fill.css';\n\n:host {\n display: block;\n min-width: 0;\n box-sizing: border-box;\n background: var(--_shell-page-header-background, var(--color-background-primary));\n}\n\n:host([placement='shell-bar']) {\n --_shell-page-header-background: var(--color-background-secondary);\n}\n\n:host-context(ds-shell-app:not([gradient-preset='none']))[placement='shell-bar'],\n:host-context(ds-shell-app:not([gradient-preset='none']))[placement='shell-bar'] .bar-title,\n:host-context(ds-shell-app.shell-app--paper-texture)[placement='shell-bar'],\n:host-context(ds-shell-app.shell-app--paper-texture)[placement='shell-bar'] .bar-title {\n background: transparent;\n}\n\n:host([data-shell-page-syncing]) {\n visibility: hidden;\n}\n\n.bar-title {\n position: relative;\n min-width: 0;\n box-sizing: border-box;\n background: var(--_shell-page-header-background, var(--color-background-primary));\n}\n\n.bar-title::after {\n content: '';\n position: absolute;\n inset: auto var(--ds-bar-title-divider-inset, var(--dimension-space-200)) 0;\n height: var(--dimension-stroke-width-012);\n background: var(--color-border-tertiary);\n pointer-events: none;\n}\n\n.bar-title--divider-hidden::after {\n display: none;\n}\n\n.bar-title__inner {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: var(--dimension-space-100);\n padding: var(--dimension-space-200);\n box-sizing: border-box;\n}\n\n.bar-title__row {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: var(--dimension-space-100);\n min-height: var(--dimension-size-400);\n min-width: 0;\n}\n\n:host(.bar-title-host--expanded) .bar-title__row {\n gap: var(--dimension-space-400);\n}\n\n.bar-title__leading {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n gap: var(--dimension-space-050);\n min-width: 0;\n}\n\n.bar-title__title-row {\n display: flex;\n align-items: center;\n gap: var(--dimension-space-100);\n min-width: 0;\n min-height: var(--dimension-size-400);\n}\n\n.bar-title__identity {\n display: flex;\n flex: 0 1 auto;\n align-items: center;\n gap: var(--dimension-space-050);\n min-width: 0;\n}\n\n.bar-title__back,\n.bar-title__section-chevron {\n flex: 0 0 auto;\n}\n\n.bar-title__breadcrumb {\n display: block;\n width: 100%;\n min-width: 0;\n}\n\n.bar-title__heading {\n display: block;\n width: auto;\n min-width: 0;\n user-select: none;\n}\n\n.bar-title__divider {\n width: var(--dimension-stroke-width-012);\n height: var(--dimension-size-250);\n margin-inline-start: var(--dimension-space-100);\n flex: 0 0 var(--dimension-stroke-width-012);\n background: var(--color-border-tertiary);\n}\n\n.bar-title__section-selector {\n display: flex;\n flex: 0 1 auto;\n min-width: 0;\n max-width: var(--dimension-panel-width-sm);\n}\n\n.bar-title__section-trigger {\n --ds-control-radius: var(--dimension-radius-half);\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--ds-control-gap);\n height: var(--ds-control-height);\n min-width: 0;\n max-width: 100%;\n padding-inline: var(--ds-control-padding-inline);\n border: none;\n border-radius: var(--ds-control-radius);\n box-sizing: border-box;\n background: transparent;\n color: var(--color-foreground-secondary);\n cursor: default;\n font-family: inherit;\n user-select: none;\n}\n\n.bar-title__section-label {\n min-width: 0;\n padding-inline: var(--ds-control-label-inset);\n}\n\n.bar-title__actions {\n display: flex;\n align-items: center;\n gap: var(--dimension-space-100);\n flex: 0 0 auto;\n}\n\n.bar-title__description {\n display: block;\n min-width: 0;\n max-width: 100%;\n}\n\n:host(.bar-title-host--compact) .bar-title {\n height: var(--dimension-size-600);\n}\n\n:host(.bar-title-host--compact) .bar-title::after {\n inset-inline: 0;\n}\n\n:host(.bar-title-host--compact) .bar-title__inner {\n flex: 1 1 auto;\n height: 100%;\n min-width: 0;\n padding: 0;\n gap: 0;\n}\n\n:host(.bar-title-host--compact) .bar-title__row {\n height: 100%;\n align-items: center;\n}\n\n:host(.bar-title-host--compact) .bar-title__identity {\n height: var(--dimension-size-400);\n}\n\n:host(.bar-title-host--compact) .bar-title__divider {\n margin-inline-start: 0;\n}\n\n:host(.bar-title-host--compact) .bar-title__heading {\n display: inline-flex;\n flex: 1 1 auto;\n align-items: center;\n height: var(--dimension-size-400);\n padding-inline: calc(var(--ds-control-padding-inline) + var(--ds-control-label-inset));\n box-sizing: border-box;\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport type { BreadcrumbItem, BreadcrumbSelectDetail } from '../Breadcrumb/breadcrumb-types';\nimport type { MenuItemData, MenuSection } from '../Menu/menu-types';\nimport {\n type BarTitleActionConfigItem,\n type BarTitleActionItem,\n type BarTitlePrimaryAction,\n type BarTitleSectionItem,\n type BarTitlePlacement,\n type BarTitleVariant,\n} from './bar-title-types';\nimport {\n availableBarTitleActionMenuIds,\n barTitleActionIdIssues,\n findBarTitleAction,\n overflowBarTitleActionSections,\n resolveBarTitleActionItems,\n visibleBarTitleActions,\n} from './bar-title-actions';\nimport {\n type FocusableBarTitleButton,\n barTitleActionMenuDomId,\n renderBarTitleActionMenus,\n renderBarTitleActions,\n renderBarTitleBack,\n renderBarTitleOverflowMenu,\n renderBarTitleSectionTrigger,\n restoreBarTitleActionFocus,\n} from './bar-title-action-chrome';\nimport {\n barTitleSectionMenuSections,\n barTitleSectionTriggerAriaLabel,\n effectiveBarTitleSectionValue,\n selectableBarTitleSections,\n selectedBarTitleSectionLabel,\n} from './bar-title-sections';\n\nlet nextBarTitleId = 0;\n\nconst BAR_TITLE_SHELL_BAR_MENU_SIDE_OFFSET =\n 'calc(var(--dimension-space-100) + var(--dimension-space-050))';\n\n@Component({\n tag: 'ds-bar-title',\n styleUrl: 'BarTitle.css',\n scoped: true,\n})\nexport class BarTitle {\n @Element() el!: HTMLElement;\n\n /** The page's single visible h1. */\n @Prop() heading!: string;\n\n /** Optional supporting copy shown in the expanded presentation. */\n @Prop() description: string = '';\n\n /** Show the leading page-level Back action. */\n @Prop({ attribute: 'show-back' }) showBack: boolean = false;\n\n /** Accessible name for the leading Back action. */\n @Prop() backAriaLabel: string = 'Back';\n\n /** Visible parent-page label used by the expanded breadcrumb when breadcrumbs is empty. */\n @Prop() backLabel: string = 'Back';\n\n /** Optional expanded ancestor path. Compact variants continue to use the Back action. */\n @Prop() breadcrumbs: BreadcrumbItem[] = [];\n\n /** Accessible name for the expanded breadcrumb navigation landmark. */\n @Prop() breadcrumbAriaLabel: string = 'Breadcrumb';\n\n /** Optional page sections exposed through the active-section menu. */\n @Prop() sections: BarTitleSectionItem[] = [];\n\n /** Id of the active page section. */\n @Prop() value: string = '';\n\n /** Accessible name for the page-section menu. */\n @Prop() sectionsAriaLabel: string = 'Change page section';\n\n /** The one highest-emphasis page action. */\n @Prop() primaryAction: BarTitlePrimaryAction | null = null;\n\n /** Secondary page actions shown in the overflow menu. Dividers create groups. */\n @Prop() actions: BarTitleActionItem[] = [];\n\n /**\n * Ordered page-header actions. When supplied, this replaces the legacy\n * primaryAction/actions presentation while preserving the same dsAction event.\n */\n @Prop() actionItems?: BarTitleActionConfigItem[];\n\n /** Accessible name for the page-actions menu. */\n @Prop() actionsAriaLabel: string = 'More page actions';\n\n /** Explicit visual/capacity variant. ShellPage owns automatic selection. */\n @Prop() variant: BarTitleVariant = 'expanded';\n\n /** Page-header placement, or compact application-shell bar placement. */\n @Prop({ reflect: true }) placement: BarTitlePlacement = 'page';\n\n /** Draw the page-title divider beneath the header. */\n @Prop() showDivider: boolean = true;\n\n /** Override divider visibility for compact and constrained variants. */\n @Prop() showCompactDivider?: boolean;\n\n /** Emitted when the leading Back action is activated. */\n @Event() dsBack!: EventEmitter<MouseEvent>;\n\n /** Emitted when an authored expanded breadcrumb item is activated. */\n @Event({ cancelable: true }) dsBreadcrumbSelect!: EventEmitter<BreadcrumbSelectDetail>;\n\n /** Emitted with the newly selected page-section id. */\n @Event() dsSectionChange!: EventEmitter<string>;\n\n /** Emitted with the activated primary or overflow action id. */\n @Event() dsAction!: EventEmitter<string>;\n\n @State() private sectionMenuOpen = false;\n @State() private openActionMenuId = '';\n @State() private surfaceActionMenuId = '';\n @State() private sectionSurfaceOpen = false;\n @State() private sectionMenuInitialFocusVisible = false;\n @State() private actionMenuInitialFocusVisible = false;\n\n private readonly instanceId = nextBarTitleId++;\n private readonly sectionMenuTriggerId = `bar-title-section-trigger-${this.instanceId}`;\n private readonly sectionMenuId = `bar-title-section-menu-${this.instanceId}`;\n private readonly actionMenuTriggerId = `bar-title-action-trigger-${this.instanceId}`;\n private readonly actionMenuId = `bar-title-action-menu-${this.instanceId}`;\n private sectionTriggerEl: HTMLButtonElement | null = null;\n private actionTriggerEl: FocusableBarTitleButton | null = null;\n private actionTriggerEls = new Map<string, FocusableBarTitleButton>();\n\n componentWillLoad() {\n if (this.el.closest('ds-shell-page')) {\n this.el.setAttribute('data-shell-page-syncing', '');\n }\n this.reportActionIdIssues();\n }\n\n @Watch('sections')\n handleSectionsChange() {\n if (!this.hasSectionSelector) {\n this.closeSectionMenu();\n this.sectionSurfaceOpen = false;\n }\n }\n\n @Watch('actions')\n @Watch('primaryAction')\n @Watch('actionItems')\n handleActionsChange() {\n this.reportActionIdIssues();\n if (!this.availableActionMenuIds.has(this.openActionMenuId)) this.closeActionMenu();\n if (!this.availableActionMenuIds.has(this.surfaceActionMenuId)) this.surfaceActionMenuId = '';\n }\n\n private reportActionIdIssues() {\n for (const issue of barTitleActionIdIssues(this.resolvedActionItems)) {\n console.warn(`[ds-bar-title] ${issue}`);\n }\n }\n\n private get compact(): boolean {\n return this.effectiveVariant !== 'expanded';\n }\n\n private get menuSideOffset(): string | undefined {\n return this.placement === 'shell-bar' ? BAR_TITLE_SHELL_BAR_MENU_SIDE_OFFSET : undefined;\n }\n\n private get effectiveVariant(): BarTitleVariant {\n return this.placement === 'shell-bar' ? 'compact' : this.variant;\n }\n\n private get dividerVisible(): boolean {\n return this.compact ? (this.showCompactDivider ?? this.showDivider) : this.showDivider;\n }\n\n private get expandedBreadcrumbItems(): BreadcrumbItem[] {\n if (this.breadcrumbs.length > 0) return this.breadcrumbs;\n if (!this.showBack) return [];\n return [\n {\n id: 'back',\n label: this.backLabel,\n ariaLabel: this.backAriaLabel,\n },\n ];\n }\n\n private get primaryCollapsed(): boolean {\n return (\n this.actionItems === undefined &&\n this.effectiveVariant === 'constrained' &&\n this.primaryAction !== null &&\n (this.primaryAction.collapse ?? 'auto') === 'auto'\n );\n }\n\n private get selectableSections() {\n return selectableBarTitleSections(this.sections);\n }\n\n private get hasSectionSelector(): boolean {\n return this.selectableSections.length > 1;\n }\n\n private get effectiveValue(): string {\n return effectiveBarTitleSectionValue(this.sections, this.value);\n }\n\n private get selectedSectionLabel(): string {\n return selectedBarTitleSectionLabel(this.sections, this.value);\n }\n\n private get sectionTriggerAriaLabel(): string {\n return barTitleSectionTriggerAriaLabel(this.sectionsAriaLabel, this.selectedSectionLabel);\n }\n\n private get sectionMenuSections() {\n return barTitleSectionMenuSections(this.sections, this.effectiveValue);\n }\n\n private get resolvedActionItems(): BarTitleActionConfigItem[] {\n return resolveBarTitleActionItems(this.actionItems, this.primaryAction, this.actions);\n }\n\n private get visibleActions(): BarTitleActionConfigItem[] {\n return visibleBarTitleActions(this.resolvedActionItems, this.effectiveVariant);\n }\n\n private get actionMenuSections(): MenuSection[] {\n return overflowBarTitleActionSections(this.resolvedActionItems, this.effectiveVariant);\n }\n\n private get showActionMenuTrigger(): boolean {\n return this.actionMenuSections.length > 0;\n }\n\n private get availableActionMenuIds(): Set<string> {\n return availableBarTitleActionMenuIds(this.visibleActions, this.showActionMenuTrigger);\n }\n\n private toggleSectionMenu = (event: MouseEvent) => {\n this.sectionMenuInitialFocusVisible = event.detail === 0;\n this.openActionMenuId = '';\n this.sectionMenuOpen = !this.sectionMenuOpen;\n if (this.sectionMenuOpen) this.sectionSurfaceOpen = true;\n };\n\n private closeSectionMenu = () => {\n this.sectionMenuOpen = false;\n };\n\n private handleSectionSelect = (event: CustomEvent<MenuItemData>) => {\n const id = String(event.detail?.value ?? '');\n const selected = this.selectableSections.find(section => section.id === id);\n if (!selected || selected.isInactive) return;\n this.closeSectionMenu();\n this.dsSectionChange.emit(id);\n requestAnimationFrame(() => this.sectionTriggerEl?.focus());\n };\n\n private toggleActionMenu = (id: string, event: MouseEvent) => {\n this.actionMenuInitialFocusVisible = event.detail === 0;\n this.sectionMenuOpen = false;\n this.openActionMenuId = this.openActionMenuId === id ? '' : id;\n if (this.openActionMenuId) this.surfaceActionMenuId = this.openActionMenuId;\n };\n\n private finishActionMenuClose = (event: CustomEvent<void>) => {\n const id = this.surfaceActionMenuId;\n const domId =\n id === '__overflow'\n ? this.actionMenuId\n : barTitleActionMenuDomId('bar-title', this.instanceId, this.resolvedActionItems, id);\n if (this.openActionMenuId !== id && (event.target as HTMLElement).id === domId) {\n this.surfaceActionMenuId = '';\n }\n };\n\n private closeActionMenu = () => {\n this.openActionMenuId = '';\n };\n\n private handleActionSelect = (event: CustomEvent<MenuItemData>) => {\n const id = String(event.detail?.value ?? '');\n const action = findBarTitleAction(this.resolvedActionItems, id);\n if (!action || action.isInactive || ('isLoading' in action && action.isLoading)) return;\n const menuId = this.openActionMenuId;\n this.closeActionMenu();\n this.dsAction.emit(id);\n requestAnimationFrame(() => {\n void restoreBarTitleActionFocus({\n menuId,\n overflowTrigger: this.actionTriggerEl,\n actionTriggers: this.actionTriggerEls,\n resolvedActionItems: this.resolvedActionItems,\n });\n });\n };\n\n private chromeActionOptions() {\n return {\n classPrefix: 'bar-title',\n compact: this.compact,\n visibleActions: this.visibleActions,\n showOverflowTrigger: this.showActionMenuTrigger,\n actionItems: this.actionItems,\n primaryAction: this.primaryAction,\n resolvedActionItems: this.resolvedActionItems,\n instanceId: this.instanceId,\n openActionMenuId: this.openActionMenuId,\n surfaceActionMenuId: this.surfaceActionMenuId,\n actionsAriaLabel: this.actionsAriaLabel,\n actionMenuTriggerId: this.actionMenuTriggerId,\n actionMenuId: this.actionMenuId,\n actionTriggers: this.actionTriggerEls,\n setOverflowTriggerEl: (el: FocusableBarTitleButton | null) => {\n this.actionTriggerEl = el;\n },\n toggleActionMenu: this.toggleActionMenu,\n emitAction: (id: string) => this.dsAction.emit(id),\n };\n }\n\n private renderSectionSelector() {\n if (!this.hasSectionSelector) return null;\n return [\n <div class=\"bar-title__divider\" aria-hidden=\"true\" />,\n renderBarTitleSectionTrigger({\n classPrefix: 'bar-title',\n triggerId: this.sectionMenuTriggerId,\n menuId: this.sectionMenuId,\n open: this.sectionMenuOpen,\n surfaceOpen: this.sectionSurfaceOpen,\n ariaLabel: this.sectionTriggerAriaLabel,\n selectedLabel: this.selectedSectionLabel,\n setTriggerEl: el => {\n this.sectionTriggerEl = el;\n },\n onToggle: this.toggleSectionMenu,\n }),\n ];\n }\n\n private renderActions() {\n return renderBarTitleActions(this.chromeActionOptions());\n }\n\n private renderActionMenus() {\n return renderBarTitleActionMenus({\n classPrefix: 'bar-title',\n visibleActions: this.visibleActions,\n instanceId: this.instanceId,\n resolvedActionItems: this.resolvedActionItems,\n sideOffset: this.menuSideOffset,\n openActionMenuId: this.openActionMenuId,\n actionMenuInitialFocusVisible: this.actionMenuInitialFocusVisible,\n overflowTrigger: this.actionTriggerEl,\n actionTriggers: this.actionTriggerEls,\n closeActionMenu: this.closeActionMenu,\n finishActionMenuClose: this.finishActionMenuClose,\n handleActionSelect: this.handleActionSelect,\n });\n }\n\n private handleBreadcrumbSelect = (event: CustomEvent<BreadcrumbSelectDetail>) => {\n if (this.breadcrumbs.length === 0) {\n this.dsBack.emit(event.detail.originalEvent);\n return;\n }\n const forwarded = this.dsBreadcrumbSelect.emit(event.detail);\n if (forwarded.defaultPrevented) event.preventDefault();\n };\n\n private renderBreadcrumb() {\n const items = this.expandedBreadcrumbItems;\n if (items.length === 0) return null;\n return (\n <ds-breadcrumb\n class=\"bar-title__breadcrumb\"\n items={items}\n ariaLabel={this.breadcrumbAriaLabel}\n onDsSelect={this.handleBreadcrumbSelect}\n />\n );\n }\n\n private renderBack() {\n return renderBarTitleBack({\n classPrefix: 'bar-title',\n showBack: this.showBack,\n backAriaLabel: this.backAriaLabel,\n onBack: event => this.dsBack.emit(event),\n });\n }\n\n render() {\n const compact = this.compact;\n return (\n <Host\n class={{\n 'bar-title-host--compact': compact,\n 'bar-title-host--expanded': this.effectiveVariant === 'expanded',\n 'bar-title-host--constrained': this.effectiveVariant === 'constrained',\n 'bar-title-host--has-description': !!this.description,\n 'bar-title-host--has-back': this.showBack,\n 'bar-title-host--has-breadcrumb': !compact && this.expandedBreadcrumbItems.length > 0,\n 'bar-title-host--shell-bar': this.placement === 'shell-bar',\n }}\n >\n <div\n class={{\n 'bar-title': true,\n 'bar-title--divider-hidden': !this.dividerVisible,\n 'ds-chrome-header': compact,\n }}\n >\n <div class=\"bar-title__inner\">\n {!compact ? this.renderBreadcrumb() : null}\n <div class=\"bar-title__row\">\n <div class=\"bar-title__leading\">\n <div class=\"bar-title__title-row\" data-shell-page-header-anchor>\n <div class=\"bar-title__identity\">\n {compact ? this.renderBack() : null}\n <ds-text\n class=\"bar-title__heading ds-control--md\"\n variant={compact ? 'text-title-small' : 'text-title-medium'}\n emphasis\n color=\"primary\"\n as=\"h1\"\n lineTruncation={1}\n >\n {this.heading}\n </ds-text>\n </div>\n {this.renderSectionSelector()}\n </div>\n {this.description && !compact ? (\n <ds-text\n class=\"bar-title__description\"\n variant=\"text-body-small\"\n color=\"secondary\"\n lineTruncation={2}\n wrap=\"wrap\"\n as=\"p\"\n >\n {this.description}\n </ds-text>\n ) : null}\n </div>\n {this.renderActions()}\n </div>\n </div>\n </div>\n\n {this.hasSectionSelector ? (\n <ds-menu\n id={this.sectionMenuId}\n class=\"bar-title__section-menu\"\n anchorId={this.sectionMenuTriggerId}\n sideOffset={this.menuSideOffset}\n menuLabel={this.sectionsAriaLabel}\n open={this.sectionMenuOpen}\n initialFocusVisible={this.sectionMenuInitialFocusVisible}\n sections={this.sectionMenuSections}\n onDsClose={this.closeSectionMenu}\n onDsAfterClose={() => {\n if (!this.sectionMenuOpen) this.sectionSurfaceOpen = false;\n }}\n onDsSelect={this.handleSectionSelect}\n />\n ) : null}\n\n {this.renderActionMenus()}\n\n {renderBarTitleOverflowMenu({\n classPrefix: 'bar-title',\n showOverflowTrigger: this.showActionMenuTrigger,\n actionMenuId: this.actionMenuId,\n actionMenuTriggerId: this.actionMenuTriggerId,\n sideOffset: this.menuSideOffset,\n actionsAriaLabel: this.actionsAriaLabel,\n open: this.openActionMenuId === '__overflow',\n actionMenuInitialFocusVisible: this.actionMenuInitialFocusVisible,\n actionMenuSections: this.actionMenuSections,\n closeActionMenu: this.closeActionMenu,\n finishActionMenuClose: this.finishActionMenuClose,\n handleActionSelect: this.handleActionSelect,\n })}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{p as i,H as e,c as t,h as r,a as o,t as s}from"./index.js";import{d as n}from"./p-ZwRLjD5M.js";const c=[1,2,3,4,5,6,7,8,9,10,11,12];const d=["AM","PM"];const a=/^\d{2}:\d{2}$/;function l(i){if(!a.test(i))return false;const[e,t]=i.split(":").map(Number);return e>=0&&e<=23&&t>=0&&t<=59}function u(i=60){const e=typeof i==="number"?i:Number(i);if(!Number.isFinite(e)||e<=0)return 1;if(e<60)return 1;return Math.max(1,Math.round(e/60))}function f(i=1,e=0){const t=Number.isFinite(i)&&i>0?Math.floor(i):1;const r=(Math.floor(e)%60+60)%60;const o=new Set;for(let i=0;i<1440;i+=t){o.add((r+i)%60)}return[...o].sort(((i,e)=>i-e))}function p(i){if(!l(i))return null;const[e,t]=i.split(":").map(Number);const r=e>=12?"PM":"AM";const o=e%12===0?12:e%12;return{hour12:o,minute:t,period:r}}function m(i){const e=i.period==="AM"?i.hour12===12?0:i.hour12:i.hour12===12?12:i.hour12+12;return`${String(e).padStart(2,"0")}:${String(i.minute).padStart(2,"0")}`}function v(i){const e=p(i);if(!e)return"";return`${e.hour12}:${String(e.minute).padStart(2,"0")} ${e.period}`}function h(i){const e=i.trim();if(!e)return"";if(l(e))return e;const t=e.match(/^(\d{1,2}):(\d{2})$/);if(t){const i=Number(t[1]);const e=Number(t[2]);if(i>23||e>59)return"";return`${String(i).padStart(2,"0")}:${t[2]}`}const r=e.match(/^(\d{1,2})(?::(\d{2}))?\s*([AaPp])\.?[Mm]\.?$/);if(!r)return"";const o=Number(r[1]);const s=r[2]?Number(r[2]):0;if(o<1||o>12||s>59)return"";const n=r[3].toUpperCase()==="P"?"PM":"AM";return m({hour12:o,minute:s,period:n})}function k(i,e,t){if(!l(i))return true;if(e&&l(e)&&i<e)return true;if(t&&l(t)&&i>t)return true;return false}function g(i,e=60,t){if(!l(i))return false;const r=i.split(":").map(Number);const o=t&&l(t)?t.split(":").map(Number):[0,0];const s=u(e);const n=r[0]*60+r[1];const c=o[0]*60+o[1];return(n-c)%s===0}function b(i,e,t){if(t<=0)return 0;return Math.min(t-1,Math.max(0,i+e))}const w=()=>`.sc-ds-time-picker-h,.sc-ds-time-picker:where(.ds-table),.sc-ds-time-picker:where(.tooltip-popup),.sc-ds-time-picker: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-time-picker,.ds-control--lg.sc-ds-time-picker-h,.ds-control--md.sc-ds-time-picker-h,.ds-control--md.sc-ds-time-picker,.ds-control--sm.sc-ds-time-picker-h,.ds-control--sm.sc-ds-time-picker,.ds-control--xs.sc-ds-time-picker-h,.ds-control--xs.sc-ds-time-picker{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-time-picker-h,.ds-control--lg.sc-ds-time-picker{--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-time-picker-h,.ds-control--md.sc-ds-time-picker{--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-time-picker-h,.ds-control--sm.sc-ds-time-picker{--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-time-picker-h,.ds-control--xs.sc-ds-time-picker{--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}@media (forced-colors: active){.sc-ds-time-picker:root,.sc-ds-time-picker-h,.ds-forced-colors-scope.sc-ds-time-picker{--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-time-picker-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-time-picker-h,.ds-focus-ring.sc-ds-time-picker,.ds-focus-ring-inset.sc-ds-time-picker-h,.ds-focus-ring-inset.sc-ds-time-picker{outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.ds-focus-ring.sc-ds-time-picker-h:focus-visible,.ds-focus-ring.sc-ds-time-picker: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-time-picker-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-time-picker{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-time-picker-h:focus-visible,.ds-focus-ring-inset.sc-ds-time-picker:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-time-picker-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-time-picker: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-time-picker-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-time-picker{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-time-picker-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-time-picker::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-time-picker-h{--ds-focus-ring-color:var(--ds-forced-color-selected)}}@media (forced-colors: active){.sc-ds-time-picker:root,.sc-ds-time-picker-h,.ds-forced-colors-scope.sc-ds-time-picker{--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-interaction-fill.sc-ds-time-picker-h,.ds-interaction-fill.sc-ds-time-picker{position:var(--ds-interaction-position, relative);z-index:var(--ds-interaction-z-index, 0);cursor:default;--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-divider-width:0px;--ds-interaction-divider-color:transparent;--ds-interaction-divider-inline-start-width:0px;--ds-interaction-divider-inline-start-color:transparent;--ds-interaction-divider-inline-end-width:0px;--ds-interaction-divider-inline-end-color:transparent}.ds-interaction-fill.sc-ds-time-picker-h::before,.ds-interaction-fill.sc-ds-time-picker::before,.ds-interaction-fill.sc-ds-time-picker-h::after,.ds-interaction-fill.sc-ds-time-picker::after{content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none;cursor:inherit;transition:none}.ds-interaction-fill.sc-ds-time-picker-h::before,.ds-interaction-fill.sc-ds-time-picker::before{z-index:1}.ds-interaction-fill.sc-ds-time-picker-h::after,.ds-interaction-fill.sc-ds-time-picker::after{z-index:3;box-shadow:inset 0 calc(-1 * var(--ds-interaction-divider-width)) 0 var(--ds-interaction-divider-color), inset var(--ds-interaction-divider-inline-start-width) 0 0 var(--ds-interaction-divider-inline-start-color), inset calc(-1 * var(--ds-interaction-divider-inline-end-width)) 0 0 var(--ds-interaction-divider-inline-end-color), inset 0 0 0 var(--ds-interaction-border-width) var(--ds-interaction-border-color)}.ds-interaction-fill--bordered.sc-ds-time-picker-h,.ds-interaction-fill--bordered.sc-ds-time-picker{--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--color-border-secondary)}.ds-interaction-fill--selected.sc-ds-time-picker-h::before,.ds-interaction-fill--selected.sc-ds-time-picker::before{background:var(--ds-interaction-active)}.ds-interaction-fill--selected.sc-ds-time-picker-h,.ds-interaction-fill--selected.sc-ds-time-picker{--ds-interaction-dot-ring:var(--ds-interaction-active)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-time-picker-h:hover:not(:disabled)::after,.ds-interaction-fill.sc-ds-time-picker:hover:not(:disabled)::after{background:var(--ds-interaction-hover)}}.ds-interaction-fill.sc-ds-time-picker-h:active:not(:disabled)::after,.ds-interaction-fill.sc-ds-time-picker:active:not(:disabled)::after{background:var(--ds-interaction-pressed)}.ds-interaction-fill--grouped.sc-ds-time-picker-h::after,.ds-interaction-fill--grouped.sc-ds-time-picker::after,.ds-interaction-fill--grouped.sc-ds-time-picker-h:active:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-time-picker:active:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill--grouped.sc-ds-time-picker-h:hover:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-time-picker:hover:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}}.ds-interaction-fill--grouped.sc-ds-time-picker-h,.ds-interaction-fill--grouped.sc-ds-time-picker{--ds-interaction-divider-width:var(--ds-interaction-group-divider-width, 0px);--ds-interaction-divider-color:var(--ds-interaction-group-divider-color, transparent);--ds-interaction-divider-inline-start-width:var( --ds-interaction-group-divider-inline-start-width, 0px );--ds-interaction-divider-inline-start-color:var( --ds-interaction-group-divider-inline-start-color, transparent );--ds-interaction-divider-inline-end-width:var( --ds-interaction-group-divider-inline-end-width, 0px );--ds-interaction-divider-inline-end-color:var( --ds-interaction-group-divider-inline-end-color, transparent )}.ds-interaction-fill.sc-ds-time-picker-h>.ds-interaction-fill__content.sc-ds-time-picker,.ds-interaction-fill.sc-ds-time-picker>.ds-interaction-fill__content.sc-ds-time-picker,.ds-interaction-fill__content.sc-ds-time-picker{position:relative;z-index:2;cursor:inherit}.ds-interaction-fill--on-faint.sc-ds-time-picker-h,.ds-interaction-fill--on-faint.sc-ds-time-picker{--ds-interaction-active:var(--color-interaction-active)}.ds-interaction-fill--on-medium.sc-ds-time-picker-h,.ds-interaction-fill--on-medium.sc-ds-time-picker{--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-time-picker-h,.ds-interaction-fill--on-bold.sc-ds-time-picker{--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-time-picker-h,.ds-interaction-fill--on-strong.sc-ds-time-picker{--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-time-picker-h,.ds-interaction-fill--on-translucent.sc-ds-time-picker{--ds-interaction-hover:var(--color-translucent-interaction-hover);--ds-interaction-pressed:var(--color-translucent-interaction-pressed);--ds-interaction-active:var(--color-translucent-interaction-active-brand);--ds-focus-ring-color:var(--color-translucent-interaction-focus)}.ds-interaction-fill--on-inverted.sc-ds-time-picker-h,.ds-interaction-fill--on-inverted.sc-ds-time-picker{--ds-interaction-hover:var(--color-inverted-interaction-hover);--ds-interaction-pressed:var(--color-inverted-interaction-pressed);--ds-interaction-active:var(--color-inverted-interaction-active-brand);--ds-focus-ring-color:var(--color-inverted-interaction-focus)}.ds-interaction-fill--on-media.sc-ds-time-picker-h,.ds-interaction-fill--on-media.sc-ds-time-picker{--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-time-picker-h,.ds-interaction-fill--on-always-dark.sc-ds-time-picker{--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-brand);--ds-focus-ring-color:var(--color-always-dark-interaction-focus)}.ds-interaction-fill--on-navigation.sc-ds-time-picker-h,.ds-interaction-fill--on-navigation.sc-ds-time-picker{--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-interaction-fill.ds-interaction-fill--surface-open.sc-ds-time-picker-h:not(:disabled)::after,.ds-interaction-fill.ds-interaction-fill--surface-open.sc-ds-time-picker:not(:disabled)::after{background:var(--ds-interaction-pressed)}@media (forced-colors: active){.ds-interaction-fill.sc-ds-time-picker-h::after,.ds-interaction-fill.sc-ds-time-picker::after{box-shadow:none;outline:var(--ds-interaction-border-width) solid var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--ds-interaction-border-width))}.ds-interaction-fill--surface-open.sc-ds-time-picker-h:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill--surface-open.sc-ds-time-picker:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after{outline:var(--dimension-stroke-width-025) dashed var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--dimension-stroke-width-025))}.ds-interaction-fill--selected.sc-ds-time-picker-h::before,.ds-interaction-fill--selected.sc-ds-time-picker::before{background:transparent;outline:var(--dimension-stroke-width-025) solid var(--ds-forced-color-selected);outline-offset:calc(-1 * var(--dimension-stroke-width-025))}}@media (forced-colors: active) and (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-time-picker-h:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill.sc-ds-time-picker:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after{outline-color:var(--ds-forced-color-selected);outline-width:var(--dimension-stroke-width-012)}}@media (forced-colors: active){.sc-ds-time-picker:root,.sc-ds-time-picker-h,.ds-forced-colors-scope.sc-ds-time-picker{--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-time-picker-h{display:flex;min-height:0;flex-direction:column}.time-picker.sc-ds-time-picker{display:grid;grid-template-columns:repeat(3, minmax(var(--dimension-size-400), 1fr));column-gap:var(--dimension-space-050);min-width:calc( (var(--dimension-size-400) * 3) + (var(--dimension-space-050) * 2) + (var(--ds-time-picker-padding, var(--dimension-space-100)) * 2) );padding:var(--ds-time-picker-padding, var(--dimension-space-100))}.time-picker__column.sc-ds-time-picker{display:flex;min-width:0;flex-direction:column}.time-picker__list.sc-ds-time-picker{display:flex;flex-direction:column;gap:var(--dimension-space-050);max-height:calc((var(--dimension-size-400) * 7) + (var(--dimension-space-050) * 6));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.time-picker-tile.sc-ds-time-picker{appearance:none;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:0;width:100%;height:var(--dimension-size-400);padding:0;border:0;border-radius:var(--dimension-radius-025);background:transparent;color:var(--color-foreground-primary);cursor:default}.time-picker-tile.sc-ds-time-picker:disabled{cursor:not-allowed}`;const x=i(class i extends e{constructor(i){super();if(i!==false){this.__registerHost()}this.dsChange=t(this,"dsChange",7);this.value="";this.step=60;this.isInactive=false;this.autoFocus=false;this.handleColumnKeyDown=(i,e,t,r)=>{const o=["hour","minute","period"];const s=o.indexOf(e);if(i.key==="ArrowLeft"||i.key==="ArrowRight"){const t=o[b(s,i.key==="ArrowLeft"?-1:1,o.length)];if(!t||t===e){i.preventDefault();return}i.preventDefault();const r=t==="hour"?c:t==="minute"?this.minutes():d;const n=this.focusValue(t,r);if(n!==undefined)this.focusOption(t,n);return}let n=null;if(i.key==="ArrowUp")n=-1;else if(i.key==="ArrowDown")n=1;else if(i.key==="Home"||i.key==="End")n=0;if(n===null)return;i.preventDefault();let a;if(i.key==="Home"){a=t.find((i=>!this.isDisabledPart(e,this.optionParts(e,i))))}else if(i.key==="End"){for(let i=t.length-1;i>=0;i-=1){const r=t[i];if(r!==undefined&&!this.isDisabledPart(e,this.optionParts(e,r))){a=r;break}}}else{const i=n;let o=t.indexOf(r);if(o<0)o=i>0?-1:t.length;for(let r=o+i;r>=0&&r<t.length;r+=i){const i=t[r];if(i!==undefined&&!this.isDisabledPart(e,this.optionParts(e,i))){a=i;break}}}if(a===undefined)return;this.focusOption(e,a)}}componentDidLoad(){this.scrollSelectedIntoView();if(this.autoFocus)void this.setFocus()}onValueChange(){this.scrollSelectedIntoView()}async setFocus(){this.focusColumn("hour",c)}parts(){return p(this.value)??{hour12:12,minute:0,period:"AM"}}minutes(){const i=this.min?p(this.min):null;return f(u(this.step),i?.minute??0)}isDisabledTime(i){if(this.isInactive)return true;return k(i,this.min,this.max)||!g(i,this.step,this.min)}optionParts(i,e){return i==="hour"?{hour12:e}:i==="minute"?{minute:e}:{period:e}}isDisabledPart(i,e){if(this.isInactive)return true;const t={...this.parts(),...e};const r=i==="hour"?[t.hour12]:c;const o=i==="minute"?[t.minute]:this.minutes();const s=i==="period"?[t.period]:d;return!r.some((i=>o.some((e=>s.some((t=>!this.isDisabledTime(m({hour12:i,minute:e,period:t}))))))))}orderedValues(i,e){return[i,...e.filter((e=>e!==i))]}commit(i,e){const t={...this.parts(),...e};const r=i==="hour"?[t.hour12]:this.orderedValues(t.hour12,c);const o=i==="minute"?[t.minute]:this.orderedValues(t.minute,this.minutes());const s=i==="period"?[t.period]:this.orderedValues(t.period,d);for(const i of r){for(const e of o){for(const t of s){const r=m({hour12:i,minute:e,period:t});if(!this.isDisabledTime(r)){this.dsChange.emit(r);return}}}}}optionEl(i,e){return this.el.querySelector(`[data-${i}-option="${e}"]`)}scrollSelectedIntoView(){const i=this.parts();this.optionEl("hour",i.hour12)?.scrollIntoView({block:"nearest"});this.optionEl("minute",i.minute)?.scrollIntoView({block:"nearest"});this.optionEl("period",i.period)?.scrollIntoView({block:"nearest"})}focusOption(i,e){requestAnimationFrame((()=>{this.optionEl(i,e)?.focus()}))}focusValue(i,e){const t=this.parts();const r=i==="hour"?t.hour12:i==="minute"?t.minute:t.period;if(!this.isDisabledPart(i,this.optionParts(i,r)))return r;return e.find((e=>!this.isDisabledPart(i,this.optionParts(i,e))))}focusColumn(i,e){const t=this.focusValue(i,e);if(t!==undefined)this.optionEl(i,t)?.focus()}renderTile(i,e,t,o,s,n){const c=this.optionParts(i,e);const d=this.isDisabledPart(i,c);return r("button",{type:"button",role:"option","data-hour-option":i==="hour"?String(e):undefined,"data-minute-option":i==="minute"?String(e):undefined,"data-period-option":i==="period"?String(e):undefined,class:{"time-picker-tile":true,"time-picker-tile--selected":t,"ds-focus-ring-inset":true,"ds-interaction-fill":!d,"ds-interaction-fill--selected":t&&!d},disabled:d,"aria-selected":t?"true":"false",tabIndex:o?0:-1,onClick:()=>this.commit(i,c),onKeyDown:t=>this.handleColumnKeyDown(t,i,n,e)},r("ds-text",{class:"ds-interaction-fill__content",as:"span",variant:"text-body-medium",color:t?"primary":"secondary"},s))}render(){const i=this.parts();const e=this.minutes();const t=e.includes(i.minute)?e:[...e,i.minute].sort(((i,e)=>i-e));const s=this.focusValue("hour",c);const n=this.focusValue("minute",t);const a=this.focusValue("period",d);return r(o,{key:"d68a9721c9a2d0b42785c13365b79323937c1c81"},r("div",{key:"62bd2cea29dc3ea1bce1fe59dae6fb9f1ba74241",class:"time-picker",role:"group","aria-label":"Choose time"},r("div",{key:"f4ab624dd9f48a0155ea87f0a740661284ff1a3e",class:"time-picker__column"},r("div",{key:"c954f288cc81ae37c7bf01319d448cce9809934a",class:"time-picker__list",role:"listbox","aria-label":"Hour"},c.map((e=>this.renderTile("hour",e,e===i.hour12,e===s,String(e),c))))),r("div",{key:"5615e363d39111d5085ef2d0a57159a76f2d93ca",class:"time-picker__column"},r("div",{key:"5a40ee684fa04e9e771369ebd1472ef6a0b8d841",class:"time-picker__list",role:"listbox","aria-label":"Minute"},t.map((e=>this.renderTile("minute",e,e===i.minute,e===n,String(e).padStart(2,"0"),t))))),r("div",{key:"86cd766e7e91f4ee85c0476932dc6632dbf9792e",class:"time-picker__column"},r("div",{key:"11f7dfe41533ed2e94b08c92a282eb1cbac3220c",class:"time-picker__list",role:"listbox","aria-label":"AM/PM"},d.map((e=>this.renderTile("period",e,e===i.period,e===a,e,d)))))))}get el(){return this}static get watchers(){return{value:[{onValueChange:0}]}}static get style(){return w()}},[2,"ds-time-picker",{value:[1],min:[1],max:[1],step:[8],isInactive:[4,"is-inactive"],autoFocus:[4,"auto-focus"],setFocus:[64]},undefined,{value:[{onValueChange:0}]}]);function y(){if(typeof customElements==="undefined"){return}const i=["ds-time-picker","ds-text"];i.forEach((i=>{switch(i){case"ds-time-picker":if(!customElements.get(s(i))){customElements.define(s(i),x)}break;case"ds-text":if(!customElements.get(s(i))){n()}break}}))}y();export{x as T,g as a,y as d,v as f,l as i,h as p};
2
- //# sourceMappingURL=p-DsLXlxt3.js.map
1
+ import{p as i,H as e,c as t,h as r,a as o,t as s}from"./index.js";import{d as n}from"./p-D8OWhnID.js";const c=[1,2,3,4,5,6,7,8,9,10,11,12];const d=["AM","PM"];const a=/^\d{2}:\d{2}$/;function l(i){if(!a.test(i))return false;const[e,t]=i.split(":").map(Number);return e>=0&&e<=23&&t>=0&&t<=59}function u(i=60){const e=typeof i==="number"?i:Number(i);if(!Number.isFinite(e)||e<=0)return 1;if(e<60)return 1;return Math.max(1,Math.round(e/60))}function f(i=1,e=0){const t=Number.isFinite(i)&&i>0?Math.floor(i):1;const r=(Math.floor(e)%60+60)%60;const o=new Set;for(let i=0;i<1440;i+=t){o.add((r+i)%60)}return[...o].sort(((i,e)=>i-e))}function m(i){if(!l(i))return null;const[e,t]=i.split(":").map(Number);const r=e>=12?"PM":"AM";const o=e%12===0?12:e%12;return{hour12:o,minute:t,period:r}}function p(i){const e=i.period==="AM"?i.hour12===12?0:i.hour12:i.hour12===12?12:i.hour12+12;return`${String(e).padStart(2,"0")}:${String(i.minute).padStart(2,"0")}`}function h(i){const e=m(i);if(!e)return"";return`${e.hour12}:${String(e.minute).padStart(2,"0")} ${e.period}`}function v(i){const e=i.trim();if(!e)return"";if(l(e))return e;const t=e.match(/^(\d{1,2}):(\d{2})$/);if(t){const i=Number(t[1]);const e=Number(t[2]);if(i>23||e>59)return"";return`${String(i).padStart(2,"0")}:${t[2]}`}const r=e.match(/^(\d{1,2})(?::(\d{2}))?\s*([AaPp])\.?[Mm]\.?$/);if(!r)return"";const o=Number(r[1]);const s=r[2]?Number(r[2]):0;if(o<1||o>12||s>59)return"";const n=r[3].toUpperCase()==="P"?"PM":"AM";return p({hour12:o,minute:s,period:n})}function k(i,e,t){if(!l(i))return true;if(e&&l(e)&&i<e)return true;if(t&&l(t)&&i>t)return true;return false}function g(i,e=60,t){if(!l(i))return false;const r=i.split(":").map(Number);const o=t&&l(t)?t.split(":").map(Number):[0,0];const s=u(e);const n=r[0]*60+r[1];const c=o[0]*60+o[1];return(n-c)%s===0}function b(i,e,t){if(t<=0)return 0;return Math.min(t-1,Math.max(0,i+e))}const w=()=>`.sc-ds-time-picker-h,.sc-ds-time-picker:where(.ds-table),.sc-ds-time-picker:where(.tooltip-popup),.sc-ds-time-picker: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-time-picker,.ds-control--lg.sc-ds-time-picker-h,.ds-control--md.sc-ds-time-picker-h,.ds-control--md.sc-ds-time-picker,.ds-control--sm.sc-ds-time-picker-h,.ds-control--sm.sc-ds-time-picker,.ds-control--xs.sc-ds-time-picker-h,.ds-control--xs.sc-ds-time-picker{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-time-picker-h,.ds-control--lg.sc-ds-time-picker{--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-time-picker-h,.ds-control--md.sc-ds-time-picker{--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-time-picker-h,.ds-control--sm.sc-ds-time-picker{--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-time-picker-h,.ds-control--xs.sc-ds-time-picker{--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}@media (forced-colors: active){.sc-ds-time-picker:root,.sc-ds-time-picker-h,.ds-forced-colors-scope.sc-ds-time-picker{--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-time-picker-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-time-picker-h,.ds-focus-ring.sc-ds-time-picker,.ds-focus-ring-inset.sc-ds-time-picker-h,.ds-focus-ring-inset.sc-ds-time-picker{outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.ds-focus-ring.sc-ds-time-picker-h:focus-visible,.ds-focus-ring.sc-ds-time-picker: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-time-picker-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-time-picker{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-time-picker-h:focus-visible,.ds-focus-ring-inset.sc-ds-time-picker:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-time-picker-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-time-picker: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-time-picker-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-time-picker{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-time-picker-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-time-picker::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-time-picker-h{--ds-focus-ring-color:var(--ds-forced-color-selected)}}@media (forced-colors: active){.sc-ds-time-picker:root,.sc-ds-time-picker-h,.ds-forced-colors-scope.sc-ds-time-picker{--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-interaction-fill.sc-ds-time-picker-h,.ds-interaction-fill.sc-ds-time-picker{position:var(--ds-interaction-position, relative);z-index:var(--ds-interaction-z-index, 0);cursor:default;--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-divider-width:0px;--ds-interaction-divider-color:transparent;--ds-interaction-divider-inline-start-width:0px;--ds-interaction-divider-inline-start-color:transparent;--ds-interaction-divider-inline-end-width:0px;--ds-interaction-divider-inline-end-color:transparent}.ds-interaction-fill.sc-ds-time-picker-h::before,.ds-interaction-fill.sc-ds-time-picker::before,.ds-interaction-fill.sc-ds-time-picker-h::after,.ds-interaction-fill.sc-ds-time-picker::after{content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none;cursor:inherit;transition:none}.ds-interaction-fill.sc-ds-time-picker-h::before,.ds-interaction-fill.sc-ds-time-picker::before{z-index:1}.ds-interaction-fill.sc-ds-time-picker-h::after,.ds-interaction-fill.sc-ds-time-picker::after{z-index:3;box-shadow:inset 0 calc(-1 * var(--ds-interaction-divider-width)) 0 var(--ds-interaction-divider-color), inset var(--ds-interaction-divider-inline-start-width) 0 0 var(--ds-interaction-divider-inline-start-color), inset calc(-1 * var(--ds-interaction-divider-inline-end-width)) 0 0 var(--ds-interaction-divider-inline-end-color), inset 0 0 0 var(--ds-interaction-border-width) var(--ds-interaction-border-color)}.ds-interaction-fill--bordered.sc-ds-time-picker-h,.ds-interaction-fill--bordered.sc-ds-time-picker{--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--color-border-secondary)}.ds-interaction-fill--selected.sc-ds-time-picker-h::before,.ds-interaction-fill--selected.sc-ds-time-picker::before{background:var(--ds-interaction-active)}.ds-interaction-fill--selected.sc-ds-time-picker-h,.ds-interaction-fill--selected.sc-ds-time-picker{--ds-interaction-dot-ring:var(--ds-interaction-active)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-time-picker-h:hover:not(:disabled)::after,.ds-interaction-fill.sc-ds-time-picker:hover:not(:disabled)::after{background:var(--ds-interaction-hover)}}.ds-interaction-fill.sc-ds-time-picker-h:active:not(:disabled)::after,.ds-interaction-fill.sc-ds-time-picker:active:not(:disabled)::after{background:var(--ds-interaction-pressed)}.ds-interaction-fill--grouped.sc-ds-time-picker-h::after,.ds-interaction-fill--grouped.sc-ds-time-picker::after,.ds-interaction-fill--grouped.sc-ds-time-picker-h:active:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-time-picker:active:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill--grouped.sc-ds-time-picker-h:hover:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-time-picker:hover:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}}.ds-interaction-fill--grouped.sc-ds-time-picker-h,.ds-interaction-fill--grouped.sc-ds-time-picker{--ds-interaction-divider-width:var(--ds-interaction-group-divider-width, 0px);--ds-interaction-divider-color:var(--ds-interaction-group-divider-color, transparent);--ds-interaction-divider-inline-start-width:var( --ds-interaction-group-divider-inline-start-width, 0px );--ds-interaction-divider-inline-start-color:var( --ds-interaction-group-divider-inline-start-color, transparent );--ds-interaction-divider-inline-end-width:var( --ds-interaction-group-divider-inline-end-width, 0px );--ds-interaction-divider-inline-end-color:var( --ds-interaction-group-divider-inline-end-color, transparent )}.ds-interaction-fill.sc-ds-time-picker-h>.ds-interaction-fill__content.sc-ds-time-picker,.ds-interaction-fill.sc-ds-time-picker>.ds-interaction-fill__content.sc-ds-time-picker,.ds-interaction-fill__content.sc-ds-time-picker{position:relative;z-index:2;cursor:inherit}.ds-interaction-fill--on-faint.sc-ds-time-picker-h,.ds-interaction-fill--on-faint.sc-ds-time-picker{--ds-interaction-active:var(--color-interaction-active)}.ds-interaction-fill--on-medium.sc-ds-time-picker-h,.ds-interaction-fill--on-medium.sc-ds-time-picker{--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-time-picker-h,.ds-interaction-fill--on-bold.sc-ds-time-picker{--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-time-picker-h,.ds-interaction-fill--on-strong.sc-ds-time-picker{--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-time-picker-h,.ds-interaction-fill--on-translucent.sc-ds-time-picker{--ds-interaction-hover:var(--color-translucent-interaction-hover);--ds-interaction-pressed:var(--color-translucent-interaction-pressed);--ds-interaction-active:var(--color-translucent-interaction-active-brand);--ds-focus-ring-color:var(--color-translucent-interaction-focus)}.ds-interaction-fill--on-inverted.sc-ds-time-picker-h,.ds-interaction-fill--on-inverted.sc-ds-time-picker{--ds-interaction-hover:var(--color-inverted-interaction-hover);--ds-interaction-pressed:var(--color-inverted-interaction-pressed);--ds-interaction-active:var(--color-inverted-interaction-active-brand);--ds-focus-ring-color:var(--color-inverted-interaction-focus)}.ds-interaction-fill--on-media.sc-ds-time-picker-h,.ds-interaction-fill--on-media.sc-ds-time-picker{--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-time-picker-h,.ds-interaction-fill--on-always-dark.sc-ds-time-picker{--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-brand);--ds-focus-ring-color:var(--color-always-dark-interaction-focus)}.ds-interaction-fill--on-chrome.sc-ds-time-picker-h,.ds-interaction-fill--on-chrome.sc-ds-time-picker{--ds-interaction-hover:var(--color-chrome-interaction-hover);--ds-interaction-pressed:var(--color-chrome-interaction-pressed);--ds-interaction-active:var(--color-chrome-interaction-active);--ds-focus-ring-color:var(--color-chrome-interaction-focus)}.ds-interaction-fill--on-navigation.sc-ds-time-picker-h,.ds-interaction-fill--on-navigation.sc-ds-time-picker{--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-interaction-fill.ds-interaction-fill--surface-open.sc-ds-time-picker-h:not(:disabled)::after,.ds-interaction-fill.ds-interaction-fill--surface-open.sc-ds-time-picker:not(:disabled)::after{background:var(--ds-interaction-pressed)}@media (forced-colors: active){.ds-interaction-fill.sc-ds-time-picker-h::after,.ds-interaction-fill.sc-ds-time-picker::after{box-shadow:none;outline:var(--ds-interaction-border-width) solid var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--ds-interaction-border-width))}.ds-interaction-fill--surface-open.sc-ds-time-picker-h:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill--surface-open.sc-ds-time-picker:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after{outline:var(--dimension-stroke-width-025) dashed var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--dimension-stroke-width-025))}.ds-interaction-fill--selected.sc-ds-time-picker-h::before,.ds-interaction-fill--selected.sc-ds-time-picker::before{background:transparent;outline:var(--dimension-stroke-width-025) solid var(--ds-forced-color-selected);outline-offset:calc(-1 * var(--dimension-stroke-width-025))}}@media (forced-colors: active) and (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-time-picker-h:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill.sc-ds-time-picker:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after{outline-color:var(--ds-forced-color-selected);outline-width:var(--dimension-stroke-width-012)}}@media (forced-colors: active){.sc-ds-time-picker:root,.sc-ds-time-picker-h,.ds-forced-colors-scope.sc-ds-time-picker{--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-time-picker-h{display:flex;min-height:0;flex-direction:column}.time-picker.sc-ds-time-picker{display:grid;grid-template-columns:repeat(3, minmax(var(--dimension-size-400), 1fr));column-gap:var(--dimension-space-050);min-width:calc( (var(--dimension-size-400) * 3) + (var(--dimension-space-050) * 2) + (var(--ds-time-picker-padding, var(--dimension-space-100)) * 2) );padding:var(--ds-time-picker-padding, var(--dimension-space-100))}.time-picker__column.sc-ds-time-picker{display:flex;min-width:0;flex-direction:column}.time-picker__list.sc-ds-time-picker{display:flex;flex-direction:column;gap:var(--dimension-space-050);max-height:calc((var(--dimension-size-400) * 7) + (var(--dimension-space-050) * 6));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.time-picker-tile.sc-ds-time-picker{appearance:none;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:0;width:100%;height:var(--dimension-size-400);padding:0;border:0;border-radius:var(--dimension-radius-025);background:transparent;color:var(--color-foreground-primary);cursor:default}.time-picker-tile.sc-ds-time-picker:disabled{cursor:not-allowed}.time-picker--24.sc-ds-time-picker{grid-template-columns:repeat(2, minmax(var(--dimension-size-400), 1fr));min-width:calc( var(--dimension-size-400) * 2 + var(--dimension-space-050) + var(--ds-time-picker-padding, var(--dimension-space-100)) * 2 )}`;const x=Array.from({length:24},((i,e)=>e));const y=i(class i extends e{constructor(i){super();if(i!==false){this.__registerHost()}this.dsChange=t(this,"dsChange",7);this.value="";this.hourFormat="12";this.step=60;this.isInactive=false;this.autoFocus=false;this.handleColumnKeyDown=(i,e,t,r)=>{const o=this.hourFormat==="24"?["hour","minute"]:["hour","minute","period"];const s=o.indexOf(e);if(i.key==="ArrowLeft"||i.key==="ArrowRight"){const t=o[b(s,i.key==="ArrowLeft"?-1:1,o.length)];if(!t||t===e){i.preventDefault();return}i.preventDefault();const r=t==="hour"?this.hours():t==="minute"?this.minutes():d;const n=this.focusValue(t,r);if(n!==undefined)this.focusOption(t,n);return}let n=null;if(i.key==="ArrowUp")n=-1;else if(i.key==="ArrowDown")n=1;else if(i.key==="Home"||i.key==="End")n=0;if(n===null)return;i.preventDefault();let c;if(i.key==="Home"){c=t.find((i=>!this.isDisabledPart(e,this.optionParts(e,i))))}else if(i.key==="End"){for(let i=t.length-1;i>=0;i-=1){const r=t[i];if(r!==undefined&&!this.isDisabledPart(e,this.optionParts(e,r))){c=r;break}}}else{const i=n;let o=t.indexOf(r);if(o<0)o=i>0?-1:t.length;for(let r=o+i;r>=0&&r<t.length;r+=i){const i=t[r];if(i!==undefined&&!this.isDisabledPart(e,this.optionParts(e,i))){c=i;break}}}if(c===undefined)return;this.focusOption(e,c)}}componentDidLoad(){this.scrollSelectedIntoView();if(this.autoFocus)void this.setFocus()}onValueChange(){this.scrollSelectedIntoView()}async setFocus(){this.focusColumn("hour",this.hours())}parts(){return m(this.value)??{hour12:12,minute:0,period:"AM"}}hours(){return this.hourFormat==="24"?x:c}displayHour(){const i=this.parts();return this.hourFormat==="24"?i.hour12%12+(i.period==="PM"?12:0):i.hour12}minutes(){const i=this.min?m(this.min):null;return f(u(this.step),i?.minute??0)}isDisabledTime(i){if(this.isInactive)return true;return k(i,this.min,this.max)||!g(i,this.step,this.min)}optionParts(i,e){return i==="hour"?this.hourFormat==="24"?{hour12:Number(e)%12||12,period:Number(e)>=12?"PM":"AM"}:{hour12:e}:i==="minute"?{minute:e}:{period:e}}isDisabledPart(i,e){if(this.isInactive)return true;const t={...this.parts(),...e};const r=i==="hour"?[t.hour12]:c;const o=i==="minute"?[t.minute]:this.minutes();const s=i==="period"||i==="hour"&&this.hourFormat==="24"?[t.period]:d;return!r.some((i=>o.some((e=>s.some((t=>!this.isDisabledTime(p({hour12:i,minute:e,period:t}))))))))}orderedValues(i,e){return[i,...e.filter((e=>e!==i))]}commit(i,e){const t={...this.parts(),...e};const r=i==="hour"?[t.hour12]:this.orderedValues(t.hour12,c);const o=i==="minute"?[t.minute]:this.orderedValues(t.minute,this.minutes());const s=i==="period"||i==="hour"&&this.hourFormat==="24"?[t.period]:this.orderedValues(t.period,d);for(const i of r){for(const e of o){for(const t of s){const r=p({hour12:i,minute:e,period:t});if(!this.isDisabledTime(r)){this.dsChange.emit(r);return}}}}}optionEl(i,e){return this.el.querySelector(`[data-${i}-option="${e}"]`)}scrollSelectedIntoView(){const i=this.parts();this.optionEl("hour",this.displayHour())?.scrollIntoView({block:"nearest"});this.optionEl("minute",i.minute)?.scrollIntoView({block:"nearest"});this.optionEl("period",i.period)?.scrollIntoView({block:"nearest"})}focusOption(i,e){requestAnimationFrame((()=>{this.optionEl(i,e)?.focus()}))}focusValue(i,e){const t=this.parts();const r=i==="hour"?this.displayHour():i==="minute"?t.minute:t.period;if(!this.isDisabledPart(i,this.optionParts(i,r)))return r;return e.find((e=>!this.isDisabledPart(i,this.optionParts(i,e))))}focusColumn(i,e){const t=this.focusValue(i,e);if(t!==undefined)this.optionEl(i,t)?.focus()}renderTile(i,e,t,o,s,n){const c=this.optionParts(i,e);const d=this.isDisabledPart(i,c);return r("button",{type:"button",role:"option","data-hour-option":i==="hour"?String(e):undefined,"data-minute-option":i==="minute"?String(e):undefined,"data-period-option":i==="period"?String(e):undefined,class:{"time-picker-tile":true,"time-picker-tile--selected":t,"ds-focus-ring-inset":true,"ds-interaction-fill":!d,"ds-interaction-fill--selected":t&&!d},disabled:d,"aria-selected":t?"true":"false",tabIndex:o?0:-1,onClick:()=>this.commit(i,c),onKeyDown:t=>this.handleColumnKeyDown(t,i,n,e)},r("ds-text",{class:"ds-interaction-fill__content",as:"span",variant:"text-body-medium",color:t?"primary":"secondary"},s))}render(){const i=this.parts();const e=this.minutes();const t=e.includes(i.minute)?e:[...e,i.minute].sort(((i,e)=>i-e));const s=this.focusValue("hour",this.hours());const n=this.focusValue("minute",t);const c=this.focusValue("period",d);return r(o,{key:"4f215215509548630de2242c7556f4a7a3ee343e"},r("div",{key:"d4d7a69231261e69f8d323532119647bbc90ea36",class:{"time-picker":true,"time-picker--24":this.hourFormat==="24"},role:"group","aria-label":"Choose time"},r("div",{key:"fae7d8fc097f174807d476eab208791f583a17e4",class:"time-picker__column"},r("div",{key:"8171d242ba392efb9ed449b5a0120441247d79b3",class:"time-picker__list",role:"listbox","aria-label":"Hour"},this.hours().map((i=>this.renderTile("hour",i,i===this.displayHour(),i===s,this.hourFormat==="24"?String(i).padStart(2,"0"):String(i),this.hours()))))),r("div",{key:"c341f791632ac8a5921fd253274add75d300e4e8",class:"time-picker__column"},r("div",{key:"504d5b03e5fa44f992743017217099a57396a0f3",class:"time-picker__list",role:"listbox","aria-label":"Minute"},t.map((e=>this.renderTile("minute",e,e===i.minute,e===n,String(e).padStart(2,"0"),t))))),this.hourFormat!=="24"&&r("div",{key:"1dd8732fb46775f10b313fe53974e7f3fcdd7dd4",class:"time-picker__column"},r("div",{key:"f29f004cd88935f618e26394e9d461d6d649b773",class:"time-picker__list",role:"listbox","aria-label":"AM/PM"},d.map((e=>this.renderTile("period",e,e===i.period,e===c,e,d)))))))}get el(){return this}static get watchers(){return{value:[{onValueChange:0}],hourFormat:[{onValueChange:0}]}}static get style(){return w()}},[2,"ds-time-picker",{value:[1],hourFormat:[1,"hour-format"],min:[1],max:[1],step:[8],isInactive:[4,"is-inactive"],autoFocus:[4,"auto-focus"],setFocus:[64]},undefined,{value:[{onValueChange:0}],hourFormat:[{onValueChange:0}]}]);function _(){if(typeof customElements==="undefined"){return}const i=["ds-time-picker","ds-text"];i.forEach((i=>{switch(i){case"ds-time-picker":if(!customElements.get(s(i))){customElements.define(s(i),y)}break;case"ds-text":if(!customElements.get(s(i))){n()}break}}))}_();export{y as T,g as a,_ as d,h as f,l as i,v as p};
2
+ //# sourceMappingURL=p-Dyqd-cub.js.map
@@ -0,0 +1 @@
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","HOURS_24","Array","from","_","TimePicker","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","hourFormat","isInactive","autoFocus","handleColumnKeyDown","event","column","current","columns","columnIndex","indexOf","key","nextColumn","preventDefault","nextValues","hours","minutes","nextValue","focusValue","undefined","focusOption","next","find","isDisabledPart","optionParts","direction","candidate","componentDidLoad","scrollSelectedIntoView","setFocus","onValueChange","focusColumn","displayHour","minimum","isDisabledTime","iso","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\n.time-picker--24 {\n grid-template-columns: repeat(2, minmax(var(--dimension-size-400), 1fr));\n min-width: calc(\n var(--dimension-size-400) * 2 + var(--dimension-space-050) +\n var(--ds-time-picker-padding, var(--dimension-space-100)) * 2\n );\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\nconst HOURS_24 = Array.from({ length: 24 }, (_, hour) => hour);\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 /** Display 12-hour lists with AM/PM or a 24-hour clock. Stored values remain HH:MM. */\n @Prop() hourFormat: '12' | '24' = '12';\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 @Watch('hourFormat')\n onValueChange() {\n this.scrollSelectedIntoView();\n }\n\n @Method()\n async setFocus() {\n this.focusColumn('hour', this.hours());\n }\n\n private parts(): ClockTimeParts {\n return splitClockTime(this.value) ?? { hour12: 12, minute: 0, period: 'AM' };\n }\n\n private hours(): readonly number[] {\n return this.hourFormat === '24' ? HOURS_24 : CLOCK_HOURS;\n }\n\n private displayHour(): number {\n const parts = this.parts();\n return this.hourFormat === '24'\n ? (parts.hour12 % 12) + (parts.period === 'PM' ? 12 : 0)\n : parts.hour12;\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 ? this.hourFormat === '24'\n ? { hour12: Number(value) % 12 || 12, period: Number(value) >= 12 ? 'PM' : 'AM' }\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' || (column === 'hour' && this.hourFormat === '24')\n ? [current.period]\n : 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' || (column === 'hour' && this.hourFormat === '24')\n ? [current.period]\n : 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', this.displayHour())?.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'\n ? this.displayHour()\n : column === 'minute'\n ? current.minute\n : 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[] =\n this.hourFormat === '24' ? ['hour', 'minute'] : ['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 ? this.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', this.hours());\n const minuteFocus = this.focusValue('minute', minuteValues);\n const periodFocus = this.focusValue('period', CLOCK_PERIODS);\n\n return (\n <Host>\n <div\n class={{ 'time-picker': true, 'time-picker--24': this.hourFormat === '24' }}\n role=\"group\"\n aria-label=\"Choose time\"\n >\n <div class=\"time-picker__column\">\n <div class=\"time-picker__list\" role=\"listbox\" aria-label=\"Hour\">\n {this.hours().map(hour =>\n this.renderTile(\n 'hour',\n hour,\n hour === this.displayHour(),\n hour === hourFocus,\n this.hourFormat === '24' ? String(hour).padStart(2, '0') : String(hour),\n this.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 {this.hourFormat !== '24' && (\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 )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{p as i,H as o,c as r,h as s,a as d,t as e}from"./index.js";import{d as n}from"./p-D8OWhnID.js";import{D as a,s as t}from"./p-DOUk4KoT.js";import{s as c,r as l}from"./p-C0qN3PSb.js";import{C as v,a as h}from"./p-CuwopElg.js";const f=()=>`@media (forced-colors: active){.sc-ds-radio:root,.sc-ds-radio-h,.ds-forced-colors-scope.sc-ds-radio{--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-radio-h,.ds-control-inactive.sc-ds-radio{opacity:var(--effect-opacity-medium);pointer-events:none;cursor:not-allowed}@media (forced-colors: active){.ds-control-inactive.sc-ds-radio-h,.ds-control-inactive.sc-ds-radio{color:var(--ds-forced-color-disabled);opacity:1}}.sc-ds-radio-h,.sc-ds-radio:where(.ds-table),.sc-ds-radio:where(.tooltip-popup),.sc-ds-radio: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-radio,.ds-control--lg.sc-ds-radio-h,.ds-control--md.sc-ds-radio-h,.ds-control--md.sc-ds-radio,.ds-control--sm.sc-ds-radio-h,.ds-control--sm.sc-ds-radio,.ds-control--xs.sc-ds-radio-h,.ds-control--xs.sc-ds-radio{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-radio-h,.ds-control--lg.sc-ds-radio{--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-radio-h,.ds-control--md.sc-ds-radio{--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-radio-h,.ds-control--sm.sc-ds-radio{--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-radio-h,.ds-control--xs.sc-ds-radio{--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-radio{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-radio{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-radio{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-radio{min-width:0;padding-inline:var(--ds-control-label-inset, var(--dimension-space-025))}.ds-control-label-dot.sc-ds-radio{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-radio{position:absolute;inset-block-start:0;inset-inline-end:0;pointer-events:none}@media (forced-colors: active){.sc-ds-radio:root,.sc-ds-radio-h,.ds-forced-colors-scope.sc-ds-radio{--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-radio-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-radio-h,.ds-focus-ring.sc-ds-radio,.ds-focus-ring-inset.sc-ds-radio-h,.ds-focus-ring-inset.sc-ds-radio{outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.ds-focus-ring.sc-ds-radio-h:focus-visible,.ds-focus-ring.sc-ds-radio: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-radio-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-radio{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-radio-h:focus-visible,.ds-focus-ring-inset.sc-ds-radio:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-radio-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-radio: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-radio-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-radio{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-radio-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-radio::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-radio-h{--ds-focus-ring-color:var(--ds-forced-color-selected)}}@media (forced-colors: active){.sc-ds-radio:root,.sc-ds-radio-h,.ds-forced-colors-scope.sc-ds-radio{--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-interaction-fill.sc-ds-radio-h,.ds-interaction-fill.sc-ds-radio{position:var(--ds-interaction-position, relative);z-index:var(--ds-interaction-z-index, 0);cursor:default;--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-divider-width:0px;--ds-interaction-divider-color:transparent;--ds-interaction-divider-inline-start-width:0px;--ds-interaction-divider-inline-start-color:transparent;--ds-interaction-divider-inline-end-width:0px;--ds-interaction-divider-inline-end-color:transparent}.ds-interaction-fill.sc-ds-radio-h::before,.ds-interaction-fill.sc-ds-radio::before,.ds-interaction-fill.sc-ds-radio-h::after,.ds-interaction-fill.sc-ds-radio::after{content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none;cursor:inherit;transition:none}.ds-interaction-fill.sc-ds-radio-h::before,.ds-interaction-fill.sc-ds-radio::before{z-index:1}.ds-interaction-fill.sc-ds-radio-h::after,.ds-interaction-fill.sc-ds-radio::after{z-index:3;box-shadow:inset 0 calc(-1 * var(--ds-interaction-divider-width)) 0 var(--ds-interaction-divider-color), inset var(--ds-interaction-divider-inline-start-width) 0 0 var(--ds-interaction-divider-inline-start-color), inset calc(-1 * var(--ds-interaction-divider-inline-end-width)) 0 0 var(--ds-interaction-divider-inline-end-color), inset 0 0 0 var(--ds-interaction-border-width) var(--ds-interaction-border-color)}.ds-interaction-fill--bordered.sc-ds-radio-h,.ds-interaction-fill--bordered.sc-ds-radio{--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--color-border-secondary)}.ds-interaction-fill--selected.sc-ds-radio-h::before,.ds-interaction-fill--selected.sc-ds-radio::before{background:var(--ds-interaction-active)}.ds-interaction-fill--selected.sc-ds-radio-h,.ds-interaction-fill--selected.sc-ds-radio{--ds-interaction-dot-ring:var(--ds-interaction-active)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-radio-h:hover:not(:disabled)::after,.ds-interaction-fill.sc-ds-radio:hover:not(:disabled)::after{background:var(--ds-interaction-hover)}}.ds-interaction-fill.sc-ds-radio-h:active:not(:disabled)::after,.ds-interaction-fill.sc-ds-radio:active:not(:disabled)::after{background:var(--ds-interaction-pressed)}.ds-interaction-fill--grouped.sc-ds-radio-h::after,.ds-interaction-fill--grouped.sc-ds-radio::after,.ds-interaction-fill--grouped.sc-ds-radio-h:active:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-radio:active:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill--grouped.sc-ds-radio-h:hover:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-radio:hover:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}}.ds-interaction-fill--grouped.sc-ds-radio-h,.ds-interaction-fill--grouped.sc-ds-radio{--ds-interaction-divider-width:var(--ds-interaction-group-divider-width, 0px);--ds-interaction-divider-color:var(--ds-interaction-group-divider-color, transparent);--ds-interaction-divider-inline-start-width:var( --ds-interaction-group-divider-inline-start-width, 0px );--ds-interaction-divider-inline-start-color:var( --ds-interaction-group-divider-inline-start-color, transparent );--ds-interaction-divider-inline-end-width:var( --ds-interaction-group-divider-inline-end-width, 0px );--ds-interaction-divider-inline-end-color:var( --ds-interaction-group-divider-inline-end-color, transparent )}.ds-interaction-fill.sc-ds-radio-h>.ds-interaction-fill__content.sc-ds-radio,.ds-interaction-fill.sc-ds-radio>.ds-interaction-fill__content.sc-ds-radio,.ds-interaction-fill__content.sc-ds-radio{position:relative;z-index:2;cursor:inherit}.ds-interaction-fill--on-faint.sc-ds-radio-h,.ds-interaction-fill--on-faint.sc-ds-radio{--ds-interaction-active:var(--color-interaction-active)}.ds-interaction-fill--on-medium.sc-ds-radio-h,.ds-interaction-fill--on-medium.sc-ds-radio{--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-radio-h,.ds-interaction-fill--on-bold.sc-ds-radio{--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-radio-h,.ds-interaction-fill--on-strong.sc-ds-radio{--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-radio-h,.ds-interaction-fill--on-translucent.sc-ds-radio{--ds-interaction-hover:var(--color-translucent-interaction-hover);--ds-interaction-pressed:var(--color-translucent-interaction-pressed);--ds-interaction-active:var(--color-translucent-interaction-active-brand);--ds-focus-ring-color:var(--color-translucent-interaction-focus)}.ds-interaction-fill--on-inverted.sc-ds-radio-h,.ds-interaction-fill--on-inverted.sc-ds-radio{--ds-interaction-hover:var(--color-inverted-interaction-hover);--ds-interaction-pressed:var(--color-inverted-interaction-pressed);--ds-interaction-active:var(--color-inverted-interaction-active-brand);--ds-focus-ring-color:var(--color-inverted-interaction-focus)}.ds-interaction-fill--on-media.sc-ds-radio-h,.ds-interaction-fill--on-media.sc-ds-radio{--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-radio-h,.ds-interaction-fill--on-always-dark.sc-ds-radio{--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-brand);--ds-focus-ring-color:var(--color-always-dark-interaction-focus)}.ds-interaction-fill--on-chrome.sc-ds-radio-h,.ds-interaction-fill--on-chrome.sc-ds-radio{--ds-interaction-hover:var(--color-chrome-interaction-hover);--ds-interaction-pressed:var(--color-chrome-interaction-pressed);--ds-interaction-active:var(--color-chrome-interaction-active);--ds-focus-ring-color:var(--color-chrome-interaction-focus)}.ds-interaction-fill--on-navigation.sc-ds-radio-h,.ds-interaction-fill--on-navigation.sc-ds-radio{--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-interaction-fill.ds-interaction-fill--surface-open.sc-ds-radio-h:not(:disabled)::after,.ds-interaction-fill.ds-interaction-fill--surface-open.sc-ds-radio:not(:disabled)::after{background:var(--ds-interaction-pressed)}@media (forced-colors: active){.ds-interaction-fill.sc-ds-radio-h::after,.ds-interaction-fill.sc-ds-radio::after{box-shadow:none;outline:var(--ds-interaction-border-width) solid var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--ds-interaction-border-width))}.ds-interaction-fill--surface-open.sc-ds-radio-h:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill--surface-open.sc-ds-radio:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after{outline:var(--dimension-stroke-width-025) dashed var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--dimension-stroke-width-025))}.ds-interaction-fill--selected.sc-ds-radio-h::before,.ds-interaction-fill--selected.sc-ds-radio::before{background:transparent;outline:var(--dimension-stroke-width-025) solid var(--ds-forced-color-selected);outline-offset:calc(-1 * var(--dimension-stroke-width-025))}}@media (forced-colors: active) and (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-radio-h:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill.sc-ds-radio:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after{outline-color:var(--ds-forced-color-selected);outline-width:var(--dimension-stroke-width-012)}}@media (forced-colors: active){.sc-ds-radio:root,.sc-ds-radio-h,.ds-forced-colors-scope.sc-ds-radio{--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-radio-h{display:flex;flex-direction:column;gap:var(--dimension-space-050)}.radio--labeled.sc-ds-radio-h{gap:var(--dimension-space-050)}.radio__options.sc-ds-radio{display:flex;flex-direction:column;gap:var(--dimension-space-050);min-width:0}.radio--horizontal.sc-ds-radio-h{flex-direction:row;gap:var(--dimension-space-100)}.radio--horizontal.sc-ds-radio-h .radio__options.sc-ds-radio{flex-direction:row;gap:var(--dimension-space-100)}.radio--labeled.radio--horizontal.sc-ds-radio-h{flex-direction:column;gap:var(--dimension-space-050)}.radio--labeled.radio--horizontal.sc-ds-radio-h .radio__options.sc-ds-radio{flex-direction:row;gap:var(--dimension-space-100)}.radio--lg.sc-ds-radio-h{--_radio-circle-inset:calc(var(--dimension-space-100) + var(--dimension-space-025));--_radio-circle:var(--dimension-iconography-md);--_radio-dot:calc(var(--dimension-size-base) * 5 / 4);--_radio-stroke:var(--dimension-stroke-width-018)}.radio--md.sc-ds-radio-h{--_radio-circle-inset:var(--dimension-space-100);--_radio-circle:var(--dimension-iconography-sm);--_radio-dot:var(--dimension-size-100);--_radio-stroke:var(--dimension-stroke-width-015)}.radio--sm.sc-ds-radio-h{--_radio-circle-inset:var(--dimension-space-075);--_radio-circle:var(--dimension-iconography-xs);--_radio-dot:var(--dimension-size-075);--_radio-stroke:var(--dimension-stroke-width-012)}.radio--xs.sc-ds-radio-h{--_radio-circle-inset:var(--dimension-space-050);--_radio-circle:var(--dimension-size-100);--_radio-dot:var(--dimension-size-050);--_radio-stroke:calc(var(--dimension-stroke-width-base) * 3 / 32)}.radio__item.sc-ds-radio{display:inline-flex;align-items:center;box-sizing:border-box;gap:var(--ds-control-gap);height:var(--ds-control-height);padding:0 var(--ds-settings-row-control-padding-inline, var(--ds-control-padding-inline));border-radius:var(--ds-control-radius);cursor:default;user-select:none}.radio__item--described.sc-ds-radio{align-items:flex-start;height:auto;min-height:var(--ds-control-height);padding-block:var(--dimension-space-075)}.radio__placement.sc-ds-radio{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ds-control-icon);height:var(--ds-control-icon)}.radio__circle.sc-ds-radio{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--_radio-circle);height:var(--_radio-circle);border:0;border-radius:var(--dimension-radius-half);box-shadow:inset 0 0 0 var(--_radio-stroke) var(--color-foreground-tertiary);transition:background-color var(--effect-motion-short-2), box-shadow var(--effect-motion-short-2)}.radio__circle--checked.sc-ds-radio{background-color:var(--color-background-bold-brand);box-shadow:none}.radio__dot.sc-ds-radio{width:var(--_radio-dot);height:var(--_radio-dot);border-radius:var(--dimension-radius-half);background-color:var(--color-foreground-on-bold-background-primary)}ds-text.radio__group-label.sc-ds-radio{padding-inline:var( --ds-settings-row-control-padding-inline, calc(var(--ds-control-padding-inline) + var(--ds-control-label-inset)) )}.radio__copy.sc-ds-radio{display:grid;flex:1;gap:var(--dimension-space-025);min-width:0;padding:0 var(--ds-control-label-inset)}@media (forced-colors: active){.radio__circle.sc-ds-radio{border:var(--_radio-stroke) solid var(--ds-forced-color-content);box-shadow:none}.radio__circle--checked.sc-ds-radio{background-color:var(--ds-forced-color-selected);border-color:var(--ds-forced-color-selected)}.radio__dot.sc-ds-radio{background-color:var(--ds-forced-color-on-selected)}}`;let u=0;const g=i(class i extends o{constructor(i){super();if(i!==false){this.__registerHost()}this.dsChange=r(this,"dsChange",7);this.internals=this.attachInternals();this.instanceId=++u;this.options=[];this.groupLabel="";this.value="";this.size="md";this.disabled=false;this.required=false;this.requiredMessage=a;this.direction="vertical";this.isInactive=false;this.hasInteractionFill=false;this.ariaLabel=null;this.initialValue="";this.formDisabled=false}get hasGroupLabel(){return Boolean(this.groupLabel.trim())}get showGroupLabel(){return this.hasGroupLabel&&!this.el.closest("ds-setting-row-radio")}componentWillLoad(){this.initialValue=this.value;this.syncFormValue()}syncFormValue(){const i=this.isInactive||this.disabled||this.formDisabled;c(this.internals,this.value,{inactive:i});const o=this.required&&!i&&this.value.length===0;t(this.internals,o,this.requiredMessage)}formDisabledCallback(i){this.formDisabled=i;this.syncFormValue()}formResetCallback(){this.value=this.initialValue}formStateRestoreCallback(i){this.value=l(i)}async setFocus(){this.activeItems.find((i=>i.tabIndex===0))?.focus()}get activeItems(){return Array.from(this.el.querySelectorAll("[data-radio-item]:not([data-inactive])"))}handleKeyDown(i){const o=this.activeItems;if(!o.length)return;const r=o.find((i=>i===document.activeElement));if(!r)return;const s=o.indexOf(r);let d=-1;switch(i.key){case"ArrowDown":case"ArrowRight":i.preventDefault();d=(s+1)%o.length;break;case"ArrowUp":case"ArrowLeft":i.preventDefault();d=(s-1+o.length)%o.length;break;case"Home":i.preventDefault();d=0;break;case"End":i.preventDefault();d=o.length-1;break}if(d>=0){o[d].focus();const i=o[d].dataset["value"];if(i&&i!==this.value){this.value=i;this.dsChange.emit(i)}}}selectItem(i){if(this.isInactive||this.disabled||this.formDisabled)return;if(i!==this.value){this.value=i;this.dsChange.emit(i)}}renderOptions(i,o){return this.options.map(((r,d)=>{const e=i||!!r.isInactive;const n=r.value===this.value;const a=e?-1:d===o?0:-1;const t=`ds-radio-${this.instanceId}-label-${d}`;const c=`ds-radio-${this.instanceId}-description-${d}`;return s("div",{key:r.value,role:"radio","aria-checked":String(n),"aria-disabled":e?"true":undefined,"aria-labelledby":t,"aria-describedby":r.description?c:undefined,tabIndex:a,"data-radio-item":true,"data-value":r.value,"data-inactive":e||undefined,class:{radio__item:true,"radio__item--described":Boolean(r.description),[`ds-control--${this.size}`]:true,"ds-control-inactive":e,"ds-focus-ring-inset":!e,"ds-interaction-fill":!e&&this.hasInteractionFill},onClick:()=>!e&&this.selectItem(r.value),onKeyDown:i=>{if((i.key===" "||i.key==="Enter")&&!e){i.preventDefault();this.selectItem(r.value)}}},s("span",{class:"radio__placement ds-interaction-fill__content","aria-hidden":"true"},s("span",{class:{radio__circle:true,"radio__circle--checked":n}},n&&s("span",{class:"radio__dot"}))),s("span",{class:"radio__copy ds-interaction-fill__content"},s("ds-text",{class:"radio__label",as:"span",variant:v[this.size],textId:t},r.label),r.description?s("ds-text",{as:"span",variant:h[this.size],color:"secondary",textId:c},r.description):null))}))}render(){const i=this.isInactive||this.disabled||this.formDisabled;const o=this.required&&!i&&this.value.length===0;const r=this.options.findIndex((i=>i.value===this.value));const e=this.options.findIndex((o=>!i&&!o.isInactive));const n=r>=0&&!i&&!this.options[r]?.isInactive?r:e;const a=this.renderOptions(i,n);return s(d,{key:"ab66881c337e941d7fdcd74a94b9902837fda733",role:"radiogroup","aria-label":this.showGroupLabel?this.groupLabel:this.ariaLabel,"aria-labelledby":this.ariaLabelledby,"aria-required":this.required?"true":undefined,"aria-invalid":o?"true":undefined,class:{radio:true,"radio--horizontal":this.direction==="horizontal",[`radio--${this.size}`]:true,"radio--labeled":this.showGroupLabel}},this.showGroupLabel?s("ds-text",{key:"radio-group-label",class:`radio__group-label ds-control-section-heading ds-control--${this.size}`,as:"span",variant:"text-body-small",emphasis:true},this.groupLabel):null,s("div",{key:"radio-options",class:"radio__options"},a))}static get formAssociated(){return true}get el(){return this}static get watchers(){return{value:[{syncFormValue:0}],disabled:[{syncFormValue:0}],isInactive:[{syncFormValue:0}],required:[{syncFormValue:0}]}}static get style(){return f()}},[66,"ds-radio",{options:[16],groupLabel:[1,"group-label"],value:[1025],size:[1],name:[513],form:[513],disabled:[516],required:[516],requiredMessage:[1,"required-message"],direction:[1],isInactive:[4,"is-inactive"],hasInteractionFill:[4,"has-interaction-fill"],ariaLabel:[1,"aria-label"],ariaLabelledby:[1,"aria-labelledby"],formDisabled:[32],setFocus:[64]},[[0,"keydown","handleKeyDown"]],{value:[{syncFormValue:0}],disabled:[{syncFormValue:0}],isInactive:[{syncFormValue:0}],required:[{syncFormValue:0}]}]);function p(){if(typeof customElements==="undefined"){return}const i=["ds-radio","ds-text"];i.forEach((i=>{switch(i){case"ds-radio":if(!customElements.get(e(i))){customElements.define(e(i),g)}break;case"ds-text":if(!customElements.get(e(i))){n()}break}}))}p();export{g as R,p as d};
2
+ //# sourceMappingURL=p-DzvTC27M.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["radioCss","radioIdCounter","Radio","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","instanceId","options","groupLabel","value","size","disabled","required","requiredMessage","DEFAULT_REQUIRED_MESSAGE","direction","isInactive","hasInteractionFill","ariaLabel","initialValue","formDisabled","hasGroupLabel","Boolean","trim","showGroupLabel","el","closest","componentWillLoad","syncFormValue","inactive","setFormControlValue","internals","missing","length","setRequiredValidity","formDisabledCallback","formResetCallback","formStateRestoreCallback","state","restoreStringFormState","setFocus","activeItems","find","item","tabIndex","focus","Array","from","querySelectorAll","handleKeyDown","e","items","focused","document","activeElement","idx","indexOf","next","key","preventDefault","nextValue","dataset","dsChange","emit","selectItem","optValue","renderOptions","focusableIdx","map","option","index","isItemInactive","isChecked","tabIdx","labelId","descriptionId","h","role","String","undefined","description","class","radio__item","onClick","onKeyDown","radio__circle","as","variant","CONTROL_TEXT_VARIANT","textId","label","CONTROL_SUPPORTING_TEXT_VARIANT","color","render","invalid","selectedIdx","findIndex","firstActiveIdx","renderedOptions","Host","ariaLabelledby","radio","emphasis"],"sources":["src/wc/components/Radio/Radio.css?tag=ds-radio&encapsulation=scoped","src/wc/components/Radio/Radio.tsx"],"sourcesContent":["@import '../../utils/control-inactive.css';\n@import '../../utils/radius.css';\n@import '../../utils/control-density.css';\n@import '../../utils/control-parts.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 flex-direction: column;\n gap: var(--dimension-space-050);\n}\n\n:host(.radio--labeled) {\n gap: var(--dimension-space-050);\n}\n\n.radio__options {\n display: flex;\n flex-direction: column;\n gap: var(--dimension-space-050);\n min-width: 0;\n}\n\n:host(.radio--horizontal) {\n flex-direction: row;\n gap: var(--dimension-space-100);\n}\n\n:host(.radio--horizontal) .radio__options {\n flex-direction: row;\n gap: var(--dimension-space-100);\n}\n\n:host(.radio--labeled.radio--horizontal) {\n flex-direction: column;\n gap: var(--dimension-space-050);\n}\n\n:host(.radio--labeled.radio--horizontal) .radio__options {\n flex-direction: row;\n gap: var(--dimension-space-100);\n}\n\n:host(.radio--lg) {\n --_radio-circle-inset: calc(var(--dimension-space-100) + var(--dimension-space-025));\n --_radio-circle: var(--dimension-iconography-md);\n --_radio-dot: calc(var(--dimension-size-base) * 5 / 4);\n --_radio-stroke: var(--dimension-stroke-width-018);\n}\n\n:host(.radio--md) {\n --_radio-circle-inset: var(--dimension-space-100);\n --_radio-circle: var(--dimension-iconography-sm);\n --_radio-dot: var(--dimension-size-100);\n --_radio-stroke: var(--dimension-stroke-width-015);\n}\n\n:host(.radio--sm) {\n --_radio-circle-inset: var(--dimension-space-075);\n --_radio-circle: var(--dimension-iconography-xs);\n --_radio-dot: var(--dimension-size-075);\n --_radio-stroke: var(--dimension-stroke-width-012);\n}\n\n:host(.radio--xs) {\n --_radio-circle-inset: var(--dimension-space-050);\n --_radio-circle: var(--dimension-size-100);\n --_radio-dot: var(--dimension-size-050);\n --_radio-stroke: calc(var(--dimension-stroke-width-base) * 3 / 32);\n}\n\n.radio__item {\n display: inline-flex;\n align-items: center;\n box-sizing: border-box;\n gap: var(--ds-control-gap);\n height: var(--ds-control-height);\n padding: 0 var(--ds-settings-row-control-padding-inline, var(--ds-control-padding-inline));\n border-radius: var(--ds-control-radius);\n cursor: default;\n user-select: none;\n}\n\n.radio__item--described {\n align-items: flex-start;\n height: auto;\n min-height: var(--ds-control-height);\n padding-block: var(--dimension-space-075);\n}\n\n.radio__placement {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--ds-control-icon);\n height: var(--ds-control-icon);\n}\n\n.radio__circle {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: var(--_radio-circle);\n height: var(--_radio-circle);\n border: 0;\n border-radius: var(--dimension-radius-half);\n box-shadow: inset 0 0 0 var(--_radio-stroke) var(--color-foreground-tertiary);\n transition:\n background-color var(--effect-motion-short-2),\n box-shadow var(--effect-motion-short-2);\n}\n\n.radio__circle--checked {\n background-color: var(--color-background-bold-brand);\n box-shadow: none;\n}\n\n.radio__dot {\n width: var(--_radio-dot);\n height: var(--_radio-dot);\n border-radius: var(--dimension-radius-half);\n background-color: var(--color-foreground-on-bold-background-primary);\n}\n\nds-text.radio__group-label {\n padding-inline: var(\n --ds-settings-row-control-padding-inline,\n calc(var(--ds-control-padding-inline) + var(--ds-control-label-inset))\n );\n}\n\n.radio__copy {\n display: grid;\n flex: 1;\n gap: var(--dimension-space-025);\n min-width: 0;\n padding: 0 var(--ds-control-label-inset);\n}\n\n@media (forced-colors: active) {\n .radio__circle {\n border: var(--_radio-stroke) solid var(--ds-forced-color-content);\n box-shadow: none;\n }\n\n .radio__circle--checked {\n background-color: var(--ds-forced-color-selected);\n border-color: var(--ds-forced-color-selected);\n }\n\n .radio__dot {\n background-color: var(--ds-forced-color-on-selected);\n }\n}\n","import {\n AttachInternals,\n Component,\n Prop,\n State,\n Event,\n EventEmitter,\n Element,\n Listen,\n Method,\n Watch,\n h,\n Host,\n} from '@stencil/core';\nimport {\n CONTROL_SUPPORTING_TEXT_VARIANT,\n CONTROL_TEXT_VARIANT,\n DEFAULT_REQUIRED_MESSAGE,\n restoreStringFormState,\n setFormControlValue,\n setRequiredValidity,\n} from '../../utils';\n\nexport interface RadioOption {\n label: string;\n value: string;\n description?: string;\n isInactive?: boolean;\n}\n\nexport type RadioSize = 'lg' | 'md' | 'sm' | 'xs';\n\nlet radioIdCounter = 0;\n\n@Component({\n tag: 'ds-radio',\n styleUrl: 'Radio.css',\n scoped: true,\n formAssociated: true,\n})\nexport class Radio {\n @Element() el!: HTMLElement;\n @AttachInternals() internals!: ElementInternals;\n\n private readonly instanceId = ++radioIdCounter;\n\n /** Visible choices in this one-of-many set. */\n @Prop() options: RadioOption[] = [];\n /** Optional visible group label rendered above the options. */\n @Prop() groupLabel: string = '';\n /** Selected option value. */\n @Prop({ mutable: true }) value: string = '';\n /** Visual and placement density for every option. */\n @Prop() size: RadioSize = 'md';\n /** Native form field name. */\n @Prop({ reflect: true }) name: string | undefined;\n /** Associates the radio set with a form by id when rendered outside that form. */\n @Prop({ reflect: true }) form: string | undefined;\n /** Native disabled state for the complete set. */\n @Prop({ reflect: true }) disabled: boolean = false;\n /** Require one option to be selected for form validity. */\n @Prop({ reflect: true }) required: boolean = false;\n /** Validation message used when a required set has no selection. */\n @Prop() requiredMessage: string = DEFAULT_REQUIRED_MESSAGE;\n /** Layout direction for the option set. */\n @Prop() direction: 'vertical' | 'horizontal' = 'vertical';\n /** Design-system inactive state for the complete set. */\n @Prop() isInactive: boolean = false;\n /** Show full-row hover and pressed feedback for choice-list presentations. */\n @Prop() hasInteractionFill: boolean = false;\n /** Accessible name when visible group labeling is unavailable. */\n @Prop({ attribute: 'aria-label' }) ariaLabel: string | null = null;\n /** Id reference for a visible group label. */\n @Prop({ attribute: 'aria-labelledby' }) ariaLabelledby: string | undefined;\n\n /** Emitted after user selection with the selected option value. */\n @Event() dsChange!: EventEmitter<string>;\n\n private initialValue = '';\n @State() private formDisabled = false;\n\n private get hasGroupLabel(): boolean {\n return Boolean(this.groupLabel.trim());\n }\n\n /** Settings rows own a separate heading; never mount the form group label there. */\n private get showGroupLabel(): boolean {\n return this.hasGroupLabel && !this.el.closest('ds-setting-row-radio');\n }\n\n componentWillLoad() {\n this.initialValue = this.value;\n this.syncFormValue();\n }\n\n @Watch('value')\n @Watch('disabled')\n @Watch('isInactive')\n @Watch('required')\n syncFormValue() {\n const inactive = this.isInactive || this.disabled || this.formDisabled;\n setFormControlValue(this.internals, this.value, { inactive });\n const missing = this.required && !inactive && this.value.length === 0;\n setRequiredValidity(this.internals, missing, this.requiredMessage);\n }\n\n formDisabledCallback(disabled: boolean) {\n this.formDisabled = disabled;\n this.syncFormValue();\n }\n\n formResetCallback() {\n this.value = this.initialValue;\n }\n\n formStateRestoreCallback(state: string | File | FormData | null) {\n this.value = restoreStringFormState(state);\n }\n\n /** Focus the selected option, or the first active option when nothing is selected. */\n @Method()\n async setFocus() {\n this.activeItems.find(item => item.tabIndex === 0)?.focus();\n }\n\n private get activeItems(): HTMLElement[] {\n return Array.from(\n this.el.querySelectorAll<HTMLElement>('[data-radio-item]:not([data-inactive])')\n );\n }\n\n @Listen('keydown')\n handleKeyDown(e: KeyboardEvent) {\n const items = this.activeItems;\n if (!items.length) return;\n\n const focused = items.find(item => item === document.activeElement);\n if (!focused) return;\n\n const idx = items.indexOf(focused);\n let next = -1;\n\n switch (e.key) {\n case 'ArrowDown':\n case 'ArrowRight':\n e.preventDefault();\n next = (idx + 1) % items.length;\n break;\n case 'ArrowUp':\n case 'ArrowLeft':\n e.preventDefault();\n next = (idx - 1 + items.length) % items.length;\n break;\n case 'Home':\n e.preventDefault();\n next = 0;\n break;\n case 'End':\n e.preventDefault();\n next = items.length - 1;\n break;\n }\n\n if (next >= 0) {\n items[next].focus();\n const nextValue = items[next].dataset['value'];\n if (nextValue && nextValue !== this.value) {\n this.value = nextValue;\n this.dsChange.emit(nextValue);\n }\n }\n }\n\n private selectItem(optValue: string) {\n if (this.isInactive || this.disabled || this.formDisabled) return;\n if (optValue !== this.value) {\n this.value = optValue;\n this.dsChange.emit(optValue);\n }\n }\n\n private renderOptions(inactive: boolean, focusableIdx: number) {\n return this.options.map((option, index) => {\n const isItemInactive = inactive || !!option.isInactive;\n const isChecked = option.value === this.value;\n const tabIdx = isItemInactive ? -1 : index === focusableIdx ? 0 : -1;\n const labelId = `ds-radio-${this.instanceId}-label-${index}`;\n const descriptionId = `ds-radio-${this.instanceId}-description-${index}`;\n\n return (\n <div\n key={option.value}\n role=\"radio\"\n aria-checked={String(isChecked)}\n aria-disabled={isItemInactive ? 'true' : undefined}\n aria-labelledby={labelId}\n aria-describedby={option.description ? descriptionId : undefined}\n tabIndex={tabIdx}\n data-radio-item\n data-value={option.value}\n data-inactive={isItemInactive || undefined}\n class={{\n radio__item: true,\n 'radio__item--described': Boolean(option.description),\n [`ds-control--${this.size}`]: true,\n 'ds-control-inactive': isItemInactive,\n 'ds-focus-ring-inset': !isItemInactive,\n 'ds-interaction-fill': !isItemInactive && this.hasInteractionFill,\n }}\n onClick={() => !isItemInactive && this.selectItem(option.value)}\n onKeyDown={(e: KeyboardEvent) => {\n if ((e.key === ' ' || e.key === 'Enter') && !isItemInactive) {\n e.preventDefault();\n this.selectItem(option.value);\n }\n }}\n >\n <span class=\"radio__placement ds-interaction-fill__content\" aria-hidden=\"true\">\n <span class={{ radio__circle: true, 'radio__circle--checked': isChecked }}>\n {isChecked && <span class=\"radio__dot\" />}\n </span>\n </span>\n <span class=\"radio__copy ds-interaction-fill__content\">\n <ds-text\n class=\"radio__label\"\n as=\"span\"\n variant={CONTROL_TEXT_VARIANT[this.size]}\n textId={labelId}\n >\n {option.label}\n </ds-text>\n {option.description ? (\n <ds-text\n as=\"span\"\n variant={CONTROL_SUPPORTING_TEXT_VARIANT[this.size]}\n color=\"secondary\"\n textId={descriptionId}\n >\n {option.description}\n </ds-text>\n ) : null}\n </span>\n </div>\n );\n });\n }\n\n render() {\n const inactive = this.isInactive || this.disabled || this.formDisabled;\n const invalid = this.required && !inactive && this.value.length === 0;\n const selectedIdx = this.options.findIndex(option => option.value === this.value);\n const firstActiveIdx = this.options.findIndex(option => !inactive && !option.isInactive);\n const focusableIdx =\n selectedIdx >= 0 && !inactive && !this.options[selectedIdx]?.isInactive\n ? selectedIdx\n : firstActiveIdx;\n const renderedOptions = this.renderOptions(inactive, focusableIdx);\n\n return (\n <Host\n role=\"radiogroup\"\n aria-label={this.showGroupLabel ? this.groupLabel : this.ariaLabel}\n aria-labelledby={this.ariaLabelledby}\n aria-required={this.required ? 'true' : undefined}\n aria-invalid={invalid ? 'true' : undefined}\n class={{\n radio: true,\n 'radio--horizontal': this.direction === 'horizontal',\n [`radio--${this.size}`]: true,\n 'radio--labeled': this.showGroupLabel,\n }}\n >\n {this.showGroupLabel ? (\n <ds-text\n key=\"radio-group-label\"\n class={`radio__group-label ds-control-section-heading ds-control--${this.size}`}\n as=\"span\"\n variant=\"text-body-small\"\n emphasis\n >\n {this.groupLabel}\n </ds-text>\n ) : null}\n <div key=\"radio-options\" class=\"radio__options\">\n {renderedOptions}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{p as i,H as o,c as s,h as n,a as e,t as r}from"./index.js";import{d as c}from"./p-DjkUFlDW.js";import{d as t}from"./p-D8OWhnID.js";import{C as d}from"./p-CuwopElg.js";const a=()=>`.ds-control--lg.sc-ds-chip,.ds-control--lg.sc-ds-chip-h,.ds-control--md.sc-ds-chip-h,.ds-control--md.sc-ds-chip,.ds-control--sm.sc-ds-chip-h,.ds-control--sm.sc-ds-chip,.ds-control--xs.sc-ds-chip-h,.ds-control--xs.sc-ds-chip{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-chip-h,.ds-control--lg.sc-ds-chip{--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-chip-h,.ds-control--md.sc-ds-chip{--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-chip-h,.ds-control--sm.sc-ds-chip{--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-chip-h,.ds-control--xs.sc-ds-chip{--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}@media (forced-colors: active){.sc-ds-chip:root,.sc-ds-chip-h,.ds-forced-colors-scope.sc-ds-chip{--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-interaction-fill.sc-ds-chip-h,.ds-interaction-fill.sc-ds-chip{position:var(--ds-interaction-position, relative);z-index:var(--ds-interaction-z-index, 0);cursor:default;--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-divider-width:0px;--ds-interaction-divider-color:transparent;--ds-interaction-divider-inline-start-width:0px;--ds-interaction-divider-inline-start-color:transparent;--ds-interaction-divider-inline-end-width:0px;--ds-interaction-divider-inline-end-color:transparent}.ds-interaction-fill.sc-ds-chip-h::before,.ds-interaction-fill.sc-ds-chip::before,.ds-interaction-fill.sc-ds-chip-h::after,.ds-interaction-fill.sc-ds-chip::after{content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none;cursor:inherit;transition:none}.ds-interaction-fill.sc-ds-chip-h::before,.ds-interaction-fill.sc-ds-chip::before{z-index:1}.ds-interaction-fill.sc-ds-chip-h::after,.ds-interaction-fill.sc-ds-chip::after{z-index:3;box-shadow:inset 0 calc(-1 * var(--ds-interaction-divider-width)) 0 var(--ds-interaction-divider-color), inset var(--ds-interaction-divider-inline-start-width) 0 0 var(--ds-interaction-divider-inline-start-color), inset calc(-1 * var(--ds-interaction-divider-inline-end-width)) 0 0 var(--ds-interaction-divider-inline-end-color), inset 0 0 0 var(--ds-interaction-border-width) var(--ds-interaction-border-color)}.ds-interaction-fill--bordered.sc-ds-chip-h,.ds-interaction-fill--bordered.sc-ds-chip{--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--color-border-secondary)}.ds-interaction-fill--selected.sc-ds-chip-h::before,.ds-interaction-fill--selected.sc-ds-chip::before{background:var(--ds-interaction-active)}.ds-interaction-fill--selected.sc-ds-chip-h,.ds-interaction-fill--selected.sc-ds-chip{--ds-interaction-dot-ring:var(--ds-interaction-active)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-chip-h:hover:not(:disabled)::after,.ds-interaction-fill.sc-ds-chip:hover:not(:disabled)::after{background:var(--ds-interaction-hover)}}.ds-interaction-fill.sc-ds-chip-h:active:not(:disabled)::after,.ds-interaction-fill.sc-ds-chip:active:not(:disabled)::after{background:var(--ds-interaction-pressed)}.ds-interaction-fill--grouped.sc-ds-chip-h::after,.ds-interaction-fill--grouped.sc-ds-chip::after,.ds-interaction-fill--grouped.sc-ds-chip-h:active:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-chip:active:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill--grouped.sc-ds-chip-h:hover:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-chip:hover:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}}.ds-interaction-fill--grouped.sc-ds-chip-h,.ds-interaction-fill--grouped.sc-ds-chip{--ds-interaction-divider-width:var(--ds-interaction-group-divider-width, 0px);--ds-interaction-divider-color:var(--ds-interaction-group-divider-color, transparent);--ds-interaction-divider-inline-start-width:var( --ds-interaction-group-divider-inline-start-width, 0px );--ds-interaction-divider-inline-start-color:var( --ds-interaction-group-divider-inline-start-color, transparent );--ds-interaction-divider-inline-end-width:var( --ds-interaction-group-divider-inline-end-width, 0px );--ds-interaction-divider-inline-end-color:var( --ds-interaction-group-divider-inline-end-color, transparent )}.ds-interaction-fill.sc-ds-chip-h>.ds-interaction-fill__content.sc-ds-chip,.ds-interaction-fill.sc-ds-chip>.ds-interaction-fill__content.sc-ds-chip,.ds-interaction-fill__content.sc-ds-chip{position:relative;z-index:2;cursor:inherit}.ds-interaction-fill--on-faint.sc-ds-chip-h,.ds-interaction-fill--on-faint.sc-ds-chip{--ds-interaction-active:var(--color-interaction-active)}.ds-interaction-fill--on-medium.sc-ds-chip-h,.ds-interaction-fill--on-medium.sc-ds-chip{--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-chip-h,.ds-interaction-fill--on-bold.sc-ds-chip{--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-chip-h,.ds-interaction-fill--on-strong.sc-ds-chip{--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-chip-h,.ds-interaction-fill--on-translucent.sc-ds-chip{--ds-interaction-hover:var(--color-translucent-interaction-hover);--ds-interaction-pressed:var(--color-translucent-interaction-pressed);--ds-interaction-active:var(--color-translucent-interaction-active-brand);--ds-focus-ring-color:var(--color-translucent-interaction-focus)}.ds-interaction-fill--on-inverted.sc-ds-chip-h,.ds-interaction-fill--on-inverted.sc-ds-chip{--ds-interaction-hover:var(--color-inverted-interaction-hover);--ds-interaction-pressed:var(--color-inverted-interaction-pressed);--ds-interaction-active:var(--color-inverted-interaction-active-brand);--ds-focus-ring-color:var(--color-inverted-interaction-focus)}.ds-interaction-fill--on-media.sc-ds-chip-h,.ds-interaction-fill--on-media.sc-ds-chip{--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-chip-h,.ds-interaction-fill--on-always-dark.sc-ds-chip{--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-brand);--ds-focus-ring-color:var(--color-always-dark-interaction-focus)}.ds-interaction-fill--on-chrome.sc-ds-chip-h,.ds-interaction-fill--on-chrome.sc-ds-chip{--ds-interaction-hover:var(--color-chrome-interaction-hover);--ds-interaction-pressed:var(--color-chrome-interaction-pressed);--ds-interaction-active:var(--color-chrome-interaction-active);--ds-focus-ring-color:var(--color-chrome-interaction-focus)}.ds-interaction-fill--on-navigation.sc-ds-chip-h,.ds-interaction-fill--on-navigation.sc-ds-chip{--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-interaction-fill.ds-interaction-fill--surface-open.sc-ds-chip-h:not(:disabled)::after,.ds-interaction-fill.ds-interaction-fill--surface-open.sc-ds-chip:not(:disabled)::after{background:var(--ds-interaction-pressed)}@media (forced-colors: active){.ds-interaction-fill.sc-ds-chip-h::after,.ds-interaction-fill.sc-ds-chip::after{box-shadow:none;outline:var(--ds-interaction-border-width) solid var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--ds-interaction-border-width))}.ds-interaction-fill--surface-open.sc-ds-chip-h:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill--surface-open.sc-ds-chip:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after{outline:var(--dimension-stroke-width-025) dashed var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--dimension-stroke-width-025))}.ds-interaction-fill--selected.sc-ds-chip-h::before,.ds-interaction-fill--selected.sc-ds-chip::before{background:transparent;outline:var(--dimension-stroke-width-025) solid var(--ds-forced-color-selected);outline-offset:calc(-1 * var(--dimension-stroke-width-025))}}@media (forced-colors: active) and (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-chip-h:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill.sc-ds-chip:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after{outline-color:var(--ds-forced-color-selected);outline-width:var(--dimension-stroke-width-012)}}@media (forced-colors: active){.sc-ds-chip:root,.sc-ds-chip-h,.ds-forced-colors-scope.sc-ds-chip{--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-chip-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-chip-h,.ds-focus-ring.sc-ds-chip,.ds-focus-ring-inset.sc-ds-chip-h,.ds-focus-ring-inset.sc-ds-chip{outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.ds-focus-ring.sc-ds-chip-h:focus-visible,.ds-focus-ring.sc-ds-chip: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-chip-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-chip{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-chip-h:focus-visible,.ds-focus-ring-inset.sc-ds-chip:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-chip-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-chip: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-chip-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-chip{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-chip-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-chip::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-chip-h{--ds-focus-ring-color:var(--ds-forced-color-selected)}}@media (forced-colors: active){.sc-ds-chip:root,.sc-ds-chip-h,.ds-forced-colors-scope.sc-ds-chip{--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-chip-h,.ds-control-inactive.sc-ds-chip{opacity:var(--effect-opacity-medium);pointer-events:none;cursor:not-allowed}@media (forced-colors: active){.ds-control-inactive.sc-ds-chip-h,.ds-control-inactive.sc-ds-chip{color:var(--ds-forced-color-disabled);opacity:1}}.sc-ds-chip-h{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;color:var(--color-foreground-primary);position:relative;border-radius:var(--ds-control-radius, var(--dimension-radius-025));height:var(--ds-control-height);padding:0 var(--ds-control-padding-inline);gap:var(--ds-control-gap);user-select:none;-webkit-user-select:none}.tag--rounded.sc-ds-chip-h{border-radius:var(--dimension-radius-half)}.tag__label.sc-ds-chip{position:relative;z-index:2;padding:0 var(--ds-control-label-inset);white-space:nowrap;flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.ds-control--lg.ds-control--inset.sc-ds-chip-h,.ds-control--lg.ds-control--inset.sc-ds-chip{--ds-control-height:calc(var(--dimension-size-500) - var(--dimension-space-050));--ds-control-padding-inline:calc(var(--dimension-space-100) - var(--dimension-space-025))}.ds-control--md.ds-control--inset.sc-ds-chip-h,.ds-control--md.ds-control--inset.sc-ds-chip{--ds-control-height:calc(var(--dimension-size-400) - var(--dimension-space-050));--ds-control-padding-inline:calc(var(--dimension-space-075) - var(--dimension-space-025))}.ds-control--sm.ds-control--inset.sc-ds-chip-h,.ds-control--sm.ds-control--inset.sc-ds-chip{--ds-control-height:calc(var(--dimension-size-300) - var(--dimension-space-050));--ds-control-padding-inline:calc(var(--dimension-space-050) - var(--dimension-space-025))}.ds-control--xs.ds-control--inset.sc-ds-chip-h,.ds-control--xs.ds-control--inset.sc-ds-chip{--ds-control-height:calc(var(--dimension-size-200) - var(--dimension-space-050));--ds-control-padding-inline:calc(var(--dimension-space-025) - var(--dimension-space-025))}.ds-control--lg.ds-control--inset-double.sc-ds-chip-h,.ds-control--lg.ds-control--inset-double.sc-ds-chip{--ds-control-height:calc(var(--dimension-size-500) - var(--dimension-space-100));--ds-control-padding-inline:calc(var(--dimension-space-100) - var(--dimension-space-050))}.ds-control--md.ds-control--inset-double.sc-ds-chip-h,.ds-control--md.ds-control--inset-double.sc-ds-chip{--ds-control-height:calc(var(--dimension-size-400) - var(--dimension-space-100));--ds-control-padding-inline:calc(var(--dimension-space-075) - var(--dimension-space-050))}.ds-control--sm.ds-control--inset-double.sc-ds-chip-h,.ds-control--sm.ds-control--inset-double.sc-ds-chip{--ds-control-height:calc(var(--dimension-size-300) - var(--dimension-space-100));--ds-control-padding-inline:calc(var(--dimension-space-050) - var(--dimension-space-050))}.chip--default.sc-ds-chip-h{background-color:var(--color-background-faint-neutral);color:var(--color-foreground-bold-neutral)}.chip--active.sc-ds-chip-h{background-color:var(--color-background-faint-brand);color:var(--color-foreground-bold-brand)}.chip--error.sc-ds-chip-h{background-color:var(--color-background-faint-negative);color:var(--color-foreground-bold-negative)}.chip--caution.sc-ds-chip-h{background-color:var(--color-background-faint-caution);color:var(--color-foreground-bold-caution)}.tag__remove.sc-ds-chip{--ds-chip-remove-size:calc(var(--ds-control-height) - var(--dimension-space-050));padding:0;margin-block:0;margin-inline-end:0;margin-inline-start:auto;border:none;box-sizing:border-box;background:none;display:flex;align-items:center;justify-content:center;width:var(--ds-chip-remove-size);height:var(--ds-chip-remove-size);cursor:default;color:inherit;flex-shrink:0;position:relative;z-index:2;border-radius:var(--dimension-radius-half)}.sc-ds-chip-h{justify-content:flex-start;padding-inline-end:var(--dimension-space-025)}.tag__label.sc-ds-chip{flex:1 1 auto}.tag__remove.sc-ds-chip::before{content:'';position:absolute;inset:0;border-radius:var(--dimension-radius-half);background-color:transparent;transition:var(--effect-transition-interaction-background-short-2);pointer-events:none}@media (hover: hover) and (pointer: fine){.tag__remove.sc-ds-chip:hover::before{background-color:var(--color-interaction-hover)}}.tag__remove.sc-ds-chip:active::before{background-color:var(--color-interaction-pressed)}.tag__remove-x.sc-ds-chip{display:inline-flex;flex-shrink:0;width:var(--ds-control-icon);height:var(--ds-control-icon)}`;const l={md:"md",sm:"sm",xs:"xs"};const h=i(class i extends o{constructor(i){super();if(i!==false){this.__registerHost()}this.dsRemove=s(this,"dsRemove",7);this.state="default";this.size="md";this.isInset=false;this.insetDepth="single";this.rounded=false;this.isInactive=false;this.removeLabel="Remove {label}";this.handleRemove=i=>{i.stopPropagation();if(this.isInactive)return;this.dsRemove.emit()}}render(){const i=d[this.size];const o=l[this.size];const s=this.isInset&&this.insetDepth==="double"&&this.size!=="xs";const r=this.maxWidth!=null?{maxWidth:typeof this.maxWidth==="number"?`${this.maxWidth}px`:this.maxWidth}:undefined;return n(e,{key:"4f0df6178fc21ebbcd40fbe1a396ce9212a1c806",class:{tag:true,chip:true,[`chip--${this.state}`]:true,[`tag--size-${this.size}`]:true,"ds-control--md":this.size==="md","ds-control--sm":this.size==="sm","ds-control--xs":this.size==="xs","ds-control--inset":this.isInset&&!s,"ds-control--inset-double":s,"tag--rounded":this.rounded,"tag--removable":true,"ds-interaction-fill":!this.isInactive,"ds-control-inactive":this.isInactive},style:r,"aria-disabled":this.isInactive?"true":undefined},n("ds-text",{key:"b3cd151a9e60f367a26bf5e86a7fe934f4636305",class:"tag__label",as:"span",variant:i,color:"inherit"},this.label),n("button",{key:"8a921b65e40a8526efd33ef297b9939fbcdd8549",type:"button",class:{tag__remove:true,"ds-focus-ring-inset":true},onClick:this.handleRemove,"aria-label":this.removeLabel.replace("{label}",this.label),disabled:this.isInactive||undefined},n("ds-icon",{key:"f6d888e9f650ad90adc24182571567799b856a9c",class:"tag__remove-x",name:"Cross",size:o,color:"inherit"})))}static get style(){return a()}},[2,"ds-chip",{label:[1],state:[1],size:[1],isInset:[4,"is-inset"],insetDepth:[1,"inset-depth"],rounded:[4],maxWidth:[8,"max-width"],isInactive:[4,"is-inactive"],removeLabel:[1,"remove-label"]}]);function v(){if(typeof customElements==="undefined"){return}const i=["ds-chip","ds-icon","ds-text"];i.forEach((i=>{switch(i){case"ds-chip":if(!customElements.get(r(i))){customElements.define(r(i),h)}break;case"ds-icon":if(!customElements.get(r(i))){c()}break;case"ds-text":if(!customElements.get(r(i))){t()}break}}))}v();export{h as C,v as d};
2
+ //# sourceMappingURL=p-JBki_jyY.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["chipCss","ICON_SIZE","md","sm","xs","Chip","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","state","size","isInset","insetDepth","rounded","isInactive","removeLabel","handleRemove","e","stopPropagation","dsRemove","emit","render","textVariant","CONTROL_TEXT_VARIANT","iconSize","doubleInset","maxWidthStyle","maxWidth","undefined","h","Host","key","class","tag","chip","style","as","variant","color","label","type","tag__remove","onClick","replace","disabled","name"],"sources":["src/wc/components/Chip/Chip.css?tag=ds-chip&encapsulation=scoped","src/wc/components/Chip/Chip.tsx"],"sourcesContent":["@import '../../utils/tag-chip.css';\n@import '../../utils/control-density-inset.css';\n\n/*\n * Semantic state colors — Chip’s differentiator from Tag.\n * All states use the faint contrast weight; hue comes from the state.\n */\n:host(.chip--default) {\n background-color: var(--color-background-faint-neutral);\n color: var(--color-foreground-bold-neutral);\n}\n\n:host(.chip--active) {\n background-color: var(--color-background-faint-brand);\n color: var(--color-foreground-bold-brand);\n}\n\n:host(.chip--error) {\n background-color: var(--color-background-faint-negative);\n color: var(--color-foreground-bold-negative);\n}\n\n:host(.chip--caution) {\n background-color: var(--color-background-faint-caution);\n color: var(--color-foreground-bold-caution);\n}\n\n/*\n * Label↔dismiss uses host gap, mirroring Tag icon↔label spacing:\n * [inset][text][inset][gap][icon].\n *\n * The dismiss orb is 4px smaller than the chip on every recipe, including\n * single and double inset, with 2px on top, bottom, and the trailing edge.\n * Extra inline space keeps the label at the start and the orb at the end.\n */\n.tag__remove {\n --ds-chip-remove-size: calc(var(--ds-control-height) - var(--dimension-space-050));\n\n padding: 0;\n margin-block: 0;\n margin-inline-end: 0;\n margin-inline-start: auto;\n border: none;\n box-sizing: border-box;\n background: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--ds-chip-remove-size);\n height: var(--ds-chip-remove-size);\n cursor: default;\n color: inherit;\n flex-shrink: 0;\n position: relative;\n z-index: 2;\n border-radius: var(--dimension-radius-half);\n}\n\n:host {\n justify-content: flex-start;\n padding-inline-end: var(--dimension-space-025);\n}\n\n.tag__label {\n flex: 1 1 auto;\n}\n\n.tag__remove::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: var(--dimension-radius-half);\n background-color: transparent;\n transition: var(--effect-transition-interaction-background-short-2);\n pointer-events: none;\n}\n\n@media (hover: hover) and (pointer: fine) {\n .tag__remove:hover::before {\n background-color: var(--color-interaction-hover);\n }\n}\n\n.tag__remove:active::before {\n background-color: var(--color-interaction-pressed);\n}\n\n.tag__remove-x {\n display: inline-flex;\n flex-shrink: 0;\n width: var(--ds-control-icon);\n height: var(--ds-control-icon);\n}\n","import { Component, Prop, Event, EventEmitter, h, Host } from '@stencil/core';\nimport { CONTROL_TEXT_VARIANT, type ControlInsetDepth } from '../../utils';\n\n/**\n * Semantic chip state — replaces Tag’s intent × contrast matrix.\n * - `default` — neutral faint\n * - `active` — brand faint\n * - `error` — negative faint\n * - `caution` — caution faint\n */\nexport type ChipState = 'default' | 'active' | 'error' | 'caution';\nexport type ChipSize = 'md' | 'sm' | 'xs';\n\n/** Dismiss `ds-icon` size — same iconography metrics as Tag’s leading icon. */\nconst ICON_SIZE: Record<ChipSize, 'md' | 'sm' | 'xs'> = {\n md: 'md',\n sm: 'sm',\n xs: 'xs',\n};\n\n/**\n * Removable chip — same density recipe as Tag, but colored by semantic `state`\n * (not intent × contrast). Not a toggle/select control; the only intentional\n * action is remove.\n */\n@Component({\n tag: 'ds-chip',\n styleUrl: 'Chip.css',\n scoped: true,\n})\nexport class Chip {\n @Prop() label!: string;\n /** Semantic color state. @default 'default' */\n @Prop() state: ChipState = 'default';\n @Prop() size: ChipSize = 'md';\n /** Use reduced outer geometry when nested inside a control of the same size. */\n @Prop() isInset: boolean = false;\n /** Single removes 4px overall; double removes 8px overall (xs stays single). */\n @Prop() insetDepth: ControlInsetDepth = 'single';\n @Prop() rounded: boolean = false;\n @Prop() maxWidth: string | number | undefined;\n @Prop() isInactive: boolean = false;\n /** Accessible remove action. Use `{label}` as the chip-label placeholder. */\n @Prop() removeLabel: string = 'Remove {label}';\n\n /** Fired when the remove button is clicked. */\n @Event() dsRemove!: EventEmitter<void>;\n\n private handleRemove = (e: MouseEvent) => {\n e.stopPropagation();\n if (this.isInactive) return;\n this.dsRemove.emit();\n };\n\n render() {\n const textVariant = CONTROL_TEXT_VARIANT[this.size];\n const iconSize = ICON_SIZE[this.size];\n const doubleInset = this.isInset && this.insetDepth === 'double' && this.size !== 'xs';\n\n const maxWidthStyle =\n this.maxWidth != null\n ? { maxWidth: typeof this.maxWidth === 'number' ? `${this.maxWidth}px` : this.maxWidth }\n : undefined;\n\n return (\n <Host\n class={{\n tag: true,\n chip: true,\n [`chip--${this.state}`]: true,\n [`tag--size-${this.size}`]: true,\n 'ds-control--md': this.size === 'md',\n 'ds-control--sm': this.size === 'sm',\n 'ds-control--xs': this.size === 'xs',\n 'ds-control--inset': this.isInset && !doubleInset,\n 'ds-control--inset-double': doubleInset,\n 'tag--rounded': this.rounded,\n 'tag--removable': true,\n /* Hover overlay on the chip surface — dismiss is the only action. */\n 'ds-interaction-fill': !this.isInactive,\n 'ds-control-inactive': this.isInactive,\n }}\n style={maxWidthStyle}\n aria-disabled={this.isInactive ? 'true' : undefined}\n >\n <ds-text class=\"tag__label\" as=\"span\" variant={textVariant} color=\"inherit\">\n {this.label}\n </ds-text>\n <button\n type=\"button\"\n class={{\n tag__remove: true,\n 'ds-focus-ring-inset': true,\n }}\n onClick={this.handleRemove}\n aria-label={this.removeLabel.replace('{label}', this.label)}\n disabled={this.isInactive || undefined}\n >\n <ds-icon class=\"tag__remove-x\" name=\"Cross\" size={iconSize} color=\"inherit\"></ds-icon>\n </button>\n </Host>\n );\n }\n}\n"],"mappings":"8KAAA,MAAMA,EAAU,IAAM,mwhBCctB,MAAMC,EAAkD,CACtDC,GAAI,KACJC,GAAI,KACJC,GAAI,M,MAaOC,EAAIC,EAAA,MAAAD,UAAAE,EALjB,WAAAC,CAAAC,G,+EAQUC,KAAAC,MAAmB,UACnBD,KAAAE,KAAiB,KAEjBF,KAAAG,QAAmB,MAEnBH,KAAAI,WAAgC,SAChCJ,KAAAK,QAAmB,MAEnBL,KAAAM,WAAsB,MAEtBN,KAAAO,YAAsB,iBAKtBP,KAAAQ,aAAgBC,IACtBA,EAAEC,kBACF,GAAIV,KAAKM,WAAY,OACrBN,KAAKW,SAASC,MAAM,CAoDvB,CAjDC,MAAAC,GACE,MAAMC,EAAcC,EAAqBf,KAAKE,MAC9C,MAAMc,EAAWzB,EAAUS,KAAKE,MAChC,MAAMe,EAAcjB,KAAKG,SAAWH,KAAKI,aAAe,UAAYJ,KAAKE,OAAS,KAElF,MAAMgB,EACJlB,KAAKmB,UAAY,KACb,CAAEA,gBAAiBnB,KAAKmB,WAAa,SAAW,GAAGnB,KAAKmB,aAAenB,KAAKmB,UAC5EC,UAEN,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CACLC,IAAK,KACLC,KAAM,KACN,CAAC,SAAS1B,KAAKC,SAAU,KACzB,CAAC,aAAaD,KAAKE,QAAS,KAC5B,iBAAkBF,KAAKE,OAAS,KAChC,iBAAkBF,KAAKE,OAAS,KAChC,iBAAkBF,KAAKE,OAAS,KAChC,oBAAqBF,KAAKG,UAAYc,EACtC,2BAA4BA,EAC5B,eAAgBjB,KAAKK,QACrB,iBAAkB,KAElB,uBAAwBL,KAAKM,WAC7B,sBAAuBN,KAAKM,YAE9BqB,MAAOT,EAAa,gBACLlB,KAAKM,WAAa,OAASc,WAE1CC,EAAA,WAAAE,IAAA,2CAASC,MAAM,aAAaI,GAAG,OAAOC,QAASf,EAAagB,MAAM,WAC/D9B,KAAK+B,OAERV,EAAA,UAAAE,IAAA,2CACES,KAAK,SACLR,MAAO,CACLS,YAAa,KACb,sBAAuB,MAEzBC,QAASlC,KAAKQ,aAAY,aACdR,KAAKO,YAAY4B,QAAQ,UAAWnC,KAAK+B,OACrDK,SAAUpC,KAAKM,YAAcc,WAE7BC,EAAA,WAAAE,IAAA,2CAASC,MAAM,gBAAgBa,KAAK,QAAQnC,KAAMc,EAAUc,MAAM,a","ignoreList":[]}
1
+ {"version":3,"names":["chipCss","ICON_SIZE","md","sm","xs","Chip","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","state","size","isInset","insetDepth","rounded","isInactive","removeLabel","handleRemove","e","stopPropagation","dsRemove","emit","render","textVariant","CONTROL_TEXT_VARIANT","iconSize","doubleInset","maxWidthStyle","maxWidth","undefined","h","Host","key","class","tag","chip","style","as","variant","color","label","type","tag__remove","onClick","replace","disabled","name"],"sources":["src/wc/components/Chip/Chip.css?tag=ds-chip&encapsulation=scoped","src/wc/components/Chip/Chip.tsx"],"sourcesContent":["@import '../../utils/tag-chip.css';\n@import '../../utils/control-density-inset.css';\n\n/*\n * Semantic state colors — Chip’s differentiator from Tag.\n * All states use the faint contrast weight; hue comes from the state.\n */\n:host(.chip--default) {\n background-color: var(--color-background-faint-neutral);\n color: var(--color-foreground-bold-neutral);\n}\n\n:host(.chip--active) {\n background-color: var(--color-background-faint-brand);\n color: var(--color-foreground-bold-brand);\n}\n\n:host(.chip--error) {\n background-color: var(--color-background-faint-negative);\n color: var(--color-foreground-bold-negative);\n}\n\n:host(.chip--caution) {\n background-color: var(--color-background-faint-caution);\n color: var(--color-foreground-bold-caution);\n}\n\n/*\n * Label↔dismiss uses host gap, mirroring Tag icon↔label spacing:\n * [inset][text][inset][gap][icon].\n *\n * The dismiss orb is 4px smaller than the chip on every recipe, including\n * single and double inset, with 2px on top, bottom, and the trailing edge.\n * Extra inline space keeps the label at the start and the orb at the end.\n */\n.tag__remove {\n --ds-chip-remove-size: calc(var(--ds-control-height) - var(--dimension-space-050));\n\n padding: 0;\n margin-block: 0;\n margin-inline-end: 0;\n margin-inline-start: auto;\n border: none;\n box-sizing: border-box;\n background: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--ds-chip-remove-size);\n height: var(--ds-chip-remove-size);\n cursor: default;\n color: inherit;\n flex-shrink: 0;\n position: relative;\n z-index: 2;\n border-radius: var(--dimension-radius-half);\n}\n\n:host {\n justify-content: flex-start;\n padding-inline-end: var(--dimension-space-025);\n}\n\n.tag__label {\n flex: 1 1 auto;\n}\n\n.tag__remove::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: var(--dimension-radius-half);\n background-color: transparent;\n transition: var(--effect-transition-interaction-background-short-2);\n pointer-events: none;\n}\n\n@media (hover: hover) and (pointer: fine) {\n .tag__remove:hover::before {\n background-color: var(--color-interaction-hover);\n }\n}\n\n.tag__remove:active::before {\n background-color: var(--color-interaction-pressed);\n}\n\n.tag__remove-x {\n display: inline-flex;\n flex-shrink: 0;\n width: var(--ds-control-icon);\n height: var(--ds-control-icon);\n}\n","import { Component, Prop, Event, EventEmitter, h, Host } from '@stencil/core';\nimport { CONTROL_TEXT_VARIANT, type ControlInsetDepth } from '../../utils';\n\n/**\n * Semantic chip state — replaces Tag’s intent × contrast matrix.\n * - `default` — neutral faint\n * - `active` — brand faint\n * - `error` — negative faint\n * - `caution` — caution faint\n */\nexport type ChipState = 'default' | 'active' | 'error' | 'caution';\nexport type ChipSize = 'md' | 'sm' | 'xs';\n\n/** Dismiss `ds-icon` size — same iconography metrics as Tag’s leading icon. */\nconst ICON_SIZE: Record<ChipSize, 'md' | 'sm' | 'xs'> = {\n md: 'md',\n sm: 'sm',\n xs: 'xs',\n};\n\n/**\n * Removable chip — same density recipe as Tag, but colored by semantic `state`\n * (not intent × contrast). Not a toggle/select control; the only intentional\n * action is remove.\n */\n@Component({\n tag: 'ds-chip',\n styleUrl: 'Chip.css',\n scoped: true,\n})\nexport class Chip {\n @Prop() label!: string;\n /** Semantic color state. @default 'default' */\n @Prop() state: ChipState = 'default';\n @Prop() size: ChipSize = 'md';\n /** Use reduced outer geometry when nested inside a control of the same size. */\n @Prop() isInset: boolean = false;\n /** Single removes 4px overall; double removes 8px overall (xs stays single). */\n @Prop() insetDepth: ControlInsetDepth = 'single';\n @Prop() rounded: boolean = false;\n @Prop() maxWidth: string | number | undefined;\n @Prop() isInactive: boolean = false;\n /** Accessible remove action. Use `{label}` as the chip-label placeholder. */\n @Prop() removeLabel: string = 'Remove {label}';\n\n /** Fired when the remove button is clicked. */\n @Event() dsRemove!: EventEmitter<void>;\n\n private handleRemove = (e: MouseEvent) => {\n e.stopPropagation();\n if (this.isInactive) return;\n this.dsRemove.emit();\n };\n\n render() {\n const textVariant = CONTROL_TEXT_VARIANT[this.size];\n const iconSize = ICON_SIZE[this.size];\n const doubleInset = this.isInset && this.insetDepth === 'double' && this.size !== 'xs';\n\n const maxWidthStyle =\n this.maxWidth != null\n ? { maxWidth: typeof this.maxWidth === 'number' ? `${this.maxWidth}px` : this.maxWidth }\n : undefined;\n\n return (\n <Host\n class={{\n tag: true,\n chip: true,\n [`chip--${this.state}`]: true,\n [`tag--size-${this.size}`]: true,\n 'ds-control--md': this.size === 'md',\n 'ds-control--sm': this.size === 'sm',\n 'ds-control--xs': this.size === 'xs',\n 'ds-control--inset': this.isInset && !doubleInset,\n 'ds-control--inset-double': doubleInset,\n 'tag--rounded': this.rounded,\n 'tag--removable': true,\n /* Hover overlay on the chip surface — dismiss is the only action. */\n 'ds-interaction-fill': !this.isInactive,\n 'ds-control-inactive': this.isInactive,\n }}\n style={maxWidthStyle}\n aria-disabled={this.isInactive ? 'true' : undefined}\n >\n <ds-text class=\"tag__label\" as=\"span\" variant={textVariant} color=\"inherit\">\n {this.label}\n </ds-text>\n <button\n type=\"button\"\n class={{\n tag__remove: true,\n 'ds-focus-ring-inset': true,\n }}\n onClick={this.handleRemove}\n aria-label={this.removeLabel.replace('{label}', this.label)}\n disabled={this.isInactive || undefined}\n >\n <ds-icon class=\"tag__remove-x\" name=\"Cross\" size={iconSize} color=\"inherit\"></ds-icon>\n </button>\n </Host>\n );\n }\n}\n"],"mappings":"8KAAA,MAAMA,EAAU,IAAM,oliBCctB,MAAMC,EAAkD,CACtDC,GAAI,KACJC,GAAI,KACJC,GAAI,M,MAaOC,EAAIC,EAAA,MAAAD,UAAAE,EALjB,WAAAC,CAAAC,G,+EAQUC,KAAAC,MAAmB,UACnBD,KAAAE,KAAiB,KAEjBF,KAAAG,QAAmB,MAEnBH,KAAAI,WAAgC,SAChCJ,KAAAK,QAAmB,MAEnBL,KAAAM,WAAsB,MAEtBN,KAAAO,YAAsB,iBAKtBP,KAAAQ,aAAgBC,IACtBA,EAAEC,kBACF,GAAIV,KAAKM,WAAY,OACrBN,KAAKW,SAASC,MAAM,CAoDvB,CAjDC,MAAAC,GACE,MAAMC,EAAcC,EAAqBf,KAAKE,MAC9C,MAAMc,EAAWzB,EAAUS,KAAKE,MAChC,MAAMe,EAAcjB,KAAKG,SAAWH,KAAKI,aAAe,UAAYJ,KAAKE,OAAS,KAElF,MAAMgB,EACJlB,KAAKmB,UAAY,KACb,CAAEA,gBAAiBnB,KAAKmB,WAAa,SAAW,GAAGnB,KAAKmB,aAAenB,KAAKmB,UAC5EC,UAEN,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CACLC,IAAK,KACLC,KAAM,KACN,CAAC,SAAS1B,KAAKC,SAAU,KACzB,CAAC,aAAaD,KAAKE,QAAS,KAC5B,iBAAkBF,KAAKE,OAAS,KAChC,iBAAkBF,KAAKE,OAAS,KAChC,iBAAkBF,KAAKE,OAAS,KAChC,oBAAqBF,KAAKG,UAAYc,EACtC,2BAA4BA,EAC5B,eAAgBjB,KAAKK,QACrB,iBAAkB,KAElB,uBAAwBL,KAAKM,WAC7B,sBAAuBN,KAAKM,YAE9BqB,MAAOT,EAAa,gBACLlB,KAAKM,WAAa,OAASc,WAE1CC,EAAA,WAAAE,IAAA,2CAASC,MAAM,aAAaI,GAAG,OAAOC,QAASf,EAAagB,MAAM,WAC/D9B,KAAK+B,OAERV,EAAA,UAAAE,IAAA,2CACES,KAAK,SACLR,MAAO,CACLS,YAAa,KACb,sBAAuB,MAEzBC,QAASlC,KAAKQ,aAAY,aACdR,KAAKO,YAAY4B,QAAQ,UAAWnC,KAAK+B,OACrDK,SAAUpC,KAAKM,YAAcc,WAE7BC,EAAA,WAAAE,IAAA,2CAASC,MAAM,gBAAgBa,KAAK,QAAQnC,KAAMc,EAAUc,MAAM,a","ignoreList":[]}