@ds-mo/ui 15.5.1 → 15.7.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 (395) hide show
  1. package/dist/.package-ready.json +1 -1
  2. package/dist/agent-patterns.json +1 -1
  3. package/dist/agent.json +372 -25
  4. package/dist/angular/ds-data-preferences.d.ts +1 -1
  5. package/dist/angular/ds-data-preferences.js +3 -3
  6. package/dist/angular/ds-menu.d.ts +7 -1
  7. package/dist/angular/ds-menu.js +5 -2
  8. package/dist/angular/ds-navigation-tab-group.d.ts +15 -0
  9. package/dist/angular/ds-navigation-tab-group.js +42 -0
  10. package/dist/angular/ds-select-toggle.d.ts +15 -0
  11. package/dist/angular/ds-select-toggle.js +42 -0
  12. package/dist/angular/ds-table.d.ts +1 -1
  13. package/dist/angular/ds-table.js +3 -3
  14. package/dist/angular/index.d.ts +1 -1
  15. package/dist/angular/index.js +2 -0
  16. package/dist/angular/proxies.d.ts +2 -0
  17. package/dist/angular/proxies.js +2 -0
  18. package/dist/components/THIRD-PARTY-NOTICES +1 -1
  19. package/dist/components/bundled-dependencies.json +1 -1
  20. package/dist/components/ds-agent-activity.js +1 -1
  21. package/dist/components/ds-agent-questionnaire.js +1 -1
  22. package/dist/components/ds-agent-response.js +1 -1
  23. package/dist/components/ds-agent-source-list.js +1 -1
  24. package/dist/components/ds-agent-tool-call.js +1 -1
  25. package/dist/components/ds-attachment-list.js +1 -1
  26. package/dist/components/ds-badge.js +1 -1
  27. package/dist/components/ds-banner.js +1 -1
  28. package/dist/components/ds-bar-action.js +1 -1
  29. package/dist/components/ds-bar-nav.js +1 -1
  30. package/dist/components/ds-bar-page-title.js +1 -1
  31. package/dist/components/ds-bar-title.js +1 -1
  32. package/dist/components/ds-bar-workflow.js +1 -1
  33. package/dist/components/ds-breadcrumb.js +1 -1
  34. package/dist/components/ds-button-filled.js +1 -1
  35. package/dist/components/ds-button-inverted.js +1 -1
  36. package/dist/components/ds-button-unfilled.js +1 -1
  37. package/dist/components/ds-calendar.js +1 -1
  38. package/dist/components/ds-card-action-center.js +1 -1
  39. package/dist/components/ds-card-chart.js +1 -1
  40. package/dist/components/ds-card-navigation.js +1 -1
  41. package/dist/components/ds-card-overview.js +1 -1
  42. package/dist/components/ds-card-setting.js +1 -1
  43. package/dist/components/ds-card-settings-scope.js +1 -1
  44. package/dist/components/ds-chart-legend.js +1 -1
  45. package/dist/components/ds-chart.js +1 -1
  46. package/dist/components/ds-checkbox-group.js +1 -1
  47. package/dist/components/ds-checkbox.js +1 -1
  48. package/dist/components/ds-chip.js +1 -1
  49. package/dist/components/ds-code-block.js +1 -1
  50. package/dist/components/ds-conversation-list-item.js +1 -1
  51. package/dist/components/ds-conversation-list-section.js +1 -1
  52. package/dist/components/ds-conversation-list.js +1 -1
  53. package/dist/components/ds-data-customize.js +1 -1
  54. package/dist/components/ds-data-filter.js +1 -1
  55. package/dist/components/ds-data-group.js +1 -1
  56. package/dist/components/ds-data-preferences.js +1 -1
  57. package/dist/components/ds-data-preferences.js.map +1 -1
  58. package/dist/components/ds-data-saved-views.js +1 -1
  59. package/dist/components/ds-data-search.js +1 -1
  60. package/dist/components/ds-data-search.js.map +1 -1
  61. package/dist/components/ds-data-sort.js +1 -1
  62. package/dist/components/ds-data-toolbar.js +1 -1
  63. package/dist/components/ds-empty-state.js +1 -1
  64. package/dist/components/ds-field.js +1 -1
  65. package/dist/components/ds-filter-menu.js +1 -1
  66. package/dist/components/ds-inline-banner-settings.js +1 -1
  67. package/dist/components/ds-input-date.js +1 -1
  68. package/dist/components/ds-input-time.js +1 -1
  69. package/dist/components/ds-input.js +1 -1
  70. package/dist/components/ds-map-cluster-marker.js +1 -1
  71. package/dist/components/ds-map-entity-marker.js +1 -1
  72. package/dist/components/ds-markdown.js +1 -1
  73. package/dist/components/ds-menu.js +1 -1
  74. package/dist/components/ds-message-actions.js +1 -1
  75. package/dist/components/ds-message-composer.js +1 -1
  76. package/dist/components/ds-message-scroller.js +1 -1
  77. package/dist/components/ds-message.js +1 -1
  78. package/dist/components/ds-mobile-bar-nav.js +1 -1
  79. package/dist/components/ds-mobile-header.js +1 -1
  80. package/dist/components/ds-mobile-section-switcher.js +1 -1
  81. package/dist/components/ds-mobile-sheet-nav.js +1 -1
  82. package/dist/components/ds-modal.js +1 -1
  83. package/dist/components/ds-navigation-tab-group.d.ts +11 -0
  84. package/dist/components/ds-navigation-tab-group.js +2 -0
  85. package/dist/components/ds-navigation-tab-group.js.map +1 -0
  86. package/dist/components/ds-pagination.js +1 -1
  87. package/dist/components/ds-panel-nav.js +1 -1
  88. package/dist/components/ds-panel-sub-nav.js +1 -1
  89. package/dist/components/ds-panel-tool-header.js +1 -1
  90. package/dist/components/ds-panel-tool-search.js +1 -1
  91. package/dist/components/ds-panel-tools.js +1 -1
  92. package/dist/components/ds-paper-texture.js +1 -1
  93. package/dist/components/ds-radio-tile.js +1 -1
  94. package/dist/components/ds-radio.js +1 -1
  95. package/dist/components/ds-score.js +1 -1
  96. package/dist/components/ds-select-toggle.d.ts +11 -0
  97. package/dist/components/ds-select-toggle.js +2 -0
  98. package/dist/components/ds-select-toggle.js.map +1 -0
  99. package/dist/components/ds-select.js +1 -1
  100. package/dist/components/ds-setting-row-checkbox.js +1 -1
  101. package/dist/components/ds-setting-row-radio.js +1 -1
  102. package/dist/components/ds-setting-row-radio.js.map +1 -1
  103. package/dist/components/ds-setting-row-toggle.js +1 -1
  104. package/dist/components/ds-shell-app.js +1 -1
  105. package/dist/components/ds-shell-page.js +1 -1
  106. package/dist/components/ds-shell-tools.js +1 -1
  107. package/dist/components/ds-skeleton.js +1 -1
  108. package/dist/components/ds-slider.js +1 -1
  109. package/dist/components/ds-slider.js.map +1 -1
  110. package/dist/components/ds-swatch-picker.js +1 -1
  111. package/dist/components/ds-switch.js +1 -1
  112. package/dist/components/ds-tab-group.js +1 -1
  113. package/dist/components/ds-table.js +1 -1
  114. package/dist/components/ds-table.js.map +1 -1
  115. package/dist/components/ds-tag.js +1 -1
  116. package/dist/components/ds-text.js +1 -1
  117. package/dist/components/ds-textarea.js +1 -1
  118. package/dist/components/ds-time-picker.js +1 -1
  119. package/dist/components/ds-toast.js +1 -1
  120. package/dist/components/ds-toast.js.map +1 -1
  121. package/dist/components/ds-tooltip-chart.js +1 -1
  122. package/dist/components/ds-tooltip.js +1 -1
  123. package/dist/components/ds-typing-indicator.js +1 -1
  124. package/dist/components/{p--pJyciTI.js → p--_bPiNCd.js} +2 -2
  125. package/dist/components/{p-UJMEz8_O.js → p-3SCy1PHa.js} +2 -2
  126. package/dist/components/{p-7MwoWtTJ.js → p-4sBUSsqs.js} +2 -2
  127. package/dist/components/p-4sBUSsqs.js.map +1 -0
  128. package/dist/components/{p-kwS-vkau.js → p-5aZVNYQz.js} +2 -2
  129. package/dist/components/{p-DKGW3gRa.js → p-AGqUGzNZ.js} +2 -2
  130. package/dist/components/p-BJf49edB.js +2 -0
  131. package/dist/components/p-BJf49edB.js.map +1 -0
  132. package/dist/components/{p-BNarCFJZ.js → p-BKyE025p.js} +2 -2
  133. package/dist/components/{p-S1Ct3FJV.js → p-BNN9KkXe.js} +2 -2
  134. package/dist/components/p-BPDo1eQV.js +2 -0
  135. package/dist/components/p-BPDo1eQV.js.map +1 -0
  136. package/dist/components/{p-CwdRaJER.js → p-BWJb2rih.js} +2 -2
  137. package/dist/components/{p-D8OWhnID.js → p-BbvAWFJA.js} +2 -2
  138. package/dist/components/p-Bdp2V6-c.js +2 -0
  139. package/dist/components/{p-Da3aFRk2.js.map → p-Bdp2V6-c.js.map} +1 -1
  140. package/dist/components/p-BjBFJ2dd.js +2 -0
  141. package/dist/components/{p-C5BBIDVm.js.map → p-BjBFJ2dd.js.map} +1 -1
  142. package/dist/components/{p-BmIllmq2.js → p-BwNW5nqj.js} +2 -2
  143. package/dist/components/{p-CzdE3M3g.js → p-C0L-VnSr.js} +2 -2
  144. package/dist/components/p-C2e7BkNn.js +2 -0
  145. package/dist/components/p-C2e7BkNn.js.map +1 -0
  146. package/dist/components/{p-BnuNaXR2.js → p-C4t7HnfZ.js} +2 -2
  147. package/dist/components/{p-C1ZfBbJ_.js → p-C7_awFtr.js} +2 -2
  148. package/dist/components/p-CCsxoztj.js +2 -0
  149. package/dist/components/{p-BuGlC5r8.js.map → p-CCsxoztj.js.map} +1 -1
  150. package/dist/components/{p-C378wwRj.js → p-CHyxUWqL.js} +2 -2
  151. package/dist/components/{p-d76Ry5nh.js → p-CKSJwSWd.js} +2 -2
  152. package/dist/components/p-CLqqb0Jp.js +2 -0
  153. package/dist/components/{p-CcwxySms.js.map → p-CLqqb0Jp.js.map} +1 -1
  154. package/dist/components/{p-C9H-3JOA.js → p-CRhoeCC8.js} +2 -2
  155. package/dist/components/p-CWc6Blcp.js +2 -0
  156. package/dist/components/{p-B95UP66y.js.map → p-CWc6Blcp.js.map} +1 -1
  157. package/dist/components/p-CXB_T13u.js +2 -0
  158. package/dist/components/{p-CNeDJTGX.js.map → p-CXB_T13u.js.map} +1 -1
  159. package/dist/components/{p-DZLtFn-r.js → p-CgC4SM5b.js} +2 -2
  160. package/dist/components/p-CqAC2IQO.js +2 -0
  161. package/dist/components/{p-5-gQbIIz.js.map → p-CqAC2IQO.js.map} +1 -1
  162. package/dist/components/{p--VQc5GDy.js → p-Cs8Gq-PZ.js} +2 -2
  163. package/dist/components/p-Ct2KQHF4.js +2 -0
  164. package/dist/components/{p-Df9S0aWi.js.map → p-Ct2KQHF4.js.map} +1 -1
  165. package/dist/components/{p-DYsRXun3.js → p-CvIHBa8S.js} +2 -2
  166. package/dist/components/{p-YC7UM4jH.js → p-D1tmszmN.js} +2 -2
  167. package/dist/components/{p-BlbfbYg6.js → p-D62yUMhr.js} +2 -2
  168. package/dist/components/{p-CgQB8Ct5.js → p-D9l0QBgN.js} +2 -2
  169. package/dist/components/{p-Dr5rkAhe.js → p-DGrSro-o.js} +2 -2
  170. package/dist/components/{p-BVxK8ce0.js → p-DKvHBXwn.js} +2 -2
  171. package/dist/components/p-D_xZ5SFL.js +2 -0
  172. package/dist/components/{p-bQE1NZVe.js.map → p-D_xZ5SFL.js.map} +1 -1
  173. package/dist/components/p-DdNJPBCS.js +2 -0
  174. package/dist/components/{p-a-cIN_BX.js.map → p-DdNJPBCS.js.map} +1 -1
  175. package/dist/components/p-DiPqdcD4.js +2 -0
  176. package/dist/components/{p-DPwptvZl.js.map → p-DiPqdcD4.js.map} +1 -1
  177. package/dist/components/p-Dkh_40bl.js +2 -0
  178. package/dist/components/p-Dkh_40bl.js.map +1 -0
  179. package/dist/components/p-DlCLfwP4.js +2 -0
  180. package/dist/components/p-DmgDVoDb.js +2 -0
  181. package/dist/components/{p-CXlklL-0.js.map → p-DmgDVoDb.js.map} +1 -1
  182. package/dist/components/{p-DXL5D30P.js → p-Du8LT8JS.js} +2 -2
  183. package/dist/components/p-DuCfCvPs.js +2 -0
  184. package/dist/components/p-DuCfCvPs.js.map +1 -0
  185. package/dist/components/{p-BuDxlhnQ.js → p-Dyjs8_Cl.js} +2 -2
  186. package/dist/components/{p-BYrBU_U9.js → p-HMDczkQf.js} +2 -2
  187. package/dist/components/p-LJXiEPw1.js +2 -0
  188. package/dist/components/{p-D9_iDlkT.js.map → p-LJXiEPw1.js.map} +1 -1
  189. package/dist/components/{p-CbCN9ew9.js → p-QGtBlTMt.js} +2 -2
  190. package/dist/components/{p-C35Tki38.js → p-UBQ5O7B-.js} +2 -2
  191. package/dist/components/{p-DVsGfz7J.js → p-dSNHIJz6.js} +2 -2
  192. package/dist/components/{p-B9y6azEw.js → p-eKnJNQtL.js} +2 -2
  193. package/dist/components/{p-sDm8BEMy.js → p-g2OUK8Z0.js} +2 -2
  194. package/dist/components/{p-DSmDyI2o.js → p-n_OBbh94.js} +2 -2
  195. package/dist/components/{p-BfVMaZZE.js → p-oBpjD9OA.js} +2 -2
  196. package/dist/components/p-pJ6gbwSa.js +2 -0
  197. package/dist/components/p-pJ6gbwSa.js.map +1 -0
  198. package/dist/components/{p-DfMTDFcE.js → p-v9Nhw5yM.js} +2 -2
  199. package/dist/docs/components.json +1067 -213
  200. package/dist/lint/index.js +1 -1
  201. package/dist/mcp-data/registry/agent-activity.json +1 -1
  202. package/dist/mcp-data/registry/agent-questionnaire.json +1 -1
  203. package/dist/mcp-data/registry/agent-response.json +1 -1
  204. package/dist/mcp-data/registry/agent-source-list.json +1 -1
  205. package/dist/mcp-data/registry/agent-tool-call.json +1 -1
  206. package/dist/mcp-data/registry/attachment-list.json +1 -1
  207. package/dist/mcp-data/registry/avatar.json +1 -1
  208. package/dist/mcp-data/registry/badge.json +1 -1
  209. package/dist/mcp-data/registry/banner.json +1 -1
  210. package/dist/mcp-data/registry/bar-action.json +1 -1
  211. package/dist/mcp-data/registry/bar-nav.json +1 -1
  212. package/dist/mcp-data/registry/bar-page-title.json +1 -1
  213. package/dist/mcp-data/registry/bar-title.json +1 -1
  214. package/dist/mcp-data/registry/bar-workflow.json +1 -1
  215. package/dist/mcp-data/registry/breadcrumb.json +1 -1
  216. package/dist/mcp-data/registry/button-filled.json +1 -1
  217. package/dist/mcp-data/registry/button-inverted.json +1 -1
  218. package/dist/mcp-data/registry/button-unfilled.json +1 -1
  219. package/dist/mcp-data/registry/calendar.json +1 -1
  220. package/dist/mcp-data/registry/card-action-center.json +1 -1
  221. package/dist/mcp-data/registry/card-chart.json +1 -1
  222. package/dist/mcp-data/registry/card-navigation.json +1 -1
  223. package/dist/mcp-data/registry/card-overview.json +1 -1
  224. package/dist/mcp-data/registry/card-setting.json +1 -1
  225. package/dist/mcp-data/registry/card-settings-scope.json +1 -1
  226. package/dist/mcp-data/registry/chart-legend.json +1 -1
  227. package/dist/mcp-data/registry/chart.json +1 -1
  228. package/dist/mcp-data/registry/checkbox-group.json +1 -1
  229. package/dist/mcp-data/registry/checkbox.json +1 -1
  230. package/dist/mcp-data/registry/chip.json +1 -1
  231. package/dist/mcp-data/registry/code-block.json +1 -1
  232. package/dist/mcp-data/registry/conversation-list-item.json +1 -1
  233. package/dist/mcp-data/registry/conversation-list-section.json +1 -1
  234. package/dist/mcp-data/registry/conversation-list.json +1 -1
  235. package/dist/mcp-data/registry/data-customize.json +1 -1
  236. package/dist/mcp-data/registry/data-filter.json +1 -1
  237. package/dist/mcp-data/registry/data-group.json +1 -1
  238. package/dist/mcp-data/registry/data-preferences.json +22 -6
  239. package/dist/mcp-data/registry/data-saved-views.json +1 -1
  240. package/dist/mcp-data/registry/data-search.json +1 -1
  241. package/dist/mcp-data/registry/data-sort.json +1 -1
  242. package/dist/mcp-data/registry/data-toolbar.json +1 -1
  243. package/dist/mcp-data/registry/divider.json +1 -1
  244. package/dist/mcp-data/registry/empty-state.json +1 -1
  245. package/dist/mcp-data/registry/field.json +1 -1
  246. package/dist/mcp-data/registry/filter-menu.json +1 -1
  247. package/dist/mcp-data/registry/icon.json +1 -1
  248. package/dist/mcp-data/registry/inline-banner-settings.json +1 -1
  249. package/dist/mcp-data/registry/input-date.json +1 -1
  250. package/dist/mcp-data/registry/input-time.json +1 -1
  251. package/dist/mcp-data/registry/input.json +1 -1
  252. package/dist/mcp-data/registry/loader.json +1 -1
  253. package/dist/mcp-data/registry/map-cluster-marker.json +1 -1
  254. package/dist/mcp-data/registry/map-entity-marker.json +1 -1
  255. package/dist/mcp-data/registry/markdown.json +1 -1
  256. package/dist/mcp-data/registry/menu.json +31 -12
  257. package/dist/mcp-data/registry/message-actions.json +1 -1
  258. package/dist/mcp-data/registry/message-bubble.json +1 -1
  259. package/dist/mcp-data/registry/message-composer.json +1 -1
  260. package/dist/mcp-data/registry/message-scroller.json +1 -1
  261. package/dist/mcp-data/registry/message.json +1 -1
  262. package/dist/mcp-data/registry/mobile-bar-nav.json +1 -1
  263. package/dist/mcp-data/registry/mobile-header.json +1 -1
  264. package/dist/mcp-data/registry/mobile-section-switcher.json +1 -1
  265. package/dist/mcp-data/registry/mobile-sheet-nav.json +1 -1
  266. package/dist/mcp-data/registry/modal.json +1 -1
  267. package/dist/mcp-data/registry/navigation-tab-group.json +279 -0
  268. package/dist/mcp-data/registry/pagination.json +1 -1
  269. package/dist/mcp-data/registry/panel-nav.json +1 -1
  270. package/dist/mcp-data/registry/panel-sub-nav.json +1 -1
  271. package/dist/mcp-data/registry/panel-tool-header.json +1 -1
  272. package/dist/mcp-data/registry/panel-tool-search.json +1 -1
  273. package/dist/mcp-data/registry/panel-tools.json +1 -1
  274. package/dist/mcp-data/registry/paper-texture.json +1 -1
  275. package/dist/mcp-data/registry/radio-tile.json +1 -1
  276. package/dist/mcp-data/registry/radio.json +1 -1
  277. package/dist/mcp-data/registry/registry.json +378 -25
  278. package/dist/mcp-data/registry/score.json +1 -1
  279. package/dist/mcp-data/registry/scroll-overlay.json +1 -1
  280. package/dist/mcp-data/registry/select-toggle.json +351 -0
  281. package/dist/mcp-data/registry/select.json +1 -1
  282. package/dist/mcp-data/registry/setting-row-checkbox.json +1 -1
  283. package/dist/mcp-data/registry/setting-row-radio.json +1 -1
  284. package/dist/mcp-data/registry/setting-row-toggle.json +1 -1
  285. package/dist/mcp-data/registry/shell-app.json +1 -1
  286. package/dist/mcp-data/registry/shell-page.json +1 -1
  287. package/dist/mcp-data/registry/shell-tools.json +1 -1
  288. package/dist/mcp-data/registry/skeleton.json +1 -1
  289. package/dist/mcp-data/registry/slider.json +7 -6
  290. package/dist/mcp-data/registry/swatch-picker.json +1 -1
  291. package/dist/mcp-data/registry/switch.json +3 -3
  292. package/dist/mcp-data/registry/tab-group.json +15 -9
  293. package/dist/mcp-data/registry/table.json +80 -21
  294. package/dist/mcp-data/registry/tag.json +1 -1
  295. package/dist/mcp-data/registry/text.json +1 -1
  296. package/dist/mcp-data/registry/textarea.json +1 -1
  297. package/dist/mcp-data/registry/time-picker.json +1 -1
  298. package/dist/mcp-data/registry/toast.json +1 -1
  299. package/dist/mcp-data/registry/tooltip-chart.json +1 -1
  300. package/dist/mcp-data/registry/tooltip.json +1 -1
  301. package/dist/mcp-data/registry/typing-indicator.json +1 -1
  302. package/dist/react/components.d.ts +2 -0
  303. package/dist/react/components.js +2 -0
  304. package/dist/react/ds-menu.d.ts +2 -1
  305. package/dist/react/ds-menu.js +1 -0
  306. package/dist/react/ds-navigation-tab-group.d.ts +12 -0
  307. package/dist/react/ds-navigation-tab-group.js +12 -0
  308. package/dist/react/ds-select-toggle.d.ts +12 -0
  309. package/dist/react/ds-select-toggle.js +12 -0
  310. package/dist/styles/table.css +41 -0
  311. package/dist/types/components/DataPreferences/DataPreferences.d.ts +3 -0
  312. package/dist/types/components/Menu/Menu.d.ts +5 -1
  313. package/dist/types/components/Menu/menu-types.d.ts +36 -0
  314. package/dist/types/components/NavigationTabGroup/NavigationTabGroup.d.ts +16 -0
  315. package/dist/types/components/SelectToggle/SelectToggle.d.ts +46 -0
  316. package/dist/types/components/Slider/Slider.d.ts +1 -1
  317. package/dist/types/components/TabGroup/TabGroup.d.ts +2 -2
  318. package/dist/types/components/Table/Table.d.ts +14 -2
  319. package/dist/types/components/Table/index.d.ts +1 -1
  320. package/dist/types/components/Table/table-column-customizer.d.ts +23 -4
  321. package/dist/types/components/Table/table-layout-controller.d.ts +2 -1
  322. package/dist/types/components/Table/table-types.d.ts +3 -1
  323. package/dist/types/components.d.ts +279 -21
  324. package/dist/vue/components.d.ts +2 -0
  325. package/dist/vue/components.js +2 -0
  326. package/dist/vue/ds-data-preferences.js +1 -0
  327. package/dist/vue/ds-menu.js +2 -0
  328. package/dist/vue/ds-navigation-tab-group.d.ts +3 -0
  329. package/dist/vue/ds-navigation-tab-group.js +16 -0
  330. package/dist/vue/ds-select-toggle.d.ts +3 -0
  331. package/dist/vue/ds-select-toggle.js +19 -0
  332. package/dist/vue/ds-table.js +3 -0
  333. package/package.json +3 -3
  334. package/dist/components/p-5-gQbIIz.js +0 -2
  335. package/dist/components/p-7MwoWtTJ.js.map +0 -1
  336. package/dist/components/p-B95UP66y.js +0 -2
  337. package/dist/components/p-BLeHHoVb.js +0 -2
  338. package/dist/components/p-BLeHHoVb.js.map +0 -1
  339. package/dist/components/p-Bf-BphXP.js +0 -2
  340. package/dist/components/p-Bf-BphXP.js.map +0 -1
  341. package/dist/components/p-BuGlC5r8.js +0 -2
  342. package/dist/components/p-C5BBIDVm.js +0 -2
  343. package/dist/components/p-CE6MaXBg.js +0 -2
  344. package/dist/components/p-CE6MaXBg.js.map +0 -1
  345. package/dist/components/p-CNeDJTGX.js +0 -2
  346. package/dist/components/p-CXlklL-0.js +0 -2
  347. package/dist/components/p-CcwxySms.js +0 -2
  348. package/dist/components/p-D9_iDlkT.js +0 -2
  349. package/dist/components/p-DPwptvZl.js +0 -2
  350. package/dist/components/p-Da3aFRk2.js +0 -2
  351. package/dist/components/p-Df9S0aWi.js +0 -2
  352. package/dist/components/p-DvGrsLgt.js +0 -2
  353. package/dist/components/p-DvGrsLgt.js.map +0 -1
  354. package/dist/components/p-a-cIN_BX.js +0 -2
  355. package/dist/components/p-aD5cw_m2.js +0 -2
  356. package/dist/components/p-aD5cw_m2.js.map +0 -1
  357. package/dist/components/p-bQE1NZVe.js +0 -2
  358. package/dist/components/p-kDZ0sEII.js +0 -2
  359. package/dist/components/p-t2Ebn8si.js +0 -2
  360. package/dist/components/p-t2Ebn8si.js.map +0 -1
  361. /package/dist/components/{p--pJyciTI.js.map → p--_bPiNCd.js.map} +0 -0
  362. /package/dist/components/{p-UJMEz8_O.js.map → p-3SCy1PHa.js.map} +0 -0
  363. /package/dist/components/{p-kwS-vkau.js.map → p-5aZVNYQz.js.map} +0 -0
  364. /package/dist/components/{p-DKGW3gRa.js.map → p-AGqUGzNZ.js.map} +0 -0
  365. /package/dist/components/{p-BNarCFJZ.js.map → p-BKyE025p.js.map} +0 -0
  366. /package/dist/components/{p-S1Ct3FJV.js.map → p-BNN9KkXe.js.map} +0 -0
  367. /package/dist/components/{p-CwdRaJER.js.map → p-BWJb2rih.js.map} +0 -0
  368. /package/dist/components/{p-D8OWhnID.js.map → p-BbvAWFJA.js.map} +0 -0
  369. /package/dist/components/{p-BmIllmq2.js.map → p-BwNW5nqj.js.map} +0 -0
  370. /package/dist/components/{p-CzdE3M3g.js.map → p-C0L-VnSr.js.map} +0 -0
  371. /package/dist/components/{p-BnuNaXR2.js.map → p-C4t7HnfZ.js.map} +0 -0
  372. /package/dist/components/{p-C1ZfBbJ_.js.map → p-C7_awFtr.js.map} +0 -0
  373. /package/dist/components/{p-C378wwRj.js.map → p-CHyxUWqL.js.map} +0 -0
  374. /package/dist/components/{p-d76Ry5nh.js.map → p-CKSJwSWd.js.map} +0 -0
  375. /package/dist/components/{p-C9H-3JOA.js.map → p-CRhoeCC8.js.map} +0 -0
  376. /package/dist/components/{p-DZLtFn-r.js.map → p-CgC4SM5b.js.map} +0 -0
  377. /package/dist/components/{p--VQc5GDy.js.map → p-Cs8Gq-PZ.js.map} +0 -0
  378. /package/dist/components/{p-DYsRXun3.js.map → p-CvIHBa8S.js.map} +0 -0
  379. /package/dist/components/{p-YC7UM4jH.js.map → p-D1tmszmN.js.map} +0 -0
  380. /package/dist/components/{p-BlbfbYg6.js.map → p-D62yUMhr.js.map} +0 -0
  381. /package/dist/components/{p-CgQB8Ct5.js.map → p-D9l0QBgN.js.map} +0 -0
  382. /package/dist/components/{p-Dr5rkAhe.js.map → p-DGrSro-o.js.map} +0 -0
  383. /package/dist/components/{p-BVxK8ce0.js.map → p-DKvHBXwn.js.map} +0 -0
  384. /package/dist/components/{p-kDZ0sEII.js.map → p-DlCLfwP4.js.map} +0 -0
  385. /package/dist/components/{p-DXL5D30P.js.map → p-Du8LT8JS.js.map} +0 -0
  386. /package/dist/components/{p-BuDxlhnQ.js.map → p-Dyjs8_Cl.js.map} +0 -0
  387. /package/dist/components/{p-BYrBU_U9.js.map → p-HMDczkQf.js.map} +0 -0
  388. /package/dist/components/{p-CbCN9ew9.js.map → p-QGtBlTMt.js.map} +0 -0
  389. /package/dist/components/{p-C35Tki38.js.map → p-UBQ5O7B-.js.map} +0 -0
  390. /package/dist/components/{p-DVsGfz7J.js.map → p-dSNHIJz6.js.map} +0 -0
  391. /package/dist/components/{p-B9y6azEw.js.map → p-eKnJNQtL.js.map} +0 -0
  392. /package/dist/components/{p-sDm8BEMy.js.map → p-g2OUK8Z0.js.map} +0 -0
  393. /package/dist/components/{p-DSmDyI2o.js.map → p-n_OBbh94.js.map} +0 -0
  394. /package/dist/components/{p-BfVMaZZE.js.map → p-oBpjD9OA.js.map} +0 -0
  395. /package/dist/components/{p-DfMTDFcE.js.map → p-v9Nhw5yM.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MODIFIER_GLYPHS","Set","MODIFIER_LABELS","alt","cmd","command","control","ctrl","option","shift","canonicalKeyLabel","label","toLowerCase","shortcutKeyLabels","shortcut","normalized","trim","includes","split","map","part","filter","Boolean","test","characters","Array","from","labels","length","has","push","join","OPPOSITE_SIDE","top","right","bottom","left","rawPosition","input","side","anchorRect","anchor","popupWidth","popupHeight","align","sideOffsetPx","alignOffsetPx","x","width","y","height","collisionBounds","boundary","collisionRect","viewportWidth","viewportHeight","viewportPadPx","mainAxisOverflow","position","bounds","Math","max","clampToBounds","value","size","minimum","maximumEdge","maximum","min","computeAnchoredPosition","preferred","oppositeSide","opposite","preferredOverflow","oppositeOverflow","useOpposite","resolvedSide","availableHeight","POSITION_RETRY_BUDGET","AnchoredPositionController","constructor","options","this","scrollResizeHandler","resizeObserver","retryRaf","liveRaf","anchorMotionRaf","activeAnchorMotions","ownerDocument","last","isReady","generation","retryGeneration","anchorMotionStartHandler","event","eventCanMoveAnchor","scheduleAnchorMotionUpdate","anchorMotionEndHandler","ready","observe","bindListeners","unobserve","unbindListeners","cancel","schedule","onReady","cancelRetry","current","remaining","retryBudget","attempt","measured","update","requestAnimationFrame","getAnchor","isConnected","popup","getPopup","observeResizeTargets","topLayer","showPopover","matches","measure","next","apply","scheduleLiveUpdate","mode","liveUpdate","cancelAnimationFrame","window","addEventListener","observeResize","ResizeObserver","observer","observeAnchorMotion","getOwnerDocument","removeEventListener","disconnect","target","Element","contains","tick","ANCHORED_OVERLAY_BOUNDARY_ATTRIBUTE","composedParentElement","element","assignedSlot","parentElement","root","getRootNode","ShadowRoot","host","findAnchoredOverlayBoundary","HTMLElement","hasAttribute","resolveAnchoredOverlayBoundaryRect","explicitBoundary","undefined","getBoundingClientRect","tooltipCss","FALLBACK_HEIGHT","md","TOKEN_DEFAULTS","size400","sm","size300","xs","size200","lastDismissedAt","tooltipIdCounter","activeTooltip","createDsText","opts","el","document","createElement","as","variant","emphasis","color","wrap","textContent","text","styleTooltipLabel","wrapLabel","style","flexShrink","minWidth","maxWidth","whiteSpace","padding","Tooltip","__stencil_proxyCustomElement","registerHost","sideOffset","TOKEN_CSS_LENGTHS","space050","alignOffset","delay","animationDelayMedium3","shortcutKeyPosition","describedBy","tooltipId","delayTimer","closeTimer","popupEl","anchorObserver","didLoad","tip","offsetWidth","tooltipFallbackWidthPx","offsetHeight","tooltipFallbackHeightPx","innerWidth","innerHeight","dataset","transform","round","skipEnterAnimation","isOpen","programmaticAnchor","lastInteractionWasKeyboard","pointerEnterHandler","pointerType","show","pointerLeaveHandler","hide","pointerDownHandler","hideInstant","keyDownHandler","focusHandler","blurHandler","e","relatedTarget","escapeHandler","key","preventDefault","handleSlotChange","slot","querySelector","assignedElements","firstElementChild","tagName","unbindAnchor","bindAnchor","connectedCallback","connectAnchor","componentDidLoad","MutationObserver","childList","disconnectedCallback","clearTimers","destroyPopup","onContentOrPositionChange","renderPopupContent","schedulePosition","resolveCssLengthPx","hoverDelayMs","resolveCssTimeMs","instantReopenMs","animationDurationMedium1","fadeOutMs","resolveMotionTimeMs","motionShort3","animationDurationShort3","tooltipFallbackWidth","token","presentFrom","sameAnchor","linkDescribedBy","dismiss","slotted","child","unlinkDescribedBy","ids","getAttribute","add","setAttribute","id","removeAttribute","clearTimeout","setupOpenListeners","teardownOpenListeners","remove","reapplyLabelStyles","Date","now","instant","mountPopup","setTimeout","classList","className","Object","assign","zIndex","pointerEvents","body","appendChild","toggle","textVariant","CONTROL_TEXT_VARIANT","density","sc","inner","appendShortcut","shortcutKey","group","hint","wide","replaceChildren","render","h","Host","display","onSlotchange"],"sources":["src/wc/utils/shortcut-key.ts","src/wc/utils/anchored-position.ts","src/wc/utils/anchored-position-controller.ts","src/wc/utils/anchored-overlay-boundary.ts","src/wc/components/Tooltip/Tooltip.css?tag=ds-tooltip&encapsulation=scoped","src/wc/components/Tooltip/Tooltip.tsx"],"sourcesContent":["const MODIFIER_GLYPHS = new Set(['⌘', '⇧', '⌥', '⌃']);\nconst MODIFIER_LABELS: Readonly<Record<string, string>> = {\n alt: '⌥',\n cmd: '⌘',\n command: '⌘',\n control: '⌃',\n ctrl: '⌃',\n option: '⌥',\n shift: '⇧',\n};\n\nfunction canonicalKeyLabel(label: string): string {\n return MODIFIER_LABELS[label.toLowerCase()] ?? label;\n}\n\n/** Split a shortcut chord into the labels rendered on individual keycaps. */\nexport function shortcutKeyLabels(shortcut: string): string[] {\n const normalized = shortcut.trim();\n if (!normalized) return [];\n\n if (normalized.includes('+')) {\n return normalized\n .split('+')\n .map(part => part.trim())\n .filter(Boolean)\n .map(canonicalKeyLabel);\n }\n\n if (/\\s/.test(normalized)) {\n return normalized.split(/\\s+/).filter(Boolean).map(canonicalKeyLabel);\n }\n\n const characters = Array.from(normalized);\n const labels: string[] = [];\n while (characters.length > 1 && MODIFIER_GLYPHS.has(characters[0])) {\n labels.push(characters.shift()!);\n }\n labels.push(characters.join(''));\n return labels;\n}\n","export type AnchoredSide = 'top' | 'right' | 'bottom' | 'left';\nexport type AnchoredAlign = 'start' | 'center' | 'end';\n\nexport type AnchoredCollisionRect = Pick<\n DOMRectReadOnly,\n 'top' | 'left' | 'right' | 'bottom' | 'width' | 'height'\n>;\n\nexport interface AnchoredPositionInput {\n anchorRect: Pick<DOMRectReadOnly, 'top' | 'left' | 'right' | 'bottom' | 'width' | 'height'>;\n popupWidth: number;\n popupHeight: number;\n side: AnchoredSide;\n align: AnchoredAlign;\n sideOffsetPx: number;\n alignOffsetPx: number;\n viewportPadPx: number;\n viewportWidth: number;\n viewportHeight: number;\n /** Optional page or panel collision rectangle in viewport-fixed coordinates. */\n collisionRect?: AnchoredCollisionRect;\n}\n\nexport interface AnchoredPosition {\n x: number;\n y: number;\n /** Side actually used, which differs from the request when placement flipped. */\n resolvedSide: AnchoredSide;\n /** Vertical room available on the resolved side inside the padded viewport. */\n availableHeight: number;\n}\n\nconst OPPOSITE_SIDE: Record<AnchoredSide, AnchoredSide> = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n};\n\n/** Unclamped coordinates for one candidate side. */\nfunction rawPosition(\n input: AnchoredPositionInput,\n side: AnchoredSide\n): Pick<AnchoredPosition, 'x' | 'y'> {\n const { anchorRect: anchor, popupWidth, popupHeight, align, sideOffsetPx, alignOffsetPx } = input;\n\n if (side === 'top' || side === 'bottom') {\n return {\n x:\n align === 'start'\n ? anchor.left + alignOffsetPx\n : align === 'end'\n ? anchor.right - popupWidth + alignOffsetPx\n : anchor.left + anchor.width / 2 - popupWidth / 2 + alignOffsetPx,\n y: side === 'top' ? anchor.top - popupHeight - sideOffsetPx : anchor.bottom + sideOffsetPx,\n };\n }\n\n return {\n x: side === 'left' ? anchor.left - popupWidth - sideOffsetPx : anchor.right + sideOffsetPx,\n y:\n align === 'start'\n ? anchor.top + alignOffsetPx\n : align === 'end'\n ? anchor.bottom - popupHeight + alignOffsetPx\n : anchor.top + anchor.height / 2 - popupHeight / 2 + alignOffsetPx,\n };\n}\n\n/** Total main-axis spill past the padded viewport for a candidate position. */\nfunction collisionBounds(input: AnchoredPositionInput) {\n const boundary = input.collisionRect ?? {\n top: 0,\n left: 0,\n right: input.viewportWidth,\n bottom: input.viewportHeight,\n };\n return {\n top: boundary.top + input.viewportPadPx,\n left: boundary.left + input.viewportPadPx,\n right: boundary.right - input.viewportPadPx,\n bottom: boundary.bottom - input.viewportPadPx,\n };\n}\n\nfunction mainAxisOverflow(\n input: AnchoredPositionInput,\n side: AnchoredSide,\n position: Pick<AnchoredPosition, 'x' | 'y'>\n): number {\n const { popupWidth, popupHeight } = input;\n const bounds = collisionBounds(input);\n\n if (side === 'top' || side === 'bottom') {\n return (\n Math.max(bounds.top - position.y, 0) + Math.max(position.y + popupHeight - bounds.bottom, 0)\n );\n }\n\n return (\n Math.max(bounds.left - position.x, 0) + Math.max(position.x + popupWidth - bounds.right, 0)\n );\n}\n\nfunction clampToBounds(value: number, size: number, minimum: number, maximumEdge: number): number {\n const maximum = Math.max(minimum, maximumEdge - size);\n return Math.min(Math.max(value, minimum), maximum);\n}\n\n/**\n * Pure viewport-fixed anchored-popup layout math shared by every element-anchored\n * overlay: menus, selects, tooltips, and anchored toasts.\n *\n * `side` is preferred. When the popup spills past the padded collision boundary and\n * the opposite side spills less, placement flips on the main axis; the result is\n * then clamped into that boundary on both axes. The viewport is the fallback when\n * no page or panel collision rectangle is supplied. Cross-axis `align` is applied\n * before clamping so `alignOffsetPx` stays an additive nudge.\n *\n * Callers own their own anchor semantics — inner-cell alignment offsets and\n * minimum widths belong to the calling component, not here.\n * @see choice-popup-alignment.ts for the choice-cell alignment transform.\n */\nexport function computeAnchoredPosition(input: AnchoredPositionInput): AnchoredPosition {\n const bounds = collisionBounds(input);\n const preferred = rawPosition(input, input.side);\n const oppositeSide = OPPOSITE_SIDE[input.side];\n const opposite = rawPosition(input, oppositeSide);\n const preferredOverflow = mainAxisOverflow(input, input.side, preferred);\n const oppositeOverflow = mainAxisOverflow(input, oppositeSide, opposite);\n const useOpposite = preferredOverflow > 0 && oppositeOverflow < preferredOverflow;\n const resolvedSide = useOpposite ? oppositeSide : input.side;\n const position = useOpposite ? opposite : preferred;\n const availableHeight =\n resolvedSide === 'top'\n ? input.anchorRect.top - bounds.top - input.sideOffsetPx\n : resolvedSide === 'bottom'\n ? bounds.bottom - input.anchorRect.bottom - input.sideOffsetPx\n : bounds.bottom - bounds.top;\n\n return {\n x: clampToBounds(position.x, input.popupWidth, bounds.left, bounds.right),\n y: clampToBounds(position.y, input.popupHeight, bounds.top, bounds.bottom),\n resolvedSide,\n availableHeight: Math.max(0, availableHeight),\n };\n}\n","import {\n computeAnchoredPosition,\n type AnchoredPosition,\n type AnchoredPositionInput,\n} from './anchored-position';\n\n/** Frames to wait for an anchor and popup to become measurable before giving up. */\nconst POSITION_RETRY_BUDGET = 8;\n\n/**\n * How the scroll/resize path reschedules. Each consumer family measured\n * differently before consolidation, and the differences are preserved verbatim\n * so placement timing is unchanged.\n *\n * - `sync` — measure inside the listener. Selects.\n * - `frame` — coalesce and measure on the next frame. Tooltips.\n * - `double-frame` — coalesce, measure next frame, then measure once more the\n * frame after. Scroll-driven owners such as ShellPage commit a compact-header\n * render in the frame after the scroll event, so a single frame reads a stale\n * anchor rect. Menus.\n */\nexport type AnchoredLiveUpdateMode = 'sync' | 'frame' | 'double-frame';\n\nexport interface AnchoredPositionControllerOptions {\n /** Resolve the anchor at measure time; positioning retries while this is null. */\n getAnchor: () => HTMLElement | null;\n /** Resolve the popup at measure time; positioning retries while this is null. */\n getPopup: () => HTMLElement | null;\n /** Stable owner fallback when framework bindings assign open before anchor. */\n getOwnerDocument?: () => Document | null;\n /**\n * Build the layout input for one measurement pass.\n *\n * The owning component keeps its own anchor semantics here — inner-cell align\n * offsets, minimum widths, and token resolution stay with the component rather\n * than moving into this controller. Return `null` when the component's own\n * guards say the popup is not measurable yet, which schedules a retry.\n */\n measure: (anchor: HTMLElement, popup: HTMLElement) => AnchoredPositionInput | null;\n /** Commit a changed position. Not called when the result is unchanged. */\n apply: (position: AnchoredPosition) => void;\n /**\n * Move a `popover=\"manual\"` popup into the native top layer before measuring.\n *\n * Use this for popups that remain in their owner's DOM tree. The top layer\n * gives `position: fixed` viewport coordinates even when an application\n * ancestor establishes a fixed-position containing block through containment,\n * transforms, or filters.\n */\n topLayer?: boolean;\n /** Fired once per `start()` when the first measurement succeeds. */\n onReady?: () => void;\n /** Scroll/resize behavior. Defaults to `sync`. */\n liveUpdate?: AnchoredLiveUpdateMode;\n /**\n * Re-measure when the popup or anchor resizes. Tooltips need this because the\n * label's `ds-text` upgrade changes the measured width after mount.\n */\n observeResize?: boolean;\n /**\n * Follow CSS transitions or animations that move the anchor without resizing\n * it. The observer only runs a measurement loop while related motion is active.\n */\n observeAnchorMotion?: boolean;\n retryBudget?: number;\n}\n\n/**\n * Lifecycle owner for an element-anchored popup: listener binding, measurement\n * retries, frame coalescing, and teardown.\n *\n * Pairs with `computeAnchoredPosition`, which owns the geometry. Split this way\n * because the geometry is pure and exhaustively testable while the lifecycle is\n * timing-dependent; keeping them separate means the risky half lives in exactly\n * one place.\n *\n * Not suitable for overlays that place several popups in one shared pass — Toast\n * positions N anchored records inside a single layout commit and keeps its own\n * scheduler, using only the geometry function.\n */\nexport class AnchoredPositionController {\n private readonly options: AnchoredPositionControllerOptions;\n private scrollResizeHandler: (() => void) | null = null;\n private resizeObserver: ResizeObserver | null = null;\n private retryRaf: number | null = null;\n private liveRaf: number | null = null;\n private anchorMotionRaf: number | null = null;\n private activeAnchorMotions = 0;\n private ownerDocument: Document | null = null;\n private last: AnchoredPosition | null = null;\n private isReady = false;\n private generation = 0;\n private retryGeneration = 0;\n private readonly anchorMotionStartHandler = (event: Event) => {\n if (!this.eventCanMoveAnchor(event)) return;\n this.activeAnchorMotions += 1;\n this.scheduleAnchorMotionUpdate();\n };\n private readonly anchorMotionEndHandler = (event: Event) => {\n if (!this.eventCanMoveAnchor(event)) return;\n this.activeAnchorMotions = Math.max(0, this.activeAnchorMotions - 1);\n this.scheduleAnchorMotionUpdate();\n };\n\n constructor(options: AnchoredPositionControllerOptions) {\n this.options = options;\n }\n\n /** `true` once a measurement has succeeded, for gating popup reveal. */\n get ready(): boolean {\n return this.isReady;\n }\n\n /**\n * Bind scroll/resize tracking for an opening popup.\n *\n * Deliberately does not schedule placement: every consumer binds listeners and\n * then schedules in its own order, and folding both into one call produced two\n * overlapping retry loops. Call `schedule()` or `update()` separately.\n */\n observe(): void {\n this.bindListeners();\n }\n\n /** Unbind tracking, cancel pending frames, and clear the cached position. */\n unobserve(): void {\n this.unbindListeners();\n this.cancel();\n this.last = null;\n this.isReady = false;\n }\n\n /**\n * Retry measurement each frame until it succeeds or the budget runs out, so a\n * popup is never revealed at 0,0 after a failed first pass.\n */\n schedule(onReady?: () => void): void {\n this.cancelRetry();\n this.isReady = false;\n const generation = this.generation;\n const retryGeneration = this.retryGeneration;\n const current = () =>\n generation === this.generation && retryGeneration === this.retryGeneration;\n\n let remaining = this.options.retryBudget ?? POSITION_RETRY_BUDGET;\n\n const attempt = () => {\n if (!current()) return;\n this.retryRaf = null;\n const measured = this.update();\n if (!current()) return;\n if (measured) {\n this.isReady = true;\n this.options.onReady?.();\n if (current()) onReady?.();\n return;\n }\n if (remaining > 0) {\n remaining -= 1;\n this.retryRaf = requestAnimationFrame(attempt);\n }\n };\n\n this.retryRaf = requestAnimationFrame(attempt);\n }\n\n /** Measure and commit once. @returns `false` when the popup is not measurable. */\n update(): boolean {\n const anchor = this.options.getAnchor();\n if (!anchor?.isConnected) return false;\n const popup = this.options.getPopup();\n if (!popup?.isConnected) return false;\n this.observeResizeTargets();\n\n if (\n this.options.topLayer &&\n typeof popup.showPopover === 'function' &&\n !popup.matches(':popover-open')\n ) {\n try {\n popup.showPopover();\n } catch {\n // The popup may not be connected yet. The scheduled retry will try again\n // on the next frame instead of measuring it in the wrong coordinate space.\n return false;\n }\n }\n\n const input = this.options.measure(anchor, popup);\n if (!input) return false;\n\n const next = computeAnchoredPosition(input);\n if (\n !this.last ||\n this.last.x !== next.x ||\n this.last.y !== next.y ||\n this.last.resolvedSide !== next.resolvedSide ||\n this.last.availableHeight !== next.availableHeight\n ) {\n this.last = next;\n this.options.apply(next);\n }\n return true;\n }\n\n /** Reposition an already-open popup without hiding it. */\n scheduleLiveUpdate(): void {\n const generation = this.generation;\n const mode = this.options.liveUpdate ?? 'sync';\n if (mode === 'sync') {\n this.update();\n return;\n }\n\n if (this.liveRaf !== null) return;\n\n if (mode === 'frame') {\n this.liveRaf = requestAnimationFrame(() => {\n if (generation !== this.generation) return;\n this.liveRaf = null;\n this.update();\n });\n return;\n }\n\n // double-frame stays coalesced until the second frame resolves.\n this.liveRaf = requestAnimationFrame(() => {\n if (generation !== this.generation) return;\n this.update();\n if (generation !== this.generation) return;\n this.liveRaf = requestAnimationFrame(() => {\n if (generation !== this.generation) return;\n this.liveRaf = null;\n this.update();\n });\n });\n }\n\n /** Cancel pending retry and live frames without unbinding listeners. */\n cancel(): void {\n this.generation += 1;\n this.cancelRetry();\n if (this.liveRaf !== null) {\n cancelAnimationFrame(this.liveRaf);\n this.liveRaf = null;\n }\n if (this.anchorMotionRaf !== null) {\n cancelAnimationFrame(this.anchorMotionRaf);\n this.anchorMotionRaf = null;\n }\n }\n\n private cancelRetry(): void {\n this.retryGeneration += 1;\n if (this.retryRaf === null) return;\n cancelAnimationFrame(this.retryRaf);\n this.retryRaf = null;\n }\n\n private bindListeners(): void {\n this.unbindListeners();\n this.scrollResizeHandler = () => this.scheduleLiveUpdate();\n // Capture phase so scrolling inside any ancestor repositions the popup.\n window.addEventListener('scroll', this.scrollResizeHandler, true);\n window.addEventListener('resize', this.scrollResizeHandler);\n\n if (this.options.observeResize && typeof ResizeObserver !== 'undefined') {\n const observer = new ResizeObserver(() => {\n if (this.resizeObserver === observer) this.scheduleLiveUpdate();\n });\n this.resizeObserver = observer;\n this.observeResizeTargets();\n }\n\n if (this.options.observeAnchorMotion) {\n this.ownerDocument =\n this.options.getAnchor()?.ownerDocument ?? this.options.getOwnerDocument?.() ?? null;\n this.ownerDocument?.addEventListener('transitionrun', this.anchorMotionStartHandler, true);\n this.ownerDocument?.addEventListener('transitionend', this.anchorMotionEndHandler, true);\n this.ownerDocument?.addEventListener('transitioncancel', this.anchorMotionEndHandler, true);\n this.ownerDocument?.addEventListener('animationstart', this.anchorMotionStartHandler, true);\n this.ownerDocument?.addEventListener('animationend', this.anchorMotionEndHandler, true);\n this.ownerDocument?.addEventListener('animationcancel', this.anchorMotionEndHandler, true);\n }\n }\n\n private unbindListeners(): void {\n if (this.scrollResizeHandler) {\n window.removeEventListener('scroll', this.scrollResizeHandler, true);\n window.removeEventListener('resize', this.scrollResizeHandler);\n this.scrollResizeHandler = null;\n }\n this.resizeObserver?.disconnect();\n this.resizeObserver = null;\n this.ownerDocument?.removeEventListener('transitionrun', this.anchorMotionStartHandler, true);\n this.ownerDocument?.removeEventListener('transitionend', this.anchorMotionEndHandler, true);\n this.ownerDocument?.removeEventListener('transitioncancel', this.anchorMotionEndHandler, true);\n this.ownerDocument?.removeEventListener('animationstart', this.anchorMotionStartHandler, true);\n this.ownerDocument?.removeEventListener('animationend', this.anchorMotionEndHandler, true);\n this.ownerDocument?.removeEventListener('animationcancel', this.anchorMotionEndHandler, true);\n this.ownerDocument = null;\n this.activeAnchorMotions = 0;\n }\n\n private eventCanMoveAnchor(event: Event): boolean {\n const anchor = this.options.getAnchor();\n const target = event.target;\n if (!anchor || !(target instanceof Element)) return false;\n // Motion on the anchor or one of its layout ancestors can move its rect.\n // Descendant-only animation is irrelevant unless it resizes the anchor,\n // which the ResizeObserver path already covers.\n return target === anchor || target.contains(anchor);\n }\n\n private scheduleAnchorMotionUpdate(): void {\n if (this.anchorMotionRaf !== null) return;\n const generation = this.generation;\n const tick = () => {\n if (generation !== this.generation) return;\n this.anchorMotionRaf = null;\n this.update();\n if (generation !== this.generation) return;\n if (this.activeAnchorMotions <= 0 || !this.options.getAnchor()?.isConnected) {\n this.activeAnchorMotions = 0;\n return;\n }\n this.anchorMotionRaf = requestAnimationFrame(tick);\n };\n this.anchorMotionRaf = requestAnimationFrame(tick);\n }\n\n /**\n * Re-attach the resize observer after the popup remounts. Safe to call\n * repeatedly; `ResizeObserver.observe` ignores duplicate targets.\n */\n observeResizeTargets(): void {\n if (!this.resizeObserver) return;\n const popup = this.options.getPopup();\n if (popup) this.resizeObserver.observe(popup);\n const anchor = this.options.getAnchor();\n if (anchor) this.resizeObserver.observe(anchor);\n }\n}\n","import type { AnchoredCollisionRect } from './anchored-position';\n\n/** Attribute placed on a page or panel whose visible rectangle owns anchored overlays. */\nexport const ANCHORED_OVERLAY_BOUNDARY_ATTRIBUTE = 'data-ds-overlay-boundary';\n\n/** An element-owned collision rectangle, or an explicit escape to the viewport. */\nexport type AnchoredOverlayBoundary = HTMLElement | 'viewport';\n\nfunction composedParentElement(element: Element): Element | null {\n if (element.assignedSlot) return element.assignedSlot;\n if (element.parentElement) return element.parentElement;\n const root = element.getRootNode();\n return root instanceof ShadowRoot ? root.host : null;\n}\n\n/**\n * Find the nearest collision owner through light DOM, assigned slots, and open\n * shadow roots. The popup may live in the top layer or a body portal; ownership\n * follows its anchor instead of the popup's rendering location.\n */\nexport function findAnchoredOverlayBoundary(anchor: Element): HTMLElement | null {\n let current: Element | null = anchor;\n while (current) {\n if (\n current instanceof HTMLElement &&\n current.hasAttribute(ANCHORED_OVERLAY_BOUNDARY_ATTRIBUTE)\n ) {\n return current;\n }\n current = composedParentElement(current);\n }\n return null;\n}\n\n/** Resolve an explicit owner first, then the nearest composed-tree boundary. */\nexport function resolveAnchoredOverlayBoundaryRect(\n anchor: Element,\n explicitBoundary?: AnchoredOverlayBoundary\n): AnchoredCollisionRect | undefined {\n if (explicitBoundary === 'viewport') return undefined;\n return (explicitBoundary ?? findAnchoredOverlayBoundary(anchor))?.getBoundingClientRect();\n}\n","@import '../../utils/radius.css';\n@import '../../utils/control-density.css';\n@import '../../utils/key-hint.css';\n@import '../../utils/forced-colors.css';\n\n.tooltip-popup {\n box-sizing: border-box;\n background-color: var(--color-background-primary);\n border-radius: var(--ds-radius-tooltip-control, var(--dimension-radius-025));\n box-shadow: var(--effect-elevation-elevated-floating);\n white-space: nowrap;\n pointer-events: none;\n animation: tooltipFadeIn var(--effect-motion-short-2) forwards;\n will-change: transform;\n backface-visibility: hidden;\n}\n\n/* Warm handoff between nearby triggers — no enter fade (avoids 20–100ms lag). */\n.tooltip-popup--instant {\n animation: none;\n opacity: 1;\n}\n\n.tooltip-popup--closing {\n animation: tooltipFadeOut var(--effect-motion-short-3) forwards;\n}\n\n/* Density: md / sm / xs via `.ds-control--*` on `.tooltip-inner`. */\n.tooltip-inner {\n box-sizing: border-box;\n height: var(--ds-control-height, var(--dimension-size-400));\n display: flex;\n align-items: center;\n gap: var(--ds-control-gap, var(--dimension-space-050));\n padding: 0 var(--ds-control-padding-inline, var(--dimension-space-075));\n}\n\n/*\n * Label layout lives on ds-text (metric-box + control label-inset).\n * NOTE: Stencil scopes this to `ds-text.sc-ds-tooltip`, but portaled\n * createElement ds-text loses that class when Text's <Host class> renders.\n * `renderPopupContent` therefore also sets these as inline styles.\n */\n.tooltip-inner > ds-text {\n flex-shrink: 0;\n min-width: max-content;\n max-width: none;\n padding: 0 var(--ds-control-label-inset, var(--dimension-space-025));\n color: var(--color-foreground-primary);\n}\n\n.tooltip-popup--wrap {\n white-space: normal;\n max-inline-size: var(--dimension-panel-width-xs);\n}\n\n.tooltip-popup--wrap .tooltip-inner {\n height: auto;\n min-height: var(--ds-control-height, var(--dimension-size-400));\n padding-block: var(--dimension-space-050);\n align-items: flex-start;\n}\n\n.tooltip-popup--wrap .tooltip-inner > ds-text {\n flex: 1 1 auto;\n min-width: 0;\n max-width: 100%;\n white-space: pre-line;\n}\n\n@keyframes tooltipFadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n@keyframes tooltipFadeOut {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .tooltip-popup,\n .tooltip-popup--instant {\n animation: none;\n opacity: 1;\n }\n\n .tooltip-popup--closing {\n animation: none;\n opacity: 0;\n }\n}\n\n@media (forced-colors: active) {\n .tooltip-popup {\n box-shadow: none;\n outline: var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);\n outline-offset: calc(-1 * var(--dimension-stroke-width-012));\n }\n}\n","import { Component, Prop, Element, Method, Watch, h, Host } from '@stencil/core';\nimport {\n CONTROL_TEXT_VARIANT,\n resolveCssLengthPx,\n resolveCssTimeMs,\n resolveMotionTimeMs,\n TOKEN_CSS_LENGTHS,\n TOKEN_DEFAULTS,\n} from '../../utils';\nimport type { TextVariant } from '../Text/text-types';\nimport { shortcutKeyLabels } from '../../utils/shortcut-key';\nimport { AnchoredPositionController } from '../../utils/anchored-position-controller';\nimport {\n resolveAnchoredOverlayBoundaryRect,\n type AnchoredOverlayBoundary,\n} from '../../utils/anchored-overlay-boundary';\n// Side-effect: register `ds-text` — the portal builds it via createElement, not JSX.\nimport '../Text/Text';\n\nexport type TooltipSide = 'top' | 'right' | 'bottom' | 'left';\nexport type TooltipAlign = 'start' | 'center' | 'end';\nexport type TooltipSize = 'md' | 'sm' | 'xs';\n\nconst FALLBACK_HEIGHT: Record<TooltipSize, string> = {\n md: TOKEN_DEFAULTS.size400,\n sm: TOKEN_DEFAULTS.size300,\n xs: TOKEN_DEFAULTS.size200,\n};\n\nlet lastDismissedAt = 0;\nlet tooltipIdCounter = 0;\n/** Currently open tooltip — force-cleared on warm handoff so tips don't cross-fade. */\nlet activeTooltip: Tooltip | null = null;\n\ntype DsTextEl = HTMLElement & {\n as: string;\n variant: TextVariant;\n emphasis: boolean;\n color: string;\n wrap: string;\n};\n\nfunction createDsText(opts: {\n variant: TextVariant;\n emphasis?: boolean;\n color?: string;\n wrap?: 'wrap' | 'nowrap' | 'balance' | 'pretty';\n text: string;\n}): DsTextEl {\n const el = document.createElement('ds-text') as DsTextEl;\n el.as = 'span';\n el.variant = opts.variant;\n el.emphasis = opts.emphasis ?? false;\n el.color = opts.color ?? 'inherit';\n if (opts.wrap) el.wrap = opts.wrap;\n el.textContent = opts.text;\n return el;\n}\n\n/**\n * Control-density label styles for portaled ds-text.\n * Scoped CSS requires `sc-ds-tooltip` on the host, but Text's `<Host class>`\n * overwrites imperative className — so these must be inline to stick.\n */\nfunction styleTooltipLabel(el: HTMLElement, wrapLabel = false) {\n el.style.flexShrink = wrapLabel ? '1' : '0';\n el.style.minWidth = wrapLabel ? '0' : 'max-content';\n el.style.maxWidth = wrapLabel ? '100%' : 'none';\n el.style.whiteSpace = wrapLabel ? 'pre-line' : '';\n el.style.padding = '0 var(--ds-control-label-inset, var(--dimension-space-025))';\n el.style.color = 'var(--color-foreground-primary)';\n}\n\n/**\n * Imperative body portal for the popup.\n * Stencil must not own the portaled node — moving a VDOM child to `document.body`\n * causes recreate → re-portal → @State loops that freeze the page.\n */\n@Component({\n tag: 'ds-tooltip',\n styleUrl: 'Tooltip.css',\n scoped: true,\n})\nexport class Tooltip {\n @Element() el!: HTMLElement;\n\n /**\n * Tooltip text. Empty/whitespace skips show — useful when the wrapper must stay\n * mounted for layout/animation stability (e.g. PanelNav expand/collapse).\n */\n @Prop() label!: string;\n\n /** Control density (height, padding, type). */\n @Prop() size: TooltipSize = 'md';\n\n @Prop() side: TooltipSide = 'top';\n @Prop() align: TooltipAlign = 'center';\n /** Gap between anchor and tooltip — number (px) or TokoMo length. */\n @Prop() sideOffset: number | string = TOKEN_CSS_LENGTHS.space050;\n /** Cross-axis offset — number (px) or TokoMo length. */\n @Prop() alignOffset: number | string = 0;\n /** Explicit collision owner, `viewport`, or the nearest data-ds-overlay-boundary ancestor. */\n @Prop() boundary: AnchoredOverlayBoundary | undefined;\n /**\n * Hover show delay before the tooltip appears.\n * Default: `--effect-animation-delay-medium-3` (1000ms). Accepts a number (ms)\n * or a TokoMo time token / `var(--effect-animation-delay-*)`. Applies to the\n * initial hover/focus show only — after a recent dismiss, reopen is instant.\n * Prefer the default; override only for denser chrome or rare/destructive actions.\n */\n @Prop() delay: number | string = TOKEN_DEFAULTS.animationDelayMedium3;\n @Prop() shortcutKey: string | undefined;\n @Prop() shortcutKeyPosition: 'start' | 'end' = 'end';\n /**\n * Link the trigger with aria-describedby while the popup is open. Disable when\n * the label is already in the DOM, such as a truncated table cell.\n */\n @Prop() describedBy = true;\n /** Allow wrapping at a panel-xs max width and preserve explicit line breaks. */\n @Prop() wrapLabel = false;\n\n private tooltipId = `ds-tooltip-${++tooltipIdCounter}`;\n private delayTimer: ReturnType<typeof setTimeout> | null = null;\n private closeTimer: ReturnType<typeof setTimeout> | null = null;\n private anchor: HTMLElement | null = null;\n private popupEl: HTMLElement | null = null;\n private anchorObserver: MutationObserver | null = null;\n private didLoad = false;\n private readonly position = new AnchoredPositionController({\n getAnchor: () => this.anchor,\n getPopup: () => this.popupEl,\n getOwnerDocument: () => this.el.ownerDocument,\n measure: (anchor, tip) => ({\n anchorRect: anchor.getBoundingClientRect(),\n // Fall back to token metrics until `ds-text` upgrades and reports a width.\n popupWidth: tip.offsetWidth || this.tooltipFallbackWidthPx,\n popupHeight: tip.offsetHeight || this.tooltipFallbackHeightPx,\n side: this.side,\n align: this.align,\n sideOffsetPx: this.sideOffsetPx,\n alignOffsetPx: this.alignOffsetPx,\n viewportPadPx: this.viewportPadPx,\n viewportWidth: window.innerWidth,\n viewportHeight: window.innerHeight,\n collisionRect: resolveAnchoredOverlayBoundaryRect(anchor, this.boundary),\n }),\n apply: ({ x, y, resolvedSide }) => {\n if (!this.popupEl) return;\n this.popupEl.dataset.side = resolvedSide;\n this.popupEl.style.transform = `translate(${Math.round(x)}px, ${Math.round(y)}px)`;\n },\n liveUpdate: 'frame',\n observeResize: true,\n });\n private skipEnterAnimation = false;\n private isOpen = false;\n private programmaticAnchor = false;\n private lastInteractionWasKeyboard = false;\n private pointerEnterHandler = (event: PointerEvent) => {\n if (event.pointerType === 'touch') return;\n this.show();\n };\n private pointerLeaveHandler = (event: PointerEvent) => {\n if (event.pointerType === 'touch') return;\n this.hide();\n };\n private pointerDownHandler = (event: PointerEvent) => {\n this.lastInteractionWasKeyboard = false;\n if (event.pointerType === 'touch' && (this.isOpen || this.popupEl)) this.hideInstant();\n };\n private keyDownHandler = () => {\n this.lastInteractionWasKeyboard = true;\n };\n /** focusin/focusout so nested focus targets (e.g. ds-button-* inner button) still open the tip. */\n private focusHandler = () => {\n if (this.lastInteractionWasKeyboard || this.anchor?.matches(':focus-visible')) this.show();\n };\n private blurHandler: (e: FocusEvent) => void = e => {\n const next = e.relatedTarget as Node | null;\n if (next && this.anchor?.contains(next)) return;\n this.hide();\n };\n private escapeHandler = (event: KeyboardEvent) => {\n if (event.key !== 'Escape' || !this.isOpen) return;\n event.preventDefault();\n this.hide();\n };\n\n connectedCallback() {\n if (!this.didLoad) return;\n this.connectAnchor();\n }\n\n componentDidLoad() {\n this.didLoad = true;\n this.connectAnchor();\n }\n\n private connectAnchor() {\n this.bindAnchor();\n if (this.anchorObserver) return;\n this.anchorObserver = new MutationObserver(() => this.handleSlotChange());\n this.anchorObserver.observe(this.el, { childList: true });\n }\n\n disconnectedCallback() {\n if (activeTooltip === this) activeTooltip = null;\n this.anchorObserver?.disconnect();\n this.anchorObserver = null;\n this.unbindAnchor();\n this.clearTimers();\n this.destroyPopup();\n }\n\n @Watch('label')\n @Watch('size')\n @Watch('side')\n @Watch('align')\n @Watch('sideOffset')\n @Watch('alignOffset')\n @Watch('boundary')\n @Watch('shortcutKey')\n @Watch('shortcutKeyPosition')\n @Watch('wrapLabel')\n onContentOrPositionChange() {\n if (!this.label?.trim()) {\n if (this.isOpen || this.popupEl) this.hideInstant();\n return;\n }\n if (!this.popupEl || !this.isOpen) return;\n this.renderPopupContent();\n this.schedulePosition();\n }\n\n private get viewportPadPx(): number {\n return resolveCssLengthPx(TOKEN_DEFAULTS.space050, TOKEN_DEFAULTS.space050);\n }\n\n private get sideOffsetPx(): number {\n return resolveCssLengthPx(this.sideOffset, TOKEN_DEFAULTS.space050);\n }\n\n private get alignOffsetPx(): number {\n return resolveCssLengthPx(this.alignOffset, 0);\n }\n\n private get hoverDelayMs(): number {\n return resolveCssTimeMs(this.delay, TOKEN_DEFAULTS.animationDelayMedium3);\n }\n\n private get instantReopenMs(): number {\n return resolveCssTimeMs(\n TOKEN_DEFAULTS.animationDurationMedium1,\n TOKEN_DEFAULTS.animationDurationMedium1\n );\n }\n\n private get fadeOutMs(): number {\n return resolveMotionTimeMs(TOKEN_DEFAULTS.motionShort3, TOKEN_DEFAULTS.animationDurationShort3);\n }\n\n private get tooltipFallbackWidthPx(): number {\n return resolveCssLengthPx(\n TOKEN_DEFAULTS.tooltipFallbackWidth,\n TOKEN_DEFAULTS.tooltipFallbackWidth\n );\n }\n\n private get tooltipFallbackHeightPx(): number {\n const token = FALLBACK_HEIGHT[this.size];\n return resolveCssLengthPx(token, token);\n }\n\n /**\n * Present against an external anchor the host already measured.\n * Does not bind hover or focus on that anchor — the owner drives show/hide.\n */\n @Method()\n async presentFrom(anchor: HTMLElement, label?: string) {\n if (label != null) this.label = label;\n if (!this.label?.trim()) {\n this.hide();\n return;\n }\n const sameAnchor = this.anchor === anchor;\n if (!sameAnchor) {\n this.unbindAnchor();\n this.anchor = anchor;\n this.programmaticAnchor = true;\n if (this.popupEl && this.describedBy) this.linkDescribedBy();\n }\n if (this.popupEl) {\n this.renderPopupContent();\n this.schedulePosition();\n return;\n }\n if (this.delayTimer && sameAnchor) return;\n this.show();\n }\n\n /** Dismiss a popup opened through presentFrom or the slotted trigger. */\n @Method()\n async dismiss() {\n this.hide();\n }\n\n private bindAnchor() {\n if (this.programmaticAnchor) return;\n const slot = this.el.querySelector('slot') as HTMLSlotElement | null;\n const slotted = slot?.assignedElements?.() ?? [];\n const child = (slotted[0] ?? this.el.firstElementChild) as HTMLElement | null;\n if (!child || child.tagName === 'SLOT' || child === this.anchor) return;\n this.anchor = child;\n child.addEventListener('pointerenter', this.pointerEnterHandler);\n child.addEventListener('pointerleave', this.pointerLeaveHandler);\n child.addEventListener('pointerdown', this.pointerDownHandler);\n child.addEventListener('keydown', this.keyDownHandler);\n child.addEventListener('focusin', this.focusHandler);\n child.addEventListener('focusout', this.blurHandler);\n }\n\n private unbindAnchor() {\n if (!this.anchor) return;\n this.unlinkDescribedBy();\n if (!this.programmaticAnchor) {\n this.anchor.removeEventListener('pointerenter', this.pointerEnterHandler);\n this.anchor.removeEventListener('pointerleave', this.pointerLeaveHandler);\n this.anchor.removeEventListener('pointerdown', this.pointerDownHandler);\n this.anchor.removeEventListener('keydown', this.keyDownHandler);\n this.anchor.removeEventListener('focusin', this.focusHandler);\n this.anchor.removeEventListener('focusout', this.blurHandler);\n }\n this.anchor = null;\n this.programmaticAnchor = false;\n }\n\n private linkDescribedBy() {\n if (!this.describedBy || !this.anchor || !this.popupEl) return;\n const ids = new Set(\n (this.anchor.getAttribute('aria-describedby') ?? '').split(/\\s+/).filter(Boolean)\n );\n ids.add(this.tooltipId);\n this.anchor.setAttribute('aria-describedby', Array.from(ids).join(' '));\n }\n\n private unlinkDescribedBy() {\n if (!this.anchor) return;\n const ids = (this.anchor.getAttribute('aria-describedby') ?? '')\n .split(/\\s+/)\n .filter(id => id && id !== this.tooltipId);\n if (ids.length) this.anchor.setAttribute('aria-describedby', ids.join(' '));\n else this.anchor.removeAttribute('aria-describedby');\n }\n\n private handleSlotChange = () => {\n if (this.programmaticAnchor) return;\n const slot = this.el.querySelector('slot') as HTMLSlotElement | null;\n const next = (slot?.assignedElements?.()[0] ?? this.el.firstElementChild) as HTMLElement | null;\n if (next === this.anchor || next?.tagName === 'SLOT') return;\n if (this.isOpen || this.popupEl) this.hideInstant();\n this.unbindAnchor();\n this.bindAnchor();\n };\n\n private clearTimers() {\n if (this.delayTimer) {\n clearTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n if (this.closeTimer) {\n clearTimeout(this.closeTimer);\n this.closeTimer = null;\n }\n }\n\n private setupOpenListeners() {\n // Binds scroll/resize + the resize observer; placement itself is scheduled\n // by schedulePosition() so the label restyle stays interleaved.\n this.position.observe();\n document.addEventListener('keydown', this.escapeHandler);\n }\n\n private teardownOpenListeners() {\n this.position.unobserve();\n document.removeEventListener('keydown', this.escapeHandler);\n }\n\n private destroyPopup() {\n this.teardownOpenListeners();\n this.unlinkDescribedBy();\n if (!this.popupEl) return;\n this.popupEl.remove();\n this.popupEl = null;\n }\n\n /**\n * Position after `ds-text` upgrades and lays out. Measuring synchronously in\n * `mountPopup` reads a collapsed/fallback width and places left/right tips wrong.\n */\n private schedulePosition() {\n if (!this.popupEl) return;\n\n const reapplyLabelStyles = () => {\n const label = this.popupEl?.querySelector(':scope > .tooltip-inner > ds-text');\n if (label instanceof HTMLElement) styleTooltipLabel(label, this.wrapLabel);\n };\n\n requestAnimationFrame(() => {\n reapplyLabelStyles();\n this.position.update();\n requestAnimationFrame(() => {\n reapplyLabelStyles();\n this.position.update();\n });\n });\n\n // The popup remounts on every show, so re-target the observer bound in start().\n this.position.observeResizeTargets();\n }\n\n /** Drop the open tip immediately (warm handoff to another tooltip). */\n private hideInstant() {\n this.clearTimers();\n lastDismissedAt = Date.now();\n if (activeTooltip === this) activeTooltip = null;\n this.destroyPopup();\n this.isOpen = false;\n this.skipEnterAnimation = false;\n }\n\n private show() {\n // Empty label = wrapper present for DOM stability (e.g. PanelNav expand/collapse)\n // but no tip should appear.\n if (!this.label?.trim()) return;\n this.clearTimers();\n let instant = Date.now() - lastDismissedAt < this.instantReopenMs;\n if (activeTooltip && activeTooltip !== this) {\n activeTooltip.hideInstant();\n instant = true;\n }\n // eslint-disable-next-line @typescript-eslint/no-this-alias -- module singleton tracks the active instance\n activeTooltip = this;\n this.skipEnterAnimation = instant;\n if (instant) {\n this.mountPopup();\n return;\n }\n this.delayTimer = setTimeout(() => {\n this.delayTimer = null;\n if (!this.label?.trim()) return;\n this.mountPopup();\n }, this.hoverDelayMs);\n }\n\n private hide() {\n this.clearTimers();\n if (!this.popupEl && !this.isOpen) return;\n lastDismissedAt = Date.now();\n if (!this.popupEl) {\n this.isOpen = false;\n return;\n }\n this.popupEl.classList.remove('tooltip-popup--instant');\n this.popupEl.classList.add('tooltip-popup--closing');\n if (this.fadeOutMs === 0) {\n if (activeTooltip === this) activeTooltip = null;\n this.destroyPopup();\n this.isOpen = false;\n this.skipEnterAnimation = false;\n return;\n }\n this.closeTimer = setTimeout(() => {\n this.closeTimer = null;\n if (activeTooltip === this) activeTooltip = null;\n this.destroyPopup();\n this.isOpen = false;\n this.skipEnterAnimation = false;\n }, this.fadeOutMs);\n }\n\n private mountPopup() {\n if (!this.popupEl) {\n const tip = document.createElement('div');\n tip.id = this.tooltipId;\n tip.setAttribute('role', 'tooltip');\n // `sc-ds-tooltip` is required for Stencil scoped CSS to match outside the host.\n tip.className = 'tooltip-popup ds-forced-colors-scope sc-ds-tooltip';\n Object.assign(tip.style, {\n position: 'fixed',\n left: '0',\n top: '0',\n zIndex: 'var(--dimension-z-index-tooltip)',\n pointerEvents: 'none',\n });\n document.body.appendChild(tip);\n this.popupEl = tip;\n }\n\n this.setupOpenListeners();\n this.linkDescribedBy();\n this.popupEl.classList.toggle('tooltip-popup--instant', this.skipEnterAnimation);\n this.popupEl.classList.toggle('tooltip-popup--wrap', this.wrapLabel);\n this.popupEl.classList.remove('tooltip-popup--closing');\n this.renderPopupContent();\n this.schedulePosition();\n this.isOpen = true;\n }\n\n private renderPopupContent() {\n if (!this.popupEl) return;\n this.popupEl.classList.toggle('tooltip-popup--wrap', this.wrapLabel);\n const textVariant = CONTROL_TEXT_VARIANT[this.size];\n const density =\n this.size === 'md'\n ? 'ds-control--md'\n : this.size === 'sm'\n ? 'ds-control--sm'\n : 'ds-control--xs';\n // Every layout node needs `sc-ds-tooltip` so scoped selectors (`.foo.sc-ds-tooltip`) match.\n const sc = 'sc-ds-tooltip';\n\n const inner = document.createElement('div');\n inner.className = `tooltip-inner ${density} ${sc}`;\n\n const appendShortcut = (position: 'start' | 'end') => {\n if (!this.shortcutKey || this.shortcutKeyPosition !== position) return;\n const group = document.createElement('span');\n group.className = `key-hint-group ${sc}`;\n group.setAttribute('aria-hidden', 'true');\n\n for (const label of shortcutKeyLabels(this.shortcutKey)) {\n const hint = document.createElement('span');\n const wide = Array.from(label).length > 1 ? ' key-hint--wide' : '';\n hint.className = `key-hint${wide} ${sc}`;\n const text = document.createElement('span');\n text.className = `key-hint__label ${sc}`;\n text.textContent = label;\n hint.appendChild(text);\n group.appendChild(hint);\n }\n inner.appendChild(group);\n };\n\n appendShortcut('start');\n\n // ds-text is the layout box (metric-box + 2px control label-inset).\n // Inline styles required — see styleTooltipLabel.\n const label = createDsText({\n variant: textVariant,\n wrap: this.wrapLabel ? 'wrap' : 'nowrap',\n text: this.label,\n });\n styleTooltipLabel(label, this.wrapLabel);\n inner.appendChild(label);\n\n appendShortcut('end');\n\n this.popupEl.replaceChildren(inner);\n }\n\n render() {\n return (\n <Host style={{ display: 'contents' }}>\n <slot onSlotchange={this.handleSlotChange} />\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{p as o,H as t,h as s,a as i,t as r}from"./index.js";import{C as e}from"./p-DlsjHRU3.js";import{d as a}from"./p-D8OWhnID.js";import{T as c,r as n}from"./p-CeXf9-X3.js";import{C as d,a as l}from"./p-CuwopElg.js";const h=()=>`.sc-ds-tooltip-chart-h,.sc-ds-tooltip-chart:where(.ds-table),.sc-ds-tooltip-chart:where(.tooltip-popup),.sc-ds-tooltip-chart: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-tooltip-chart,.ds-control--lg.sc-ds-tooltip-chart-h,.ds-control--md.sc-ds-tooltip-chart-h,.ds-control--md.sc-ds-tooltip-chart,.ds-control--sm.sc-ds-tooltip-chart-h,.ds-control--sm.sc-ds-tooltip-chart,.ds-control--xs.sc-ds-tooltip-chart-h,.ds-control--xs.sc-ds-tooltip-chart{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-tooltip-chart-h,.ds-control--lg.sc-ds-tooltip-chart{--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-tooltip-chart-h,.ds-control--md.sc-ds-tooltip-chart{--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-tooltip-chart-h,.ds-control--sm.sc-ds-tooltip-chart{--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-tooltip-chart-h,.ds-control--xs.sc-ds-tooltip-chart{--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-tooltip-chart{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-tooltip-chart{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-tooltip-chart{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-tooltip-chart{min-width:0;padding-inline:var(--ds-control-label-inset, var(--dimension-space-025))}.ds-control-label-dot.sc-ds-tooltip-chart{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-tooltip-chart{position:absolute;inset-block-start:0;inset-inline-end:0;pointer-events:none}.ds-chrome-space--sm.sc-ds-tooltip-chart-h,.ds-chrome-space--sm.sc-ds-tooltip-chart{--ds-chrome-padding:var(--dimension-space-050);--ds-chrome-gap:var(--dimension-space-050)}.ds-chrome-space--md.sc-ds-tooltip-chart-h,.ds-chrome-space--md.sc-ds-tooltip-chart{--ds-chrome-padding:var(--dimension-space-100);--ds-chrome-gap:var(--dimension-space-100)}.ds-chrome-space--lg.sc-ds-tooltip-chart-h,.ds-chrome-space--lg.sc-ds-tooltip-chart{--ds-chrome-padding:var(--dimension-space-200);--ds-chrome-gap:var(--dimension-space-200)}.ds-chrome-row.sc-ds-tooltip-chart-h,.ds-chrome-row.sc-ds-tooltip-chart,.ds-chrome-column.sc-ds-tooltip-chart-h,.ds-chrome-column.sc-ds-tooltip-chart,.ds-chrome-grid.sc-ds-tooltip-chart-h,.ds-chrome-grid.sc-ds-tooltip-chart{display:flex;box-sizing:border-box;gap:var(--ds-chrome-gap, var(--dimension-space-100));padding:var(--ds-chrome-padding, var(--dimension-space-100))}.ds-chrome-row.sc-ds-tooltip-chart-h,.ds-chrome-row.sc-ds-tooltip-chart{flex-direction:row;align-items:center}.ds-chrome-column.sc-ds-tooltip-chart-h,.ds-chrome-column.sc-ds-tooltip-chart{flex-direction:column}.ds-chrome-grid.sc-ds-tooltip-chart-h,.ds-chrome-grid.sc-ds-tooltip-chart{display:grid;align-items:center}@media (forced-colors: active){.sc-ds-tooltip-chart:root,.sc-ds-tooltip-chart-h,.ds-forced-colors-scope.sc-ds-tooltip-chart{--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-tooltip-chart-h{position:absolute;z-index:var(--dimension-z-index-tooltip);background-color:var(--color-translucent-translucent);backdrop-filter:blur(var(--effect-blur-md));-webkit-backdrop-filter:blur(var(--effect-blur-md));border-radius:var(--ds-radius-tooltip-menu);box-shadow:var(--effect-elevation-elevated-floating);white-space:nowrap;pointer-events:none;opacity:0}.tooltip-chart--visible.sc-ds-tooltip-chart-h{animation:tooltip-chart-fade-in var(--effect-motion-short-2) forwards}.tooltip-chart__item.sc-ds-tooltip-chart{width:100%;border-radius:var(--ds-control-radius, var(--dimension-radius-025))}.tooltip-chart__items.sc-ds-tooltip-chart{display:contents}.tooltip-chart__swatch-box.sc-ds-tooltip-chart{pointer-events:none}.tooltip-chart__swatch.sc-ds-tooltip-chart{width:var(--dimension-size-100);height:var(--dimension-size-100);flex:none;border-radius:var(--dimension-radius-half);background:var(--ds-tooltip-chart-swatch)}.tooltip-chart__value.sc-ds-tooltip-chart{margin-inline-start:auto;text-align:end}.tooltip-chart__label.sc-ds-tooltip-chart,.tooltip-chart__value.sc-ds-tooltip-chart{flex:none}@keyframes tooltip-chart-fade-in{from{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.tooltip-chart--visible.sc-ds-tooltip-chart-h{animation:none;opacity:1}}@media (forced-colors: active){.sc-ds-tooltip-chart-h{box-shadow:none;outline:var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);outline-offset:calc(-1 * var(--dimension-stroke-width-012))}}`;const p=12;const m=8;const v=o(class o extends t{constructor(o){super();if(o!==false){this.__registerHost()}this.value="";this.label="";this.x=0;this.y=0;this.delay=c.animationDelayInstant;this.side="right";this.align="bottom";this.visible=false;this.delayTimer=null;this.loaded=false;this.tasks=new e((()=>this.el.isConnected))}connectedCallback(){if(!this.loaded)return;this.scheduleShow();this.onAnchorChange()}componentDidLoad(){this.loaded=true;this.scheduleShow();this.calculatePlacement()}disconnectedCallback(){this.clearDelayTimer();this.tasks.cancel();this.placementFrame=undefined;this.visible=false}onAnchorChange(){this.tasks.cancelFrame(this.placementFrame);this.placementFrame=this.tasks.frame((()=>{this.placementFrame=undefined;this.calculatePlacement()}))}onDelayChange(){if(!this.visible)this.scheduleShow()}get showDelayMs(){return n(this.delay,c.animationDelayInstant)}clearDelayTimer(){if(this.delayTimer){clearTimeout(this.delayTimer);this.delayTimer=null}}scheduleShow(){this.clearDelayTimer();this.visible=false;if(!this.el.isConnected)return;const o=this.showDelayMs;if(o<=0){this.visible=true;return}this.delayTimer=setTimeout(this.tasks.guard((()=>{this.delayTimer=null;this.visible=true;this.onAnchorChange()})),o)}calculatePlacement(){if(!this.el.isConnected)return;const o=this.el.getBoundingClientRect();if(!o.width||!o.height)return;const t=o.right>window.innerWidth-m?"left":"right";const s=o.bottom>window.innerHeight-m?"top":"bottom";if(t!==this.side)this.side=t;if(s!==this.align)this.align=s}render(){const o=this.side==="right"?`${p}px`:`calc(-100% - ${p}px)`;const t=this.align==="bottom"?`${p}px`:`calc(-100% - ${p}px)`;const r=this.items??[{label:this.label,value:this.value}];const e=r.some((o=>Boolean(o.color)));return s(i,{key:"12956981e2bfcfecee7cdcd7a85e1d44904b5e96",class:{"tooltip-chart":true,"tooltip-chart--visible":this.visible,"ds-chrome-column":true,"ds-chrome-space--sm":true},style:{left:`${this.x}px`,top:`${this.y}px`,transform:`translate(${o}, ${t})`}},this.heading&&s("ds-text",{key:"1d2a40b3a17dd0ea979cb8d39c82da36bd2b6293",class:"tooltip-chart__heading ds-control-section-heading ds-control--md",as:"span",variant:l.md,emphasis:true,color:"var(--color-foreground-primary)"},this.heading),s("div",{key:"463c6eb77a4b6f60318288e17b2b132f684db352",class:"tooltip-chart__items"},r.map(((o,t)=>s("div",{class:"tooltip-chart__item ds-control-frame ds-control--md",key:`${o.label}-${t}`},e&&s("span",{class:"tooltip-chart__swatch-box ds-control-icon-box","aria-hidden":"true"},o.color&&s("span",{class:"tooltip-chart__swatch",style:{"--ds-tooltip-chart-swatch":o.color}})),s("ds-text",{class:"tooltip-chart__label ds-control-label-box",as:"span",variant:d.md,color:"var(--color-foreground-secondary)"},o.label),s("ds-text",{class:"tooltip-chart__value ds-control-label-box",as:"span",variant:d.md,emphasis:true,color:"var(--color-foreground-primary)"},o.value))))))}get el(){return this}static get watchers(){return{x:[{onAnchorChange:0}],y:[{onAnchorChange:0}],delay:[{onDelayChange:0}]}}static get style(){return h()}},[2,"ds-tooltip-chart",{value:[8],label:[1],heading:[1],items:[16],x:[2],y:[2],delay:[8],side:[32],align:[32],visible:[32]},undefined,{x:[{onAnchorChange:0}],y:[{onAnchorChange:0}],delay:[{onDelayChange:0}]}]);function u(){if(typeof customElements==="undefined"){return}const o=["ds-tooltip-chart","ds-text"];o.forEach((o=>{switch(o){case"ds-tooltip-chart":if(!customElements.get(r(o))){customElements.define(r(o),v)}break;case"ds-text":if(!customElements.get(r(o))){a()}break}}))}u();export{v as T,u as d};
2
- //# sourceMappingURL=p-BNarCFJZ.js.map
1
+ import{p as o,H as t,h as s,a as i,t as r}from"./index.js";import{C as e}from"./p-DlsjHRU3.js";import{d as a}from"./p-BbvAWFJA.js";import{T as c,r as n}from"./p-CeXf9-X3.js";import{C as d,a as l}from"./p-CuwopElg.js";const h=()=>`.sc-ds-tooltip-chart-h,.sc-ds-tooltip-chart:where(.ds-table),.sc-ds-tooltip-chart:where(.tooltip-popup),.sc-ds-tooltip-chart: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-tooltip-chart,.ds-control--lg.sc-ds-tooltip-chart-h,.ds-control--md.sc-ds-tooltip-chart-h,.ds-control--md.sc-ds-tooltip-chart,.ds-control--sm.sc-ds-tooltip-chart-h,.ds-control--sm.sc-ds-tooltip-chart,.ds-control--xs.sc-ds-tooltip-chart-h,.ds-control--xs.sc-ds-tooltip-chart{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-tooltip-chart-h,.ds-control--lg.sc-ds-tooltip-chart{--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-tooltip-chart-h,.ds-control--md.sc-ds-tooltip-chart{--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-tooltip-chart-h,.ds-control--sm.sc-ds-tooltip-chart{--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-tooltip-chart-h,.ds-control--xs.sc-ds-tooltip-chart{--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-tooltip-chart{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-tooltip-chart{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-tooltip-chart{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-tooltip-chart{min-width:0;padding-inline:var(--ds-control-label-inset, var(--dimension-space-025))}.ds-control-label-dot.sc-ds-tooltip-chart{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-tooltip-chart{position:absolute;inset-block-start:0;inset-inline-end:0;pointer-events:none}.ds-chrome-space--sm.sc-ds-tooltip-chart-h,.ds-chrome-space--sm.sc-ds-tooltip-chart{--ds-chrome-padding:var(--dimension-space-050);--ds-chrome-gap:var(--dimension-space-050)}.ds-chrome-space--md.sc-ds-tooltip-chart-h,.ds-chrome-space--md.sc-ds-tooltip-chart{--ds-chrome-padding:var(--dimension-space-100);--ds-chrome-gap:var(--dimension-space-100)}.ds-chrome-space--lg.sc-ds-tooltip-chart-h,.ds-chrome-space--lg.sc-ds-tooltip-chart{--ds-chrome-padding:var(--dimension-space-200);--ds-chrome-gap:var(--dimension-space-200)}.ds-chrome-row.sc-ds-tooltip-chart-h,.ds-chrome-row.sc-ds-tooltip-chart,.ds-chrome-column.sc-ds-tooltip-chart-h,.ds-chrome-column.sc-ds-tooltip-chart,.ds-chrome-grid.sc-ds-tooltip-chart-h,.ds-chrome-grid.sc-ds-tooltip-chart{display:flex;box-sizing:border-box;gap:var(--ds-chrome-gap, var(--dimension-space-100));padding:var(--ds-chrome-padding, var(--dimension-space-100))}.ds-chrome-row.sc-ds-tooltip-chart-h,.ds-chrome-row.sc-ds-tooltip-chart{flex-direction:row;align-items:center}.ds-chrome-column.sc-ds-tooltip-chart-h,.ds-chrome-column.sc-ds-tooltip-chart{flex-direction:column}.ds-chrome-grid.sc-ds-tooltip-chart-h,.ds-chrome-grid.sc-ds-tooltip-chart{display:grid;align-items:center}@media (forced-colors: active){.sc-ds-tooltip-chart:root,.sc-ds-tooltip-chart-h,.ds-forced-colors-scope.sc-ds-tooltip-chart{--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-tooltip-chart-h{position:absolute;z-index:var(--dimension-z-index-tooltip);background-color:var(--color-translucent-translucent);backdrop-filter:blur(var(--effect-blur-md));-webkit-backdrop-filter:blur(var(--effect-blur-md));border-radius:var(--ds-radius-tooltip-menu);box-shadow:var(--effect-elevation-elevated-floating);white-space:nowrap;pointer-events:none;opacity:0}.tooltip-chart--visible.sc-ds-tooltip-chart-h{animation:tooltip-chart-fade-in var(--effect-motion-short-2) forwards}.tooltip-chart__item.sc-ds-tooltip-chart{width:100%;border-radius:var(--ds-control-radius, var(--dimension-radius-025))}.tooltip-chart__items.sc-ds-tooltip-chart{display:contents}.tooltip-chart__swatch-box.sc-ds-tooltip-chart{pointer-events:none}.tooltip-chart__swatch.sc-ds-tooltip-chart{width:var(--dimension-size-100);height:var(--dimension-size-100);flex:none;border-radius:var(--dimension-radius-half);background:var(--ds-tooltip-chart-swatch)}.tooltip-chart__value.sc-ds-tooltip-chart{margin-inline-start:auto;text-align:end}.tooltip-chart__label.sc-ds-tooltip-chart,.tooltip-chart__value.sc-ds-tooltip-chart{flex:none}@keyframes tooltip-chart-fade-in{from{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.tooltip-chart--visible.sc-ds-tooltip-chart-h{animation:none;opacity:1}}@media (forced-colors: active){.sc-ds-tooltip-chart-h{box-shadow:none;outline:var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);outline-offset:calc(-1 * var(--dimension-stroke-width-012))}}`;const p=12;const m=8;const v=o(class o extends t{constructor(o){super();if(o!==false){this.__registerHost()}this.value="";this.label="";this.x=0;this.y=0;this.delay=c.animationDelayInstant;this.side="right";this.align="bottom";this.visible=false;this.delayTimer=null;this.loaded=false;this.tasks=new e((()=>this.el.isConnected))}connectedCallback(){if(!this.loaded)return;this.scheduleShow();this.onAnchorChange()}componentDidLoad(){this.loaded=true;this.scheduleShow();this.calculatePlacement()}disconnectedCallback(){this.clearDelayTimer();this.tasks.cancel();this.placementFrame=undefined;this.visible=false}onAnchorChange(){this.tasks.cancelFrame(this.placementFrame);this.placementFrame=this.tasks.frame((()=>{this.placementFrame=undefined;this.calculatePlacement()}))}onDelayChange(){if(!this.visible)this.scheduleShow()}get showDelayMs(){return n(this.delay,c.animationDelayInstant)}clearDelayTimer(){if(this.delayTimer){clearTimeout(this.delayTimer);this.delayTimer=null}}scheduleShow(){this.clearDelayTimer();this.visible=false;if(!this.el.isConnected)return;const o=this.showDelayMs;if(o<=0){this.visible=true;return}this.delayTimer=setTimeout(this.tasks.guard((()=>{this.delayTimer=null;this.visible=true;this.onAnchorChange()})),o)}calculatePlacement(){if(!this.el.isConnected)return;const o=this.el.getBoundingClientRect();if(!o.width||!o.height)return;const t=o.right>window.innerWidth-m?"left":"right";const s=o.bottom>window.innerHeight-m?"top":"bottom";if(t!==this.side)this.side=t;if(s!==this.align)this.align=s}render(){const o=this.side==="right"?`${p}px`:`calc(-100% - ${p}px)`;const t=this.align==="bottom"?`${p}px`:`calc(-100% - ${p}px)`;const r=this.items??[{label:this.label,value:this.value}];const e=r.some((o=>Boolean(o.color)));return s(i,{key:"074de72d3a186983e30a20d1a91f4280673e89e8",class:{"tooltip-chart":true,"tooltip-chart--visible":this.visible,"ds-chrome-column":true,"ds-chrome-space--sm":true},style:{left:`${this.x}px`,top:`${this.y}px`,transform:`translate(${o}, ${t})`}},this.heading&&s("ds-text",{key:"3720b11def50b8c85c37c22d3028d74e0ecf5d1a",class:"tooltip-chart__heading ds-control-section-heading ds-control--md",as:"span",variant:l.md,emphasis:true,color:"var(--color-foreground-primary)"},this.heading),s("div",{key:"c81f61795cc2bed2995fcc5239846e5a9da521f8",class:"tooltip-chart__items"},r.map(((o,t)=>s("div",{class:"tooltip-chart__item ds-control-frame ds-control--md",key:`${o.label}-${t}`},e&&s("span",{class:"tooltip-chart__swatch-box ds-control-icon-box","aria-hidden":"true"},o.color&&s("span",{class:"tooltip-chart__swatch",style:{"--ds-tooltip-chart-swatch":o.color}})),s("ds-text",{class:"tooltip-chart__label ds-control-label-box",as:"span",variant:d.md,color:"var(--color-foreground-secondary)"},o.label),s("ds-text",{class:"tooltip-chart__value ds-control-label-box",as:"span",variant:d.md,emphasis:true,color:"var(--color-foreground-primary)"},o.value))))))}get el(){return this}static get watchers(){return{x:[{onAnchorChange:0}],y:[{onAnchorChange:0}],delay:[{onDelayChange:0}]}}static get style(){return h()}},[2,"ds-tooltip-chart",{value:[8],label:[1],heading:[1],items:[16],x:[2],y:[2],delay:[8],side:[32],align:[32],visible:[32]},undefined,{x:[{onAnchorChange:0}],y:[{onAnchorChange:0}],delay:[{onDelayChange:0}]}]);function u(){if(typeof customElements==="undefined"){return}const o=["ds-tooltip-chart","ds-text"];o.forEach((o=>{switch(o){case"ds-tooltip-chart":if(!customElements.get(r(o))){customElements.define(r(o),v)}break;case"ds-text":if(!customElements.get(r(o))){a()}break}}))}u();export{v as T,u as d};
2
+ //# sourceMappingURL=p-BKyE025p.js.map
@@ -1,2 +1,2 @@
1
- import{p as i,H as e,c as r,h as t,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(typeof i!=="string"||!a.test(i))return false;const[e,r]=i.split(":").map(Number);return e>=0&&e<=23&&r>=0&&r<=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 r=Number.isFinite(i)?Math.max(1,Math.floor(i)):1;const t=Number.isFinite(e)?(Math.floor(e)%60+60)%60:0;const o=new Set;for(let i=0;i<1440;i+=r){o.add((t+i)%60)}return[...o].sort(((i,e)=>i-e))}function m(i){if(!l(i))return null;const[e,r]=i.split(":").map(Number);const t=e>=12?"PM":"AM";const o=e%12===0?12:e%12;return{hour12:o,minute:r,period:t}}function p(i){if(!i||!Number.isInteger(i.hour12)||i.hour12<1||i.hour12>12||!Number.isInteger(i.minute)||i.minute<0||i.minute>59||i.period!=="AM"&&i.period!=="PM")return"";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){if(typeof i!=="string")return"";const e=i.trim();if(!e)return"";if(l(e))return e;const r=e.match(/^(\d{1,2}):(\d{2})$/);if(r){const i=Number(r[1]);const e=Number(r[2]);if(i>23||e>59)return"";return`${String(i).padStart(2,"0")}:${r[2]}`}const t=e.match(/^(\d{1,2})(?::(\d{2}))?\s*([AaPp])\.?[Mm]\.?$/);if(!t)return"";const o=Number(t[1]);const s=t[2]?Number(t[2]):0;if(o<1||o>12||s>59)return"";const n=t[3].toUpperCase()==="P"?"PM":"AM";return p({hour12:o,minute:s,period:n})}function k(i,e,r){if(!l(i))return true;if(e&&l(e)&&i<e)return true;if(r&&l(r)&&i>r)return true;return false}function g(i,e=60,r){if(!l(i))return false;const t=i.split(":").map(Number);const o=r&&l(r)?r.split(":").map(Number):[0,0];const s=u(e);const n=t[0]*60+t[1];const c=o[0]*60+o[1];return(n-c)%s===0}function b(i,e,r){if(r<=0)return 0;return Math.min(r-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=r(this,"dsChange",7);this.value="";this.hourFormat="12";this.step=60;this.isInactive=false;this.autoFocus=false;this.handleColumnKeyDown=(i,e,r,t)=>{const o=this.hourFormat==="24"?["hour","minute"]:["hour","minute","period"];const s=o.indexOf(e);if(i.key==="ArrowLeft"||i.key==="ArrowRight"){const r=o[b(s,i.key==="ArrowLeft"?-1:1,o.length)];if(!r||r===e){i.preventDefault();return}i.preventDefault();const t=r==="hour"?this.hours():r==="minute"?this.minutes():d;const n=this.focusValue(r,t);if(n!==undefined)this.focusOption(r,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=r.find((i=>!this.isDisabledPart(e,this.optionParts(e,i))))}else if(i.key==="End"){for(let i=r.length-1;i>=0;i-=1){const t=r[i];if(t!==undefined&&!this.isDisabledPart(e,this.optionParts(e,t))){c=t;break}}}else{const i=n;let o=r.indexOf(t);if(o<0)o=i>0?-1:r.length;for(let t=o+i;t>=0&&t<r.length;t+=i){const i=r[t];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 r={...this.parts(),...e};const t=i==="hour"?[r.hour12]:c;const o=i==="minute"?[r.minute]:this.minutes();const s=i==="period"||i==="hour"&&this.hourFormat==="24"?[r.period]:d;return!t.some((i=>o.some((e=>s.some((r=>!this.isDisabledTime(p({hour12:i,minute:e,period:r}))))))))}orderedValues(i,e){return[i,...e.filter((e=>e!==i))]}commit(i,e){const r={...this.parts(),...e};const t=i==="hour"?[r.hour12]:this.orderedValues(r.hour12,c);const o=i==="minute"?[r.minute]:this.orderedValues(r.minute,this.minutes());const s=i==="period"||i==="hour"&&this.hourFormat==="24"?[r.period]:this.orderedValues(r.period,d);for(const i of t){for(const e of o){for(const r of s){const t=p({hour12:i,minute:e,period:r});if(!this.isDisabledTime(t)){this.dsChange.emit(t);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 r=this.parts();const t=i==="hour"?this.displayHour():i==="minute"?r.minute:r.period;if(!this.isDisabledPart(i,this.optionParts(i,t)))return t;return e.find((e=>!this.isDisabledPart(i,this.optionParts(i,e))))}focusColumn(i,e){const r=this.focusValue(i,e);if(r!==undefined)this.optionEl(i,r)?.focus()}renderTile(i,e,r,o,s,n){const c=this.optionParts(i,e);const d=this.isDisabledPart(i,c);return t("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":r,"ds-focus-ring-inset":true,"ds-interaction-fill":!d,"ds-interaction-fill--selected":r&&!d},disabled:d,"aria-selected":r?"true":"false",tabIndex:o?0:-1,onClick:()=>this.commit(i,c),onKeyDown:r=>this.handleColumnKeyDown(r,i,n,e)},t("ds-text",{class:"ds-interaction-fill__content",as:"span",variant:"text-body-medium",color:r?"primary":"secondary"},s))}render(){const i=this.parts();const e=this.minutes();const r=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",r);const c=this.focusValue("period",d);return t(o,{key:"4f215215509548630de2242c7556f4a7a3ee343e"},t("div",{key:"d4d7a69231261e69f8d323532119647bbc90ea36",class:{"time-picker":true,"time-picker--24":this.hourFormat==="24"},role:"group","aria-label":"Choose time"},t("div",{key:"fae7d8fc097f174807d476eab208791f583a17e4",class:"time-picker__column"},t("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()))))),t("div",{key:"c341f791632ac8a5921fd253274add75d300e4e8",class:"time-picker__column"},t("div",{key:"504d5b03e5fa44f992743017217099a57396a0f3",class:"time-picker__list",role:"listbox","aria-label":"Minute"},r.map((e=>this.renderTile("minute",e,e===i.minute,e===n,String(e).padStart(2,"0"),r))))),this.hourFormat!=="24"&&t("div",{key:"1dd8732fb46775f10b313fe53974e7f3fcdd7dd4",class:"time-picker__column"},t("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 M(){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}}))}M();export{y as T,g as a,M as d,h as f,l as i,v as p};
2
- //# sourceMappingURL=p-S1Ct3FJV.js.map
1
+ import{p as i,H as e,c as r,h as t,a as o,t as s}from"./index.js";import{d as n}from"./p-BbvAWFJA.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(typeof i!=="string"||!a.test(i))return false;const[e,r]=i.split(":").map(Number);return e>=0&&e<=23&&r>=0&&r<=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 r=Number.isFinite(i)?Math.max(1,Math.floor(i)):1;const t=Number.isFinite(e)?(Math.floor(e)%60+60)%60:0;const o=new Set;for(let i=0;i<1440;i+=r){o.add((t+i)%60)}return[...o].sort(((i,e)=>i-e))}function m(i){if(!l(i))return null;const[e,r]=i.split(":").map(Number);const t=e>=12?"PM":"AM";const o=e%12===0?12:e%12;return{hour12:o,minute:r,period:t}}function p(i){if(!i||!Number.isInteger(i.hour12)||i.hour12<1||i.hour12>12||!Number.isInteger(i.minute)||i.minute<0||i.minute>59||i.period!=="AM"&&i.period!=="PM")return"";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){if(typeof i!=="string")return"";const e=i.trim();if(!e)return"";if(l(e))return e;const r=e.match(/^(\d{1,2}):(\d{2})$/);if(r){const i=Number(r[1]);const e=Number(r[2]);if(i>23||e>59)return"";return`${String(i).padStart(2,"0")}:${r[2]}`}const t=e.match(/^(\d{1,2})(?::(\d{2}))?\s*([AaPp])\.?[Mm]\.?$/);if(!t)return"";const o=Number(t[1]);const s=t[2]?Number(t[2]):0;if(o<1||o>12||s>59)return"";const n=t[3].toUpperCase()==="P"?"PM":"AM";return p({hour12:o,minute:s,period:n})}function k(i,e,r){if(!l(i))return true;if(e&&l(e)&&i<e)return true;if(r&&l(r)&&i>r)return true;return false}function g(i,e=60,r){if(!l(i))return false;const t=i.split(":").map(Number);const o=r&&l(r)?r.split(":").map(Number):[0,0];const s=u(e);const n=t[0]*60+t[1];const c=o[0]*60+o[1];return(n-c)%s===0}function b(i,e,r){if(r<=0)return 0;return Math.min(r-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=r(this,"dsChange",7);this.value="";this.hourFormat="12";this.step=60;this.isInactive=false;this.autoFocus=false;this.handleColumnKeyDown=(i,e,r,t)=>{const o=this.hourFormat==="24"?["hour","minute"]:["hour","minute","period"];const s=o.indexOf(e);if(i.key==="ArrowLeft"||i.key==="ArrowRight"){const r=o[b(s,i.key==="ArrowLeft"?-1:1,o.length)];if(!r||r===e){i.preventDefault();return}i.preventDefault();const t=r==="hour"?this.hours():r==="minute"?this.minutes():d;const n=this.focusValue(r,t);if(n!==undefined)this.focusOption(r,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=r.find((i=>!this.isDisabledPart(e,this.optionParts(e,i))))}else if(i.key==="End"){for(let i=r.length-1;i>=0;i-=1){const t=r[i];if(t!==undefined&&!this.isDisabledPart(e,this.optionParts(e,t))){c=t;break}}}else{const i=n;let o=r.indexOf(t);if(o<0)o=i>0?-1:r.length;for(let t=o+i;t>=0&&t<r.length;t+=i){const i=r[t];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 r={...this.parts(),...e};const t=i==="hour"?[r.hour12]:c;const o=i==="minute"?[r.minute]:this.minutes();const s=i==="period"||i==="hour"&&this.hourFormat==="24"?[r.period]:d;return!t.some((i=>o.some((e=>s.some((r=>!this.isDisabledTime(p({hour12:i,minute:e,period:r}))))))))}orderedValues(i,e){return[i,...e.filter((e=>e!==i))]}commit(i,e){const r={...this.parts(),...e};const t=i==="hour"?[r.hour12]:this.orderedValues(r.hour12,c);const o=i==="minute"?[r.minute]:this.orderedValues(r.minute,this.minutes());const s=i==="period"||i==="hour"&&this.hourFormat==="24"?[r.period]:this.orderedValues(r.period,d);for(const i of t){for(const e of o){for(const r of s){const t=p({hour12:i,minute:e,period:r});if(!this.isDisabledTime(t)){this.dsChange.emit(t);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 r=this.parts();const t=i==="hour"?this.displayHour():i==="minute"?r.minute:r.period;if(!this.isDisabledPart(i,this.optionParts(i,t)))return t;return e.find((e=>!this.isDisabledPart(i,this.optionParts(i,e))))}focusColumn(i,e){const r=this.focusValue(i,e);if(r!==undefined)this.optionEl(i,r)?.focus()}renderTile(i,e,r,o,s,n){const c=this.optionParts(i,e);const d=this.isDisabledPart(i,c);return t("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":r,"ds-focus-ring-inset":true,"ds-interaction-fill":!d,"ds-interaction-fill--selected":r&&!d},disabled:d,"aria-selected":r?"true":"false",tabIndex:o?0:-1,onClick:()=>this.commit(i,c),onKeyDown:r=>this.handleColumnKeyDown(r,i,n,e)},t("ds-text",{class:"ds-interaction-fill__content",as:"span",variant:"text-body-medium",color:r?"primary":"secondary"},s))}render(){const i=this.parts();const e=this.minutes();const r=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",r);const c=this.focusValue("period",d);return t(o,{key:"ac1c9284aa980ea4b1d31cff6b162e8d1ad6fd16"},t("div",{key:"ceb0d209047ff2c6748264e662258db4c2ca80a5",class:{"time-picker":true,"time-picker--24":this.hourFormat==="24"},role:"group","aria-label":"Choose time"},t("div",{key:"371e3ea481a573dee598b389ae6412b5f04840d6",class:"time-picker__column"},t("div",{key:"e2c63b63f2d09eab05c764e21e4275de5da7c3bf",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()))))),t("div",{key:"395e19a254cd1e6f7c5aab5bd6e8dc50a318f22b",class:"time-picker__column"},t("div",{key:"84b5ef3a33527a5e4ba6ec48db165789f74af24f",class:"time-picker__list",role:"listbox","aria-label":"Minute"},r.map((e=>this.renderTile("minute",e,e===i.minute,e===n,String(e).padStart(2,"0"),r))))),this.hourFormat!=="24"&&t("div",{key:"aa69cf6e85141d9ce40f415a4b78b44b102fba34",class:"time-picker__column"},t("div",{key:"e79fafd7614bd83e57ff3071d41c1892fec3d6cc",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 M(){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}}))}M();export{y as T,g as a,M as d,h as f,l as i,v as p};
2
+ //# sourceMappingURL=p-BNN9KkXe.js.map
@@ -0,0 +1,2 @@
1
+ import{p as e,H as i,c as s,h as n,a as t,t as o}from"./index.js";import{A as r,r as d,c,d as a}from"./p-BJf49edB.js";import{C as l}from"./p-DlsjHRU3.js";import{A as u}from"./p-CwUXroLs.js";import{d as h}from"./p-BWJb2rih.js";import{d as m}from"./p-pJ6gbwSa.js";import{d as f}from"./p-pPtjNRqC.js";import{d as p}from"./p-0XTyQNRG.js";import{d as v}from"./p-eKnJNQtL.js";import{d as g}from"./p-C2e7BkNn.js";import{d as b}from"./p-CKSJwSWd.js";import{d as x}from"./p-BbvAWFJA.js";import{a as w,b as _,T as y}from"./p-CeXf9-X3.js";import{c as k,r as C}from"./p-DhKvqh5G.js";import{r as P}from"./p-ioGH5SoA.js";import{C as z,a as A}from"./p-CuwopElg.js";function I(e){return"variant"in e&&e.variant==="swatch-picker"}function T(e){return I(e)}function D(e){return e.map((e=>{if(I(e)){return{...e,...e.options?{options:e.options.map((e=>({...e})))}:{},...e.sections?{sections:e.sections.map((e=>({...e,options:e.options.map((e=>({...e})))})))}:{}}}return{...e,items:e.items.map((e=>({...e,...e.trailingToggle?{trailingToggle:{...e.trailingToggle}}:{},...e.trailingActions?{trailingActions:e.trailingActions.map((e=>({...e})))}:{}})))}}))}function j(e,i){if(!e[i]?.reorderable)return null;let s=i;while(s>0&&e[s-1]?.reorderable)s-=1;let n=i;while(n<e.length-1&&e[n+1]?.reorderable)n+=1;return{start:s,end:n}}function B(e,i,s){const n=j(e,i);if(!n)return null;const t=Math.min(Math.max(s,n.start),n.end+1);let o=t;if(i<o)o-=1;if(o===i||o<n.start||o>n.end)return null;const r=[...e];const[d]=r.splice(i,1);r.splice(o,0,d);return r}function H(e,i,s){if(s===0)return null;return B(e,i,i+(s<0?s:s+1))}function O(e,i){let s=i;for(let i=0;i<e.length;i+=1){const n=e[i];if(T(n))continue;if(s<n.items.length){return{sectionIndex:i,itemIndex:s,items:n.items}}s-=n.items.length}return null}function R(e,i,s,n){const t=e[i];if(!t)return null;const o=s.indexOf(t);if(o<0){const e=t.value;const o=e?s.findIndex((i=>i.value===e)):-1;if(o<0)return null;return{item:t,fromIndex:i,toIndex:o,sectionIndex:n,items:s}}return{item:t,fromIndex:i,toIndex:o,sectionIndex:n,items:s}}const M=()=>`.sc-ds-menu-h,.sc-ds-menu:where(.ds-table),.sc-ds-menu:where(.tooltip-popup),.sc-ds-menu: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)}@media (forced-colors: active){.sc-ds-menu:root,.sc-ds-menu-h,.ds-forced-colors-scope.sc-ds-menu{--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-menu-h{--ds-focus-ring-width:var(--dimension-stroke-width-025, 2px);--ds-focus-ring-offset:var(--dimension-space-025, 2px);--ds-focus-ring-color:var(--color-interaction-focus)}.ds-focus-ring.sc-ds-menu-h,.ds-focus-ring.sc-ds-menu,.ds-focus-ring-inset.sc-ds-menu-h,.ds-focus-ring-inset.sc-ds-menu{outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.ds-focus-ring.sc-ds-menu-h:focus-visible,.ds-focus-ring.sc-ds-menu:focus-visible{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring.ds-focus-ring--visible.sc-ds-menu-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-menu{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring-inset.sc-ds-menu-h:focus-visible,.ds-focus-ring-inset.sc-ds-menu:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-menu-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-menu:focus-visible::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-menu-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-menu{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-menu-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-menu::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}@media (forced-colors: active){.sc-ds-menu-h{--ds-focus-ring-color:var(--ds-forced-color-selected)}}@media (forced-colors: active){.sc-ds-menu:root,.sc-ds-menu-h,.ds-forced-colors-scope.sc-ds-menu{--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}}@media (forced-colors: active){.sc-ds-menu:root,.sc-ds-menu-h,.ds-forced-colors-scope.sc-ds-menu{--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-menu-h,.ds-interaction-fill.sc-ds-menu{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-menu-h::before,.ds-interaction-fill.sc-ds-menu::before,.ds-interaction-fill.sc-ds-menu-h::after,.ds-interaction-fill.sc-ds-menu::after{content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none;cursor:inherit;transition:none}.ds-interaction-fill.sc-ds-menu-h::before,.ds-interaction-fill.sc-ds-menu::before{z-index:1}.ds-interaction-fill.sc-ds-menu-h::after,.ds-interaction-fill.sc-ds-menu::after{z-index:3;box-shadow:inset 0 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-menu-h,.ds-interaction-fill--bordered.sc-ds-menu{--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--color-border-secondary)}.ds-interaction-fill--selected.sc-ds-menu-h::before,.ds-interaction-fill--selected.sc-ds-menu::before{background:var(--ds-interaction-active)}.ds-interaction-fill--selected.sc-ds-menu-h,.ds-interaction-fill--selected.sc-ds-menu{--ds-interaction-dot-ring:var(--ds-interaction-active)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-menu-h:hover:not(:disabled)::after,.ds-interaction-fill.sc-ds-menu:hover:not(:disabled)::after{background:var(--ds-interaction-hover)}}.ds-interaction-fill.sc-ds-menu-h:active:not(:disabled)::after,.ds-interaction-fill.sc-ds-menu:active:not(:disabled)::after{background:var(--ds-interaction-pressed)}.ds-interaction-fill--grouped.sc-ds-menu-h::after,.ds-interaction-fill--grouped.sc-ds-menu::after,.ds-interaction-fill--grouped.sc-ds-menu-h:active:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-menu:active:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill--grouped.sc-ds-menu-h:hover:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-menu:hover:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}}.ds-interaction-fill--grouped.sc-ds-menu-h,.ds-interaction-fill--grouped.sc-ds-menu{--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-menu-h>.ds-interaction-fill__content.sc-ds-menu,.ds-interaction-fill.sc-ds-menu>.ds-interaction-fill__content.sc-ds-menu,.ds-interaction-fill__content.sc-ds-menu{position:relative;z-index:2;cursor:inherit}.ds-interaction-fill--on-faint.sc-ds-menu-h,.ds-interaction-fill--on-faint.sc-ds-menu{--ds-interaction-active:var(--color-interaction-active)}.ds-interaction-fill--on-medium.sc-ds-menu-h,.ds-interaction-fill--on-medium.sc-ds-menu{--ds-interaction-hover:var(--color-interaction-on-medium-background-hover);--ds-interaction-pressed:var(--color-interaction-on-medium-background-pressed);--ds-interaction-active:var(--color-interaction-on-medium-background-active);--ds-focus-ring-color:var(--color-interaction-on-medium-background-focus)}.ds-interaction-fill--on-bold.sc-ds-menu-h,.ds-interaction-fill--on-bold.sc-ds-menu{--ds-interaction-hover:var(--color-interaction-on-bold-background-hover);--ds-interaction-pressed:var(--color-interaction-on-bold-background-pressed);--ds-interaction-active:var(--color-interaction-on-bold-background-active);--ds-focus-ring-color:var(--color-interaction-on-bold-background-focus)}.ds-interaction-fill--on-strong.sc-ds-menu-h,.ds-interaction-fill--on-strong.sc-ds-menu{--ds-interaction-hover:var(--color-interaction-on-strong-background-hover);--ds-interaction-pressed:var(--color-interaction-on-strong-background-pressed);--ds-interaction-active:var(--color-interaction-on-strong-background-active);--ds-focus-ring-color:var(--color-interaction-on-strong-background-focus)}.ds-interaction-fill--on-translucent.sc-ds-menu-h,.ds-interaction-fill--on-translucent.sc-ds-menu{--ds-interaction-hover:var(--color-translucent-interaction-hover);--ds-interaction-pressed:var(--color-translucent-interaction-pressed);--ds-interaction-active:var(--color-translucent-interaction-active-brand);--ds-focus-ring-color:var(--color-translucent-interaction-focus)}.ds-interaction-fill--on-inverted.sc-ds-menu-h,.ds-interaction-fill--on-inverted.sc-ds-menu{--ds-interaction-hover:var(--color-inverted-interaction-hover);--ds-interaction-pressed:var(--color-inverted-interaction-pressed);--ds-interaction-active:var(--color-inverted-interaction-active-brand);--ds-focus-ring-color:var(--color-inverted-interaction-focus)}.ds-interaction-fill--on-media.sc-ds-menu-h,.ds-interaction-fill--on-media.sc-ds-menu{--ds-interaction-hover:var(--color-media-interaction-hover);--ds-interaction-pressed:var(--color-media-interaction-pressed);--ds-interaction-active:var(--color-media-interaction-active);--ds-focus-ring-color:var(--color-media-interaction-focus)}.ds-interaction-fill--on-always-dark.sc-ds-menu-h,.ds-interaction-fill--on-always-dark.sc-ds-menu{--ds-interaction-hover:var(--color-always-dark-interaction-hover);--ds-interaction-pressed:var(--color-always-dark-interaction-pressed);--ds-interaction-active:var(--color-always-dark-interaction-active-brand);--ds-focus-ring-color:var(--color-always-dark-interaction-focus)}.ds-interaction-fill--on-chrome.sc-ds-menu-h,.ds-interaction-fill--on-chrome.sc-ds-menu{--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-menu-h,.ds-interaction-fill--on-navigation.sc-ds-menu{--ds-interaction-hover:var(--color-navigation-interaction-hover);--ds-interaction-pressed:var(--color-navigation-interaction-pressed);--ds-interaction-active:var(--color-navigation-interaction-active);--ds-focus-ring-color:var(--color-navigation-interaction-focus)}.ds-interaction-fill.ds-interaction-fill--surface-open.sc-ds-menu-h:not(:disabled)::after,.ds-interaction-fill.ds-interaction-fill--surface-open.sc-ds-menu:not(:disabled)::after{background:var(--ds-interaction-pressed)}@media (forced-colors: active){.ds-interaction-fill.sc-ds-menu-h::after,.ds-interaction-fill.sc-ds-menu::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-menu-h:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill--surface-open.sc-ds-menu: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-menu-h::before,.ds-interaction-fill--selected.sc-ds-menu::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-menu-h:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill.sc-ds-menu: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-menu:root,.sc-ds-menu-h,.ds-forced-colors-scope.sc-ds-menu{--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-menu-h,.ds-control-inactive.sc-ds-menu{opacity:var(--effect-opacity-medium);pointer-events:none;cursor:not-allowed}@media (forced-colors: active){.ds-control-inactive.sc-ds-menu-h,.ds-control-inactive.sc-ds-menu{color:var(--ds-forced-color-disabled);opacity:1}}.ds-control--lg.sc-ds-menu,.ds-control--lg.sc-ds-menu-h,.ds-control--md.sc-ds-menu-h,.ds-control--md.sc-ds-menu,.ds-control--sm.sc-ds-menu-h,.ds-control--sm.sc-ds-menu,.ds-control--xs.sc-ds-menu-h,.ds-control--xs.sc-ds-menu{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-menu-h,.ds-control--lg.sc-ds-menu{--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-menu-h,.ds-control--md.sc-ds-menu{--ds-control-height:var(--dimension-size-400);--ds-control-icon:var(--dimension-iconography-md);--ds-control-padding-inline:var(--dimension-space-075);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-050)}.ds-control--sm.sc-ds-menu-h,.ds-control--sm.sc-ds-menu{--ds-control-height:var(--dimension-size-300);--ds-control-icon:var(--dimension-iconography-sm);--ds-control-padding-inline:var(--dimension-space-050);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-025)}.ds-control--xs.sc-ds-menu-h,.ds-control--xs.sc-ds-menu{--ds-control-height:var(--dimension-size-200);--ds-control-icon:var(--dimension-iconography-xs);--ds-control-padding-inline:var(--dimension-space-025);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:0}.ds-chrome-space--sm.sc-ds-menu-h,.ds-chrome-space--sm.sc-ds-menu{--ds-chrome-padding:var(--dimension-space-050);--ds-chrome-gap:var(--dimension-space-050)}.ds-chrome-space--md.sc-ds-menu-h,.ds-chrome-space--md.sc-ds-menu{--ds-chrome-padding:var(--dimension-space-100);--ds-chrome-gap:var(--dimension-space-100)}.ds-chrome-space--lg.sc-ds-menu-h,.ds-chrome-space--lg.sc-ds-menu{--ds-chrome-padding:var(--dimension-space-200);--ds-chrome-gap:var(--dimension-space-200)}.ds-chrome-row.sc-ds-menu-h,.ds-chrome-row.sc-ds-menu,.ds-chrome-column.sc-ds-menu-h,.ds-chrome-column.sc-ds-menu,.ds-chrome-grid.sc-ds-menu-h,.ds-chrome-grid.sc-ds-menu{display:flex;box-sizing:border-box;gap:var(--ds-chrome-gap, var(--dimension-space-100));padding:var(--ds-chrome-padding, var(--dimension-space-100))}.ds-chrome-row.sc-ds-menu-h,.ds-chrome-row.sc-ds-menu{flex-direction:row;align-items:center}.ds-chrome-column.sc-ds-menu-h,.ds-chrome-column.sc-ds-menu{flex-direction:column}.ds-chrome-grid.sc-ds-menu-h,.ds-chrome-grid.sc-ds-menu{display:grid;align-items:center}.ds-control-frame.sc-ds-menu{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-menu{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-menu{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md))}.ds-control-label-box.sc-ds-menu{min-width:0;padding-inline:var(--ds-control-label-inset, var(--dimension-space-025))}.ds-control-label-dot.sc-ds-menu{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-menu{position:absolute;inset-block-start:0;inset-inline-end:0;pointer-events:none}.ds-empty-region.sc-ds-menu{display:flex;flex:1 1 auto;align-items:center;justify-content:center;box-sizing:border-box;min-width:0;min-height:0}.ds-empty-region--padded.sc-ds-menu{padding:var(--dimension-space-200)}.sc-ds-menu:where(.ds-text-decoration,.ds-text-action).sc-ds-menu{text-decoration-color:var(--ds-text-decoration-color, var(--color-foreground-tertiary));text-decoration-thickness:var(--ds-text-decoration-thickness, var(--dimension-stroke-width-012));text-underline-offset:var(--ds-text-decoration-offset, var(--dimension-space-025))}.ds-text-action.sc-ds-menu{--ds-text-action-foreground:var(--color-foreground-bold-brand);--ds-text-decoration-color:var(--ds-text-action-foreground);color:var(--ds-text-action-foreground);text-decoration-line:none}.ds-text-action--on-medium.sc-ds-menu{--ds-text-action-foreground:var(--color-foreground-on-medium-background-primary);--ds-text-decoration-color:var(--color-foreground-on-medium-background-secondary);text-decoration-line:underline}.ds-text-action--on-strong.sc-ds-menu{--ds-text-action-foreground:var(--color-foreground-on-strong-background-primary);--ds-text-decoration-color:var(--color-foreground-on-strong-background-secondary);text-decoration-line:underline}.ds-text-action--on-bold.sc-ds-menu{--ds-text-action-foreground:var(--color-foreground-on-bold-background-primary);--ds-text-decoration-color:var(--color-foreground-on-bold-background-secondary);text-decoration-line:underline}@media (hover: hover) and (pointer: fine){.ds-text-action.sc-ds-menu:hover{text-decoration-line:underline}}@media (forced-colors: active){.ds-text-action.sc-ds-menu{text-decoration-line:underline;text-decoration-color:currentcolor}}.ds-choice-popup.sc-ds-menu{box-sizing:border-box;display:flex;flex-direction:column;min-width:var(--ds-choice-popup-min-inline-size, var(--dimension-menu-width-xs));max-width:min(var(--dimension-panel-width-lg), calc(100vw - var(--dimension-space-200)));max-height:calc(100vh - var(--dimension-space-200));overflow:hidden;inset:auto;margin:0;padding:0;border:0;background-color:var(--color-background-primary);border-radius:var(--ds-radius-menu);box-shadow:var(--effect-shadow-elevated-floating);color:var(--color-foreground-secondary);animation:dsChoiceFadeIn var(--effect-motion-short-2) forwards;backface-visibility:hidden;will-change:transform;text-align:start}.ds-choice-popup.sc-ds-menu::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:var(--effect-highlight-elevated-floating)}.ds-choice-popup--closing.sc-ds-menu{animation:dsChoiceFadeOut var(--effect-motion-short-2) forwards}@keyframes dsChoiceFadeIn{from{opacity:0;transform:inherit scale(0.97)}to{opacity:1}}@keyframes dsChoiceFadeOut{from{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){.ds-choice-popup.sc-ds-menu{animation:none;opacity:1}.ds-choice-popup--closing.sc-ds-menu{opacity:0}}@media (forced-colors: active){.ds-choice-popup.sc-ds-menu{outline:var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);outline-offset:calc(-1 * var(--dimension-stroke-width-012))}.ds-choice-popup.sc-ds-menu::after{box-shadow:none}}.ds-choice-list.sc-ds-menu{display:flex;flex-direction:column;min-height:0;overflow-y:auto;overscroll-behavior:contain}.ds-choice-section--divided.sc-ds-menu{border-bottom:var(--dimension-stroke-width-015) solid var(--color-border-tertiary)}ds-text.ds-choice-section__header.sc-ds-menu{text-align:start;-webkit-user-select:none;user-select:none}.ds-choice-section--headed-after-first.sc-ds-menu{margin-block-start:var(--dimension-space-050)}.select-option-row.sc-ds-menu{display:flex;flex-direction:column;min-width:0}.ds-choice-item.sc-ds-menu{width:100%;border:none;border-radius:var(--ds-control-radius, var(--dimension-radius-025));background:transparent;cursor:default;-webkit-user-select:none;user-select:none;text-align:left;color:inherit}.ds-choice-item.sc-ds-menu:has(.ds-choice-item__subtext){height:auto;min-height:var(--ds-control-height, var(--dimension-size-400));padding-block:var(--ds-control-padding-inline, var(--dimension-space-075));align-items:flex-start}.ds-choice-item.ds-control--xs.sc-ds-menu:has(.ds-choice-item__subtext){padding-block:0}.ds-choice-item__content.sc-ds-menu{display:flex;flex:1;flex-direction:column;gap:var(--dimension-space-025);min-width:0}ds-text.ds-choice-item__label.sc-ds-menu{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ds-text.ds-choice-item__subtext.sc-ds-menu{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.ds-choice-item__icon.sc-ds-menu,.ds-choice-item__suffix.sc-ds-menu{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md));pointer-events:none}.ds-choice-item.ds-interaction-fill--selected.sc-ds-menu .ds-choice-item__icon.sc-ds-menu{color:var(--color-foreground-primary)}.ds-choice-item__tag.sc-ds-menu{flex-shrink:0;pointer-events:none}.ds-choice-empty.sc-ds-menu,.ds-choice-loading.sc-ds-menu{min-height:var(--dimension-size-600);padding:var(--dimension-space-100)}.ds-choice-footer.sc-ds-menu{position:relative;box-sizing:border-box;padding-block:var(--dimension-space-050)}.ds-choice-footer.sc-ds-menu::before{content:'';position:absolute;inset:0 0 auto;height:var(--dimension-stroke-width-012);background-color:var(--color-border-tertiary);pointer-events:none}.ds-choice-footer__content.sc-ds-menu{display:flex;align-items:center;justify-content:space-between;column-gap:var(--dimension-space-050);box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400))}.ds-choice-footer__summary.sc-ds-menu,.ds-choice-footer__summary-measure.sc-ds-menu,.ds-choice-footer__clear.sc-ds-menu ds-text.sc-ds-menu,.ds-choice-footer__action.sc-ds-menu ds-text.sc-ds-menu{padding-inline:calc( var(--dimension-space-050) + var(--ds-control-padding-inline, var(--dimension-space-075)) + var(--ds-control-label-inset, var(--dimension-space-025)) )}.ds-choice-footer__summary.sc-ds-menu,.ds-choice-footer__summary-measure.sc-ds-menu,.ds-choice-footer__clear.sc-ds-menu,.ds-choice-footer__action.sc-ds-menu{white-space:nowrap}.ds-choice-footer__summary-measure.sc-ds-menu{position:absolute;visibility:hidden;pointer-events:none}.ds-choice-footer__clear.sc-ds-menu,.ds-choice-footer__action.sc-ds-menu{appearance:none;display:inline-flex;align-items:center;padding:0;border:0;border-radius:var(--dimension-radius-025);background:transparent;cursor:default}@media (forced-colors: active){.ds-choice-section--divided.sc-ds-menu{border-bottom-color:var(--ds-forced-color-content)}.ds-choice-footer.sc-ds-menu::before{background-color:var(--ds-forced-color-content)}}.ds-visually-hidden.sc-ds-menu-h,.ds-visually-hidden.sc-ds-menu{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}@media (forced-colors: active){.sc-ds-menu:root,.sc-ds-menu-h,.ds-forced-colors-scope.sc-ds-menu{--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}}.menu-empty.sc-ds-menu{padding:var(--dimension-space-200);box-sizing:border-box;overflow-wrap:anywhere}.menu-item--destructive.sc-ds-menu .menu-item__label.sc-ds-menu{color:var(--color-foreground-bold-negative) !important}.menu-item__dot-box.sc-ds-menu{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md));pointer-events:none}.menu-item__switch.sc-ds-menu{flex-shrink:0;margin-inline-start:calc( var(--dimension-space-100) - var(--ds-control-gap, var(--dimension-space-050)) )}.menu-item-row.sc-ds-menu{display:contents}.menu-item-row--trailing-toggle.sc-ds-menu{display:flex;align-items:center;min-width:0}.menu-item-row--actions.sc-ds-menu{display:flex;align-items:center;min-width:0;padding-inline-end:var(--dimension-space-025)}.menu-item-row--trailing-toggle.sc-ds-menu>.menu-item.sc-ds-menu{flex:1;min-width:0;width:auto}.menu-item-row__trailing-toggle.sc-ds-menu{display:inline-flex;align-items:center;flex-shrink:0}.menu-item-row__divider.sc-ds-menu{flex-shrink:0;width:var(--dimension-stroke-width-012);height:var(--dimension-size-250);margin-inline:var(--dimension-space-025);background:var(--color-border-tertiary)}.menu-item-row__trailing-toggle.sc-ds-menu>ds-button-unfilled.sc-ds-menu{flex-shrink:0}.menu-item-row__actions.sc-ds-menu,.menu-item-row__action.sc-ds-menu{display:inline-flex;align-items:center;flex-shrink:0}.menu-item-row__action.sc-ds-menu>ds-button-unfilled.sc-ds-menu{flex-shrink:0}.menu-subsection-divider.sc-ds-menu{display:block;flex-shrink:0;height:var(--dimension-stroke-width-012);margin-inline:calc( var(--ds-control-padding-inline, var(--dimension-space-075)) + var(--ds-control-label-inset, var(--dimension-space-025)) );background:var(--color-border-tertiary)}.menu-item.sc-ds-menu>.menu-item__handle.sc-ds-menu{pointer-events:auto;cursor:grab;touch-action:none}.menu-item.sc-ds-menu>.menu-item__handle--action-row.sc-ds-menu{--ds-menu-action-handle-size:calc( var(--ds-control-height, var(--dimension-size-400)) - var(--dimension-space-050) );width:var(--ds-menu-action-handle-size);height:var(--ds-menu-action-handle-size);margin-inline:calc( (var(--ds-control-icon, var(--dimension-iconography-md)) - var(--ds-menu-action-handle-size)) / 2 );border-radius:var(--ds-control-radius, var(--dimension-radius-025))}.menu-item.sc-ds-menu>.menu-item__handle--inactive.sc-ds-menu{color:var(--color-foreground-quaternary);pointer-events:none;cursor:default;touch-action:auto}.menu-item.sc-ds-menu>.menu-item__handle.sc-ds-menu:active,.menu-item--dragging.sc-ds-menu>.menu-item__handle.sc-ds-menu{cursor:grabbing}.menu-item--dragging.sc-ds-menu{opacity:var(--effect-opacity-medium)}.menu-item__drop-rail.sc-ds-menu{position:absolute;z-index:var(--dimension-z-index-raised);inset-inline:var(--dimension-space-050);block-size:var(--dimension-stroke-width-025);border-radius:var(--dimension-radius-half);background:var(--color-border-bold-brand);pointer-events:none}.menu-item__drop-rail--before.sc-ds-menu{inset-block-start:calc(-1 * var(--dimension-space-025));transform:translateY(-50%)}.menu-item__drop-rail--after.sc-ds-menu{inset-block-end:calc(-1 * var(--dimension-space-025));transform:translateY(50%)}@media (forced-colors: active){.menu-item-row__divider.sc-ds-menu{background:var(--ds-forced-color-content)}.menu-subsection-divider.sc-ds-menu{background:var(--ds-forced-color-content)}.menu-item__drop-rail.sc-ds-menu{background:var(--ds-forced-color-selected)}}.data-preferences-embedded.sc-ds-menu{display:flex;flex-direction:column;min-width:0;min-height:0;color:var(--color-foreground-secondary)}`;let S=0;const E={lg:"md",md:"sm",sm:"xs",xs:"xs"};const $=e(class e extends i{constructor(e){super();if(e!==false){this.__registerHost()}this.dsClose=s(this,"dsClose",7);this.dsAfterClose=s(this,"dsAfterClose",7);this.dsSelect=s(this,"dsSelect",7);this.dsItemToggle=s(this,"dsItemToggle",7);this.dsSwatchSelect=s(this,"dsSwatchSelect",7);this.dsReorder=s(this,"dsReorder",7);this.embedded=false;this.open=false;this.items=[];this.size="md";this.selectionMode="none";this.sections=[];this.side="bottom";this.align="start";this.anchorAlignment="choice-cell";this.sideOffset=w.space050;this.alignOffset=0;this.initialFocusVisible=false;this.menuLabel="Menu";this.emptyMessage="";this.shouldRender=false;this.closing=false;this.pos={x:0,y:0};this.focusedIndex=0;this.positionReady=false;this.availableHeight=null;this.focusRingVisible=false;this.reorderFromFlat=null;this.reorderInsertBefore=null;this.reorderAnnouncement="";this.closeTimer=null;this.loaded=false;this.tasks=new l((()=>this.el.isConnected));this.suppressItemClick=false;this.reorderPointer=null;this.position=new r({getAnchor:()=>this.resolvedAnchor??null,getPopup:()=>this.el.querySelector(".menu-popup"),getOwnerDocument:()=>this.el.ownerDocument,measure:(e,i)=>{if(!this.open)return null;const s=e.getBoundingClientRect();const n=this.viewportPadPx;if(!this.minWidth){if(this.anchorAlignment==="choice-cell"&&(this.side==="top"||this.side==="bottom")){i.style.minWidth=`max(var(--dimension-menu-width-xs), ${k(s.width,n)}px)`}else{i.style.removeProperty("min-width")}}const t=this.viewportPadPx;const o=i.querySelector(".ds-choice-list");const r=Math.min(Math.max(i.offsetHeight,o?.scrollHeight??0),window.innerHeight-t*2);const a={anchorRect:s,popupWidth:i.offsetWidth||this.popupFallbackWidthPx,popupHeight:r||this.popupFallbackHeightPx,side:this.side,align:this.align,sideOffsetPx:this.sideOffsetPx,alignOffsetPx:C({align:this.align,alignOffsetPx:this.alignOffsetPx,sectionInsetPx:n,anchorAlignment:this.anchorAlignment}),viewportPadPx:t,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,collisionRect:d(e,this.boundary)};const l=c(a);return{...a,popupHeight:Math.min(a.popupHeight,l.availableHeight)}},apply:({x:e,y:i,availableHeight:s})=>{this.pos={x:e,y:i};this.availableHeight=s},onReady:()=>{this.positionReady=true},liveUpdate:"double-frame",topLayer:true,observeResize:true,observeAnchorMotion:true});this.interaction=new u({getAnchor:()=>this.resolvedAnchor,getPopup:()=>this.el.querySelector(".menu-popup"),getOwnerDocument:()=>this.el.ownerDocument,onOutsideActivation:()=>this.close()});this.lastRenderedSections=[];this.closingSections=null;this.emptyMessageId=`ds-menu-empty-${++S}`;this.lastRenderedEmptyMessage="";this.onReorderPointerMove=e=>{const i=this.reorderPointer;if(!i||e.pointerId!==i.pointerId)return;const s=this.activeSections[i.sectionIndex];if(!s||T(s))return;const n=this.resolveReorderInsertBefore(e.clientY,i.sectionIndex,i.fromIndex,s.items);if(n!==this.reorderInsertBefore)this.reorderInsertBefore=n};this.onReorderPointerUp=e=>{const i=this.reorderPointer;if(!i||e.pointerId!==i.pointerId)return;const s=this.activeSections[i.sectionIndex];const n=this.reorderInsertBefore;this.clearReorderPointer();this.tasks.microtask((()=>{this.suppressItemClick=false}));if(!s||T(s)||n===null)return;const t=B(s.items,i.fromIndex,n);if(!t)return;this.emitReorder(s.items,i.fromIndex,t,i.sectionIndex)};this.onReorderPointerCancel=e=>{if(!this.reorderPointer||e.pointerId!==this.reorderPointer.pointerId)return;this.clearReorderPointer();this.tasks.microtask((()=>{this.suppressItemClick=false}))}}componentDidLoad(){this.loaded=true;if(this.open)this.onOpenChange(true)}connectedCallback(){if(this.loaded&&this.open)this.onOpenChange(true)}disconnectedCallback(){this.cancelPositionRetry();this.cancelLivePositionUpdate();this.clearReorderPointer();this.teardownListeners();this.positionReadyCallback=undefined;this.shouldRender=false;this.closing=false;this.positionReady=false;this.closingSections=null;this.lastRenderedSections=[];this.suppressItemClick=false;this.reorderAnnouncement=""}onOpenChange(e){if(this.embedded||!this.loaded||!this.el.isConnected)return;if(e){this.teardownListeners();this.closingSections=null;this.shouldRender=true;this.closing=false;this.positionReady=false;this.availableHeight=null;this.focusRingVisible=this.initialFocusVisible;this.setupListeners();this.schedulePositionUpdate((()=>{this.focusInitialItem()}))}else if(this.shouldRender&&!this.closing){this.positionReadyCallback=undefined;this.cancelPositionRetry();this.captureClosingSections();this.closing=true;this.teardownListeners();const e=this.closeAnimationMs;if(e<=0){this.finishClose();return}this.closeTimer=setTimeout((()=>{this.closeTimer=null;this.finishClose()}),e)}}onAnchorChange(){if(this.open)this.schedulePositionUpdate()}onPositionPropsChange(){if(this.open)this.schedulePositionUpdate()}get viewportPadPx(){return P(y.space050,y.space050)}get sideOffsetPx(){return P(this.sideOffset,y.space050)}get alignOffsetPx(){return P(this.alignOffset,0)}get popupFallbackWidthPx(){return P(y.menuWidthXs,y.menuWidthXs)}get popupFallbackHeightPx(){return P(y.menuFallbackHeight,y.menuFallbackHeight)}get closeAnimationMs(){return _(y.motionShort2,y.animationDurationShort3)}finishClose(){if(this.open||!this.closing||!this.el.isConnected)return;const e=this.el.querySelector(".menu-popup");if(e?.matches(":popover-open"))e.hidePopover();this.shouldRender=false;this.closing=false;this.lastRenderedSections=[];this.closingSections=null;this.clearReorderPointer();this.reorderAnnouncement="";this.dsAfterClose.emit()}captureClosingSections(){if(this.closingSections)return;const e=this.lastRenderedSections.length?this.lastRenderedSections:this.activeSections;this.closingSections=D(e)}get resolvedAnchor(){if(this.anchor)return this.anchor;if(this.anchorId)return document.getElementById(this.anchorId);return null}compositeTabLeavesPopup(e){return this.interaction.tabLeavesPopup(e)}get activeSections(){if(this.sections.length>0)return this.sections;if(this.items.length>0)return[{items:this.items}];return[]}get flatItems(){return this.activeSections.flatMap((e=>T(e)?[]:e.items))}get hasCompositeSections(){return this.sectionsHaveCompositeControls(this.activeSections)}sectionsHaveCompositeControls(e){return e.some((e=>T(e)||e.items.some((e=>Boolean(e.trailingToggle||e.trailingActions?.length)))))}sectionUsesInsetDivider(e){return Boolean(e&&!T(e)&&e.insetDividerBefore)}cancelPositionRetry(){this.position.cancel()}cancelLivePositionUpdate(){this.position.cancel()}scheduleLivePositionUpdate(){this.position.scheduleLiveUpdate()}schedulePositionUpdate(e){if(!this.open||!this.el.isConnected)return;this.positionReady=false;if(e)this.positionReadyCallback=e;const i=this.positionReadyCallback;this.position.schedule((()=>{if(this.positionReadyCallback===i){this.positionReadyCallback=undefined}i?.()}))}calculatePosition(){return this.position.update()}focusInitialItem(){if(!this.hasCompositeSections&&!this.flatItems.length&&this.emptyMessage.trim()){this.tasks.frame((()=>{if(this.open)this.el.querySelector(".menu-popup")?.focus()}));return}if(this.hasCompositeSections){this.tasks.frame((()=>{this.el.querySelector('.menu-popup [tabindex="0"]')?.focus()}));return}const e=this.flatItems;const i=e.findIndex((e=>e.isSelected&&!e.isInactive));const s=e.findIndex((e=>!e.isInactive||!!e.reorderable));this.focusedIndex=i>=0?i:s>=0?s:0;this.tasks.frame((()=>{const e=this.el.querySelectorAll(".menu-item");e[this.focusedIndex]?.focus()}))}setupListeners(){this.interaction.connect();this.position.observe()}teardownListeners(){this.tasks.cancel();this.position.unobserve();this.interaction.disconnect();if(this.closeTimer){clearTimeout(this.closeTimer);this.closeTimer=null}}close(e=true){this.captureClosingSections();if(e)this.interaction.focusAnchor();this.dsClose.emit();this.open=false;this.onOpenChange(false)}handleKeyDown(e){if(this.embedded&&(e.key==="Escape"||e.key==="Tab"))return;if(!this.shouldRender&&!this.embedded||this.closing)return;if(e.key==="Escape"){e.preventDefault();this.close();return}if(e.key==="Tab"){if(this.hasCompositeSections&&!this.compositeTabLeavesPopup(e))return;e.preventDefault();this.close(false);this.interaction.moveFocusAfterTab(e.shiftKey);return}if((e.key==="ArrowUp"||e.key==="ArrowDown")&&e.altKey&&!e.ctrlKey&&!e.shiftKey&&e.target.closest(".menu-item")){this.handleReorderKey(e);return}if(this.hasCompositeSections)return;const i=this.flatItems;const s=i.map(((e,i)=>({it:e,i}))).filter((({it:e})=>!e.isInactive||!!e.reorderable)).map((({i:e})=>e));if(!s.length)return;const n=s.indexOf(this.focusedIndex);const t=n<0?0:n;switch(e.key){case"ArrowDown":e.preventDefault();e.stopPropagation();this.focusRingVisible=true;this.focusedIndex=s[(t+1)%s.length];this.focusItem(this.focusedIndex);break;case"ArrowUp":e.preventDefault();e.stopPropagation();this.focusRingVisible=true;this.focusedIndex=s[(t-1+s.length)%s.length];this.focusItem(this.focusedIndex);break;case"Home":e.preventDefault();e.stopPropagation();this.focusRingVisible=true;this.focusedIndex=s[0];this.focusItem(this.focusedIndex);break;case"End":e.preventDefault();e.stopPropagation();this.focusRingVisible=true;this.focusedIndex=s[s.length-1];this.focusItem(this.focusedIndex);break}}focusItem(e){const i=this.el.querySelectorAll(".menu-item");const s=i[e];if(!s)return;if(s.matches("button"))s.focus();else s.querySelector('[tabindex="0"]')?.focus()}handleItemClick(e){if(this.suppressItemClick){this.suppressItemClick=false;return}if(e.isInactive)return;this.captureClosingSections();this.dsSelect.emit(e)}handleSwatchSelect(e){this.dsSwatchSelect.emit(e)}handleReorderKey(e){const i=O(this.activeSections,this.focusedIndex);if(!i||!i.items[i.itemIndex]?.reorderable)return;const s=H(i.items,i.itemIndex,e.key==="ArrowUp"?-1:1);if(!s)return;e.preventDefault();e.stopPropagation();this.emitReorder(i.items,i.itemIndex,s,i.sectionIndex)}emitReorder(e,i,s,n){const t=R(e,i,s,n);if(!t)return;this.focusedIndex=this.flatIndexFor(n,t.toIndex);this.announceReorder(t);this.dsReorder.emit(t)}flatIndexFor(e,i){let s=0;for(let n=0;n<this.activeSections.length;n+=1){const t=this.activeSections[n];if(T(t))continue;if(n===e)return s+i;s+=t.items.length}return i}announceReorder(e){const i=j(e.items,e.toIndex);const s=i?i.end-i.start+1:e.items.length;const n=i?e.toIndex-i.start+1:e.toIndex+1;this.reorderAnnouncement=`${e.item.label} moved to position ${n} of ${s}`}onReorderPointerDown(e,i,s,n){if(e.button!==0)return;const t=this.activeSections[i];if(!t||T(t))return;if(!t.items[s]?.reorderable)return;e.preventDefault();e.stopPropagation();this.suppressItemClick=true;this.focusRingVisible=false;this.focusedIndex=n;this.focusItem(n);this.reorderPointer={pointerId:e.pointerId,sectionIndex:i,fromIndex:s};this.reorderFromFlat=n;this.reorderInsertBefore=s;window.addEventListener("pointermove",this.onReorderPointerMove);window.addEventListener("pointerup",this.onReorderPointerUp);window.addEventListener("pointercancel",this.onReorderPointerCancel)}resolveReorderInsertBefore(e,i,s,n){const t=j(n,s);if(!t)return s;const o=[...this.el.querySelectorAll(".menu-item")];const r=this.flatIndexFor(i,0);let d=t.end+1;for(let i=t.start;i<=t.end;i+=1){const s=o[r+i];if(!s)continue;const n=s.getBoundingClientRect();if(e<n.top+n.height/2){d=i;break}}return Math.min(Math.max(d,t.start),t.end+1)}clearReorderPointer(){if(this.reorderPointer){window.removeEventListener("pointermove",this.onReorderPointerMove);window.removeEventListener("pointerup",this.onReorderPointerUp);window.removeEventListener("pointercancel",this.onReorderPointerCancel)}this.reorderPointer=null;this.reorderFromFlat=null;this.reorderInsertBefore=null}render(){if(!this.shouldRender&&!this.embedded)return n(t,{style:{display:"contents"}});const e=this.closing?this.closingSections??this.lastRenderedSections:this.activeSections;const i=this.sectionsHaveCompositeControls(e);const s=this.closing?this.lastRenderedEmptyMessage:this.emptyMessage.trim();const o=Boolean(s)&&!i&&e.every((e=>!T(e)&&e.items.length===0));if(!this.closing){this.lastRenderedEmptyMessage=s;this.lastRenderedSections=D(e);this.closingSections=null}let r=0;const d=this.reorderFromFlat===null?null:O(e,this.reorderFromFlat);const c=d?j(d.items,d.itemIndex):null;const a={position:"fixed",left:"0",top:"0",transform:`translate(${Math.round(this.pos.x)}px, ${Math.round(this.pos.y)}px)`,zIndex:"9998",visibility:this.positionReady?"visible":"hidden"};if(this.menuWidth)a["width"]=this.menuWidth;if(this.minWidth)a["min-width"]=this.minWidth;if(this.availableHeight!==null){a["max-height"]=`${Math.floor(this.availableHeight)}px`}return n(t,{style:{display:"contents"}},n("div",{popover:this.embedded?undefined:"manual",class:{"menu-popup":true,"menu-popup--closing":this.closing,"ds-choice-popup":!this.embedded,"data-preferences-embedded":this.embedded,"ds-choice-popup--closing":this.closing,"ds-focus-ring":o,"ds-focus-ring--visible":o&&this.focusRingVisible},style:this.embedded?undefined:a,role:i||o?"dialog":"menu","aria-label":this.menuLabel,"aria-orientation":i||o?undefined:"vertical","aria-describedby":o?this.emptyMessageId:undefined,tabIndex:o?-1:undefined},n("div",{class:"ds-choice-list"},o?n("ds-text",{textId:this.emptyMessageId,class:"menu-empty",as:"p",variant:z[this.size],color:"secondary"},s):e.map(((s,t)=>n("div",{key:t,class:{"menu-section":true,"menu-section--divided":t<e.length-1&&!this.sectionUsesInsetDivider(e[t+1]),"menu-section--swatch-picker":T(s),"ds-choice-section":true,"ds-chrome-column":true,"ds-chrome-space--sm":true,"ds-choice-section--divided":t<e.length-1&&!this.sectionUsesInsetDivider(e[t+1]),"ds-choice-section--headed-after-first":t>0&&!T(s)&&Boolean(s.header||s.subheader)},role:s.header||!T(s)&&s.subheader?"group":undefined,"aria-label":!T(s)&&s.subheader?s.subheader:s.header},!T(s)&&s.insetDividerBefore&&n("span",{class:"menu-subsection-divider","aria-hidden":"true"}),s.header&&n("ds-text",{class:`section-header ds-choice-section__header ds-control-section-heading ds-control--${this.size}`,as:"span",variant:A[this.size],emphasis:true,color:"primary","aria-hidden":"true"},n("span",{class:"ds-choice-section__header-label"},s.header)),!I(s)&&s.subheader&&n("ds-text",{class:`section-subheader ds-choice-section__header ds-control-section-heading ds-control--${this.size}`,as:"span",variant:"text-caption",emphasis:true,color:"secondary","aria-hidden":"true"},n("span",{class:"ds-choice-section__header-label"},s.subheader)),I(s)?n("ds-swatch-picker",{value:s.value,groupLabel:s.groupLabel??s.header??"Swatch options",options:s.options??[],sections:s.sections??[],onDsChange:e=>{e.stopPropagation();this.handleSwatchSelect(e.detail)}}):s.items.map(((e,o)=>{const a=r++;const l=this.focusedIndex===a;const u=!i&&this.selectionMode==="single"&&!e.showSwitch;const h=s.items.some((e=>e.reorderable||e.reorderHandleInactive||!!e.icon));const m=!!e.isInactive&&!e.reorderable;const f=this.reorderFromFlat===a;const p=d?.sectionIndex===t&&c!==null&&o<=c.end&&this.reorderInsertBefore===o;const v=d?.sectionIndex===t&&c!==null&&this.reorderInsertBefore===c.end+1&&o===c.end;if(e.trailingActions?.length){return n("div",{key:e.value??`${t}-${e.label}`,class:{"menu-item-row":true,"menu-item-row--actions":true,"menu-item":true,"ds-choice-item":true,"ds-control-frame":true,[`ds-control--${this.size}`]:true,"menu-item--dragging":f},role:"group","aria-label":e.label,onMouseDown:()=>{this.focusRingVisible=false},onFocusin:()=>{this.focusedIndex=a}},(p||v)&&n("span",{class:{"menu-item__drop-rail":true,"menu-item__drop-rail--before":p,"menu-item__drop-rail--after":v},"data-menu-drop-rail":true,"aria-hidden":"true"}),e.reorderable||e.reorderHandleInactive?n("span",{class:{"menu-item__handle":true,"menu-item__handle--action-row":true,"menu-item__handle--inactive":Boolean(e.reorderHandleInactive),"ds-interaction-fill":Boolean(e.reorderable),"ds-choice-item__icon":true,"ds-control-icon-box":true},"data-menu-handle":true,"aria-hidden":"true",onPointerDown:e.reorderable?e=>this.onReorderPointerDown(e,t,o,a):undefined},n("ds-icon",{class:"ds-interaction-fill__content",name:"DragDots",size:this.size,color:"inherit"})):h&&e.icon?n("span",{class:"menu-item__icon ds-choice-item__icon ds-control-icon-box","aria-hidden":"true"},n("ds-icon",{name:e.icon,size:this.size,color:"inherit"})):h?n("span",{class:"menu-item__icon-spacer ds-choice-item__icon ds-control-icon-box","aria-hidden":"true"}):null,n("div",{class:"menu-item__content ds-choice-item__content"},n("ds-text",{class:"menu-item__label ds-choice-item__label ds-control-label-box",as:"span",variant:z[this.size],color:"secondary"},e.label),e.subtext&&n("ds-text",{class:"menu-item__subtext ds-choice-item__subtext ds-control-label-box",as:"span",variant:A[this.size],color:"secondary"},e.subtext)),n("span",{class:"menu-item-row__actions"},e.trailingActions.map(((i,s)=>n("span",{class:"menu-item-row__action",key:i.id},s>0&&n("span",{class:"menu-item-row__divider","aria-hidden":"true"}),n("ds-button-unfilled",{variant:"icon",icon:i.icon,size:"md",ariaLabel:i.label,hasBorder:false,pressScale:false,isInset:true,insetDepth:"single",isInactive:i.isInactive??false,focusTabIndex:0,onDsClick:s=>{s.stopPropagation();this.dsItemToggle.emit({item:e,action:i,pressed:false})}}))))))}return n("div",{key:e.value??`${t}-${e.label}`,class:{"menu-item-row":true,"menu-item-row--trailing-toggle":Boolean(e.trailingToggle)}},n("button",{type:"button",class:{"menu-item":true,"ds-choice-item":true,"ds-control-frame":true,[`ds-control--${this.size}`]:true,"ds-focus-ring-inset":true,"ds-focus-ring--visible":l&&this.focusRingVisible,"ds-interaction-fill":!m,"ds-interaction-fill--selected":!!e.isSelected&&!m,"menu-item--selected":!!e.isSelected,"menu-item--switch":!!e.showSwitch,"ds-control-inactive":m,"menu-item--destructive":!!e.isDestructive,"menu-item--focused":l,"menu-item--dragging":f},role:i?undefined:e.showSwitch?"menuitemcheckbox":u?"menuitemradio":"menuitem","aria-checked":!i&&e.showSwitch?String(!!e.switchValue):u?String(!!e.isSelected):undefined,"aria-pressed":i?String(e.showSwitch?!!e.switchValue:!!e.isSelected):undefined,"aria-current":!i&&!e.showSwitch&&!u&&e.isSelected?"true":undefined,"aria-description":e.reorderable?e.isInactive?"Visibility cannot be changed. Alt + Arrow Up or Alt + Arrow Down moves this row.":"Drag to reorder. Alt + Arrow Up or Alt + Arrow Down moves this row.":undefined,"aria-disabled":e.isInactive?"true":undefined,disabled:m,tabIndex:i||this.embedded&&a===0?0:l?0:-1,onMouseDown:()=>{this.focusRingVisible=false},onClick:()=>this.handleItemClick(e),onFocus:()=>{this.focusedIndex=a}},(p||v)&&n("span",{class:{"menu-item__drop-rail":true,"menu-item__drop-rail--before":p,"menu-item__drop-rail--after":v},"data-menu-drop-rail":true,"aria-hidden":"true"}),e.reorderable||e.reorderHandleInactive?n("span",{class:{"menu-item__handle":true,"menu-item__handle--inactive":Boolean(e.reorderHandleInactive),"ds-choice-item__icon":true,"ds-control-icon-box":true,"ds-interaction-fill__content":true},"data-menu-handle":true,"aria-hidden":"true",onPointerDown:e.reorderable?e=>this.onReorderPointerDown(e,t,o,a):undefined,onClick:e.reorderable?e=>{e.preventDefault();e.stopPropagation()}:undefined},n("ds-icon",{name:"DragDots",size:this.size,color:"inherit"})):h&&e.icon?n("span",{class:"menu-item__icon ds-choice-item__icon ds-control-icon-box ds-interaction-fill__content","aria-hidden":"true"},n("ds-icon",{name:e.icon,size:this.size,color:"inherit"})):h?n("span",{class:"menu-item__icon-spacer ds-choice-item__icon ds-control-icon-box","aria-hidden":"true"}):null,n("div",{class:"menu-item__content ds-choice-item__content ds-interaction-fill__content"},n("ds-text",{class:"menu-item__label ds-choice-item__label ds-control-label-box",as:"span",variant:z[this.size],color:e.isSelected?"primary":"secondary"},e.label),e.subtext&&n("ds-text",{class:"menu-item__subtext ds-choice-item__subtext ds-control-label-box",as:"span",variant:A[this.size],color:"secondary"},e.subtext)),e.tag&&n("ds-tag",{class:"ds-choice-item__tag ds-interaction-fill__content",label:e.tag.label,size:E[this.size],intent:e.tag.intent??"neutral",contrast:e.tag.contrast??"faint",rounded:e.tag.rounded??false,isInset:true}),e.dot&&n("span",{class:"menu-item__dot-box ds-interaction-fill__content","aria-hidden":"true"},n("ds-badge",{class:"menu-item__dot",variant:"dot",hasRing:false,label:""})),e.showSwitch&&n("ds-switch",{class:"menu-item__switch ds-interaction-fill__content",size:this.size,checked:!!e.switchValue,isInactive:!!e.isInactive,presentation:true})),e.trailingToggle&&n("span",{class:"menu-item-row__trailing-toggle"},n("span",{class:"menu-item-row__divider","aria-hidden":"true"}),n("ds-button-unfilled",{variant:"icon",icon:e.trailingToggle.icon,size:this.size,ariaLabel:e.trailingToggle.label,hasBorder:false,pressScale:false,pressed:e.trailingToggle.pressed,isInactive:e.trailingToggle.isInactive??false,onDsChange:i=>{i.stopPropagation();this.dsItemToggle.emit({item:e,pressed:i.detail})}})))}))))))),n("div",{class:"ds-visually-hidden",role:"status","aria-live":"polite"},this.reorderAnnouncement))}get el(){return this}static get watchers(){return{open:[{onOpenChange:0}],anchor:[{onAnchorChange:0}],anchorId:[{onAnchorChange:0}],boundary:[{onAnchorChange:0}],side:[{onPositionPropsChange:0}],align:[{onPositionPropsChange:0}],anchorAlignment:[{onPositionPropsChange:0}],sideOffset:[{onPositionPropsChange:0}],alignOffset:[{onPositionPropsChange:0}]}}static get style(){return M()}},[2,"ds-menu",{embedded:[4],open:[1028],items:[16],size:[1],selectionMode:[1,"selection-mode"],sections:[16],side:[1],align:[1],anchorAlignment:[1,"anchor-alignment"],sideOffset:[8,"side-offset"],alignOffset:[8,"align-offset"],menuWidth:[1,"menu-width"],minWidth:[1,"min-width"],anchor:[16],anchorId:[1,"anchor-id"],boundary:[16],initialFocusVisible:[4,"initial-focus-visible"],menuLabel:[1,"menu-label"],emptyMessage:[1,"empty-message"],shouldRender:[32],closing:[32],pos:[32],focusedIndex:[32],positionReady:[32],availableHeight:[32],focusRingVisible:[32],reorderFromFlat:[32],reorderInsertBefore:[32],reorderAnnouncement:[32]},[[0,"keydown","handleKeyDown"]],{open:[{onOpenChange:0}],anchor:[{onAnchorChange:0}],anchorId:[{onAnchorChange:0}],boundary:[{onAnchorChange:0}],side:[{onPositionPropsChange:0}],align:[{onPositionPropsChange:0}],anchorAlignment:[{onPositionPropsChange:0}],sideOffset:[{onPositionPropsChange:0}],alignOffset:[{onPositionPropsChange:0}]}]);function F(){if(typeof customElements==="undefined"){return}const e=["ds-menu","ds-badge","ds-button-unfilled","ds-icon","ds-loader","ds-swatch-picker","ds-switch","ds-tag","ds-text","ds-tooltip"];e.forEach((e=>{switch(e){case"ds-menu":if(!customElements.get(o(e))){customElements.define(o(e),$)}break;case"ds-badge":if(!customElements.get(o(e))){h()}break;case"ds-button-unfilled":if(!customElements.get(o(e))){m()}break;case"ds-icon":if(!customElements.get(o(e))){f()}break;case"ds-loader":if(!customElements.get(o(e))){p()}break;case"ds-swatch-picker":if(!customElements.get(o(e))){v()}break;case"ds-switch":if(!customElements.get(o(e))){g()}break;case"ds-tag":if(!customElements.get(o(e))){b()}break;case"ds-text":if(!customElements.get(o(e))){x()}break;case"ds-tooltip":if(!customElements.get(o(e))){a()}break}}))}F();export{$ as M,F as d};
2
+ //# sourceMappingURL=p-BPDo1eQV.js.map