@ds-mo/ui 12.6.2 → 12.8.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 (360) hide show
  1. package/README.md +44 -115
  2. package/dist/.build-stamp +1 -1
  3. package/dist/agent-patterns.json +26 -11
  4. package/dist/agent.json +285 -49
  5. package/dist/angular/ds-button-filled.d.ts +1 -1
  6. package/dist/angular/ds-button-filled.js +3 -3
  7. package/dist/angular/ds-button-unfilled.d.ts +1 -1
  8. package/dist/angular/ds-button-unfilled.js +3 -3
  9. package/dist/angular/ds-card-overview.d.ts +19 -0
  10. package/dist/angular/ds-card-overview.js +42 -0
  11. package/dist/angular/ds-menu.d.ts +1 -1
  12. package/dist/angular/ds-menu.js +3 -3
  13. package/dist/angular/index.d.ts +1 -1
  14. package/dist/angular/index.js +1 -0
  15. package/dist/angular/proxies.d.ts +1 -0
  16. package/dist/angular/proxies.js +1 -0
  17. package/dist/components/ds-agent-activity.js +1 -1
  18. package/dist/components/ds-agent-response.js +1 -1
  19. package/dist/components/ds-agent-source-list.js +1 -1
  20. package/dist/components/ds-agent-tool-call.js +1 -1
  21. package/dist/components/ds-attachment-list.js +1 -1
  22. package/dist/components/ds-badge.js +1 -1
  23. package/dist/components/ds-bar-nav.js +1 -1
  24. package/dist/components/ds-bar-nav.js.map +1 -1
  25. package/dist/components/ds-bar-title.js +1 -1
  26. package/dist/components/ds-bar-title.js.map +1 -1
  27. package/dist/components/ds-bar-workflow.js +1 -1
  28. package/dist/components/ds-bar-workflow.js.map +1 -1
  29. package/dist/components/ds-breadcrumb.js +1 -1
  30. package/dist/components/ds-button-filled.js +1 -1
  31. package/dist/components/ds-button-unfilled.js +1 -1
  32. package/dist/components/ds-card-data-viz-bar.js +1 -1
  33. package/dist/components/ds-card-data-viz-bar.js.map +1 -1
  34. package/dist/components/ds-card-data-viz-donut.js +1 -1
  35. package/dist/components/ds-card-data-viz-donut.js.map +1 -1
  36. package/dist/components/ds-card-data-viz-line.js +1 -1
  37. package/dist/components/ds-card-data-viz-line.js.map +1 -1
  38. package/dist/components/ds-card-overview.d.ts +11 -0
  39. package/dist/components/ds-card-overview.js +2 -0
  40. package/dist/components/ds-card-overview.js.map +1 -0
  41. package/dist/components/ds-card-setting.js +1 -1
  42. package/dist/components/ds-card-setting.js.map +1 -1
  43. package/dist/components/ds-card-shell-data-viz.js +1 -1
  44. package/dist/components/ds-chart-bar-stacked.js +1 -1
  45. package/dist/components/ds-chart-bar-stacked.js.map +1 -1
  46. package/dist/components/ds-chart-bar.js +1 -1
  47. package/dist/components/ds-chart-bar.js.map +1 -1
  48. package/dist/components/ds-chart-donut.js +1 -1
  49. package/dist/components/ds-chart-donut.js.map +1 -1
  50. package/dist/components/ds-chart-legend.js +1 -1
  51. package/dist/components/ds-chart-line.js +1 -1
  52. package/dist/components/ds-chart-line.js.map +1 -1
  53. package/dist/components/ds-checkbox.js +1 -1
  54. package/dist/components/ds-chip.js +1 -1
  55. package/dist/components/ds-code-block.js +1 -1
  56. package/dist/components/ds-conversation-list-item.js +1 -1
  57. package/dist/components/ds-conversation-list-item.js.map +1 -1
  58. package/dist/components/ds-conversation-list-section.js +1 -1
  59. package/dist/components/ds-conversation-list.js +1 -1
  60. package/dist/components/ds-conversation-list.js.map +1 -1
  61. package/dist/components/ds-divider.js +1 -1
  62. package/dist/components/ds-empty-state.js +1 -1
  63. package/dist/components/ds-field.js +1 -1
  64. package/dist/components/ds-field.js.map +1 -1
  65. package/dist/components/ds-input.js +1 -1
  66. package/dist/components/ds-input.js.map +1 -1
  67. package/dist/components/ds-markdown.js +1 -1
  68. package/dist/components/ds-menu.js +1 -1
  69. package/dist/components/ds-message-bubble.js +1 -1
  70. package/dist/components/ds-message-composer.js +1 -1
  71. package/dist/components/ds-message-composer.js.map +1 -1
  72. package/dist/components/ds-message-scroller.js +1 -1
  73. package/dist/components/ds-message-scroller.js.map +1 -1
  74. package/dist/components/ds-message.js +1 -1
  75. package/dist/components/ds-mobile-bar-nav.js +1 -1
  76. package/dist/components/ds-mobile-bar-nav.js.map +1 -1
  77. package/dist/components/ds-mobile-header.js +1 -1
  78. package/dist/components/ds-mobile-section-switcher.js +1 -1
  79. package/dist/components/ds-mobile-sheet-nav.js +1 -1
  80. package/dist/components/ds-mobile-sheet-nav.js.map +1 -1
  81. package/dist/components/ds-modal.js +1 -1
  82. package/dist/components/ds-modal.js.map +1 -1
  83. package/dist/components/ds-panel-nav.js +1 -1
  84. package/dist/components/ds-panel-nav.js.map +1 -1
  85. package/dist/components/ds-panel-sub-nav.js +1 -1
  86. package/dist/components/ds-panel-tool-header.js +1 -1
  87. package/dist/components/ds-panel-tool-search.js +1 -1
  88. package/dist/components/ds-panel-tool-search.js.map +1 -1
  89. package/dist/components/ds-panel-tools.js +1 -1
  90. package/dist/components/ds-radio.js +1 -1
  91. package/dist/components/ds-radio.js.map +1 -1
  92. package/dist/components/ds-scroll-overlay.js +1 -1
  93. package/dist/components/ds-select-multi.js +1 -1
  94. package/dist/components/ds-select-multi.js.map +1 -1
  95. package/dist/components/ds-select.js +1 -1
  96. package/dist/components/ds-select.js.map +1 -1
  97. package/dist/components/ds-shell-app.js +1 -1
  98. package/dist/components/ds-shell-app.js.map +1 -1
  99. package/dist/components/ds-shell-gradient-picker.js +1 -1
  100. package/dist/components/ds-shell-gradient-swatch.js +1 -1
  101. package/dist/components/ds-shell-page.js +1 -1
  102. package/dist/components/ds-shell-page.js.map +1 -1
  103. package/dist/components/ds-shell-tools.js +1 -1
  104. package/dist/components/ds-shell-tools.js.map +1 -1
  105. package/dist/components/ds-skeleton.js +1 -1
  106. package/dist/components/ds-skeleton.js.map +1 -1
  107. package/dist/components/ds-slider.js +1 -1
  108. package/dist/components/ds-slider.js.map +1 -1
  109. package/dist/components/ds-swatch-picker.js +1 -1
  110. package/dist/components/ds-switch.js +1 -1
  111. package/dist/components/ds-tab-group.js +1 -1
  112. package/dist/components/ds-tag.js +1 -1
  113. package/dist/components/ds-text.js +1 -1
  114. package/dist/components/ds-toast.js +1 -1
  115. package/dist/components/ds-toast.js.map +1 -1
  116. package/dist/components/ds-tooltip-data-viz.js +1 -1
  117. package/dist/components/ds-tooltip.js +1 -1
  118. package/dist/components/ds-typing-indicator.js +1 -1
  119. package/dist/components/p-2foAUsDN.js +2 -0
  120. package/dist/components/p-2foAUsDN.js.map +1 -0
  121. package/dist/components/{p-Ccj5Op6E.js → p-38PfdMkF.js} +2 -2
  122. package/dist/components/p-69lHhJiX.js +2 -0
  123. package/dist/components/p-69lHhJiX.js.map +1 -0
  124. package/dist/components/p-B6NvVdeO.js +2 -0
  125. package/dist/components/p-B6NvVdeO.js.map +1 -0
  126. package/dist/components/p-B6Vuayt6.js +2 -0
  127. package/dist/components/p-B6Vuayt6.js.map +1 -0
  128. package/dist/components/p-B6vE3ujd.js +2 -0
  129. package/dist/components/p-B6vE3ujd.js.map +1 -0
  130. package/dist/components/p-BBePKRHC.js +2 -0
  131. package/dist/components/p-BBePKRHC.js.map +1 -0
  132. package/dist/components/{p-CaRyxTMz.js → p-BFRMwl93.js} +2 -2
  133. package/dist/components/p-BKOlvCGS.js +2 -0
  134. package/dist/components/p-BKOlvCGS.js.map +1 -0
  135. package/dist/components/{p-C7bZ-jiU.js → p-BO5aqZcf.js} +2 -2
  136. package/dist/components/p-BX0BMhgz.js +2 -0
  137. package/dist/components/p-BX0BMhgz.js.map +1 -0
  138. package/dist/components/p-BXaieghV.js +2 -0
  139. package/dist/components/p-BXaieghV.js.map +1 -0
  140. package/dist/components/p-BlHzmszE.js +2 -0
  141. package/dist/components/{p-BkAMkjIR.js.map → p-BlHzmszE.js.map} +1 -1
  142. package/dist/components/p-By_s1wNN.js +2 -0
  143. package/dist/components/p-By_s1wNN.js.map +1 -0
  144. package/dist/components/p-C61yJkfr.js +2 -0
  145. package/dist/components/p-C61yJkfr.js.map +1 -0
  146. package/dist/components/{p-DXLWm4PF.js → p-CNgPwd11.js} +2 -2
  147. package/dist/components/p-CNjOyUQu.js +2 -0
  148. package/dist/components/p-CNjOyUQu.js.map +1 -0
  149. package/dist/components/{p-BwGnhInj.js → p-CPwpgUWT.js} +2 -2
  150. package/dist/components/p-CU2673IJ.js +2 -0
  151. package/dist/components/p-CU2673IJ.js.map +1 -0
  152. package/dist/components/{p-B9bxDfZV.js → p-CsX3ICz7.js} +2 -2
  153. package/dist/components/p-CuwopElg.js +2 -0
  154. package/dist/components/p-CuwopElg.js.map +1 -0
  155. package/dist/components/{p-D-xttdpn.js → p-D0e77tkd.js} +2 -2
  156. package/dist/components/p-D1bNvIpb.js +2 -0
  157. package/dist/components/p-D1bNvIpb.js.map +1 -0
  158. package/dist/components/{p-BwsGYxZx.js → p-D9u1_OEZ.js} +2 -2
  159. package/dist/components/{p-DQDpDYyF.js → p-DB9XJm2c.js} +2 -2
  160. package/dist/components/{p-CnHrJTD5.js → p-DIFUsoM-.js} +2 -2
  161. package/dist/components/p-DhKvqh5G.js +2 -0
  162. package/dist/components/p-DhKvqh5G.js.map +1 -0
  163. package/dist/components/p-DhLmoCe_.js +2 -0
  164. package/dist/components/p-DhLmoCe_.js.map +1 -0
  165. package/dist/components/p-DjbTFy2B.js +2 -0
  166. package/dist/components/p-DjbTFy2B.js.map +1 -0
  167. package/dist/components/{p-CWTih3Gc.js → p-DmAHufd5.js} +2 -2
  168. package/dist/components/p-DzM3SzPz.js +2 -0
  169. package/dist/components/p-DzM3SzPz.js.map +1 -0
  170. package/dist/components/{p-DqubRds2.js → p-G3qIxpQj.js} +2 -2
  171. package/dist/components/p-Re2kPrXm.js +2 -0
  172. package/dist/components/p-Re2kPrXm.js.map +1 -0
  173. package/dist/components/{p-DwX7UmLl.js → p-Utr23NC-.js} +2 -2
  174. package/dist/components/{p-DIoiApa-.js → p-Vdufoj7G.js} +2 -2
  175. package/dist/components/p-huw1oRbt.js +2 -0
  176. package/dist/components/p-huw1oRbt.js.map +1 -0
  177. package/dist/components/p-ukB-dPOK.js +2 -0
  178. package/dist/components/{p-BY0PzkUp.js.map → p-ukB-dPOK.js.map} +1 -1
  179. package/dist/components/p-yhj1lIPx.js +2 -0
  180. package/dist/docs/components.json +760 -87
  181. package/dist/lib/components/Menu/menu-position.d.ts +6 -6
  182. package/dist/lib/toast/toast-types.d.ts +3 -3
  183. package/dist/lib/utils/anchored-position.d.ts +34 -0
  184. package/dist/lib/utils/choice-popup-alignment.d.ts +2 -2
  185. package/dist/lib/utils/control-text.d.ts +3 -1
  186. package/dist/lib/utils/index.d.ts +3 -1
  187. package/dist/lib/utils/index.js +39 -0
  188. package/dist/lib/utils/index.js.map +3 -3
  189. package/dist/lib/utils/metric-change.d.ts +52 -0
  190. package/dist/lib/utils/token-defaults.d.ts +3 -0
  191. package/dist/mcp-data/registry/agent-activity.json +1 -1
  192. package/dist/mcp-data/registry/agent-response.json +1 -1
  193. package/dist/mcp-data/registry/agent-source-list.json +1 -1
  194. package/dist/mcp-data/registry/agent-tool-call.json +1 -1
  195. package/dist/mcp-data/registry/attachment-list.json +1 -1
  196. package/dist/mcp-data/registry/avatar.json +1 -1
  197. package/dist/mcp-data/registry/badge.json +1 -1
  198. package/dist/mcp-data/registry/bar-nav.json +3 -3
  199. package/dist/mcp-data/registry/bar-title.json +3 -3
  200. package/dist/mcp-data/registry/bar-workflow.json +3 -3
  201. package/dist/mcp-data/registry/breadcrumb.json +1 -1
  202. package/dist/mcp-data/registry/button-filled.json +125 -8
  203. package/dist/mcp-data/registry/button-unfilled.json +50 -5
  204. package/dist/mcp-data/registry/card-data-viz-bar.json +5 -4
  205. package/dist/mcp-data/registry/card-data-viz-donut.json +5 -3
  206. package/dist/mcp-data/registry/card-data-viz-line.json +5 -4
  207. package/dist/mcp-data/registry/card-overview.json +317 -0
  208. package/dist/mcp-data/registry/card-setting.json +3 -3
  209. package/dist/mcp-data/registry/card-shell-data-viz.json +3 -3
  210. package/dist/mcp-data/registry/chart-bar-stacked.json +14 -9
  211. package/dist/mcp-data/registry/chart-bar.json +15 -10
  212. package/dist/mcp-data/registry/chart-donut.json +3 -2
  213. package/dist/mcp-data/registry/chart-legend.json +1 -1
  214. package/dist/mcp-data/registry/chart-line.json +15 -10
  215. package/dist/mcp-data/registry/checkbox.json +10 -10
  216. package/dist/mcp-data/registry/chip.json +1 -1
  217. package/dist/mcp-data/registry/code-block.json +1 -1
  218. package/dist/mcp-data/registry/conversation-list-item.json +3 -3
  219. package/dist/mcp-data/registry/conversation-list-section.json +1 -1
  220. package/dist/mcp-data/registry/conversation-list.json +3 -3
  221. package/dist/mcp-data/registry/divider.json +1 -1
  222. package/dist/mcp-data/registry/empty-state.json +6 -2
  223. package/dist/mcp-data/registry/field.json +4 -3
  224. package/dist/mcp-data/registry/icon.json +1 -1
  225. package/dist/mcp-data/registry/input.json +9 -8
  226. package/dist/mcp-data/registry/loader.json +1 -1
  227. package/dist/mcp-data/registry/markdown.json +1 -1
  228. package/dist/mcp-data/registry/menu.json +24 -5
  229. package/dist/mcp-data/registry/message-bubble.json +1 -1
  230. package/dist/mcp-data/registry/message-composer.json +1 -1
  231. package/dist/mcp-data/registry/message-scroller.json +3 -3
  232. package/dist/mcp-data/registry/message.json +1 -1
  233. package/dist/mcp-data/registry/mobile-bar-nav.json +4 -4
  234. package/dist/mcp-data/registry/mobile-header.json +3 -3
  235. package/dist/mcp-data/registry/mobile-section-switcher.json +1 -1
  236. package/dist/mcp-data/registry/mobile-sheet-nav.json +6 -4
  237. package/dist/mcp-data/registry/modal.json +3 -3
  238. package/dist/mcp-data/registry/panel-nav.json +3 -3
  239. package/dist/mcp-data/registry/panel-sub-nav.json +1 -1
  240. package/dist/mcp-data/registry/panel-tool-header.json +3 -3
  241. package/dist/mcp-data/registry/panel-tool-search.json +3 -3
  242. package/dist/mcp-data/registry/panel-tools.json +4 -3
  243. package/dist/mcp-data/registry/radio.json +10 -10
  244. package/dist/mcp-data/registry/registry.json +288 -49
  245. package/dist/mcp-data/registry/scroll-overlay.json +1 -1
  246. package/dist/mcp-data/registry/select-multi.json +10 -8
  247. package/dist/mcp-data/registry/select.json +10 -8
  248. package/dist/mcp-data/registry/shell-app.json +3 -2
  249. package/dist/mcp-data/registry/shell-gradient-picker.json +1 -1
  250. package/dist/mcp-data/registry/shell-gradient-swatch.json +1 -1
  251. package/dist/mcp-data/registry/shell-page.json +5 -4
  252. package/dist/mcp-data/registry/shell-tools.json +2 -2
  253. package/dist/mcp-data/registry/skeleton.json +3 -3
  254. package/dist/mcp-data/registry/slider.json +4 -3
  255. package/dist/mcp-data/registry/swatch-picker.json +1 -1
  256. package/dist/mcp-data/registry/switch.json +8 -8
  257. package/dist/mcp-data/registry/tab-group.json +1 -1
  258. package/dist/mcp-data/registry/tag.json +1 -1
  259. package/dist/mcp-data/registry/text.json +1 -1
  260. package/dist/mcp-data/registry/toast.json +2 -2
  261. package/dist/mcp-data/registry/tooltip-data-viz.json +3 -1
  262. package/dist/mcp-data/registry/tooltip.json +3 -8
  263. package/dist/mcp-data/registry/typing-indicator.json +1 -1
  264. package/dist/react/components.d.ts +1 -0
  265. package/dist/react/components.js +1 -0
  266. package/dist/react/ds-card-overview.d.ts +12 -0
  267. package/dist/react/ds-card-overview.js +12 -0
  268. package/dist/styles/control-elevation.css +38 -2
  269. package/dist/types/components/ButtonFilled/ButtonFilled.d.ts +33 -1
  270. package/dist/types/components/ButtonUnfilled/ButtonUnfilled.d.ts +20 -0
  271. package/dist/types/components/CardOverview/CardOverview.d.ts +59 -0
  272. package/dist/types/components/CardOverview/card-overview-types.d.ts +32 -0
  273. package/dist/types/components/CardOverview/index.d.ts +2 -0
  274. package/dist/types/components/ChartBar/ChartBar.d.ts +11 -0
  275. package/dist/types/components/ChartBarStacked/ChartBarStacked.d.ts +11 -0
  276. package/dist/types/components/ChartLine/ChartLine.d.ts +11 -0
  277. package/dist/types/components/Checkbox/Checkbox.d.ts +1 -1
  278. package/dist/types/components/Input/Input.d.ts +1 -1
  279. package/dist/types/components/Menu/Menu.d.ts +11 -5
  280. package/dist/types/components/Menu/menu-position.d.ts +6 -6
  281. package/dist/types/components/MobileSheetNav/MobileSheetNav.d.ts +0 -1
  282. package/dist/types/components/Radio/Radio.d.ts +1 -1
  283. package/dist/types/components/Select/Select.d.ts +6 -23
  284. package/dist/types/components/SelectMulti/SelectMulti.d.ts +5 -20
  285. package/dist/types/components/ShellPage/ShellPage.d.ts +1 -0
  286. package/dist/types/components/ShellTools/ShellTools.d.ts +1 -0
  287. package/dist/types/components/Switch/Switch.d.ts +1 -1
  288. package/dist/types/components/Tooltip/Tooltip.d.ts +1 -4
  289. package/dist/types/components.d.ts +225 -4
  290. package/dist/types/toast/toast-types.d.ts +3 -3
  291. package/dist/types/utils/anchored-position-controller.d.ts +96 -0
  292. package/dist/types/utils/anchored-position.d.ts +35 -0
  293. package/dist/types/utils/cartesian-chart-layout.d.ts +13 -0
  294. package/dist/types/utils/chart-viewport-controller.d.ts +21 -0
  295. package/dist/types/utils/choice-list-parts.d.ts +4 -0
  296. package/dist/types/utils/choice-popup-alignment.d.ts +2 -2
  297. package/dist/types/utils/control-press.d.ts +9 -0
  298. package/dist/types/utils/control-text.d.ts +3 -1
  299. package/dist/types/utils/index.d.ts +3 -1
  300. package/dist/types/utils/metric-change.d.ts +53 -0
  301. package/dist/types/utils/select-controller.d.ts +67 -0
  302. package/dist/types/utils/token-defaults.d.ts +3 -0
  303. package/package.json +3 -3
  304. package/dist/components/p-B8C_yfLQ.js +0 -2
  305. package/dist/components/p-B8C_yfLQ.js.map +0 -1
  306. package/dist/components/p-B9xVWER6.js +0 -2
  307. package/dist/components/p-B9xVWER6.js.map +0 -1
  308. package/dist/components/p-BLea0TrP.js +0 -2
  309. package/dist/components/p-BLea0TrP.js.map +0 -1
  310. package/dist/components/p-BY0PzkUp.js +0 -2
  311. package/dist/components/p-BbgPGF2a.js +0 -2
  312. package/dist/components/p-BbgPGF2a.js.map +0 -1
  313. package/dist/components/p-BhC1YyId.js +0 -2
  314. package/dist/components/p-BhC1YyId.js.map +0 -1
  315. package/dist/components/p-BkAMkjIR.js +0 -2
  316. package/dist/components/p-C2ym_Ich.js +0 -2
  317. package/dist/components/p-C_ewSXTT.js +0 -2
  318. package/dist/components/p-C_ewSXTT.js.map +0 -1
  319. package/dist/components/p-CiqnkENu.js +0 -2
  320. package/dist/components/p-CiqnkENu.js.map +0 -1
  321. package/dist/components/p-Cx-ywr1e.js +0 -2
  322. package/dist/components/p-Cx-ywr1e.js.map +0 -1
  323. package/dist/components/p-CydY-v7X.js +0 -2
  324. package/dist/components/p-CydY-v7X.js.map +0 -1
  325. package/dist/components/p-DPME1wUJ.js +0 -2
  326. package/dist/components/p-DPME1wUJ.js.map +0 -1
  327. package/dist/components/p-DSa0Hnd3.js +0 -2
  328. package/dist/components/p-DSa0Hnd3.js.map +0 -1
  329. package/dist/components/p-DUlqUNbE.js +0 -2
  330. package/dist/components/p-DUlqUNbE.js.map +0 -1
  331. package/dist/components/p-DWdRSOBV.js +0 -2
  332. package/dist/components/p-DWdRSOBV.js.map +0 -1
  333. package/dist/components/p-DYcC5-R9.js +0 -2
  334. package/dist/components/p-DYcC5-R9.js.map +0 -1
  335. package/dist/components/p-DbpfpeQT.js +0 -2
  336. package/dist/components/p-DbpfpeQT.js.map +0 -1
  337. package/dist/components/p-Dg3xLna0.js +0 -2
  338. package/dist/components/p-Dg3xLna0.js.map +0 -1
  339. package/dist/components/p-DuFm-ieS.js +0 -2
  340. package/dist/components/p-DuFm-ieS.js.map +0 -1
  341. package/dist/components/p-uQhuDEVt.js +0 -2
  342. package/dist/components/p-uQhuDEVt.js.map +0 -1
  343. package/dist/lib/utils/anchored-popup.d.ts +0 -23
  344. package/dist/types/components/Tooltip/tooltip-position.d.ts +0 -21
  345. package/dist/types/utils/anchored-popup.d.ts +0 -24
  346. /package/dist/components/{p-Ccj5Op6E.js.map → p-38PfdMkF.js.map} +0 -0
  347. /package/dist/components/{p-CaRyxTMz.js.map → p-BFRMwl93.js.map} +0 -0
  348. /package/dist/components/{p-C7bZ-jiU.js.map → p-BO5aqZcf.js.map} +0 -0
  349. /package/dist/components/{p-DXLWm4PF.js.map → p-CNgPwd11.js.map} +0 -0
  350. /package/dist/components/{p-BwGnhInj.js.map → p-CPwpgUWT.js.map} +0 -0
  351. /package/dist/components/{p-B9bxDfZV.js.map → p-CsX3ICz7.js.map} +0 -0
  352. /package/dist/components/{p-D-xttdpn.js.map → p-D0e77tkd.js.map} +0 -0
  353. /package/dist/components/{p-BwsGYxZx.js.map → p-D9u1_OEZ.js.map} +0 -0
  354. /package/dist/components/{p-DQDpDYyF.js.map → p-DB9XJm2c.js.map} +0 -0
  355. /package/dist/components/{p-CnHrJTD5.js.map → p-DIFUsoM-.js.map} +0 -0
  356. /package/dist/components/{p-CWTih3Gc.js.map → p-DmAHufd5.js.map} +0 -0
  357. /package/dist/components/{p-DqubRds2.js.map → p-G3qIxpQj.js.map} +0 -0
  358. /package/dist/components/{p-DwX7UmLl.js.map → p-Utr23NC-.js.map} +0 -0
  359. /package/dist/components/{p-DIoiApa-.js.map → p-Vdufoj7G.js.map} +0 -0
  360. /package/dist/components/{p-C2ym_Ich.js.map → p-yhj1lIPx.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ascending","a","b","NaN","descending","bisector","f","compare1","compare2","delta","length","d","x","zero","left","lo","hi","mid","right","center","i","number","ascendingBisect","bisectRight","InternMap","Map","constructor","entries","key","keyof","super","Object","defineProperties","this","_intern","value","_key","set","get","intern_get","has","intern_set","delete","intern_delete","valueOf","e10","Math","sqrt","e5","e2","tickSpec","start","stop","count","step","max","power","floor","log10","error","pow","factor","i1","i2","inc","round","ticks","reverse","n","Array","tickIncrement","tickStep","range","arguments","ceil","initRange","domain","implicit","Symbol","ordinal","index","unknown","scale","undefined","push","_","slice","from","copy","apply","band","ordinalRange","r0","r1","bandwidth","paddingInner","paddingOuter","align","rescale","values","sequence","map","rangeRound","padding","min","pointish","point","define","factory","prototype","extend","parent","definition","create","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","RegExp","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color","channels","assign","displayable","rgb","hex","color_formatHex","formatHex","formatHex8","color_formatHex8","formatHsl","color_formatHsl","formatRgb","color_formatRgb","toString","hslConvert","format","m","l","trim","toLowerCase","exec","parseInt","rgbn","Rgb","rgba","hsla","hasOwnProperty","r","g","rgbConvert","o","opacity","k","clamp","clampi","clampa","rgb_formatHex","rgb_formatHex8","rgb_formatRgb","isNaN","h","s","Hsl","hsl","m2","m1","hsl2rgb","clamph","clampt","constant","linear","t","exponential","y","gamma","nogamma","rgbGamma","end","colorRgb","numberArray","c","isNumberArray","ArrayBuffer","isView","DataView","genericArray","nb","na","date","Date","setTime","interpolateNumber","object","reA","reB","source","one","string","bi","lastIndex","am","bm","bs","q","join","interpolate","isArray","interpolateRound","constants","unit","identity","normalize","clamper","bimap","d0","d1","polymap","j","bisect","target","transformer","interpolateValue","transform","untransform","piecewise","output","input","invert","u","continuous","formatDecimal","abs","toLocaleString","replace","formatDecimalParts","p","isFinite","toExponential","indexOf","coefficient","exponent","formatGroup","grouping","thousands","width","substring","formatNumerals","numerals","re","formatSpecifier","specifier","match","Error","FormatSpecifier","fill","sign","symbol","comma","precision","type","formatTrim","out","i0","prefixExponent","formatPrefixAuto","toPrecision","formatRounded","formatTypes","toFixed","e","X","toUpperCase","prefixes","formatLocale","locale","group","call","Number","currencyPrefix","currency","currencySuffix","decimal","String","percent","minus","nan","newFormat","options","prefix","test","suffix","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","charCodeAt","Infinity","formatPrefix","defaultLocale","precisionFixed","precisionPrefix","precisionRound","tickFormat","linearish","nice","prestep","maxIter","resolveCartesianChartLayout","space100","resolveCssLengthPx","TOKEN_DEFAULTS","space200","margin","top","bottom","space300","space400","axisLabelGap","categoryLabelOffset","normalizeSize","ChartViewportController","onResize","resizeObserver","connect","disconnect","ResizeObserver","entry","update","contentRect","height","observe","measure","rect","getBoundingClientRect"],"sources":["node_modules/d3-array/src/ascending.js","node_modules/d3-array/src/descending.js","node_modules/d3-array/src/bisector.js","node_modules/d3-array/src/number.js","node_modules/d3-array/src/bisect.js","node_modules/internmap/src/index.js","node_modules/d3-array/src/ticks.js","node_modules/d3-array/src/range.js","node_modules/d3-scale/src/init.js","node_modules/d3-scale/src/ordinal.js","node_modules/d3-scale/src/band.js","node_modules/d3-color/src/define.js","node_modules/d3-color/src/color.js","node_modules/d3-interpolate/src/constant.js","node_modules/d3-interpolate/src/color.js","node_modules/d3-interpolate/src/rgb.js","node_modules/d3-interpolate/src/numberArray.js","node_modules/d3-interpolate/src/array.js","node_modules/d3-interpolate/src/date.js","node_modules/d3-interpolate/src/number.js","node_modules/d3-interpolate/src/object.js","node_modules/d3-interpolate/src/string.js","node_modules/d3-interpolate/src/value.js","node_modules/d3-interpolate/src/round.js","node_modules/d3-scale/src/constant.js","node_modules/d3-scale/src/number.js","node_modules/d3-scale/src/continuous.js","node_modules/d3-format/src/formatDecimal.js","node_modules/d3-format/src/exponent.js","node_modules/d3-format/src/formatGroup.js","node_modules/d3-format/src/formatNumerals.js","node_modules/d3-format/src/formatSpecifier.js","node_modules/d3-format/src/formatTrim.js","node_modules/d3-format/src/formatPrefixAuto.js","node_modules/d3-format/src/formatRounded.js","node_modules/d3-format/src/formatTypes.js","node_modules/d3-format/src/identity.js","node_modules/d3-format/src/locale.js","node_modules/d3-format/src/defaultLocale.js","node_modules/d3-format/src/precisionFixed.js","node_modules/d3-format/src/precisionPrefix.js","node_modules/d3-format/src/precisionRound.js","node_modules/d3-scale/src/tickFormat.js","node_modules/d3-scale/src/linear.js","src/wc/utils/cartesian-chart-layout.ts","src/wc/utils/chart-viewport-controller.ts"],"sourcesContent":["export default function ascending(a, b) {\n return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function descending(a, b) {\n return a == null || b == null ? NaN\n : b < a ? -1\n : b > a ? 1\n : b >= a ? 0\n : NaN;\n}\n","import ascending from \"./ascending.js\";\nimport descending from \"./descending.js\";\n\nexport default function bisector(f) {\n let compare1, compare2, delta;\n\n // If an accessor is specified, promote it to a comparator. In this case we\n // can test whether the search value is (self-) comparable. We can’t do this\n // for a comparator (except for specific, known comparators) because we can’t\n // tell if the comparator is symmetric, and an asymmetric comparator can’t be\n // used to test whether a single value is comparable.\n if (f.length !== 2) {\n compare1 = ascending;\n compare2 = (d, x) => ascending(f(d), x);\n delta = (d, x) => f(d) - x;\n } else {\n compare1 = f === ascending || f === descending ? f : zero;\n compare2 = f;\n delta = f;\n }\n\n function left(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function right(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) <= 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function center(a, x, lo = 0, hi = a.length) {\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction zero() {\n return 0;\n}\n","export default function number(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","export class InternMap extends Map {\n constructor(entries, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (entries != null) for (const [key, value] of entries) this.set(key, value);\n }\n get(key) {\n return super.get(intern_get(this, key));\n }\n has(key) {\n return super.has(intern_get(this, key));\n }\n set(key, value) {\n return super.set(intern_set(this, key), value);\n }\n delete(key) {\n return super.delete(intern_delete(this, key));\n }\n}\n\nexport class InternSet extends Set {\n constructor(values, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (values != null) for (const value of values) this.add(value);\n }\n has(value) {\n return super.has(intern_get(this, value));\n }\n add(value) {\n return super.add(intern_set(this, value));\n }\n delete(value) {\n return super.delete(intern_delete(this, value));\n }\n}\n\nfunction intern_get({_intern, _key}, value) {\n const key = _key(value);\n return _intern.has(key) ? _intern.get(key) : value;\n}\n\nfunction intern_set({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) return _intern.get(key);\n _intern.set(key, value);\n return value;\n}\n\nfunction intern_delete({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) {\n value = _intern.get(key);\n _intern.delete(key);\n }\n return value;\n}\n\nfunction keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n","const e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nfunction tickSpec(start, stop, count) {\n const step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log10(step)),\n error = step / Math.pow(10, power),\n factor = error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1;\n let i1, i2, inc;\n if (power < 0) {\n inc = Math.pow(10, -power) / factor;\n i1 = Math.round(start * inc);\n i2 = Math.round(stop * inc);\n if (i1 / inc < start) ++i1;\n if (i2 / inc > stop) --i2;\n inc = -inc;\n } else {\n inc = Math.pow(10, power) * factor;\n i1 = Math.round(start / inc);\n i2 = Math.round(stop / inc);\n if (i1 * inc < start) ++i1;\n if (i2 * inc > stop) --i2;\n }\n if (i2 < i1 && 0.5 <= count && count < 2) return tickSpec(start, stop, count * 2);\n return [i1, i2, inc];\n}\n\nexport default function ticks(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n if (!(count > 0)) return [];\n if (start === stop) return [start];\n const reverse = stop < start, [i1, i2, inc] = reverse ? tickSpec(stop, start, count) : tickSpec(start, stop, count);\n if (!(i2 >= i1)) return [];\n const n = i2 - i1 + 1, ticks = new Array(n);\n if (reverse) {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) * inc;\n } else {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) * inc;\n }\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n return tickSpec(start, stop, count)[2];\n}\n\nexport function tickStep(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n const reverse = stop < start, inc = reverse ? tickIncrement(stop, start, count) : tickIncrement(start, stop, count);\n return (reverse ? -1 : 1) * (inc < 0 ? 1 / -inc : inc);\n}\n","export default function range(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","import {InternMap} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new InternMap(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n let i = index.get(d);\n if (i === undefined) {\n if (unknown !== implicit) return unknown;\n index.set(d, i = domain.push(d) - 1);\n }\n return range[i % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new InternMap();\n for (const value of _) {\n if (index.has(value)) continue;\n index.set(value, domain.push(value) - 1);\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","import {range as sequence} from \"d3-array\";\nimport {initRange} from \"./init.js\";\nimport ordinal from \"./ordinal.js\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n r0 = 0,\n r1 = 1,\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = r1 < r0,\n start = reverse ? r1 : r0,\n stop = reverse ? r0 : r1;\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1];\n };\n\n scale.rangeRound = function(_) {\n return [r0, r1] = _, r0 = +r0, r1 = +r1, round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band(domain(), [r0, r1])\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return initRange.apply(rescale(), arguments);\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band.apply(null, arguments).paddingInner(1));\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","export default function number(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if (!isFinite(x) || x === 0) return null; // NaN, ±Infinity, ±0\n var i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\"), coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return prefixExponent = undefined, x.toPrecision(p);\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => Math.round(x).toString(16)\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier, options) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = (options && options.prefix !== undefined ? options.prefix : \"\") + (symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\"),\n suffix = (symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\") + (options && options.suffix !== undefined ? options.suffix : \"\");\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" && !isNaN(value) && prefixExponent !== undefined ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier), {suffix: prefixes[8 + e / 3]});\n return function(value) {\n return f(k * value);\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","import { resolveCssLengthPx } from './resolve-css-length-px';\nimport { TOKEN_DEFAULTS } from './token-defaults';\n\nexport interface CartesianChartLayout {\n margin: {\n top: number;\n right: number;\n bottom: number;\n left: number;\n };\n axisLabelGap: number;\n categoryLabelOffset: number;\n}\n\n/** Resolve shared Cartesian chart geometry from TokoMo dimension tokens. */\nexport function resolveCartesianChartLayout(): CartesianChartLayout {\n const space100 = resolveCssLengthPx(TOKEN_DEFAULTS.space100, 8);\n const space200 = resolveCssLengthPx(TOKEN_DEFAULTS.space200, 16);\n\n return {\n margin: {\n top: space200,\n right: space200,\n bottom: resolveCssLengthPx(TOKEN_DEFAULTS.space300, 24),\n left: resolveCssLengthPx(TOKEN_DEFAULTS.space400, 32),\n },\n axisLabelGap: space100,\n categoryLabelOffset: space200,\n };\n}\n","export interface ChartViewportSize {\n width: number;\n height: number;\n}\n\nconst normalizeSize = (value: number): number =>\n Math.max(1, Math.round(value * 100) / 100);\n\n/**\n * Keeps SVG chart geometry matched to the rendered SVG viewport.\n *\n * Cartesian charts intentionally render without a viewBox: changing the host\n * reflows plot geometry instead of scaling its strokes, text, radii, or points.\n */\nexport class ChartViewportController {\n private resizeObserver: ResizeObserver | null = null;\n\n constructor(\n private readonly target: Element,\n private readonly onResize: (size: ChartViewportSize) => void,\n ) {}\n\n connect(): void {\n this.disconnect();\n\n if (typeof ResizeObserver !== 'undefined') {\n this.resizeObserver = new ResizeObserver(entries => {\n const entry = entries[0];\n if (!entry) return;\n this.update(entry.contentRect.width, entry.contentRect.height);\n });\n this.resizeObserver.observe(this.target);\n }\n\n this.measure();\n }\n\n measure(): void {\n const rect = this.target.getBoundingClientRect();\n this.update(rect.width, rect.height);\n }\n\n disconnect(): void {\n this.resizeObserver?.disconnect();\n this.resizeObserver = null;\n }\n\n private update(width: number, height: number): void {\n if (!(width > 0) || !(height > 0)) return;\n this.onResize({\n width: normalizeSize(width),\n height: normalizeSize(height),\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{p as e,H as s,h as o,a as t,t as a}from"./index.js";import{d as i}from"./p-CaRyxTMz.js";import{d}from"./p-DPME1wUJ.js";import{d as c}from"./p-BAfG3M8z.js";import{d as r}from"./p-Ca-I2UnB.js";import{d as n}from"./p-BwGnhInj.js";import{d as l}from"./p-DWdRSOBV.js";const f=()=>`.sc-ds-code-block-h{display:block;width:100%;min-width:0;box-sizing:border-box;-webkit-user-select:none;user-select:none}.code-block.sc-ds-code-block{width:100%;min-width:0;margin:0;overflow:hidden;border-radius:var(--dimension-radius-050);background:var(--color-background-strong-neutral);color:var(--color-foreground-faint-neutral);box-sizing:border-box}.code-block__header.sc-ds-code-block{display:flex;align-items:center;justify-content:space-between;gap:var(--dimension-space-100);min-height:var(--dimension-size-400);padding:var(--dimension-space-050) var(--dimension-space-100);background:var(--color-background-strong-neutral);box-sizing:border-box}pre.sc-ds-code-block{margin:0;padding:var(--dimension-space-150);overflow:auto;font-family:var(--typography-fontfamily-mono);font-size:var(--typography-fontsize-sm);line-height:var(--typography-lineheight-sm);tab-size:2;-webkit-user-select:text;user-select:text}code.sc-ds-code-block{font:inherit;white-space:pre}`;const b=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.code="";this.language="";this.filename="";this.copied=false;this.copy=async()=>{if(!navigator.clipboard||!this.code)return;await navigator.clipboard.writeText(this.code);this.copied=true;if(this.copiedTimer)clearTimeout(this.copiedTimer);this.copiedTimer=setTimeout((()=>{this.copied=false}),2e3)}}disconnectedCallback(){if(this.copiedTimer)clearTimeout(this.copiedTimer)}render(){const e=this.filename||this.language||"Code";return o(t,{key:"16fc823a92f5096e603c8196d1d15bb187ed363c"},o("figure",{key:"034fec86e016023c11d8509e0d11dfb3ed05103f",class:"code-block"},o("figcaption",{key:"eaa42a2ce1ff813794f4d9f092020a84966c8879",class:"code-block__header"},o("ds-text",{key:"f25e800669fd0b7b228a95623a9e6f56576b8c73",as:"span",variant:"text-caption",emphasis:true,color:"on-strong"},e),o("ds-tooltip",{key:"6722cb6e166b28b0e0e186d00dc00be0fcf063a5",label:this.copied?"Copied":"Copy code",side:"bottom",size:"sm"},o("ds-button-unfilled",{key:"64b8fcf76aaae193f4990412a5dfe19eb4a53d92",variant:"icon",icon:this.copied?"Check":"Copy",size:"xs","aria-label":this.copied?"Copied":"Copy code",hasBorder:false,onDsClick:this.copy}))),o("pre",{key:"ff848e55ef6adf6521ddb05fbf3cac1065791a1d"},o("code",{key:"4c132641553a31350d4967cacd3ff443a2b6ca65"},this.code))))}static get style(){return f()}},[2,"ds-code-block",{code:[1],language:[1],filename:[1],copied:[32]}]);function m(){if(typeof customElements==="undefined"){return}const e=["ds-code-block","ds-badge","ds-button-unfilled","ds-icon","ds-loader","ds-text","ds-tooltip"];e.forEach((e=>{switch(e){case"ds-code-block":if(!customElements.get(a(e))){customElements.define(a(e),b)}break;case"ds-badge":if(!customElements.get(a(e))){i()}break;case"ds-button-unfilled":if(!customElements.get(a(e))){d()}break;case"ds-icon":if(!customElements.get(a(e))){c()}break;case"ds-loader":if(!customElements.get(a(e))){r()}break;case"ds-text":if(!customElements.get(a(e))){n()}break;case"ds-tooltip":if(!customElements.get(a(e))){l()}break}}))}m();export{b as C,m as d};
2
- //# sourceMappingURL=p-Ccj5Op6E.js.map
1
+ import{p as e,H as s,h as o,a as t,t as i}from"./index.js";import{d as a}from"./p-BFRMwl93.js";import{d}from"./p-huw1oRbt.js";import{d as c}from"./p-BAfG3M8z.js";import{d as r}from"./p-Ca-I2UnB.js";import{d as n}from"./p-CPwpgUWT.js";import{d as l}from"./p-69lHhJiX.js";const f=()=>`.sc-ds-code-block-h{display:block;width:100%;min-width:0;box-sizing:border-box;-webkit-user-select:none;user-select:none}.code-block.sc-ds-code-block{width:100%;min-width:0;margin:0;overflow:hidden;border-radius:var(--dimension-radius-050);background:var(--color-background-strong-neutral);color:var(--color-foreground-faint-neutral);box-sizing:border-box}.code-block__header.sc-ds-code-block{display:flex;align-items:center;justify-content:space-between;gap:var(--dimension-space-100);min-height:var(--dimension-size-400);padding:var(--dimension-space-050) var(--dimension-space-100);background:var(--color-background-strong-neutral);box-sizing:border-box}pre.sc-ds-code-block{margin:0;padding:var(--dimension-space-150);overflow:auto;font-family:var(--typography-fontfamily-mono);font-size:var(--typography-fontsize-sm);line-height:var(--typography-lineheight-sm);tab-size:2;-webkit-user-select:text;user-select:text}code.sc-ds-code-block{font:inherit;white-space:pre}`;const b=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.code="";this.language="";this.filename="";this.copied=false;this.copy=async()=>{if(!navigator.clipboard||!this.code)return;await navigator.clipboard.writeText(this.code);this.copied=true;if(this.copiedTimer)clearTimeout(this.copiedTimer);this.copiedTimer=setTimeout((()=>{this.copied=false}),2e3)}}disconnectedCallback(){if(this.copiedTimer)clearTimeout(this.copiedTimer)}render(){const e=this.filename||this.language||"Code";return o(t,{key:"293ad83fc5187365fd707550154b5d9847944762"},o("figure",{key:"26b055146c24c76b0c24480fe839e2cdf009220f",class:"code-block"},o("figcaption",{key:"c962e90a394c9d5d98b8cdcc336c7f354b3f3104",class:"code-block__header"},o("ds-text",{key:"f9251e281ae288d3a6085f874d87e5a96e9ef5b4",as:"span",variant:"text-caption",emphasis:true,color:"on-strong"},e),o("ds-tooltip",{key:"fa2d5db0d5b4035a40610966db3315b8a7292502",label:this.copied?"Copied":"Copy code",side:"bottom",size:"sm"},o("ds-button-unfilled",{key:"0250e3ec288eab74a0965f5a4052e4589003f446",variant:"icon",icon:this.copied?"Check":"Copy",size:"xs","aria-label":this.copied?"Copied":"Copy code",hasBorder:false,onDsClick:this.copy}))),o("pre",{key:"7488e4d685d20bd46fafd7e6fa65e6d0a3237701"},o("code",{key:"cd895376754135624150f82aabc323b0503cefe2"},this.code))))}static get style(){return f()}},[2,"ds-code-block",{code:[1],language:[1],filename:[1],copied:[32]}]);function m(){if(typeof customElements==="undefined"){return}const e=["ds-code-block","ds-badge","ds-button-unfilled","ds-icon","ds-loader","ds-text","ds-tooltip"];e.forEach((e=>{switch(e){case"ds-code-block":if(!customElements.get(i(e))){customElements.define(i(e),b)}break;case"ds-badge":if(!customElements.get(i(e))){a()}break;case"ds-button-unfilled":if(!customElements.get(i(e))){d()}break;case"ds-icon":if(!customElements.get(i(e))){c()}break;case"ds-loader":if(!customElements.get(i(e))){r()}break;case"ds-text":if(!customElements.get(i(e))){n()}break;case"ds-tooltip":if(!customElements.get(i(e))){l()}break}}))}m();export{b as C,m as d};
2
+ //# sourceMappingURL=p-38PfdMkF.js.map
@@ -0,0 +1,2 @@
1
+ import{p as t,H as i,h as o,a as s,t as n}from"./index.js";import{A as e}from"./p-By_s1wNN.js";import{d as r}from"./p-CPwpgUWT.js";import{a as d,T as a}from"./p-BBePKRHC.js";import{r as l}from"./p-BJMRBHKW.js";import{r as c,a as h}from"./p-B6Vuayt6.js";import{C as p}from"./p-CuwopElg.js";const m=new Set(["⌘","⇧","⌥","⌃"]);const u={alt:"⌥",cmd:"⌘",command:"⌘",control:"⌃",ctrl:"⌃",option:"⌥",shift:"⇧"};function f(t){return u[t.toLowerCase()]??t}function g(t){const i=t.trim();if(!i)return[];if(i.includes("+")){return i.split("+").map((t=>t.trim())).filter(Boolean).map(f)}if(/\s/.test(i)){return i.split(/\s+/).filter(Boolean).map(f)}const o=Array.from(i);const s=[];while(o.length>1&&m.has(o[0])){s.push(o.shift())}s.push(o.join(""));return s}const v=()=>`.ds-control--lg.sc-ds-tooltip,.ds-control--lg.sc-ds-tooltip-h,.ds-control--md.sc-ds-tooltip-h,.ds-control--md.sc-ds-tooltip,.ds-control--sm.sc-ds-tooltip-h,.ds-control--sm.sc-ds-tooltip,.ds-control--xs.sc-ds-tooltip-h,.ds-control--xs.sc-ds-tooltip{--ds-control-radius:var(--dimension-radius-025)}.ds-control--lg.sc-ds-tooltip-h,.ds-control--lg.sc-ds-tooltip{--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-h,.ds-control--md.sc-ds-tooltip{--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-h,.ds-control--sm.sc-ds-tooltip{--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-h,.ds-control--xs.sc-ds-tooltip{--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--lg.sc-ds-tooltip,.ds-control--lg.sc-ds-tooltip-h,.ds-control--md.sc-ds-tooltip-h,.ds-control--md.sc-ds-tooltip,.ds-control--sm.sc-ds-tooltip-h,.ds-control--sm.sc-ds-tooltip,.ds-control--xs.sc-ds-tooltip-h,.ds-control--xs.sc-ds-tooltip{--ds-control-radius:var(--dimension-radius-025)}.ds-control--lg.sc-ds-tooltip-h,.ds-control--lg.sc-ds-tooltip{--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-h,.ds-control--md.sc-ds-tooltip{--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-h,.ds-control--sm.sc-ds-tooltip{--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-h,.ds-control--xs.sc-ds-tooltip{--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}.key-hint-group.sc-ds-tooltip{display:inline-flex;align-items:center;gap:var(--dimension-stroke-width-012);width:max-content;flex-shrink:0}.key-hint.sc-ds-tooltip{box-sizing:border-box;min-width:var(--ds-control-icon, var(--dimension-iconography-md));width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md));padding-inline:0;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background-color:var(--color-background-secondary);border:var(--dimension-stroke-width-015) solid var(--color-border-tertiary);border-bottom-width:var(--dimension-stroke-width-025);border-radius:var(--dimension-radius-025);color:var(--color-foreground-secondary)}.key-hint--wide.sc-ds-tooltip{width:calc(var(--ds-control-icon, var(--dimension-iconography-md)) * 1.5)}.key-hint__label.sc-ds-tooltip{display:inline-flex;width:max-content;min-width:max-content;font-family:var(--typography-font-family);font-size:var(--typography-fontsize-xs);line-height:1;font-weight:var(--typography-weight-regular);letter-spacing:0;text-transform:uppercase;color:inherit}.ds-control--xs.sc-ds-tooltip .key-hint__label.sc-ds-tooltip{font-size:calc(var(--typography-fontsize-xs) * 0.78)}.tooltip-popup.sc-ds-tooltip{box-sizing:border-box;background-color:var(--color-background-primary);border-radius:var(--ds-control-radius, var(--dimension-radius-025));box-shadow:var(--effect-elevation-elevated-floating);white-space:nowrap;pointer-events:none;animation:tooltipFadeIn var(--effect-motion-short-2) forwards;will-change:transform;backface-visibility:hidden}.tooltip-popup--instant.sc-ds-tooltip{animation:none;opacity:1}.tooltip-popup--closing.sc-ds-tooltip{animation:tooltipFadeOut var(--effect-motion-short-3) forwards}.tooltip-inner.sc-ds-tooltip{box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400));display:flex;align-items:center;gap:var(--ds-control-gap, var(--dimension-space-050));padding:0 var(--ds-control-padding-inline, var(--dimension-space-075))}.tooltip-inner.sc-ds-tooltip>ds-text.sc-ds-tooltip{flex-shrink:0;min-width:max-content;max-width:none;padding:0 var(--ds-control-label-inset, var(--dimension-space-025));color:var(--color-foreground-primary)}@keyframes tooltipFadeIn{from{opacity:0}to{opacity:1}}@keyframes tooltipFadeOut{from{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){.tooltip-popup.sc-ds-tooltip,.tooltip-popup--instant.sc-ds-tooltip{animation:none;opacity:1}.tooltip-popup--closing.sc-ds-tooltip{animation:none;opacity:0}}`;const y={md:a.size400,sm:a.size300,xs:a.size200};let b=0;let x=0;let w=null;function C(t){const i=document.createElement("ds-text");i.as="span";i.variant=t.variant;i.emphasis=t.emphasis??false;i.color=t.color??"inherit";if(t.wrap)i.wrap=t.wrap;i.textContent=t.text;return i}function k(t){t.style.flexShrink="0";t.style.minWidth="max-content";t.style.maxWidth="none";t.style.padding="0 var(--ds-control-label-inset, var(--dimension-space-025))";t.style.color="var(--color-foreground-primary)"}const P=t(class t extends i{constructor(t){super();if(t!==false){this.__registerHost()}this.size="md";this.side="top";this.align="center";this.sideOffset=d.space050;this.alignOffset=0;this.delay=a.animationDelayMedium3;this.shortcutKeyPosition="end";this.tooltipId=`ds-tooltip-${++x}`;this.delayTimer=null;this.closeTimer=null;this.anchor=null;this.popupEl=null;this.anchorObserver=null;this.position=new e({getAnchor:()=>this.anchor,getPopup:()=>this.popupEl,measure:(t,i)=>({anchorRect:t.getBoundingClientRect(),popupWidth:i.offsetWidth||this.tooltipFallbackWidthPx,popupHeight:i.offsetHeight||this.tooltipFallbackHeightPx,side:this.side,align:this.align,sideOffsetPx:this.sideOffsetPx,alignOffsetPx:this.alignOffsetPx,viewportPadPx:this.viewportPadPx,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight}),apply:({x:t,y:i,resolvedSide:o})=>{if(!this.popupEl)return;this.popupEl.dataset.side=o;this.popupEl.style.transform=`translate(${Math.round(t)}px, ${Math.round(i)}px)`},liveUpdate:"frame",observeResize:true});this.skipEnterAnimation=false;this.isOpen=false;this.lastInteractionWasKeyboard=false;this.pointerEnterHandler=t=>{if(t.pointerType==="touch")return;this.show()};this.pointerLeaveHandler=t=>{if(t.pointerType==="touch")return;this.hide()};this.pointerDownHandler=t=>{this.lastInteractionWasKeyboard=false;if(t.pointerType==="touch"&&(this.isOpen||this.popupEl))this.hideInstant()};this.keyDownHandler=()=>{this.lastInteractionWasKeyboard=true};this.focusHandler=()=>{if(this.lastInteractionWasKeyboard||this.anchor?.matches(":focus-visible"))this.show()};this.blurHandler=t=>{const i=t.relatedTarget;if(i&&this.anchor?.contains(i))return;this.hide()};this.escapeHandler=t=>{if(t.key!=="Escape"||!this.isOpen)return;t.preventDefault();this.hide()};this.handleSlotChange=()=>{const t=this.el.querySelector("slot");const i=t?.assignedElements?.()[0]??this.el.firstElementChild;if(i===this.anchor)return;if(this.isOpen||this.popupEl)this.hideInstant();this.unbindAnchor();this.bindAnchor()}}componentDidLoad(){this.bindAnchor();this.anchorObserver=new MutationObserver((()=>this.handleSlotChange()));this.anchorObserver.observe(this.el,{childList:true})}disconnectedCallback(){if(w===this)w=null;this.anchorObserver?.disconnect();this.anchorObserver=null;this.unbindAnchor();this.clearTimers();this.destroyPopup()}onContentOrPositionChange(){if(!this.label?.trim()){if(this.isOpen||this.popupEl)this.hideInstant();return}if(!this.popupEl||!this.isOpen)return;this.renderPopupContent();this.schedulePosition()}get viewportPadPx(){return l(a.space050,a.space050)}get sideOffsetPx(){return l(this.sideOffset,a.space050)}get alignOffsetPx(){return l(this.alignOffset,0)}get hoverDelayMs(){return c(this.delay,a.animationDelayMedium3)}get instantReopenMs(){return c(a.animationDurationMedium1,a.animationDurationMedium1)}get fadeOutMs(){return h(a.motionShort3,a.animationDurationShort3)}get tooltipFallbackWidthPx(){return l(a.tooltipFallbackWidth,a.tooltipFallbackWidth)}get tooltipFallbackHeightPx(){const t=y[this.size];return l(t,t)}bindAnchor(){const t=this.el.querySelector("slot");const i=t?.assignedElements?.()??[];const o=i[0]??this.el.firstElementChild;if(!o||o===this.anchor)return;this.anchor=o;o.addEventListener("pointerenter",this.pointerEnterHandler);o.addEventListener("pointerleave",this.pointerLeaveHandler);o.addEventListener("pointerdown",this.pointerDownHandler);o.addEventListener("keydown",this.keyDownHandler);o.addEventListener("focusin",this.focusHandler);o.addEventListener("focusout",this.blurHandler)}unbindAnchor(){if(!this.anchor)return;this.unlinkDescribedBy();this.anchor.removeEventListener("pointerenter",this.pointerEnterHandler);this.anchor.removeEventListener("pointerleave",this.pointerLeaveHandler);this.anchor.removeEventListener("pointerdown",this.pointerDownHandler);this.anchor.removeEventListener("keydown",this.keyDownHandler);this.anchor.removeEventListener("focusin",this.focusHandler);this.anchor.removeEventListener("focusout",this.blurHandler);this.anchor=null}linkDescribedBy(){if(!this.anchor||!this.popupEl)return;const t=new Set((this.anchor.getAttribute("aria-describedby")??"").split(/\s+/).filter(Boolean));t.add(this.tooltipId);this.anchor.setAttribute("aria-describedby",Array.from(t).join(" "))}unlinkDescribedBy(){if(!this.anchor)return;const t=(this.anchor.getAttribute("aria-describedby")??"").split(/\s+/).filter((t=>t&&t!==this.tooltipId));if(t.length)this.anchor.setAttribute("aria-describedby",t.join(" "));else this.anchor.removeAttribute("aria-describedby")}clearTimers(){if(this.delayTimer){clearTimeout(this.delayTimer);this.delayTimer=null}if(this.closeTimer){clearTimeout(this.closeTimer);this.closeTimer=null}}setupOpenListeners(){this.position.observe();document.addEventListener("keydown",this.escapeHandler)}teardownOpenListeners(){this.position.unobserve();document.removeEventListener("keydown",this.escapeHandler)}destroyPopup(){this.teardownOpenListeners();this.unlinkDescribedBy();if(!this.popupEl)return;this.popupEl.remove();this.popupEl=null}schedulePosition(){if(!this.popupEl)return;const t=()=>{const t=this.popupEl?.querySelector(":scope > .tooltip-inner > ds-text");if(t instanceof i)k(t)};requestAnimationFrame((()=>{t();this.position.update();requestAnimationFrame((()=>{t();this.position.update()}))}));this.position.observeResizeTargets()}hideInstant(){this.clearTimers();b=Date.now();if(w===this)w=null;this.destroyPopup();this.isOpen=false;this.skipEnterAnimation=false}show(){if(!this.label?.trim())return;this.clearTimers();let t=Date.now()-b<this.instantReopenMs;if(w&&w!==this){w.hideInstant();t=true}w=this;this.skipEnterAnimation=t;if(t){this.mountPopup();return}this.delayTimer=setTimeout((()=>{this.delayTimer=null;if(!this.label?.trim())return;this.mountPopup()}),this.hoverDelayMs)}hide(){this.clearTimers();if(!this.popupEl&&!this.isOpen)return;b=Date.now();if(!this.popupEl){this.isOpen=false;return}this.popupEl.classList.remove("tooltip-popup--instant");this.popupEl.classList.add("tooltip-popup--closing");if(this.fadeOutMs===0){if(w===this)w=null;this.destroyPopup();this.isOpen=false;this.skipEnterAnimation=false;return}this.closeTimer=setTimeout((()=>{this.closeTimer=null;if(w===this)w=null;this.destroyPopup();this.isOpen=false;this.skipEnterAnimation=false}),this.fadeOutMs)}mountPopup(){if(!this.popupEl){const t=document.createElement("div");t.id=this.tooltipId;t.setAttribute("role","tooltip");t.className="tooltip-popup sc-ds-tooltip";Object.assign(t.style,{position:"fixed",left:"0",top:"0",zIndex:"var(--dimension-z-index-tooltip)",pointerEvents:"none"});document.body.appendChild(t);this.popupEl=t}this.setupOpenListeners();this.linkDescribedBy();this.popupEl.classList.toggle("tooltip-popup--instant",this.skipEnterAnimation);this.popupEl.classList.remove("tooltip-popup--closing");this.renderPopupContent();this.schedulePosition();this.isOpen=true}renderPopupContent(){if(!this.popupEl)return;const t=p[this.size];const i=this.size==="md"?"ds-control--md":this.size==="sm"?"ds-control--sm":"ds-control--xs";const o="sc-ds-tooltip";const s=document.createElement("div");s.className=`tooltip-inner ${i} ${o}`;const n=t=>{if(!this.shortcutKey||this.shortcutKeyPosition!==t)return;const i=document.createElement("span");i.className=`key-hint-group ${o}`;i.setAttribute("aria-hidden","true");for(const t of g(this.shortcutKey)){const s=document.createElement("span");const n=Array.from(t).length>1?" key-hint--wide":"";s.className=`key-hint${n} ${o}`;const e=document.createElement("span");e.className=`key-hint__label ${o}`;e.textContent=t;s.appendChild(e);i.appendChild(s)}s.appendChild(i)};n("start");const e=C({variant:t,wrap:"nowrap",text:this.label});k(e);s.appendChild(e);n("end");this.popupEl.replaceChildren(s)}render(){return o(s,{key:"d36ba0c11ebe2c08c4422cb242189c5b851d7676",style:{display:"contents"}},o("slot",{key:"726a6ffedd85d23e544b4168eee6acaf63861d7a",onSlotchange:this.handleSlotChange}))}get el(){return this}static get watchers(){return{label:[{onContentOrPositionChange:0}],size:[{onContentOrPositionChange:0}],side:[{onContentOrPositionChange:0}],align:[{onContentOrPositionChange:0}],sideOffset:[{onContentOrPositionChange:0}],alignOffset:[{onContentOrPositionChange:0}],shortcutKey:[{onContentOrPositionChange:0}],shortcutKeyPosition:[{onContentOrPositionChange:0}]}}static get style(){return v()}},[262,"ds-tooltip",{label:[1],size:[1],side:[1],align:[1],sideOffset:[8,"side-offset"],alignOffset:[8,"align-offset"],delay:[8],shortcutKey:[1,"shortcut-key"],shortcutKeyPosition:[1,"shortcut-key-position"]},undefined,{label:[{onContentOrPositionChange:0}],size:[{onContentOrPositionChange:0}],side:[{onContentOrPositionChange:0}],align:[{onContentOrPositionChange:0}],sideOffset:[{onContentOrPositionChange:0}],alignOffset:[{onContentOrPositionChange:0}],shortcutKey:[{onContentOrPositionChange:0}],shortcutKeyPosition:[{onContentOrPositionChange:0}]}]);function O(){if(typeof customElements==="undefined"){return}const t=["ds-tooltip","ds-text"];t.forEach((t=>{switch(t){case"ds-tooltip":if(!customElements.get(n(t))){customElements.define(n(t),P)}break;case"ds-text":if(!customElements.get(n(t))){r()}break}}))}O();export{P as T,O as d};
2
+ //# sourceMappingURL=p-69lHhJiX.js.map
@@ -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","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","style","flexShrink","minWidth","maxWidth","padding","Tooltip","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","size","side","align","sideOffset","TOKEN_CSS_LENGTHS","space050","alignOffset","delay","animationDelayMedium3","shortcutKeyPosition","tooltipId","delayTimer","closeTimer","anchor","popupEl","anchorObserver","position","AnchoredPositionController","getAnchor","getPopup","measure","tip","anchorRect","getBoundingClientRect","popupWidth","offsetWidth","tooltipFallbackWidthPx","popupHeight","offsetHeight","tooltipFallbackHeightPx","sideOffsetPx","alignOffsetPx","viewportPadPx","viewportWidth","window","innerWidth","viewportHeight","innerHeight","apply","x","y","resolvedSide","dataset","transform","Math","round","liveUpdate","observeResize","skipEnterAnimation","isOpen","lastInteractionWasKeyboard","pointerEnterHandler","event","pointerType","show","pointerLeaveHandler","hide","pointerDownHandler","hideInstant","keyDownHandler","focusHandler","matches","blurHandler","e","next","relatedTarget","contains","escapeHandler","key","preventDefault","handleSlotChange","slot","querySelector","assignedElements","firstElementChild","unbindAnchor","bindAnchor","componentDidLoad","MutationObserver","observe","childList","disconnectedCallback","disconnect","clearTimers","destroyPopup","onContentOrPositionChange","renderPopupContent","schedulePosition","resolveCssLengthPx","hoverDelayMs","resolveCssTimeMs","instantReopenMs","animationDurationMedium1","fadeOutMs","resolveMotionTimeMs","motionShort3","animationDurationShort3","tooltipFallbackWidth","token","slotted","child","addEventListener","unlinkDescribedBy","removeEventListener","linkDescribedBy","ids","getAttribute","add","setAttribute","id","removeAttribute","clearTimeout","setupOpenListeners","teardownOpenListeners","unobserve","remove","reapplyLabelStyles","requestAnimationFrame","update","observeResizeTargets","Date","now","instant","mountPopup","setTimeout","classList","className","Object","assign","left","top","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/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.split('+').map(part => part.trim()).filter(Boolean).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","@import '../../utils/control-density.css';\n@import '../../utils/key-hint.css';\n\n.tooltip-popup {\n box-sizing: border-box;\n background-color: var(--color-background-primary);\n border-radius: var(--ds-control-radius, 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@keyframes tooltipFadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n@keyframes tooltipFadeOut {\n from { opacity: 1; }\n to { opacity: 0; }\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","import { Component, Prop, Element, 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';\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) {\n el.style.flexShrink = '0';\n el.style.minWidth = 'max-content';\n el.style.maxWidth = 'none';\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 /**\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 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 readonly position = new AnchoredPositionController({\n getAnchor: () => this.anchor,\n getPopup: () => this.popupEl,\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 }),\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 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 componentDidLoad() {\n this.bindAnchor();\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('shortcutKey')\n @Watch('shortcutKeyPosition')\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(TOKEN_DEFAULTS.tooltipFallbackWidth, TOKEN_DEFAULTS.tooltipFallbackWidth);\n }\n\n private get tooltipFallbackHeightPx(): number {\n const token = FALLBACK_HEIGHT[this.size];\n return resolveCssLengthPx(token, token);\n }\n\n private bindAnchor() {\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 === 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 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 this.anchor = null;\n }\n\n private linkDescribedBy() {\n if (!this.anchor || !this.popupEl) return;\n const ids = new Set((this.anchor.getAttribute('aria-describedby') ?? '').split(/\\s+/).filter(Boolean));\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 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) return;\n if (this.isOpen || this.popupEl) this.hideInstant();\n this.unbindAnchor();\n this.bindAnchor();\n };\n\n private clearTimers() {\n if (this.delayTimer) { clearTimeout(this.delayTimer); this.delayTimer = null; }\n if (this.closeTimer) { clearTimeout(this.closeTimer); this.closeTimer = null; }\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);\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 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.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 const textVariant = CONTROL_TEXT_VARIANT[this.size];\n const density =\n this.size === 'md' ? 'ds-control--md' : this.size === 'sm' ? 'ds-control--sm' : '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({ variant: textVariant, wrap: 'nowrap', text: this.label });\n styleTooltipLabel(label);\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":[]}
@@ -0,0 +1,2 @@
1
+ import{p as e,H as s,c as i,h as a,a as d,t as o}from"./index.js";import{g as r}from"./p-BQq26pt9.js";import{d as t}from"./p-BFRMwl93.js";import{d as n}from"./p-B6vE3ujd.js";import{d as c}from"./p-CsX3ICz7.js";import{d as h}from"./p-Utr23NC-.js";import{d as m}from"./p-Re2kPrXm.js";import{d as l}from"./p-CPwpgUWT.js";const b=()=>`.ds-chrome-space--sm.sc-ds-mobile-header-h,.ds-chrome-space--sm.sc-ds-mobile-header{--ds-chrome-padding:var(--dimension-space-050);--ds-chrome-gap:var(--dimension-space-050)}.ds-chrome-space--md.sc-ds-mobile-header-h,.ds-chrome-space--md.sc-ds-mobile-header{--ds-chrome-padding:var(--dimension-space-100);--ds-chrome-gap:var(--dimension-space-100)}.ds-chrome-space--lg.sc-ds-mobile-header-h,.ds-chrome-space--lg.sc-ds-mobile-header{--ds-chrome-padding:var(--dimension-space-200);--ds-chrome-gap:var(--dimension-space-200)}.ds-chrome-row.sc-ds-mobile-header-h,.ds-chrome-row.sc-ds-mobile-header,.ds-chrome-column.sc-ds-mobile-header-h,.ds-chrome-column.sc-ds-mobile-header,.ds-chrome-grid.sc-ds-mobile-header-h,.ds-chrome-grid.sc-ds-mobile-header{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-mobile-header-h,.ds-chrome-row.sc-ds-mobile-header{flex-direction:row;align-items:center}.ds-chrome-column.sc-ds-mobile-header-h,.ds-chrome-column.sc-ds-mobile-header{flex-direction:column}.ds-chrome-grid.sc-ds-mobile-header-h,.ds-chrome-grid.sc-ds-mobile-header{display:grid;align-items:center}.sc-ds-mobile-header-h{display:block;min-width:0;box-sizing:border-box;background:var(--color-background-primary);color:var(--color-foreground-primary)}[tone='brand'].sc-ds-mobile-header-h{background:var(--color-background-bold-brand);color:var(--color-foreground-on-bold)}.mobile-header.sc-ds-mobile-header{position:relative;display:flex;flex-direction:column;width:100%;min-width:0;box-sizing:border-box;background:inherit;color:inherit}.mobile-header__primary.sc-ds-mobile-header{grid-template-columns:minmax(var(--dimension-size-400), 1fr) minmax(0, auto) minmax(var(--dimension-size-400), 1fr);width:100%;height:var(--dimension-size-600);min-width:0;background:inherit;color:inherit}.sc-ds-mobile-header-h:not([tone='brand']) .mobile-header.sc-ds-mobile-header::after{content:'';position:absolute;inset-inline:0;inset-block-end:0;height:var(--dimension-stroke-width-012);background:var(--color-border-tertiary);pointer-events:none}.mobile-header__subsections.sc-ds-mobile-header{display:flex;align-items:center;justify-content:center;min-width:0;height:var(--dimension-size-600);padding:var(--dimension-space-100) var(--dimension-space-200);box-sizing:border-box}.mobile-header__subsections.sc-ds-mobile-header ds-mobile-section-switcher.sc-ds-mobile-header{min-width:0;max-width:100%}.mobile-header__lane.sc-ds-mobile-header{display:flex;align-items:center;gap:var(--dimension-space-050);min-width:0}.mobile-header__lane--leading.sc-ds-mobile-header{justify-content:flex-start}.mobile-header__lane--trailing.sc-ds-mobile-header{justify-content:flex-end}.mobile-header__center.sc-ds-mobile-header{position:relative;min-width:0;max-width:100%;justify-self:center}.mobile-header__heading.sc-ds-mobile-header{display:block;min-width:0;max-width:100%;text-align:center}.mobile-header__semantic-heading.sc-ds-mobile-header{position:absolute;width:var(--dimension-stroke-width-012);height:var(--dimension-stroke-width-012);padding:0;margin:calc(var(--dimension-stroke-width-012) * -1);overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sc-ds-mobile-header-s>[slot='leading'],.sc-ds-mobile-header-s>[slot='trailing']{flex:0 0 auto}`;const p=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.dsSectionChange=i(this,"dsSectionChange");this.dsSubsectionChange=i(this,"dsSubsectionChange");this.heading="";this.headingLevel="h1";this.sections=[];this.sectionsJson="";this.value="";this.sectionsAriaLabel="Change page section";this.subsections=[];this.subsectionsJson="";this.subvalue="";this.subsectionsAriaLabel="Change page subsection";this.tone="default";this.handleSectionChange=e=>{e.stopPropagation();this.dsSectionChange.emit(e.detail)};this.handleSubsectionChange=e=>{e.stopPropagation();this.dsSubsectionChange.emit(e.detail)}}parseSections(e,s){if(!s.trim())return e??[];try{const e=JSON.parse(s);return Array.isArray(e)?e:[]}catch{return[]}}get resolvedSections(){return this.parseSections(this.sections,this.sectionsJson)}get resolvedSubsections(){return this.parseSections(this.subsections,this.subsectionsJson)}get selectedLabel(){const e=r(this.resolvedSections);return e.find((e=>e.id===this.value))?.label??e[0]?.label??this.heading}render(){const e=this.headingLevel;const s=r(this.resolvedSections);const i=s.length>1;const o=r(this.resolvedSubsections).length>1;const t=this.tone==="brand"?"on-bold":"primary";return a(d,{key:"899bddd23a54efaf9d21e17a864ad950728e3daf"},a("header",{key:"167bfd89d0c6b9c43bd82abea6f731cde099e2e5",class:"mobile-header"},a("div",{key:"f9992815de3a6201e26ac1a01070c104694c12d3",class:"mobile-header__primary ds-chrome-grid ds-chrome-space--md"},a("div",{key:"fa4ae4ccf139a34631f3f84c0df3fe642414debf",class:"mobile-header__lane mobile-header__lane--leading"},a("slot",{key:"9151d29b8989123d94293a5bf0cbc69a59402909",name:"leading"})),a("div",{key:"818d22d7b54063fcadbafb6a93cb388386e73c4f",class:"mobile-header__center"},i?[a("span",{class:"mobile-header__semantic-heading",role:"heading","aria-level":this.headingLevel==="h1"?"1":"2"},this.selectedLabel),a("ds-mobile-section-switcher",{sections:this.resolvedSections,value:this.value,navigationLabel:this.sectionsAriaLabel,onDsChange:this.handleSectionChange})]:a("ds-text",{class:"mobile-header__heading",as:e,variant:"text-body-medium",emphasis:true,color:t,lineTruncation:1},this.selectedLabel)),a("div",{key:"f0bf95b75a20ce2e8a0cc3679c6adc1c1271a6ce",class:"mobile-header__lane mobile-header__lane--trailing"},a("slot",{key:"3d0a26ea692eafce9f130bfea6224a9a10dd5cbc",name:"trailing"}))),o?a("nav",{class:"mobile-header__subsections","aria-label":this.subsectionsAriaLabel},a("ds-mobile-section-switcher",{sections:this.resolvedSubsections,value:this.subvalue,navigationLabel:this.subsectionsAriaLabel,onDsChange:this.handleSubsectionChange})):null))}static get style(){return b()}},[262,"ds-mobile-header",{heading:[1],headingLevel:[1,"heading-level"],sections:[16],sectionsJson:[1,"sections-json"],value:[1],sectionsAriaLabel:[1,"sections-aria-label"],subsections:[16],subsectionsJson:[1,"subsections-json"],subvalue:[1],subsectionsAriaLabel:[1,"subsections-aria-label"],tone:[513]}]);function g(){if(typeof customElements==="undefined"){return}const e=["ds-mobile-header","ds-badge","ds-menu","ds-mobile-section-switcher","ds-swatch-picker","ds-switch","ds-text"];e.forEach((e=>{switch(e){case"ds-mobile-header":if(!customElements.get(o(e))){customElements.define(o(e),p)}break;case"ds-badge":if(!customElements.get(o(e))){t()}break;case"ds-menu":if(!customElements.get(o(e))){n()}break;case"ds-mobile-section-switcher":if(!customElements.get(o(e))){c()}break;case"ds-swatch-picker":if(!customElements.get(o(e))){h()}break;case"ds-switch":if(!customElements.get(o(e))){m()}break;case"ds-text":if(!customElements.get(o(e))){l()}break}}))}g();export{p as M,g as d};
2
+ //# sourceMappingURL=p-B6NvVdeO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mobileHeaderCss","MobileHeader","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","heading","headingLevel","sections","sectionsJson","value","sectionsAriaLabel","subsections","subsectionsJson","subvalue","subsectionsAriaLabel","tone","handleSectionChange","event","stopPropagation","dsSectionChange","emit","detail","handleSubsectionChange","dsSubsectionChange","parseSections","json","trim","parsed","JSON","parse","Array","isArray","resolvedSections","resolvedSubsections","selectedLabel","selectable","getSelectableTabs","find","section","id","label","render","Heading","hasSwitcher","length","hasSubsections","foreground","h","Host","key","class","name","role","navigationLabel","onDsChange","as","variant","emphasis","color","lineTruncation"],"sources":["src/wc/components/MobileHeader/MobileHeader.css?tag=ds-mobile-header&encapsulation=scoped","src/wc/components/MobileHeader/MobileHeader.tsx"],"sourcesContent":["@import '../../utils/chrome-layout.css';\n\n:host {\n display: block;\n min-width: 0;\n box-sizing: border-box;\n background: var(--color-background-primary);\n color: var(--color-foreground-primary);\n}\n\n:host([tone='brand']) {\n background: var(--color-background-bold-brand);\n color: var(--color-foreground-on-bold);\n}\n\n.mobile-header {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n background: inherit;\n color: inherit;\n}\n\n.mobile-header__primary {\n grid-template-columns: minmax(var(--dimension-size-400), 1fr) minmax(0, auto) minmax(var(--dimension-size-400), 1fr);\n width: 100%;\n height: var(--dimension-size-600);\n min-width: 0;\n background: inherit;\n color: inherit;\n}\n\n:host(:not([tone='brand'])) .mobile-header::after {\n content: '';\n position: absolute;\n inset-inline: 0;\n inset-block-end: 0;\n height: var(--dimension-stroke-width-012);\n background: var(--color-border-tertiary);\n pointer-events: none;\n}\n\n.mobile-header__subsections {\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 0;\n height: var(--dimension-size-600);\n padding: var(--dimension-space-100) var(--dimension-space-200);\n box-sizing: border-box;\n}\n\n.mobile-header__subsections ds-mobile-section-switcher {\n min-width: 0;\n max-width: 100%;\n}\n\n.mobile-header__lane {\n display: flex;\n align-items: center;\n gap: var(--dimension-space-050);\n min-width: 0;\n}\n\n.mobile-header__lane--leading {\n justify-content: flex-start;\n}\n\n.mobile-header__lane--trailing {\n justify-content: flex-end;\n}\n\n.mobile-header__center {\n position: relative;\n min-width: 0;\n max-width: 100%;\n justify-self: center;\n}\n\n.mobile-header__heading {\n display: block;\n min-width: 0;\n max-width: 100%;\n text-align: center;\n}\n\n.mobile-header__semantic-heading {\n position: absolute;\n width: var(--dimension-stroke-width-012);\n height: var(--dimension-stroke-width-012);\n padding: 0;\n margin: calc(var(--dimension-stroke-width-012) * -1);\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n::slotted([slot='leading']),\n::slotted([slot='trailing']) {\n flex: 0 0 auto;\n}\n","import { Component, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\nimport { getSelectableTabs, type TabItem } from '../TabGroup/tab-item-utils';\nimport type {\n MobileHeaderHeadingLevel,\n MobileHeaderTone,\n} from './mobile-header-types';\n\n@Component({\n tag: 'ds-mobile-header',\n styleUrl: 'MobileHeader.css',\n scoped: true,\n})\nexport class MobileHeader {\n /** Static title used when no peer sections are supplied. */\n @Prop() heading: string = '';\n /** Semantic heading level for the active mobile screen. */\n @Prop() headingLevel: MobileHeaderHeadingLevel = 'h1';\n /** Controlled peer sections. Their selected label replaces the static title. */\n @Prop() sections: TabItem[] = [];\n /** JSON fallback for `sections`. */\n @Prop({ attribute: 'sections-json' }) sectionsJson: string = '';\n /** Controlled selected section id. */\n @Prop() value: string = '';\n /** Accessible name for the section chooser. */\n @Prop() sectionsAriaLabel: string = 'Change page section';\n /** Controlled child sections within the selected page or detail screen. */\n @Prop() subsections: TabItem[] = [];\n /** JSON fallback for `subsections`. */\n @Prop({ attribute: 'subsections-json' }) subsectionsJson: string = '';\n /** Controlled selected child-section id. */\n @Prop() subvalue: string = '';\n /** Accessible name for the child-section chooser. */\n @Prop() subsectionsAriaLabel: string = 'Change page subsection';\n /** Default page chrome or bold-brand workflow chrome. */\n @Prop({ reflect: true }) tone: MobileHeaderTone = 'default';\n\n /** Section selection intent. */\n @Event() dsSectionChange!: EventEmitter<string>;\n /** Child-section selection intent. */\n @Event() dsSubsectionChange!: EventEmitter<string>;\n\n private parseSections(value: TabItem[], json: string): TabItem[] {\n if (!json.trim()) return value ?? [];\n try {\n const parsed = JSON.parse(json);\n return Array.isArray(parsed) ? (parsed as TabItem[]) : [];\n } catch {\n return [];\n }\n }\n\n private get resolvedSections(): TabItem[] {\n return this.parseSections(this.sections, this.sectionsJson);\n }\n\n private get resolvedSubsections(): TabItem[] {\n return this.parseSections(this.subsections, this.subsectionsJson);\n }\n\n private get selectedLabel(): string {\n const selectable = getSelectableTabs(this.resolvedSections);\n return selectable.find(section => section.id === this.value)?.label ??\n selectable[0]?.label ??\n this.heading;\n }\n\n private handleSectionChange = (event: CustomEvent<string>) => {\n event.stopPropagation();\n this.dsSectionChange.emit(event.detail);\n };\n\n private handleSubsectionChange = (event: CustomEvent<string>) => {\n event.stopPropagation();\n this.dsSubsectionChange.emit(event.detail);\n };\n\n render() {\n const Heading = this.headingLevel;\n const selectable = getSelectableTabs(this.resolvedSections);\n const hasSwitcher = selectable.length > 1;\n const hasSubsections = getSelectableTabs(this.resolvedSubsections).length > 1;\n const foreground = this.tone === 'brand' ? 'on-bold' : 'primary';\n\n return (\n <Host>\n <header class=\"mobile-header\">\n <div class=\"mobile-header__primary ds-chrome-grid ds-chrome-space--md\">\n <div class=\"mobile-header__lane mobile-header__lane--leading\">\n <slot name=\"leading\" />\n </div>\n <div class=\"mobile-header__center\">\n {hasSwitcher ? (\n [\n <span\n class=\"mobile-header__semantic-heading\"\n role=\"heading\"\n aria-level={this.headingLevel === 'h1' ? '1' : '2'}\n >\n {this.selectedLabel}\n </span>,\n <ds-mobile-section-switcher\n sections={this.resolvedSections}\n value={this.value}\n navigationLabel={this.sectionsAriaLabel}\n onDsChange={this.handleSectionChange}\n />,\n ]\n ) : (\n <ds-text\n class=\"mobile-header__heading\"\n as={Heading}\n variant=\"text-body-medium\"\n emphasis\n color={foreground}\n lineTruncation={1}\n >\n {this.selectedLabel}\n </ds-text>\n )}\n </div>\n <div class=\"mobile-header__lane mobile-header__lane--trailing\">\n <slot name=\"trailing\" />\n </div>\n </div>\n {hasSubsections ? (\n <nav class=\"mobile-header__subsections\" aria-label={this.subsectionsAriaLabel}>\n <ds-mobile-section-switcher\n sections={this.resolvedSubsections}\n value={this.subvalue}\n navigationLabel={this.subsectionsAriaLabel}\n onDsChange={this.handleSubsectionChange}\n />\n </nav>\n ) : null}\n </header>\n </Host>\n );\n }\n}\n"],"mappings":"8TAAA,MAAMA,EAAkB,IAAM,+xG,MCYjBC,EAAYC,EAAA,MAAAD,UAAAE,EALzB,WAAAC,CAAAC,G,gJAOUC,KAAAC,QAAkB,GAElBD,KAAAE,aAAyC,KAEzCF,KAAAG,SAAsB,GAEQH,KAAAI,aAAuB,GAErDJ,KAAAK,MAAgB,GAEhBL,KAAAM,kBAA4B,sBAE5BN,KAAAO,YAAyB,GAEQP,KAAAQ,gBAA0B,GAE3DR,KAAAS,SAAmB,GAEnBT,KAAAU,qBAA+B,yBAEdV,KAAAW,KAAyB,UAgC1CX,KAAAY,oBAAuBC,IAC7BA,EAAMC,kBACNd,KAAKe,gBAAgBC,KAAKH,EAAMI,OAAO,EAGjCjB,KAAAkB,uBAA0BL,IAChCA,EAAMC,kBACNd,KAAKmB,mBAAmBH,KAAKH,EAAMI,OAAO,CAiE7C,CAjGS,aAAAG,CAAcf,EAAkBgB,GACtC,IAAKA,EAAKC,OAAQ,OAAOjB,GAAS,GAClC,IACE,MAAMkB,EAASC,KAAKC,MAAMJ,GAC1B,OAAOK,MAAMC,QAAQJ,GAAWA,EAAuB,E,CACvD,MACA,MAAO,E,EAIX,oBAAYK,GACV,OAAO5B,KAAKoB,cAAcpB,KAAKG,SAAUH,KAAKI,a,CAGhD,uBAAYyB,GACV,OAAO7B,KAAKoB,cAAcpB,KAAKO,YAAaP,KAAKQ,gB,CAGnD,iBAAYsB,GACV,MAAMC,EAAaC,EAAkBhC,KAAK4B,kBAC1C,OAAOG,EAAWE,MAAKC,GAAWA,EAAQC,KAAOnC,KAAKK,SAAQ+B,OAC5DL,EAAW,IAAIK,OACfpC,KAAKC,O,CAaT,MAAAoC,GACE,MAAMC,EAAUtC,KAAKE,aACrB,MAAM6B,EAAaC,EAAkBhC,KAAK4B,kBAC1C,MAAMW,EAAcR,EAAWS,OAAS,EACxC,MAAMC,EAAiBT,EAAkBhC,KAAK6B,qBAAqBW,OAAS,EAC5E,MAAME,EAAa1C,KAAKW,OAAS,QAAU,UAAY,UAEvD,OACEgC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,UAAAE,IAAA,2CAAQC,MAAM,iBACZH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,6DACTH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,oDACTH,EAAA,QAAAE,IAAA,2CAAME,KAAK,aAEbJ,EAAA,OAAAE,IAAA,2CAAKC,MAAM,yBACRP,EAAW,CAERI,EAAA,QACEG,MAAM,kCACNE,KAAK,UAAS,aACFhD,KAAKE,eAAiB,KAAO,IAAM,KAE9CF,KAAK8B,eAERa,EAAA,8BACExC,SAAUH,KAAK4B,iBACfvB,MAAOL,KAAKK,MACZ4C,gBAAiBjD,KAAKM,kBACtB4C,WAAYlD,KAAKY,uBAIrB+B,EAAA,WACEG,MAAM,yBACNK,GAAIb,EACJc,QAAQ,mBACRC,SAAQ,KACRC,MAAOZ,EACPa,eAAgB,GAEfvD,KAAK8B,gBAIZa,EAAA,OAAAE,IAAA,2CAAKC,MAAM,qDACTH,EAAA,QAAAE,IAAA,2CAAME,KAAK,eAGdN,EACCE,EAAA,OAAKG,MAAM,6BAA4B,aAAa9C,KAAKU,sBACvDiC,EAAA,8BACExC,SAAUH,KAAK6B,oBACfxB,MAAOL,KAAKS,SACZwC,gBAAiBjD,KAAKU,qBACtBwC,WAAYlD,KAAKkB,0BAGnB,M","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ function n(n,t){const r=n.trim().split(/\s+/)[0]??"";const e=parseFloat(r);if(Number.isNaN(e))return t;if(/ms\s*$/.test(r))return e;if(/s\s*$/.test(r))return e*1e3;return e}function t(n){const t=n.match(/^var\(\s*(--[^),]+)/);if(t)return t[1].trim();if(n.startsWith("--"))return n.trim();return null}function r(r,e){if(typeof document==="undefined")return e;const u=t(r);if(!u)return n(r,e);const o=getComputedStyle(document.documentElement).getPropertyValue(u).trim();return n(o,e)}function e(e,u){if(typeof e==="number")return e;const o=typeof e==="string"&&e.trim()?e.trim():u;const f=t(o);if(f){return r(o,r(u,200))}return n(o,r(u,200))}function u(){return typeof window!=="undefined"&&typeof window.matchMedia==="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}function o(n,t){return u()?0:e(n,t)}export{o as a,u as b,n as p,e as r};
2
+ //# sourceMappingURL=p-B6Vuayt6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["parseCssTimeMs","value","fallback","firstToken","trim","split","num","parseFloat","Number","isNaN","test","extractCssCustomProp","ref","varMatch","match","startsWith","readTokenTimeMs","token","document","prop","raw","getComputedStyle","documentElement","getPropertyValue","resolveCssTimeMs","fallbackToken","prefersReducedMotion","window","matchMedia","matches","resolveMotionTimeMs"],"sources":["src/wc/utils/resolve-css-time-ms.ts"],"sourcesContent":["/** Parse a CSS <time> value (or motion shorthand's first token) to milliseconds. */\nexport function parseCssTimeMs(value: string, fallback: number): number {\n const firstToken = value.trim().split(/\\s+/)[0] ?? '';\n const num = parseFloat(firstToken);\n if (Number.isNaN(num)) return fallback;\n if (/ms\\s*$/.test(firstToken)) return num;\n if (/s\\s*$/.test(firstToken)) return num * 1000;\n return num;\n}\n\nfunction extractCssCustomProp(ref: string): string | null {\n const varMatch = ref.match(/^var\\(\\s*(--[^),]+)/);\n if (varMatch) return varMatch[1].trim();\n if (ref.startsWith('--')) return ref.trim();\n return null;\n}\n\nfunction readTokenTimeMs(token: string, fallback: number): number {\n if (typeof document === 'undefined') return fallback;\n\n const prop = extractCssCustomProp(token);\n if (!prop) return parseCssTimeMs(token, fallback);\n\n const raw = getComputedStyle(document.documentElement).getPropertyValue(prop).trim();\n return parseCssTimeMs(raw, fallback);\n}\n\n/**\n * Resolve a duration to milliseconds for JS timers aligned with CSS motion tokens.\n * Accepts numbers (ms), raw times (`200ms`, `0.75s`), or `var(--effect-*)` references.\n */\nexport function resolveCssTimeMs(\n value: number | string | undefined,\n fallbackToken: string,\n): number {\n if (typeof value === 'number') return value;\n\n const token = typeof value === 'string' && value.trim() ? value.trim() : fallbackToken;\n const prop = extractCssCustomProp(token);\n\n if (prop) {\n return readTokenTimeMs(token, readTokenTimeMs(fallbackToken, 200));\n }\n\n return parseCssTimeMs(token, readTokenTimeMs(fallbackToken, 200));\n}\n\n/** Whether the user has requested reduced non-essential motion. */\nexport function prefersReducedMotion(): boolean {\n return typeof window !== 'undefined' &&\n typeof window.matchMedia === 'function' &&\n window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n}\n\n/**\n * Resolve an animation-coupled duration. Returns zero under reduced motion so\n * JS cleanup stays synchronized with CSS that removes the corresponding motion.\n */\nexport function resolveMotionTimeMs(\n value: number | string | undefined,\n fallbackToken: string,\n): number {\n return prefersReducedMotion() ? 0 : resolveCssTimeMs(value, fallbackToken);\n}\n"],"mappings":"AACM,SAAUA,EAAeC,EAAeC,GAC5C,MAAMC,EAAaF,EAAMG,OAAOC,MAAM,OAAO,IAAM,GACnD,MAAMC,EAAMC,WAAWJ,GACvB,GAAIK,OAAOC,MAAMH,GAAM,OAAOJ,EAC9B,GAAI,SAASQ,KAAKP,GAAa,OAAOG,EACtC,GAAI,QAAQI,KAAKP,GAAa,OAAOG,EAAM,IAC3C,OAAOA,CACT,CAEA,SAASK,EAAqBC,GAC5B,MAAMC,EAAWD,EAAIE,MAAM,uBAC3B,GAAID,EAAU,OAAOA,EAAS,GAAGT,OACjC,GAAIQ,EAAIG,WAAW,MAAO,OAAOH,EAAIR,OACrC,OAAO,IACT,CAEA,SAASY,EAAgBC,EAAef,GACtC,UAAWgB,WAAa,YAAa,OAAOhB,EAE5C,MAAMiB,EAAOR,EAAqBM,GAClC,IAAKE,EAAM,OAAOnB,EAAeiB,EAAOf,GAExC,MAAMkB,EAAMC,iBAAiBH,SAASI,iBAAiBC,iBAAiBJ,GAAMf,OAC9E,OAAOJ,EAAeoB,EAAKlB,EAC7B,CAMM,SAAUsB,EACdvB,EACAwB,GAEA,UAAWxB,IAAU,SAAU,OAAOA,EAEtC,MAAMgB,SAAehB,IAAU,UAAYA,EAAMG,OAASH,EAAMG,OAASqB,EACzE,MAAMN,EAAOR,EAAqBM,GAElC,GAAIE,EAAM,CACR,OAAOH,EAAgBC,EAAOD,EAAgBS,EAAe,K,CAG/D,OAAOzB,EAAeiB,EAAOD,EAAgBS,EAAe,KAC9D,C,SAGgBC,IACd,cAAcC,SAAW,oBAChBA,OAAOC,aAAe,YAC7BD,OAAOC,WAAW,oCAAoCC,OAC1D,CAMM,SAAUC,EACd7B,EACAwB,GAEA,OAAOC,IAAyB,EAAIF,EAAiBvB,EAAOwB,EAC9D,Q","ignoreList":[]}
@@ -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}from"./p-By_s1wNN.js";import{s as c}from"./p-D1HFMTdC.js";import{d}from"./p-BFRMwl93.js";import{d as a}from"./p-Utr23NC-.js";import{d as l}from"./p-Re2kPrXm.js";import{d as h}from"./p-CPwpgUWT.js";import{a as u,T as m}from"./p-BBePKRHC.js";import{c as f,r as p}from"./p-DhKvqh5G.js";import{r as v}from"./p-BJMRBHKW.js";import{a as g}from"./p-B6Vuayt6.js";import{a as b,C as x}from"./p-CuwopElg.js";function w(e){return"variant"in e&&e.variant==="gradient-picker"}function y(e){return"variant"in e&&e.variant==="swatch-picker"}function k(e){return w(e)||y(e)}const _=()=>`.sc-ds-menu-h{--ds-focus-ring-width:var(--dimension-stroke-width-025, 2px);--ds-focus-ring-offset:var(--dimension-space-025, 2px);--ds-focus-ring-color:var(--color-interaction-focus)}.ds-focus-ring.sc-ds-menu-h,.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))}.ds-interaction-fill.sc-ds-menu-h,.ds-interaction-fill.sc-ds-menu{position:relative;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-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 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.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);--ds-focus-ring-color:var(--color-translucent-interaction-focus)}.ds-interaction-fill--on-inverted.sc-ds-menu-h,.ds-interaction-fill--on-inverted.sc-ds-menu{--ds-interaction-hover:var(--color-inverted-interaction-hover);--ds-interaction-pressed:var(--color-inverted-interaction-pressed);--ds-interaction-active:var(--color-inverted-interaction-active);--ds-focus-ring-color:var(--color-inverted-interaction-focus)}.ds-interaction-fill--on-media.sc-ds-menu-h,.ds-interaction-fill--on-media.sc-ds-menu{--ds-interaction-hover:var(--color-media-interaction-hover);--ds-interaction-pressed:var(--color-media-interaction-pressed);--ds-interaction-active:var(--color-media-interaction-active);--ds-focus-ring-color:var(--color-media-interaction-focus)}.ds-interaction-fill--on-always-dark.sc-ds-menu-h,.ds-interaction-fill--on-always-dark.sc-ds-menu{--ds-interaction-hover:var(--color-always-dark-interaction-hover);--ds-interaction-pressed:var(--color-always-dark-interaction-pressed);--ds-interaction-active:var(--color-always-dark-interaction-active);--ds-focus-ring-color:var(--color-always-dark-interaction-focus)}.ds-interaction-fill--on-navigation.sc-ds-menu-h,.ds-interaction-fill--on-navigation.sc-ds-menu{--ds-interaction-hover:var(--color-navigation-interaction-hover);--ds-interaction-pressed:var(--color-navigation-interaction-pressed);--ds-interaction-active:var(--color-navigation-interaction-active);--ds-focus-ring-color:var(--color-navigation-interaction-focus)}.ds-control-inactive.sc-ds-menu-h,.ds-control-inactive.sc-ds-menu{opacity:0.5;pointer-events:none;cursor:not-allowed}.ds-control--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(--dimension-radius-025)}.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-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-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)}.ds-choice-popup.sc-ds-menu{box-sizing:border-box;display:flex;flex-direction:column;min-width:var(--dimension-menu-width-xs);max-width:min( var(--dimension-panel-width-lg), calc(100vw - var(--dimension-space-200)) );max-height:calc(100vh - var(--dimension-space-200));overflow:hidden;inset:auto;margin:0;padding:0;border:0;background-color:var(--color-background-primary);border-radius:var(--dimension-radius-075);box-shadow:var(--effect-shadow-elevated-floating);animation:dsChoiceFadeIn var(--effect-motion-short-2) forwards;backface-visibility:hidden;will-change:transform;text-align:start}.ds-choice-popup.sc-ds-menu::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:var(--effect-highlight-elevated-floating)}.ds-choice-popup--closing.sc-ds-menu{animation:dsChoiceFadeOut var(--effect-motion-short-2) forwards}@keyframes dsChoiceFadeIn{from{opacity:0;transform:inherit scale(0.97)}to{opacity:1}}@keyframes dsChoiceFadeOut{from{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){.ds-choice-popup.sc-ds-menu{animation:none;opacity:1}.ds-choice-popup--closing.sc-ds-menu{opacity:0}}.ds-choice-list.sc-ds-menu{display:flex;flex-direction:column;min-height:0;overflow-y:auto;overscroll-behavior:contain}.ds-choice-section--divided.sc-ds-menu{border-bottom:var(--dimension-stroke-width-015) solid var(--color-border-tertiary)}ds-text.ds-choice-section__header.sc-ds-menu{display:flex;align-items:center;box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400));padding:0 calc( var(--ds-control-padding-inline, var(--dimension-space-075)) + var(--ds-control-label-inset, var(--dimension-space-025)) );text-align:start;-webkit-user-select:none;user-select:none}.ds-choice-item.sc-ds-menu{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__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-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;box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400))}.ds-choice-footer__summary.sc-ds-menu,.ds-choice-footer__clear.sc-ds-menu ds-text.sc-ds-menu{padding-inline:calc( var(--dimension-space-050) + var(--ds-control-padding-inline, var(--dimension-space-075)) + var(--ds-control-label-inset, var(--dimension-space-025)) )}.ds-choice-footer__clear.sc-ds-menu{appearance:none;display:inline-flex;align-items:center;padding:0;border:0;border-radius:var(--dimension-radius-025);background:transparent;color:var(--color-foreground-bold-brand);cursor:default}.ds-choice-footer__clear.sc-ds-menu:hover{text-decoration:underline;text-decoration-color:var(--color-foreground-tertiary)}.menu-item--destructive.sc-ds-menu .menu-item__label.sc-ds-menu{color:var(--color-foreground-bold-negative) !important}.menu-item__dot-box.sc-ds-menu{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md));pointer-events:none}.menu-item__switch.sc-ds-menu{flex-shrink:0}`;const P=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(",");function C(e){return e.map((e=>{if(w(e))return{...e};if(y(e)){return{...e,options:e.options?.map((e=>({...e}))),sections:e.sections?.map((e=>({...e,options:e.options.map((e=>({...e})))})))}}return{...e,items:e.items.map((e=>({...e})))}}))}const z=e(class e extends i{constructor(e){super();if(e!==false){this.__registerHost()}this.dsClose=s(this,"dsClose");this.dsAfterClose=s(this,"dsAfterClose");this.dsSelect=s(this,"dsSelect");this.dsGradientSelect=s(this,"dsGradientSelect");this.dsSwatchSelect=s(this,"dsSwatchSelect");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=u.space050;this.alignOffset=0;this.initialFocusVisible=false;this.menuLabel="Menu";this.shouldRender=false;this.closing=false;this.pos={x:0,y:0};this.focusedIndex=0;this.positionReady=false;this.focusRingVisible=false;this.clickOutsideHandler=null;this.closeTimer=null;this.position=new r({getAnchor:()=>this.resolvedAnchor??null,getPopup:()=>this.el.querySelector(".menu-popup"),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), ${f(s.width,n)}px)`}else{i.style.removeProperty("min-width")}}return{anchorRect:s,popupWidth:i.offsetWidth||this.popupFallbackWidthPx,popupHeight:i.offsetHeight||this.popupFallbackHeightPx,side:this.side,align:this.align,sideOffsetPx:this.sideOffsetPx,alignOffsetPx:p({align:this.align,alignOffsetPx:this.alignOffsetPx,sectionInsetPx:n,anchorAlignment:this.anchorAlignment}),viewportPadPx:this.viewportPadPx,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight}},apply:({x:e,y:i})=>{this.pos={x:e,y:i}},onReady:()=>{this.positionReady=true},liveUpdate:"double-frame"});this.lastRenderedSections=[];this.closingSections=null}componentDidLoad(){if(this.open)this.onOpenChange(true)}componentDidRender(){if(!this.shouldRender)return;const e=this.el.querySelector(".menu-popup");if(!e||typeof e.showPopover!=="function")return;if(!e.matches(":popover-open"))e.showPopover()}disconnectedCallback(){this.cancelPositionRetry();this.cancelLivePositionUpdate();this.teardownListeners()}onOpenChange(e){if(e){this.teardownListeners();this.closingSections=null;this.shouldRender=true;this.closing=false;this.positionReady=false;this.focusRingVisible=this.initialFocusVisible;this.setupListeners();this.schedulePositionUpdate((()=>{this.focusInitialItem()}))}else if(this.shouldRender){this.cancelPositionRetry();this.captureClosingSections();this.closing=true;this.teardownListeners();const 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 v(m.space050,m.space050)}get sideOffsetPx(){return v(this.sideOffset,m.space050)}get alignOffsetPx(){return v(this.alignOffset,0)}get popupFallbackWidthPx(){return v(m.menuWidthXs,m.menuWidthXs)}get popupFallbackHeightPx(){return v(m.menuFallbackHeight,m.menuFallbackHeight)}get closeAnimationMs(){return g(m.motionShort2,m.animationDurationShort3)}finishClose(){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.dsAfterClose.emit()}captureClosingSections(){if(this.closingSections)return;const e=this.lastRenderedSections.length?this.lastRenderedSections:this.activeSections;this.closingSections=C(e)}get resolvedAnchor(){if(this.anchor)return this.anchor;if(this.anchorId)return document.getElementById(this.anchorId);return null}get anchorFocusTarget(){const e=this.resolvedAnchor;if(!e)return null;if(e.matches(P))return e;return e.querySelector(P)??e}focusAnchor(){const e=this.resolvedAnchor;if(e?.setFocus){e.setFocus();return}this.anchorFocusTarget?.focus()}moveFocusAfterTab(e){const i=this.anchorFocusTarget;if(!i)return;if(e){i.focus();return}const s=Array.from(document.querySelectorAll(P)).filter((e=>!e.closest(".menu-popup")&&!e.closest("[inert]")&&e.getClientRects().length>0));const n=s.indexOf(i);(s[n+1]??i).focus()}compositeTabLeavesPopup(e){const i=this.el.querySelector(".menu-popup");if(!i)return true;const s=Array.from(i.querySelectorAll(P)).filter((e=>e.getClientRects().length>0));const n=s.indexOf(e.target);if(n<0)return true;return e.shiftKey?n===0:n===s.length-1}get activeSections(){if(this.sections.length>0)return this.sections;if(this.items.length>0)return[{items:this.items}];return[]}get flatItems(){return this.activeSections.flatMap((e=>k(e)?[]:e.items))}get hasCompositeSections(){return this.activeSections.some(k)}cancelPositionRetry(){this.position.cancel()}cancelLivePositionUpdate(){this.position.cancel()}scheduleLivePositionUpdate(){this.position.scheduleLiveUpdate()}schedulePositionUpdate(e){if(!this.open)return;this.positionReady=false;this.position.schedule(e)}calculatePosition(){return this.position.update()}focusInitialItem(){if(this.hasCompositeSections){requestAnimationFrame((()=>{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));this.focusedIndex=i>=0?i:s>=0?s:0;requestAnimationFrame((()=>{const e=this.el.querySelectorAll(".menu-item");e[this.focusedIndex]?.focus()}))}setupListeners(){this.clickOutsideHandler=e=>{const i=e.target;const s=this.el.querySelector(".menu-popup");const n=this.resolvedAnchor;if(s?.contains(i)||n?.contains(i))return;this.close()};document.addEventListener("mousedown",this.clickOutsideHandler,true);this.position.observe()}teardownListeners(){this.position.unobserve();if(this.clickOutsideHandler){document.removeEventListener("mousedown",this.clickOutsideHandler,true);this.clickOutsideHandler=null}if(this.closeTimer){clearTimeout(this.closeTimer);this.closeTimer=null}}close(e=true){this.captureClosingSections();if(e)this.focusAnchor();this.dsClose.emit();this.open=false;this.onOpenChange(false)}handleKeyDown(e){if(!this.shouldRender||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.moveFocusAfterTab(e.shiftKey);return}if(this.hasCompositeSections)return;const i=this.flatItems;const s=i.map(((e,i)=>({it:e,i}))).filter((({it:e})=>!e.isInactive)).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");i[e]?.focus()}handleItemClick(e){if(e.isInactive)return;this.captureClosingSections();this.dsSelect.emit(e)}handleGradientSelect(e){this.dsGradientSelect.emit(e)}handleSwatchSelect(e){this.dsSwatchSelect.emit(e)}render(){if(!this.shouldRender)return n(t,{style:{display:"contents"}});const e=this.closing?this.closingSections??this.lastRenderedSections:this.activeSections;const i=e.some(k);if(!this.closing){this.lastRenderedSections=C(e);this.closingSections=null}let s=0;const o={position:"fixed",left:"0",top:"0",transform:`translate(${Math.round(this.pos.x)}px, ${Math.round(this.pos.y)}px)`,zIndex:"9998",visibility:this.positionReady?"visible":"hidden"};if(this.menuWidth)o["width"]=this.menuWidth;if(this.minWidth)o["min-width"]=this.minWidth;return n(t,{style:{display:"contents"}},n("div",{popover:"manual",class:{"menu-popup":true,"menu-popup--closing":this.closing,"ds-choice-popup":true,"ds-choice-popup--closing":this.closing},style:o,role:i?"dialog":"menu","aria-label":this.menuLabel,"aria-orientation":i?undefined:"vertical"},n("div",{class:"ds-choice-list"},e.map(((t,o)=>n("div",{key:o,class:{"menu-section":true,"menu-section--divided":o<e.length-1,"menu-section--gradient-picker":k(t),"ds-choice-section":true,"ds-chrome-column":true,"ds-chrome-space--sm":true,"ds-choice-section--divided":o<e.length-1},role:t.header?"group":undefined,"aria-label":t.header},t.header&&n("ds-text",{class:`section-header ds-choice-section__header ds-control--${this.size}`,as:"span",variant:b[this.size],emphasis:true,color:"primary","aria-hidden":"true"},t.header),w(t)?n("ds-swatch-picker",{value:t.value,groupLabel:t.header??"Shell gradient theme",sections:c(),onDsChange:e=>{e.stopPropagation();this.handleGradientSelect(e.detail)}}):y(t)?n("ds-swatch-picker",{value:t.value,groupLabel:t.groupLabel??t.header??"Swatch options",options:t.options??[],sections:t.sections??[],onDsChange:e=>{e.stopPropagation();this.handleSwatchSelect(e.detail)}}):t.items.map((e=>{const t=s++;const o=this.focusedIndex===t;const r=!i&&this.selectionMode==="single"&&!e.showSwitch;return n("button",{key:t,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":o&&this.focusRingVisible,"ds-interaction-fill":!e.isInactive,"ds-interaction-fill--selected":!!e.isSelected&&!e.isInactive,"menu-item--selected":!!e.isSelected,"ds-control-inactive":!!e.isInactive,"menu-item--destructive":!!e.isDestructive,"menu-item--focused":o},role:i?undefined:e.showSwitch?"menuitemcheckbox":r?"menuitemradio":"menuitem","aria-checked":!i&&e.showSwitch?String(!!e.switchValue):r?String(!!e.isSelected):undefined,"aria-pressed":i?String(e.showSwitch?!!e.switchValue:!!e.isSelected):undefined,"aria-current":!i&&!e.showSwitch&&!r&&e.isSelected?"true":undefined,disabled:e.isInactive,tabIndex:i?0:o?0:-1,onMouseDown:()=>{this.focusRingVisible=false},onClick:()=>this.handleItemClick(e),onFocus:()=>{this.focusedIndex=t}},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:x[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:b[this.size],color:"secondary"},e.subtext)),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,presentation:true}))}))))))))}get el(){return this}static get watchers(){return{open:[{onOpenChange:0}],anchor:[{onAnchorChange:0}],anchorId:[{onAnchorChange:0}],side:[{onPositionPropsChange:0}],align:[{onPositionPropsChange:0}],anchorAlignment:[{onPositionPropsChange:0}],sideOffset:[{onPositionPropsChange:0}],alignOffset:[{onPositionPropsChange:0}]}}static get style(){return _()}},[2,"ds-menu",{open:[1028],items:[16],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"],initialFocusVisible:[4,"initial-focus-visible"],menuLabel:[1,"menu-label"],shouldRender:[32],closing:[32],pos:[32],focusedIndex:[32],positionReady:[32],focusRingVisible:[32]},[[0,"keydown","handleKeyDown"]],{open:[{onOpenChange:0}],anchor:[{onAnchorChange:0}],anchorId:[{onAnchorChange:0}],side:[{onPositionPropsChange:0}],align:[{onPositionPropsChange:0}],anchorAlignment:[{onPositionPropsChange:0}],sideOffset:[{onPositionPropsChange:0}],alignOffset:[{onPositionPropsChange:0}]}]);function A(){if(typeof customElements==="undefined"){return}const e=["ds-menu","ds-badge","ds-swatch-picker","ds-switch","ds-text"];e.forEach((e=>{switch(e){case"ds-menu":if(!customElements.get(o(e))){customElements.define(o(e),z)}break;case"ds-badge":if(!customElements.get(o(e))){d()}break;case"ds-swatch-picker":if(!customElements.get(o(e))){a()}break;case"ds-switch":if(!customElements.get(o(e))){l()}break;case"ds-text":if(!customElements.get(o(e))){h()}break}}))}A();export{z as M,A as d};
2
+ //# sourceMappingURL=p-B6vE3ujd.js.map