@ds-mo/ui 16.1.0 → 16.1.2

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 (264) hide show
  1. package/dist/.package-ready.json +1 -1
  2. package/dist/agent-patterns.json +1 -1
  3. package/dist/agent.json +133 -32
  4. package/dist/angular/boolean-value-accessor.js +3 -3
  5. package/dist/angular/ds-agent-activity.js +3 -3
  6. package/dist/angular/ds-agent-questionnaire.js +3 -3
  7. package/dist/angular/ds-agent-response.js +3 -3
  8. package/dist/angular/ds-agent-source-list.js +3 -3
  9. package/dist/angular/ds-agent-tool-call.js +3 -3
  10. package/dist/angular/ds-attachment-list.js +3 -3
  11. package/dist/angular/ds-avatar.js +3 -3
  12. package/dist/angular/ds-badge.js +3 -3
  13. package/dist/angular/ds-banner.js +3 -3
  14. package/dist/angular/ds-bar-action.js +3 -3
  15. package/dist/angular/ds-bar-nav.js +3 -3
  16. package/dist/angular/ds-bar-page-title.js +3 -3
  17. package/dist/angular/ds-bar-title.js +3 -3
  18. package/dist/angular/ds-bar-workflow.js +3 -3
  19. package/dist/angular/ds-breadcrumb.js +3 -3
  20. package/dist/angular/ds-button-filled.js +3 -3
  21. package/dist/angular/ds-button-inverted.js +3 -3
  22. package/dist/angular/ds-button-unfilled.js +3 -3
  23. package/dist/angular/ds-calendar.js +3 -3
  24. package/dist/angular/ds-card-action-center.js +3 -3
  25. package/dist/angular/ds-card-chart.js +3 -3
  26. package/dist/angular/ds-card-navigation.js +3 -3
  27. package/dist/angular/ds-card-overview.js +3 -3
  28. package/dist/angular/ds-card-setting.js +3 -3
  29. package/dist/angular/ds-card-settings-scope.js +3 -3
  30. package/dist/angular/ds-chart-legend.js +3 -3
  31. package/dist/angular/ds-chart.js +3 -3
  32. package/dist/angular/ds-checkbox-group.js +3 -3
  33. package/dist/angular/ds-checkbox.js +3 -3
  34. package/dist/angular/ds-chip.js +3 -3
  35. package/dist/angular/ds-code-block.js +3 -3
  36. package/dist/angular/ds-conversation-list-item.js +3 -3
  37. package/dist/angular/ds-conversation-list-section.js +3 -3
  38. package/dist/angular/ds-conversation-list.js +3 -3
  39. package/dist/angular/ds-data-customize.js +3 -3
  40. package/dist/angular/ds-data-filter.js +3 -3
  41. package/dist/angular/ds-data-group.js +3 -3
  42. package/dist/angular/ds-data-preferences.js +3 -3
  43. package/dist/angular/ds-data-saved-views.js +3 -3
  44. package/dist/angular/ds-data-search.js +3 -3
  45. package/dist/angular/ds-data-sort.js +3 -3
  46. package/dist/angular/ds-data-toolbar.js +3 -3
  47. package/dist/angular/ds-divider.js +3 -3
  48. package/dist/angular/ds-empty-state.js +3 -3
  49. package/dist/angular/ds-field.js +3 -3
  50. package/dist/angular/ds-filter-menu.js +3 -3
  51. package/dist/angular/ds-icon.js +3 -3
  52. package/dist/angular/ds-inline-banner-settings.js +3 -3
  53. package/dist/angular/ds-input-date.js +3 -3
  54. package/dist/angular/ds-input-time.js +3 -3
  55. package/dist/angular/ds-input.js +3 -3
  56. package/dist/angular/ds-loader.js +3 -3
  57. package/dist/angular/ds-map-cluster-marker.js +3 -3
  58. package/dist/angular/ds-map-entity-marker.js +3 -3
  59. package/dist/angular/ds-map-marker.js +3 -3
  60. package/dist/angular/ds-markdown.js +3 -3
  61. package/dist/angular/ds-menu.js +3 -3
  62. package/dist/angular/ds-message-actions.js +3 -3
  63. package/dist/angular/ds-message-bubble.js +3 -3
  64. package/dist/angular/ds-message-composer.js +3 -3
  65. package/dist/angular/ds-message-scroller.js +3 -3
  66. package/dist/angular/ds-message.js +3 -3
  67. package/dist/angular/ds-mobile-bar-nav.js +3 -3
  68. package/dist/angular/ds-mobile-header.js +3 -3
  69. package/dist/angular/ds-mobile-section-switcher.js +3 -3
  70. package/dist/angular/ds-mobile-sheet-nav.js +3 -3
  71. package/dist/angular/ds-modal.js +3 -3
  72. package/dist/angular/ds-navigation-tab-group.js +3 -3
  73. package/dist/angular/ds-pagination.js +3 -3
  74. package/dist/angular/ds-panel-nav.js +3 -3
  75. package/dist/angular/ds-panel-sub-nav.js +3 -3
  76. package/dist/angular/ds-panel-tool-header.js +3 -3
  77. package/dist/angular/ds-panel-tool-search.js +3 -3
  78. package/dist/angular/ds-panel-tools.js +3 -3
  79. package/dist/angular/ds-paper-texture.js +3 -3
  80. package/dist/angular/ds-radio-tile.js +3 -3
  81. package/dist/angular/ds-radio.js +3 -3
  82. package/dist/angular/ds-score.js +3 -3
  83. package/dist/angular/ds-scroll-overlay.js +3 -3
  84. package/dist/angular/ds-select-toggle.js +3 -3
  85. package/dist/angular/ds-select.js +3 -3
  86. package/dist/angular/ds-setting-row-checkbox.js +3 -3
  87. package/dist/angular/ds-setting-row-radio.js +3 -3
  88. package/dist/angular/ds-setting-row-toggle.js +3 -3
  89. package/dist/angular/ds-shell-app.js +3 -3
  90. package/dist/angular/ds-shell-page.js +3 -3
  91. package/dist/angular/ds-shell-tools.js +3 -3
  92. package/dist/angular/ds-skeleton.js +3 -3
  93. package/dist/angular/ds-slider.js +3 -3
  94. package/dist/angular/ds-swatch-picker.js +3 -3
  95. package/dist/angular/ds-switch.js +3 -3
  96. package/dist/angular/ds-tab-group.js +3 -3
  97. package/dist/angular/ds-table.js +3 -3
  98. package/dist/angular/ds-tag.js +3 -3
  99. package/dist/angular/ds-text.js +3 -3
  100. package/dist/angular/ds-textarea.js +3 -3
  101. package/dist/angular/ds-time-picker.js +3 -3
  102. package/dist/angular/ds-toast.js +3 -3
  103. package/dist/angular/ds-tooltip-chart.js +3 -3
  104. package/dist/angular/ds-tooltip.js +3 -3
  105. package/dist/angular/ds-typing-indicator.js +3 -3
  106. package/dist/angular/number-value-accessor.js +3 -3
  107. package/dist/angular/radio-value-accessor.js +3 -3
  108. package/dist/angular/select-value-accessor.js +3 -3
  109. package/dist/angular/text-value-accessor.js +3 -3
  110. package/dist/angular/value-accessor.js +3 -3
  111. package/dist/components/THIRD-PARTY-NOTICES +2 -2
  112. package/dist/components/bundled-dependencies.json +2 -2
  113. package/dist/components/ds-agent-questionnaire.js +1 -1
  114. package/dist/components/ds-agent-response.js +1 -1
  115. package/dist/components/ds-banner.js +1 -1
  116. package/dist/components/ds-bar-nav.js +1 -1
  117. package/dist/components/ds-bar-page-title.js +1 -1
  118. package/dist/components/ds-bar-title.js +1 -1
  119. package/dist/components/ds-bar-workflow.js +1 -1
  120. package/dist/components/ds-button-unfilled.js +1 -1
  121. package/dist/components/ds-calendar.js +1 -1
  122. package/dist/components/ds-card-chart.js +1 -1
  123. package/dist/components/ds-card-overview.js +1 -1
  124. package/dist/components/ds-card-setting.js +1 -1
  125. package/dist/components/ds-chart-legend.js +1 -1
  126. package/dist/components/ds-chart-legend.js.map +1 -1
  127. package/dist/components/ds-code-block.js +1 -1
  128. package/dist/components/ds-data-customize.js +1 -1
  129. package/dist/components/ds-data-filter.js +1 -1
  130. package/dist/components/ds-data-group.js +1 -1
  131. package/dist/components/ds-data-preferences.js +1 -1
  132. package/dist/components/ds-data-saved-views.js +1 -1
  133. package/dist/components/ds-data-search.js +1 -1
  134. package/dist/components/ds-data-sort.js +1 -1
  135. package/dist/components/ds-filter-menu.js +1 -1
  136. package/dist/components/ds-input-date.js +1 -1
  137. package/dist/components/ds-input-time.js +1 -1
  138. package/dist/components/ds-input.js +1 -1
  139. package/dist/components/ds-markdown.js +1 -1
  140. package/dist/components/ds-menu.js +1 -1
  141. package/dist/components/ds-message-actions.js +1 -1
  142. package/dist/components/ds-message-composer.js +1 -1
  143. package/dist/components/ds-message-scroller.js +1 -1
  144. package/dist/components/ds-mobile-header.js +1 -1
  145. package/dist/components/ds-mobile-section-switcher.js +1 -1
  146. package/dist/components/ds-mobile-sheet-nav.js +1 -1
  147. package/dist/components/ds-modal.js +1 -1
  148. package/dist/components/ds-pagination.js +1 -1
  149. package/dist/components/ds-panel-nav.js +1 -1
  150. package/dist/components/ds-panel-tool-header.js +1 -1
  151. package/dist/components/ds-panel-tool-search.js +1 -1
  152. package/dist/components/ds-panel-tools.js +1 -1
  153. package/dist/components/ds-select.js +1 -1
  154. package/dist/components/ds-shell-app.js +1 -1
  155. package/dist/components/ds-shell-tools.js +1 -1
  156. package/dist/components/ds-table.js +1 -1
  157. package/dist/components/ds-table.js.map +1 -1
  158. package/dist/components/ds-toast.js +1 -1
  159. package/dist/components/ds-toast.js.map +1 -1
  160. package/dist/components/ds-tooltip.js +1 -1
  161. package/dist/components/index.js +1 -1
  162. package/dist/components/index.js.map +1 -1
  163. package/dist/components/{p-BufAjyCA.js → p-9zDZcSc0.js} +2 -2
  164. package/dist/components/{p-SuM1Dske.js → p-B8jrUwL-.js} +2 -2
  165. package/dist/components/{p-DbBRCHst.js → p-BJB6kfA2.js} +2 -2
  166. package/dist/components/{p-a_-GSwE_.js → p-BK_SriZN.js} +2 -2
  167. package/dist/components/{p-DwiHy7ws.js → p-BKd0e8k8.js} +2 -2
  168. package/dist/components/{p-FsosWHV6.js → p-BNySDuzx.js} +2 -2
  169. package/dist/components/{p-DGznD-OD.js → p-BdJqRDKY.js} +2 -2
  170. package/dist/components/{p-CtBlyEwu.js → p-BgMeLCj3.js} +2 -2
  171. package/dist/components/{p-B6kIiHGc.js → p-BknNUjWh.js} +2 -2
  172. package/dist/components/{p-D1D_nwPJ.js → p-Bn-tsogb.js} +2 -2
  173. package/dist/components/{p-C9R-Yn0N.js → p-C3nUi5Lo.js} +2 -2
  174. package/dist/components/{p-DACIe-66.js → p-CcWT4SzP.js} +2 -2
  175. package/dist/components/{p-BL98zGOI.js → p-Ckar-ZZa.js} +2 -2
  176. package/dist/components/{p-D4wFhnby.js → p-CvK-Gy-b.js} +2 -2
  177. package/dist/components/{p-8XJLNIKj.js → p-D9MqUHig.js} +2 -2
  178. package/dist/components/{p-BNimvRZy.js → p-DI5GEmid.js} +2 -2
  179. package/dist/components/p-DTlNtCX1.js +2 -0
  180. package/dist/components/p-DTlNtCX1.js.map +1 -0
  181. package/dist/components/p-D_kOVT6i.js +2 -0
  182. package/dist/components/{p-S6vTfjOk.js.map → p-D_kOVT6i.js.map} +1 -1
  183. package/dist/components/{p-DC_yjqdf.js → p-Ddkyu_wE.js} +2 -2
  184. package/dist/components/{p-CeaXdjwl.js → p-ZcZ0N7Ok.js} +2 -2
  185. package/dist/components/{p-BO0Tb3LT.js → p-ZumxIz-2.js} +2 -2
  186. package/dist/components/{p-BLPr2sCi.js → p-qnp-yeXl.js} +2 -2
  187. package/dist/components/{p-02bODFpT.js → p-txmcXZdy.js} +2 -2
  188. package/dist/components/{p-BiB2qjNS.js → p-xouEdChm.js} +2 -2
  189. package/dist/components/{p-Dp90dvw8.js → p-zdiRX3Sf.js} +2 -2
  190. package/dist/docs/components.json +359 -39
  191. package/dist/lib/toast/index.js +61 -20
  192. package/dist/lib/toast/index.js.map +2 -2
  193. package/dist/lib/toast/toast-types.d.ts +1 -0
  194. package/dist/lint/THIRD-PARTY-NOTICES +1 -1
  195. package/dist/lint/bundled-dependencies.json +1 -1
  196. package/dist/lint/index.js +18 -10
  197. package/dist/mcp-data/registry/agent-response.json +30 -2
  198. package/dist/mcp-data/registry/agent-tool-call.json +22 -2
  199. package/dist/mcp-data/registry/banner.json +10 -2
  200. package/dist/mcp-data/registry/bar-action.json +10 -2
  201. package/dist/mcp-data/registry/card-chart.json +30 -2
  202. package/dist/mcp-data/registry/card-navigation.json +12 -2
  203. package/dist/mcp-data/registry/card-overview.json +22 -2
  204. package/dist/mcp-data/registry/card-setting.json +18 -2
  205. package/dist/mcp-data/registry/chart-legend.json +6 -6
  206. package/dist/mcp-data/registry/checkbox-group.json +12 -2
  207. package/dist/mcp-data/registry/conversation-list-item.json +22 -2
  208. package/dist/mcp-data/registry/conversation-list-section.json +12 -2
  209. package/dist/mcp-data/registry/conversation-list.json +24 -2
  210. package/dist/mcp-data/registry/data-toolbar.json +28 -2
  211. package/dist/mcp-data/registry/field.json +12 -2
  212. package/dist/mcp-data/registry/input.json +16 -2
  213. package/dist/mcp-data/registry/message-bubble.json +12 -2
  214. package/dist/mcp-data/registry/message-composer.json +28 -2
  215. package/dist/mcp-data/registry/message-scroller.json +24 -2
  216. package/dist/mcp-data/registry/message.json +36 -2
  217. package/dist/mcp-data/registry/mobile-header.json +16 -2
  218. package/dist/mcp-data/registry/modal.json +18 -2
  219. package/dist/mcp-data/registry/registry.json +132 -31
  220. package/dist/mcp-data/registry/scroll-overlay.json +18 -2
  221. package/dist/mcp-data/registry/setting-row-checkbox.json +12 -2
  222. package/dist/mcp-data/registry/setting-row-radio.json +12 -2
  223. package/dist/mcp-data/registry/shell-app.json +60 -2
  224. package/dist/mcp-data/registry/shell-page.json +24 -2
  225. package/dist/mcp-data/registry/table.json +31 -2
  226. package/dist/mcp-data/registry/text.json +12 -2
  227. package/dist/mcp-data/registry/tooltip.json +12 -2
  228. package/dist/react/react-runtime.js +44 -1
  229. package/dist/types/components/ChartLegend/ChartLegend.d.ts +2 -2
  230. package/dist/types/components/Table/table-group-load-controller.d.ts +1 -1
  231. package/dist/types/components/Table/table-load-controller.d.ts +1 -2
  232. package/dist/types/components/Table/table-load-observer.d.ts +13 -0
  233. package/dist/types/components.d.ts +3 -3
  234. package/dist/types/stencil-public-runtime.d.ts +73 -55
  235. package/dist/types/toast/toast-types.d.ts +1 -0
  236. package/dist/types/utils/anchored-position-controller.d.ts +3 -2
  237. package/dist/vue/vue-runtime.js +13 -1
  238. package/package.json +15 -12
  239. package/dist/components/p-BMI0F08u.js +0 -2
  240. package/dist/components/p-BMI0F08u.js.map +0 -1
  241. package/dist/components/p-S6vTfjOk.js +0 -2
  242. /package/dist/components/{p-BufAjyCA.js.map → p-9zDZcSc0.js.map} +0 -0
  243. /package/dist/components/{p-SuM1Dske.js.map → p-B8jrUwL-.js.map} +0 -0
  244. /package/dist/components/{p-DbBRCHst.js.map → p-BJB6kfA2.js.map} +0 -0
  245. /package/dist/components/{p-a_-GSwE_.js.map → p-BK_SriZN.js.map} +0 -0
  246. /package/dist/components/{p-DwiHy7ws.js.map → p-BKd0e8k8.js.map} +0 -0
  247. /package/dist/components/{p-FsosWHV6.js.map → p-BNySDuzx.js.map} +0 -0
  248. /package/dist/components/{p-DGznD-OD.js.map → p-BdJqRDKY.js.map} +0 -0
  249. /package/dist/components/{p-CtBlyEwu.js.map → p-BgMeLCj3.js.map} +0 -0
  250. /package/dist/components/{p-B6kIiHGc.js.map → p-BknNUjWh.js.map} +0 -0
  251. /package/dist/components/{p-D1D_nwPJ.js.map → p-Bn-tsogb.js.map} +0 -0
  252. /package/dist/components/{p-C9R-Yn0N.js.map → p-C3nUi5Lo.js.map} +0 -0
  253. /package/dist/components/{p-DACIe-66.js.map → p-CcWT4SzP.js.map} +0 -0
  254. /package/dist/components/{p-BL98zGOI.js.map → p-Ckar-ZZa.js.map} +0 -0
  255. /package/dist/components/{p-D4wFhnby.js.map → p-CvK-Gy-b.js.map} +0 -0
  256. /package/dist/components/{p-8XJLNIKj.js.map → p-D9MqUHig.js.map} +0 -0
  257. /package/dist/components/{p-BNimvRZy.js.map → p-DI5GEmid.js.map} +0 -0
  258. /package/dist/components/{p-DC_yjqdf.js.map → p-Ddkyu_wE.js.map} +0 -0
  259. /package/dist/components/{p-CeaXdjwl.js.map → p-ZcZ0N7Ok.js.map} +0 -0
  260. /package/dist/components/{p-BO0Tb3LT.js.map → p-ZumxIz-2.js.map} +0 -0
  261. /package/dist/components/{p-BLPr2sCi.js.map → p-qnp-yeXl.js.map} +0 -0
  262. /package/dist/components/{p-02bODFpT.js.map → p-txmcXZdy.js.map} +0 -0
  263. /package/dist/components/{p-BiB2qjNS.js.map → p-xouEdChm.js.map} +0 -0
  264. /package/dist/components/{p-Dp90dvw8.js.map → p-zdiRX3Sf.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{p as e,H as s,h as r,a as o,t as a}from"./index.js";import{C as d}from"./p-DlsjHRU3.js";import{d as t}from"./p-ClOvX8cD.js";import{d as n}from"./p-D1D_nwPJ.js";import{d as i}from"./p-Dp90dvw8.js";import{d as c}from"./p-GP7Dz3qO.js";import{d as h}from"./p-0XTyQNRG.js";import{d as m}from"./p-DMPn_dt7.js";import{d as l}from"./p-BMI0F08u.js";import{r as p}from"./p-CbrDF2gA.js";const w=()=>`.sc-ds-markdown:where(.ds-prose){display:block;box-sizing:border-box;max-inline-size:100%;min-inline-size:0;color:inherit;overflow-wrap:anywhere}.sc-ds-markdown:where(.ds-prose)>:where(h1,h2.sc-ds-markdown,h3.sc-ds-markdown,h4.sc-ds-markdown,h5.sc-ds-markdown,h6.sc-ds-markdown,p.sc-ds-markdown,ul.sc-ds-markdown,ol.sc-ds-markdown,dl.sc-ds-markdown,blockquote).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{max-inline-size:var(--ds-prose-text-max-inline-size, 100%)}.sc-ds-markdown:where(.ds-prose) :where(p,ul.sc-ds-markdown,ol.sc-ds-markdown,dl.sc-ds-markdown,blockquote.sc-ds-markdown,figure.sc-ds-markdown,figcaption.sc-ds-markdown,table).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{margin:0;color:inherit;font-family:var(--typography-font-family-ui);font-size:var(--typography-fontsize-md);font-weight:var(--typography-weight-regular);line-height:var(--typography-lineheight-md);letter-spacing:var(--typography-letterspacing-negative-half)}.sc-ds-markdown:where(.ds-prose) :where(h1,h2.sc-ds-markdown,h3.sc-ds-markdown,h4.sc-ds-markdown,h5.sc-ds-markdown,h6).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{margin:0;color:var(--color-foreground-primary);font-family:var(--typography-font-family-ui);font-weight:var(--typography-weight-semibold)}.sc-ds-markdown:where(.ds-prose) :where(h1,h2).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{font-size:var(--typography-fontsize-xl);line-height:var(--typography-lineheight-xl);letter-spacing:var(--typography-letterspacing-negative-double)}.sc-ds-markdown:where(.ds-prose) :where(h3,h4).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{font-size:var(--typography-fontsize-md);line-height:var(--typography-lineheight-md);font-weight:var(--typography-weight-medium);letter-spacing:var(--typography-letterspacing-negative-half)}.sc-ds-markdown:where(.ds-prose) :where(h2):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{font-size:var(--typography-fontsize-lg);line-height:var(--typography-lineheight-lg);letter-spacing:var(--typography-letterspacing-negative)}.sc-ds-markdown:where(.ds-prose) :where(h5,h6).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{font-size:var(--typography-fontsize-md);line-height:var(--typography-lineheight-md);letter-spacing:var(--typography-letterspacing-negative)}.sc-ds-markdown:where(.ds-prose)>.sc-ds-markdown:where(*+*){margin-block-start:var(--dimension-space-150)}.sc-ds-markdown:where(.ds-prose)>:where(*)+:where(h1,h2.sc-ds-markdown,h3.sc-ds-markdown,h4.sc-ds-markdown,h5.sc-ds-markdown,h6).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{margin-block-start:var(--dimension-space-200)}.sc-ds-markdown:where(.ds-prose)>:where(h1,h2.sc-ds-markdown,h3.sc-ds-markdown,h4.sc-ds-markdown,h5.sc-ds-markdown,h6).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown+.sc-ds-markdown:where(*){margin-block-start:var(--dimension-space-100)}.sc-ds-markdown:where(.ds-prose) :where(blockquote,li.sc-ds-markdown,dd)>.sc-ds-markdown:where(*+*):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{margin-block-start:var(--dimension-space-050)}.sc-ds-markdown:where(.ds-prose) :where(li+li.sc-ds-markdown,dt+dd).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{margin-block-start:var(--dimension-space-050)}.sc-ds-markdown:where(.ds-prose) :where(ul,ol).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{padding-inline-start:var(--dimension-space-300)}.sc-ds-markdown:where(.ds-prose) :where(ol>li):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{padding-block-end:var(--dimension-space-100)}.sc-ds-markdown:where(.ds-prose) :where(ol>li:has(>:is(h3,h4).sc-ds-markdown:first-child)):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown::marker{color:var(--color-foreground-primary);font-size:var(--typography-fontsize-md);font-weight:var(--typography-weight-medium)}.sc-ds-markdown:where(.ds-prose) :where(li>ul.sc-ds-markdown,li>ol).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{margin-block-start:var(--dimension-space-050)}.sc-ds-markdown:where(.ds-prose) :where(li>input[type='checkbox']):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{margin-inline-end:var(--dimension-space-050)}.sc-ds-markdown:where(.ds-prose) :where(blockquote):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{padding-inline-start:var(--dimension-space-150);border-inline-start:var(--dimension-stroke-width-025) solid var(--color-border-secondary);color:var(--color-foreground-secondary)}.sc-ds-markdown:where(.ds-prose) :where(strong,b).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{font-weight:var(--typography-weight-medium)}.sc-ds-markdown:where(.ds-prose) :where(h1,h2.sc-ds-markdown,h3.sc-ds-markdown,h4.sc-ds-markdown,h5.sc-ds-markdown,h6) .sc-ds-markdown:where(strong,b).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{font-weight:inherit}.sc-ds-markdown:where(.ds-prose) :where(a):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{color:var(--color-foreground-bold-brand);text-decoration-line:none;text-decoration-color:currentcolor;text-decoration-thickness:var(--ds-text-decoration-thickness, var(--dimension-stroke-width-012));text-underline-offset:var(--ds-text-decoration-offset, var(--dimension-space-025))}@media (hover: hover) and (pointer: fine){.sc-ds-markdown:where(.ds-prose) :where(a):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown:hover{text-decoration-line:underline}}@media (forced-colors: active){.sc-ds-markdown:where(.ds-prose) :where(a):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{text-decoration-line:underline}}.sc-ds-markdown:where(.ds-prose) :where(code):not(:where(pre code.sc-ds-markdown,[data-ds-prose='off'].sc-ds-markdown,[data-ds-prose='off'] *)).sc-ds-markdown{padding:var(--dimension-space-012) var(--dimension-space-025);border-radius:var(--dimension-radius-025);background:var(--color-background-secondary);font-family:var( --typography-font-family-code, 'Fira Code', ui-monospace, 'SFMono-Regular', 'Cascadia Code', 'Roboto Mono', Menlo, Monaco, Consolas, 'Liberation Mono', monospace );font-size:var(--typography-fontsize-sm);font-variant-ligatures:var(--ds-code-font-variant-ligatures, normal);font-weight:var(--typography-weight-regular);line-height:var(--typography-lineheight-sm);letter-spacing:var(--typography-letterspacing-none)}.sc-ds-markdown:where(.ds-prose) :where(pre):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{box-sizing:border-box;max-inline-size:100%;min-inline-size:0;margin:0;padding:var(--dimension-space-150);overflow:auto;border-radius:var(--dimension-radius-050);background:var(--color-background-strong-neutral);color:var(--color-foreground-faint-neutral);font-family:var( --typography-font-family-code, 'Fira Code', ui-monospace, 'SFMono-Regular', 'Cascadia Code', 'Roboto Mono', Menlo, Monaco, Consolas, 'Liberation Mono', monospace );font-size:var(--typography-fontsize-sm);font-variant-ligatures:var(--ds-code-font-variant-ligatures, normal);font-weight:var(--typography-weight-regular);line-height:var(--typography-lineheight-sm);letter-spacing:var(--typography-letterspacing-none);tab-size:2}.sc-ds-markdown:where(.ds-prose) :where(pre code):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{padding:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;white-space:pre}.sc-ds-markdown:where(.ds-prose) :where(hr):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{margin:0;border:0;border-block-start:var(--dimension-stroke-width-012) solid var(--color-border-tertiary)}.sc-ds-markdown:where(.ds-prose__table-scroll){box-sizing:border-box;max-inline-size:100%;min-inline-size:0;overflow-x:auto}.sc-ds-markdown:where(.ds-prose) :where(table):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{inline-size:100%;border-collapse:collapse}.sc-ds-markdown:where(.ds-prose) :where(th,td).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{padding:var(--dimension-space-075);border:var(--dimension-stroke-width-012) solid var(--color-border-tertiary);text-align:start;vertical-align:top;overflow-wrap:anywhere}.sc-ds-markdown:where(.ds-prose) :where(th):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{color:var(--color-foreground-primary);font-weight:var(--typography-weight-medium)}.sc-ds-markdown:where(.ds-prose) :where(img,video.sc-ds-markdown,svg).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{max-inline-size:100%;block-size:auto}.sc-ds-markdown:where(.ds-prose) :where(figcaption):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{margin-block-start:var(--dimension-space-050);color:var(--color-foreground-secondary);font-size:var(--typography-fontsize-sm);line-height:var(--typography-lineheight-sm);letter-spacing:var(--typography-letterspacing-none)}.sc-ds-markdown-h{display:block;min-width:0;color:inherit;box-sizing:border-box;-webkit-user-select:text;user-select:text}`;let f;function k(){f??(f=Promise.all([import("./p-ByLH5RAD.js"),import("./p-DVsje4AY.js"),import("./p-gidVv1FX.js")]).then((([e,s,r])=>({fromMarkdown:e.fromMarkdown,gfmFromMarkdown:s.gfmFromMarkdown,gfm:r.gfm}))));return f}const g=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.content="";this.streaming=false;this.tree=null;this.parseRevision=0;this.initialized=false;this.tasks=new d((()=>this.el.isConnected))}connectedCallback(){if(this.initialized)this.scheduleParse()}componentWillLoad(){this.initialized=true;if(typeof document!=="undefined")return this.parse()}disconnectedCallback(){this.parseRevision+=1;this.tasks.cancel();this.parseFrame=undefined}scheduleParse(){this.parseRevision+=1;if(typeof requestAnimationFrame!=="function")return;this.tasks.cancelFrame(this.parseFrame);this.parseFrame=this.tasks.frame((()=>{this.parseFrame=undefined;void this.parse()}))}async parse(){const e=++this.parseRevision;try{const{fromMarkdown:s,gfmFromMarkdown:r,gfm:o}=await k();if(e!==this.parseRevision||!this.el.isConnected)return;const a=s(this.content,{extensions:[o()],mdastExtensions:[r()]});if(e===this.parseRevision)this.tree=a}catch{if(e===this.parseRevision&&this.el.isConnected)this.tree=null}}children(e){if(!("children"in e))return[];return e.children.map((e=>this.renderNode(e)))}renderNode(e){switch(e.type){case"root":return this.children(e);case"text":return r("span",{class:"markdown__text"},e.value);case"paragraph":return r("p",{class:"markdown__paragraph"},this.children(e));case"heading":{const s=`h${e.depth}`;return r(s,{class:"markdown__heading"},this.children(e))}case"strong":return r("strong",{class:"markdown__strong"},this.children(e));case"emphasis":return r("em",{class:"markdown__emphasis"},this.children(e));case"delete":return r("del",{class:"markdown__delete"},this.children(e));case"blockquote":return r("blockquote",{class:"markdown__blockquote"},this.children(e));case"break":return r("br",{class:"markdown__break"});case"thematicBreak":return r("hr",{class:"markdown__thematic-break"});case"inlineCode":return r("code",{class:"markdown__inline-code"},e.value);case"code":return r("ds-code-block",{class:"markdown__code-block","data-ds-prose":"off",code:e.value,language:e.lang??"",filename:e.meta??""});case"link":{const s=p(e.url,{protocols:["http:","https:","mailto:"]});return s?r("a",{class:"markdown__link",href:s,target:"_blank",rel:"noopener noreferrer"},this.children(e)):this.children(e)}case"list":{const s=e.ordered?"ol":"ul";return r(s,{class:"markdown__list",start:e.ordered&&e.start?e.start:undefined},this.children(e))}case"listItem":return r("li",{class:"markdown__list-item"},typeof e.checked==="boolean"?r("input",{class:"markdown__task-indicator",type:"checkbox",checked:e.checked,disabled:true,"aria-hidden":"true",tabIndex:-1}):null,this.children(e));case"table":{const[s,...o]=e.children;return r("div",{class:"markdown__table-wrap ds-prose__table-scroll",tabIndex:0},r("table",{class:"markdown__table"},s?r("thead",{class:"markdown__table-head"},r("tr",{class:"markdown__table-row"},s.children.map((e=>r("th",{class:"markdown__table-heading",scope:"col"},this.children(e)))))):null,r("tbody",{class:"markdown__table-body"},o.map((e=>this.renderNode(e))))))}case"tableRow":return r("tr",{class:"markdown__table-row"},this.children(e));case"tableCell":return r("td",{class:"markdown__table-cell"},this.children(e));case"image":{const s=p(e.url,{protocols:["http:","https:","mailto:"]});return s?r("a",{class:"markdown__image-link",href:s,target:"_blank",rel:"noopener noreferrer"},e.alt||"View image"):e.alt||null}case"html":case"definition":case"footnoteDefinition":return null;case"footnoteReference":return r("sup",{class:"markdown__footnote"},e.label);default:return this.children(e)}}render(){return r(o,{key:"71e757e58d39c18e0cc973ca18e19afc91b49eff","aria-busy":this.streaming?"true":undefined},r("div",{key:"ddaaef2c4db1ab20bef9f27014e4282adc38900f",class:"markdown ds-prose"},this.tree?this.renderNode(this.tree):r("p",{class:"markdown__paragraph"},r("span",{class:"markdown__text"},this.content))))}get el(){return this}static get watchers(){return{content:[{scheduleParse:0}]}}static get style(){return w()}},[2,"ds-markdown",{content:[1],streaming:[4],tree:[32]},undefined,{content:[{scheduleParse:0}]}]);function u(){if(typeof customElements==="undefined"){return}const e=["ds-markdown","ds-badge","ds-button-unfilled","ds-code-block","ds-icon","ds-loader","ds-text","ds-tooltip"];e.forEach((e=>{switch(e){case"ds-markdown":if(!customElements.get(a(e))){customElements.define(a(e),g)}break;case"ds-badge":if(!customElements.get(a(e))){t()}break;case"ds-button-unfilled":if(!customElements.get(a(e))){n()}break;case"ds-code-block":if(!customElements.get(a(e))){i()}break;case"ds-icon":if(!customElements.get(a(e))){c()}break;case"ds-loader":if(!customElements.get(a(e))){h()}break;case"ds-text":if(!customElements.get(a(e))){m()}break;case"ds-tooltip":if(!customElements.get(a(e))){l()}break}}))}u();export{g as M,u as d};
2
- //# sourceMappingURL=p-D4wFhnby.js.map
1
+ import{p as e,H as s,h as r,a as o,t as a}from"./index.js";import{C as d}from"./p-DlsjHRU3.js";import{d as t}from"./p-ClOvX8cD.js";import{d as n}from"./p-Bn-tsogb.js";import{d as i}from"./p-zdiRX3Sf.js";import{d as c}from"./p-GP7Dz3qO.js";import{d as h}from"./p-0XTyQNRG.js";import{d as m}from"./p-DMPn_dt7.js";import{d as l}from"./p-DTlNtCX1.js";import{r as p}from"./p-CbrDF2gA.js";const w=()=>`.sc-ds-markdown:where(.ds-prose){display:block;box-sizing:border-box;max-inline-size:100%;min-inline-size:0;color:inherit;overflow-wrap:anywhere}.sc-ds-markdown:where(.ds-prose)>:where(h1,h2.sc-ds-markdown,h3.sc-ds-markdown,h4.sc-ds-markdown,h5.sc-ds-markdown,h6.sc-ds-markdown,p.sc-ds-markdown,ul.sc-ds-markdown,ol.sc-ds-markdown,dl.sc-ds-markdown,blockquote).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{max-inline-size:var(--ds-prose-text-max-inline-size, 100%)}.sc-ds-markdown:where(.ds-prose) :where(p,ul.sc-ds-markdown,ol.sc-ds-markdown,dl.sc-ds-markdown,blockquote.sc-ds-markdown,figure.sc-ds-markdown,figcaption.sc-ds-markdown,table).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{margin:0;color:inherit;font-family:var(--typography-font-family-ui);font-size:var(--typography-fontsize-md);font-weight:var(--typography-weight-regular);line-height:var(--typography-lineheight-md);letter-spacing:var(--typography-letterspacing-negative-half)}.sc-ds-markdown:where(.ds-prose) :where(h1,h2.sc-ds-markdown,h3.sc-ds-markdown,h4.sc-ds-markdown,h5.sc-ds-markdown,h6).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{margin:0;color:var(--color-foreground-primary);font-family:var(--typography-font-family-ui);font-weight:var(--typography-weight-semibold)}.sc-ds-markdown:where(.ds-prose) :where(h1,h2).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{font-size:var(--typography-fontsize-xl);line-height:var(--typography-lineheight-xl);letter-spacing:var(--typography-letterspacing-negative-double)}.sc-ds-markdown:where(.ds-prose) :where(h3,h4).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{font-size:var(--typography-fontsize-md);line-height:var(--typography-lineheight-md);font-weight:var(--typography-weight-medium);letter-spacing:var(--typography-letterspacing-negative-half)}.sc-ds-markdown:where(.ds-prose) :where(h2):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{font-size:var(--typography-fontsize-lg);line-height:var(--typography-lineheight-lg);letter-spacing:var(--typography-letterspacing-negative)}.sc-ds-markdown:where(.ds-prose) :where(h5,h6).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{font-size:var(--typography-fontsize-md);line-height:var(--typography-lineheight-md);letter-spacing:var(--typography-letterspacing-negative)}.sc-ds-markdown:where(.ds-prose)>.sc-ds-markdown:where(*+*){margin-block-start:var(--dimension-space-150)}.sc-ds-markdown:where(.ds-prose)>:where(*)+:where(h1,h2.sc-ds-markdown,h3.sc-ds-markdown,h4.sc-ds-markdown,h5.sc-ds-markdown,h6).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{margin-block-start:var(--dimension-space-200)}.sc-ds-markdown:where(.ds-prose)>:where(h1,h2.sc-ds-markdown,h3.sc-ds-markdown,h4.sc-ds-markdown,h5.sc-ds-markdown,h6).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown+.sc-ds-markdown:where(*){margin-block-start:var(--dimension-space-100)}.sc-ds-markdown:where(.ds-prose) :where(blockquote,li.sc-ds-markdown,dd)>.sc-ds-markdown:where(*+*):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{margin-block-start:var(--dimension-space-050)}.sc-ds-markdown:where(.ds-prose) :where(li+li.sc-ds-markdown,dt+dd).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{margin-block-start:var(--dimension-space-050)}.sc-ds-markdown:where(.ds-prose) :where(ul,ol).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{padding-inline-start:var(--dimension-space-300)}.sc-ds-markdown:where(.ds-prose) :where(ol>li):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{padding-block-end:var(--dimension-space-100)}.sc-ds-markdown:where(.ds-prose) :where(ol>li:has(>:is(h3,h4).sc-ds-markdown:first-child)):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown::marker{color:var(--color-foreground-primary);font-size:var(--typography-fontsize-md);font-weight:var(--typography-weight-medium)}.sc-ds-markdown:where(.ds-prose) :where(li>ul.sc-ds-markdown,li>ol).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{margin-block-start:var(--dimension-space-050)}.sc-ds-markdown:where(.ds-prose) :where(li>input[type='checkbox']):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{margin-inline-end:var(--dimension-space-050)}.sc-ds-markdown:where(.ds-prose) :where(blockquote):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{padding-inline-start:var(--dimension-space-150);border-inline-start:var(--dimension-stroke-width-025) solid var(--color-border-secondary);color:var(--color-foreground-secondary)}.sc-ds-markdown:where(.ds-prose) :where(strong,b).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{font-weight:var(--typography-weight-medium)}.sc-ds-markdown:where(.ds-prose) :where(h1,h2.sc-ds-markdown,h3.sc-ds-markdown,h4.sc-ds-markdown,h5.sc-ds-markdown,h6) .sc-ds-markdown:where(strong,b).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{font-weight:inherit}.sc-ds-markdown:where(.ds-prose) :where(a):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{color:var(--color-foreground-bold-brand);text-decoration-line:none;text-decoration-color:currentcolor;text-decoration-thickness:var(--ds-text-decoration-thickness, var(--dimension-stroke-width-012));text-underline-offset:var(--ds-text-decoration-offset, var(--dimension-space-025))}@media (hover: hover) and (pointer: fine){.sc-ds-markdown:where(.ds-prose) :where(a):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown:hover{text-decoration-line:underline}}@media (forced-colors: active){.sc-ds-markdown:where(.ds-prose) :where(a):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{text-decoration-line:underline}}.sc-ds-markdown:where(.ds-prose) :where(code):not(:where(pre code.sc-ds-markdown,[data-ds-prose='off'].sc-ds-markdown,[data-ds-prose='off'] *)).sc-ds-markdown{padding:var(--dimension-space-012) var(--dimension-space-025);border-radius:var(--dimension-radius-025);background:var(--color-background-secondary);font-family:var( --typography-font-family-code, 'Fira Code', ui-monospace, 'SFMono-Regular', 'Cascadia Code', 'Roboto Mono', Menlo, Monaco, Consolas, 'Liberation Mono', monospace );font-size:var(--typography-fontsize-sm);font-variant-ligatures:var(--ds-code-font-variant-ligatures, normal);font-weight:var(--typography-weight-regular);line-height:var(--typography-lineheight-sm);letter-spacing:var(--typography-letterspacing-none)}.sc-ds-markdown:where(.ds-prose) :where(pre):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{box-sizing:border-box;max-inline-size:100%;min-inline-size:0;margin:0;padding:var(--dimension-space-150);overflow:auto;border-radius:var(--dimension-radius-050);background:var(--color-background-strong-neutral);color:var(--color-foreground-faint-neutral);font-family:var( --typography-font-family-code, 'Fira Code', ui-monospace, 'SFMono-Regular', 'Cascadia Code', 'Roboto Mono', Menlo, Monaco, Consolas, 'Liberation Mono', monospace );font-size:var(--typography-fontsize-sm);font-variant-ligatures:var(--ds-code-font-variant-ligatures, normal);font-weight:var(--typography-weight-regular);line-height:var(--typography-lineheight-sm);letter-spacing:var(--typography-letterspacing-none);tab-size:2}.sc-ds-markdown:where(.ds-prose) :where(pre code):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{padding:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;white-space:pre}.sc-ds-markdown:where(.ds-prose) :where(hr):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{margin:0;border:0;border-block-start:var(--dimension-stroke-width-012) solid var(--color-border-tertiary)}.sc-ds-markdown:where(.ds-prose__table-scroll){box-sizing:border-box;max-inline-size:100%;min-inline-size:0;overflow-x:auto}.sc-ds-markdown:where(.ds-prose) :where(table):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{inline-size:100%;border-collapse:collapse}.sc-ds-markdown:where(.ds-prose) :where(th,td).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{padding:var(--dimension-space-075);border:var(--dimension-stroke-width-012) solid var(--color-border-tertiary);text-align:start;vertical-align:top;overflow-wrap:anywhere}.sc-ds-markdown:where(.ds-prose) :where(th):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{color:var(--color-foreground-primary);font-weight:var(--typography-weight-medium)}.sc-ds-markdown:where(.ds-prose) :where(img,video.sc-ds-markdown,svg).sc-ds-markdown:not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{max-inline-size:100%;block-size:auto}.sc-ds-markdown:where(.ds-prose) :where(figcaption):not(:where([data-ds-prose='off'],[data-ds-prose='off'] *)).sc-ds-markdown{margin-block-start:var(--dimension-space-050);color:var(--color-foreground-secondary);font-size:var(--typography-fontsize-sm);line-height:var(--typography-lineheight-sm);letter-spacing:var(--typography-letterspacing-none)}.sc-ds-markdown-h{display:block;min-width:0;color:inherit;box-sizing:border-box;-webkit-user-select:text;user-select:text}`;let f;function k(){f??(f=Promise.all([import("./p-ByLH5RAD.js"),import("./p-DVsje4AY.js"),import("./p-gidVv1FX.js")]).then((([e,s,r])=>({fromMarkdown:e.fromMarkdown,gfmFromMarkdown:s.gfmFromMarkdown,gfm:r.gfm}))));return f}const g=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.content="";this.streaming=false;this.tree=null;this.parseRevision=0;this.initialized=false;this.tasks=new d((()=>this.el.isConnected))}connectedCallback(){if(this.initialized)this.scheduleParse()}componentWillLoad(){this.initialized=true;if(typeof document!=="undefined")return this.parse()}disconnectedCallback(){this.parseRevision+=1;this.tasks.cancel();this.parseFrame=undefined}scheduleParse(){this.parseRevision+=1;if(typeof requestAnimationFrame!=="function")return;this.tasks.cancelFrame(this.parseFrame);this.parseFrame=this.tasks.frame((()=>{this.parseFrame=undefined;void this.parse()}))}async parse(){const e=++this.parseRevision;try{const{fromMarkdown:s,gfmFromMarkdown:r,gfm:o}=await k();if(e!==this.parseRevision||!this.el.isConnected)return;const a=s(this.content,{extensions:[o()],mdastExtensions:[r()]});if(e===this.parseRevision)this.tree=a}catch{if(e===this.parseRevision&&this.el.isConnected)this.tree=null}}children(e){if(!("children"in e))return[];return e.children.map((e=>this.renderNode(e)))}renderNode(e){switch(e.type){case"root":return this.children(e);case"text":return r("span",{class:"markdown__text"},e.value);case"paragraph":return r("p",{class:"markdown__paragraph"},this.children(e));case"heading":{const s=`h${e.depth}`;return r(s,{class:"markdown__heading"},this.children(e))}case"strong":return r("strong",{class:"markdown__strong"},this.children(e));case"emphasis":return r("em",{class:"markdown__emphasis"},this.children(e));case"delete":return r("del",{class:"markdown__delete"},this.children(e));case"blockquote":return r("blockquote",{class:"markdown__blockquote"},this.children(e));case"break":return r("br",{class:"markdown__break"});case"thematicBreak":return r("hr",{class:"markdown__thematic-break"});case"inlineCode":return r("code",{class:"markdown__inline-code"},e.value);case"code":return r("ds-code-block",{class:"markdown__code-block","data-ds-prose":"off",code:e.value,language:e.lang??"",filename:e.meta??""});case"link":{const s=p(e.url,{protocols:["http:","https:","mailto:"]});return s?r("a",{class:"markdown__link",href:s,target:"_blank",rel:"noopener noreferrer"},this.children(e)):this.children(e)}case"list":{const s=e.ordered?"ol":"ul";return r(s,{class:"markdown__list",start:e.ordered&&e.start?e.start:undefined},this.children(e))}case"listItem":return r("li",{class:"markdown__list-item"},typeof e.checked==="boolean"?r("input",{class:"markdown__task-indicator",type:"checkbox",checked:e.checked,disabled:true,"aria-hidden":"true",tabIndex:-1}):null,this.children(e));case"table":{const[s,...o]=e.children;return r("div",{class:"markdown__table-wrap ds-prose__table-scroll",tabIndex:0},r("table",{class:"markdown__table"},s?r("thead",{class:"markdown__table-head"},r("tr",{class:"markdown__table-row"},s.children.map((e=>r("th",{class:"markdown__table-heading",scope:"col"},this.children(e)))))):null,r("tbody",{class:"markdown__table-body"},o.map((e=>this.renderNode(e))))))}case"tableRow":return r("tr",{class:"markdown__table-row"},this.children(e));case"tableCell":return r("td",{class:"markdown__table-cell"},this.children(e));case"image":{const s=p(e.url,{protocols:["http:","https:","mailto:"]});return s?r("a",{class:"markdown__image-link",href:s,target:"_blank",rel:"noopener noreferrer"},e.alt||"View image"):e.alt||null}case"html":case"definition":case"footnoteDefinition":return null;case"footnoteReference":return r("sup",{class:"markdown__footnote"},e.label);default:return this.children(e)}}render(){return r(o,{key:"71e757e58d39c18e0cc973ca18e19afc91b49eff","aria-busy":this.streaming?"true":undefined},r("div",{key:"ddaaef2c4db1ab20bef9f27014e4282adc38900f",class:"markdown ds-prose"},this.tree?this.renderNode(this.tree):r("p",{class:"markdown__paragraph"},r("span",{class:"markdown__text"},this.content))))}get el(){return this}static get watchers(){return{content:[{scheduleParse:0}]}}static get style(){return w()}},[2,"ds-markdown",{content:[1],streaming:[4],tree:[32]},undefined,{content:[{scheduleParse:0}]}]);function u(){if(typeof customElements==="undefined"){return}const e=["ds-markdown","ds-badge","ds-button-unfilled","ds-code-block","ds-icon","ds-loader","ds-text","ds-tooltip"];e.forEach((e=>{switch(e){case"ds-markdown":if(!customElements.get(a(e))){customElements.define(a(e),g)}break;case"ds-badge":if(!customElements.get(a(e))){t()}break;case"ds-button-unfilled":if(!customElements.get(a(e))){n()}break;case"ds-code-block":if(!customElements.get(a(e))){i()}break;case"ds-icon":if(!customElements.get(a(e))){c()}break;case"ds-loader":if(!customElements.get(a(e))){h()}break;case"ds-text":if(!customElements.get(a(e))){m()}break;case"ds-tooltip":if(!customElements.get(a(e))){l()}break}}))}u();export{g as M,u as d};
2
+ //# sourceMappingURL=p-CvK-Gy-b.js.map
@@ -1,2 +1,2 @@
1
- import{p as e,H as i,c as t,h as a,a as s,t as n}from"./index.js";import{o}from"./p-Dkh_40bl.js";import{d as r}from"./p-ClOvX8cD.js";import{d}from"./p-D1D_nwPJ.js";import{d as c}from"./p-BYo1-6b5.js";import{d as l}from"./p-BLQgaSh-.js";import{d as p}from"./p-G6r6yYg8.js";import{d as g}from"./p-B3-zImxn.js";import{d as f}from"./p-GP7Dz3qO.js";import{d as h}from"./p-02bODFpT.js";import{d as b}from"./p-0XTyQNRG.js";import{d as u}from"./p-BL98zGOI.js";import{d as m}from"./p-DcvPY30Q.js";import{d as v}from"./p-DMPn_dt7.js";import{d as z}from"./p-BMI0F08u.js";const y=[25,50,100,200];function k(e){return Number.isFinite(e)?Math.max(0,Math.trunc(e)):0}function L(e,i){return Number.isFinite(e)&&e>0?Math.trunc(e):i}function S(e){const i=L(e.pageSize,y[0]);const t=e.pageSizeMode==="fit"?"fit":"fixed";const a=k(e.totalItems);const s=Math.max(1,Math.ceil(a/i));const n=Math.min(k(e.pageIndex),s-1);const o=(e.pageSizeOptions?.length?e.pageSizeOptions:y).map((e=>L(e,0))).filter((e=>e>0));const r=[...new Set(t==="fixed"?[...o,i]:o)].sort(((e,i)=>e-i));const d=a===0?0:n*i+1;const c=a===0?0:Math.min(a,d+i-1);return{pageIndex:n,pageSize:i,pageSizeMode:t,totalItems:a,totalPages:s,firstItem:d,lastItem:c,pageSizeOptions:r}}const _=()=>`.ds-visually-hidden.sc-ds-pagination-h,.ds-visually-hidden.sc-ds-pagination{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sc-ds-pagination-h{display:block;box-sizing:border-box;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none}.sc-ds-pagination-h::-webkit-scrollbar{display:none}.pagination.sc-ds-pagination,.pagination__page-size.sc-ds-pagination,.pagination__navigation.sc-ds-pagination{display:flex;align-items:center;box-sizing:border-box}.pagination.sc-ds-pagination{width:max-content;min-width:100%;gap:var(--dimension-space-100)}.pagination__page-size.sc-ds-pagination,.pagination__navigation.sc-ds-pagination{flex:0 0 auto}.pagination__page-size.sc-ds-pagination{gap:0}.pagination__navigation.sc-ds-pagination{gap:var(--dimension-space-050)}.pagination__page.sc-ds-pagination,.pagination__label.sc-ds-pagination{display:inline-flex;align-items:center;flex:0 0 auto;white-space:nowrap}.pagination.sc-ds-pagination .pagination__page-size-select.sc-ds-pagination{--ds-select-fg-active:var(--color-foreground-secondary)}.pagination__page.sc-ds-pagination{justify-content:center;min-inline-size:0;padding-inline:var(--dimension-space-100)}.pagination--table-compact.sc-ds-pagination .pagination__boundary.sc-ds-pagination{display:none}`;let x=0;const P=e(class e extends i{constructor(e){super();if(e!==false){this.__registerHost()}this.dsChange=t(this,"dsChange",7);this.pageIndex=0;this.pageSize=25;this.pageSizeMode="fixed";this.totalItems=0;this.pageSizeOptions=[25,50,100,200];this.fitToPage=false;this.fitToPageInactive=false;this.fitPageSizeLabel="Fit to page";this.fitPageSizeTriggerLabel="Fit";this.itemLabel="items";this.pageSizeLabel="Items";this.label="Pagination";this.showFirstLastButtons=false;this.loading=false;this.chromeLoading=false;this.tableCompact=false;this.pageSizeControlId=`ds-pagination-${++x}-page-size`;this.hasLoaded=false}get busy(){return this.loading||this.chromeLoading}componentDidLoad(){this.hasLoaded=true;this.syncTableCompactObserver()}connectedCallback(){if(this.hasLoaded)this.syncTableCompactObserver()}disconnectedCallback(){this.tableCompactDisconnect?.();this.tableCompactDisconnect=undefined}syncTableCompactObserver(){this.tableCompactDisconnect?.();this.tableCompactDisconnect=o(this.el,(e=>{if(this.tableCompact!==e)this.tableCompact=e}))}requestPage(e){const i=this.resolvedState;if(this.busy||e===i.pageIndex||e<0||e>=i.totalPages){return}this.dsChange.emit({pageIndex:e,pageSize:i.pageSize,pageSizeMode:i.pageSizeMode,totalItems:i.totalItems,pageSizeOptions:i.pageSizeOptions,fitToPage:this.fitToPage,fitToPageInactive:this.fitToPageInactive,fitPageSize:this.resolvedFitPageSize,fitPageSizeLabel:this.fitPageSizeLabel,fitPageSizeTriggerLabel:this.fitPageSizeTriggerLabel,itemLabel:this.itemLabel,pageSizeLabel:this.pageSizeLabel,ariaLabel:this.label,showFirstLastButtons:this.showFirstLastButtons,previousPageIndex:i.pageIndex,previousPageSize:i.pageSize,previousPageSizeMode:i.pageSizeMode,reason:"page"})}requestPageSize(e){if(this.busy||typeof e!=="string"||e==="fit"&&this.fitToPageInactive)return;const i=this.resolvedState;const t=e==="fit"?"fit":"fixed";const a=t==="fit"?this.resolvedFitPageSize:Number(e);if(!a||a===i.pageSize&&t===i.pageSizeMode)return;this.dsChange.emit({pageIndex:0,pageSize:Math.trunc(a),pageSizeMode:t,totalItems:i.totalItems,pageSizeOptions:i.pageSizeOptions,fitToPage:this.fitToPage,fitToPageInactive:this.fitToPageInactive,fitPageSize:this.resolvedFitPageSize,fitPageSizeLabel:this.fitPageSizeLabel,fitPageSizeTriggerLabel:this.fitPageSizeTriggerLabel,itemLabel:this.itemLabel,pageSizeLabel:this.pageSizeLabel,ariaLabel:this.label,showFirstLastButtons:this.showFirstLastButtons,previousPageIndex:i.pageIndex,previousPageSize:i.pageSize,previousPageSizeMode:i.pageSizeMode,reason:"page-size"})}handleKeyDown(e){if(e.defaultPrevented||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey){return}const t=e.composedPath().some((e=>e instanceof i&&(e.tagName==="DS-SELECT"||["INPUT","SELECT","TEXTAREA"].includes(e.tagName))));if(t||e.key!=="ArrowLeft"&&e.key!=="ArrowRight")return;const a=this.resolvedState;const s=e.key==="ArrowLeft"?a.pageIndex-1:a.pageIndex+1;if(this.busy||s<0||s>=a.totalPages)return;e.preventDefault();this.requestPage(s)}get resolvedFitPageSize(){return Number.isFinite(this.fitPageSize)&&Number(this.fitPageSize)>0?Math.trunc(Number(this.fitPageSize)):undefined}get resolvedState(){return S({pageIndex:this.pageIndex,pageSize:this.pageSize,pageSizeMode:this.pageSizeMode,totalItems:this.totalItems,pageSizeOptions:this.pageSizeOptions})}render(){const e=this.resolvedState;const i=e.pageIndex===0;const t=e.pageIndex===e.totalPages-1;const n=`${e.pageIndex+1} of ${e.totalPages}`;const o=`${e.firstItem}–${e.lastItem} of ${e.totalItems}`;const r=`Page ${e.pageIndex+1} of ${e.totalPages}`;const d=this.pageSizeAriaLabel??`${this.pageSizeLabel} per page`;const c=e.pageSizeOptions.map((e=>({label:String(e),value:String(e)})));if(this.fitToPage){c.push({label:this.fitPageSizeLabel,value:"fit",isInactive:this.fitToPageInactive||this.resolvedFitPageSize===undefined})}return a(s,{key:"854530e08506b2e6d84dfe8c472e0cc4406f5e2f"},a("nav",{key:"b33f36027bd35af69b6d97108a802ed274d6f9c4",class:{pagination:true,"pagination--table-compact":this.tableCompact},"aria-label":this.label,"aria-busy":this.busy?"true":undefined,onKeyDown:e=>this.handleKeyDown(e)},a("div",{key:"5772c3961ce8771742a248e322bfcee3b395e5b6",class:"pagination__page-size"},a("ds-skeleton",{key:"a9fb9b5f78b631116a11b9d83974827a76705071",preserveLayout:true,isLoading:this.chromeLoading},a("ds-text",{key:"63902adc8f7725f01f29d7ea608235c1576ff4e1",class:"pagination__label",as:"span",variant:"text-body-medium",color:"secondary","aria-hidden":"true"},this.pageSizeLabel,":")),a("span",{key:"180cede7228f4ddca3a22f54999a5a987efcc24d",id:`${this.pageSizeControlId}-label`,class:"ds-visually-hidden"},d),a("ds-skeleton",{key:"03b498db1ec42092ad7e7188679a5e19fde818ee",preserveLayout:true,isLoading:this.chromeLoading,variant:"control",controlAppearance:"borderless",controlContent:"label-icon"},a("ds-select",{key:"421629eb580065aa8d1b0f34ef626f9b9f9b1f24",class:"pagination__page-size-select",size:"md",inputId:this.pageSizeControlId,ariaLabelledby:`${this.pageSizeControlId}-label`,options:c,value:e.pageSizeMode==="fit"?"fit":String(e.pageSize),triggerLabel:e.pageSizeMode==="fit"?this.fitPageSizeTriggerLabel:undefined,indicator:"up-down",allowClear:false,activeFill:false,hasBorder:false,isInactive:this.busy,onDsChange:e=>{e.stopPropagation();this.requestPageSize(e.detail)}}))),a("ds-divider",{key:"fa36f24df9ef10222334b11b381ec80b7ea8e540",class:"pagination__divider",orientation:"vertical",length:"var(--dimension-size-250)"}),a("div",{key:"845382dbaade4bec6251582aaca58f2bbdfcea3f",class:"pagination__navigation"},this.showFirstLastButtons?a("ds-skeleton",{class:"pagination__boundary",preserveLayout:true,isLoading:this.chromeLoading,variant:"control",controlAppearance:"borderless",controlContent:"icon"},a("ds-button-unfilled",{variant:"icon",size:"md",icon:"ChevronLeftDouble",ariaLabel:"First page",hasBorder:false,isInactive:this.busy||i,onDsClick:()=>this.requestPage(0)})):null,a("ds-skeleton",{key:"ff494989ec316347d4d49dc600f3ab1dafe1f1c2",preserveLayout:true,isLoading:this.chromeLoading,variant:"control",controlAppearance:"borderless",controlContent:"icon"},a("ds-button-unfilled",{key:"1c7b6be27c7e00ee49deabd10a2c0e6bb3465675",variant:"icon",size:"md",icon:"ChevronLeft",ariaLabel:"Previous page",hasBorder:false,isInactive:this.busy||i,onDsClick:()=>this.requestPage(e.pageIndex-1)})),a("ds-skeleton",{key:"51fb1f0d92ad33bdd78d64ed5372d23f00abf518",preserveLayout:true,isLoading:this.chromeLoading},a("ds-text",{key:"008c29be7c046764571bdd2e68cc3d762067b7bf",class:"pagination__page",as:"span",variant:"text-body-medium",color:"secondary",fontFeature:"tabular-nums"},n)),a("ds-skeleton",{key:"cf8d820d06e502a165568089404d339a7b659a20",preserveLayout:true,isLoading:this.chromeLoading,variant:"control",controlAppearance:"borderless",controlContent:"icon"},a("ds-button-unfilled",{key:"3bc84d2bd10b2b77fbaf26349f19de47ce829c5c",variant:"icon",size:"md",icon:"ChevronRight",ariaLabel:"Next page",hasBorder:false,isInactive:this.busy||t,onDsClick:()=>this.requestPage(e.pageIndex+1)})),this.showFirstLastButtons?a("ds-skeleton",{class:"pagination__boundary",preserveLayout:true,isLoading:this.chromeLoading,variant:"control",controlAppearance:"borderless",controlContent:"icon"},a("ds-button-unfilled",{variant:"icon",size:"md",icon:"ChevronRightDouble",ariaLabel:"Last page",hasBorder:false,isInactive:this.busy||t,onDsClick:()=>this.requestPage(e.totalPages-1)})):null),a("span",{key:"e627de803053436077dec53708e32143426c75b3",class:"ds-visually-hidden",role:"status","aria-live":"polite","aria-atomic":"true"},this.chromeLoading?"Loading pages":`${o} ${this.itemLabel}. ${r}.`)))}get el(){return this}static get style(){return _()}},[2,"ds-pagination",{pageIndex:[2,"page-index"],pageSize:[2,"page-size"],pageSizeMode:[1,"page-size-mode"],totalItems:[2,"total-items"],pageSizeOptions:[16],fitToPage:[4,"fit-to-page"],fitToPageInactive:[4,"fit-to-page-inactive"],fitPageSize:[2,"fit-page-size"],fitPageSizeLabel:[1,"fit-page-size-label"],fitPageSizeTriggerLabel:[1,"fit-page-size-trigger-label"],itemLabel:[1,"item-label"],pageSizeLabel:[1,"page-size-label"],pageSizeAriaLabel:[1,"page-size-aria-label"],label:[1],showFirstLastButtons:[4,"show-first-last-buttons"],loading:[4],chromeLoading:[4,"chrome-loading"],tableCompact:[32]}]);function I(){if(typeof customElements==="undefined"){return}const e=["ds-pagination","ds-badge","ds-button-unfilled","ds-checkbox","ds-chip","ds-divider","ds-empty-state","ds-icon","ds-input","ds-loader","ds-select","ds-skeleton","ds-text","ds-tooltip"];e.forEach((e=>{switch(e){case"ds-pagination":if(!customElements.get(n(e))){customElements.define(n(e),P)}break;case"ds-badge":if(!customElements.get(n(e))){r()}break;case"ds-button-unfilled":if(!customElements.get(n(e))){d()}break;case"ds-checkbox":if(!customElements.get(n(e))){c()}break;case"ds-chip":if(!customElements.get(n(e))){l()}break;case"ds-divider":if(!customElements.get(n(e))){p()}break;case"ds-empty-state":if(!customElements.get(n(e))){g()}break;case"ds-icon":if(!customElements.get(n(e))){f()}break;case"ds-input":if(!customElements.get(n(e))){h()}break;case"ds-loader":if(!customElements.get(n(e))){b()}break;case"ds-select":if(!customElements.get(n(e))){u()}break;case"ds-skeleton":if(!customElements.get(n(e))){m()}break;case"ds-text":if(!customElements.get(n(e))){v()}break;case"ds-tooltip":if(!customElements.get(n(e))){z()}break}}))}I();export{P,I as d,S as r};
2
- //# sourceMappingURL=p-8XJLNIKj.js.map
1
+ import{p as e,H as i,c as t,h as a,a as s,t as n}from"./index.js";import{o}from"./p-Dkh_40bl.js";import{d as r}from"./p-ClOvX8cD.js";import{d}from"./p-Bn-tsogb.js";import{d as c}from"./p-BYo1-6b5.js";import{d as l}from"./p-BLQgaSh-.js";import{d as p}from"./p-G6r6yYg8.js";import{d as g}from"./p-B3-zImxn.js";import{d as f}from"./p-GP7Dz3qO.js";import{d as h}from"./p-txmcXZdy.js";import{d as b}from"./p-0XTyQNRG.js";import{d as u}from"./p-Ckar-ZZa.js";import{d as m}from"./p-DcvPY30Q.js";import{d as v}from"./p-DMPn_dt7.js";import{d as z}from"./p-DTlNtCX1.js";const y=[25,50,100,200];function k(e){return Number.isFinite(e)?Math.max(0,Math.trunc(e)):0}function L(e,i){return Number.isFinite(e)&&e>0?Math.trunc(e):i}function S(e){const i=L(e.pageSize,y[0]);const t=e.pageSizeMode==="fit"?"fit":"fixed";const a=k(e.totalItems);const s=Math.max(1,Math.ceil(a/i));const n=Math.min(k(e.pageIndex),s-1);const o=(e.pageSizeOptions?.length?e.pageSizeOptions:y).map((e=>L(e,0))).filter((e=>e>0));const r=[...new Set(t==="fixed"?[...o,i]:o)].sort(((e,i)=>e-i));const d=a===0?0:n*i+1;const c=a===0?0:Math.min(a,d+i-1);return{pageIndex:n,pageSize:i,pageSizeMode:t,totalItems:a,totalPages:s,firstItem:d,lastItem:c,pageSizeOptions:r}}const x=()=>`.ds-visually-hidden.sc-ds-pagination-h,.ds-visually-hidden.sc-ds-pagination{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sc-ds-pagination-h{display:block;box-sizing:border-box;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none}.sc-ds-pagination-h::-webkit-scrollbar{display:none}.pagination.sc-ds-pagination,.pagination__page-size.sc-ds-pagination,.pagination__navigation.sc-ds-pagination{display:flex;align-items:center;box-sizing:border-box}.pagination.sc-ds-pagination{width:max-content;min-width:100%;gap:var(--dimension-space-100)}.pagination__page-size.sc-ds-pagination,.pagination__navigation.sc-ds-pagination{flex:0 0 auto}.pagination__page-size.sc-ds-pagination{gap:0}.pagination__navigation.sc-ds-pagination{gap:var(--dimension-space-050)}.pagination__page.sc-ds-pagination,.pagination__label.sc-ds-pagination{display:inline-flex;align-items:center;flex:0 0 auto;white-space:nowrap}.pagination.sc-ds-pagination .pagination__page-size-select.sc-ds-pagination{--ds-select-fg-active:var(--color-foreground-secondary)}.pagination__page.sc-ds-pagination{justify-content:center;min-inline-size:0;padding-inline:var(--dimension-space-100)}.pagination--table-compact.sc-ds-pagination .pagination__boundary.sc-ds-pagination{display:none}`;let _=0;const P=e(class e extends i{constructor(e){super();if(e!==false){this.__registerHost()}this.dsChange=t(this,"dsChange",7);this.pageIndex=0;this.pageSize=25;this.pageSizeMode="fixed";this.totalItems=0;this.pageSizeOptions=[25,50,100,200];this.fitToPage=false;this.fitToPageInactive=false;this.fitPageSizeLabel="Fit to page";this.fitPageSizeTriggerLabel="Fit";this.itemLabel="items";this.pageSizeLabel="Items";this.label="Pagination";this.showFirstLastButtons=false;this.loading=false;this.chromeLoading=false;this.tableCompact=false;this.pageSizeControlId=`ds-pagination-${++_}-page-size`;this.hasLoaded=false}get busy(){return this.loading||this.chromeLoading}componentDidLoad(){this.hasLoaded=true;this.syncTableCompactObserver()}connectedCallback(){if(this.hasLoaded)this.syncTableCompactObserver()}disconnectedCallback(){this.tableCompactDisconnect?.();this.tableCompactDisconnect=undefined}syncTableCompactObserver(){this.tableCompactDisconnect?.();this.tableCompactDisconnect=o(this.el,(e=>{if(this.tableCompact!==e)this.tableCompact=e}))}requestPage(e){const i=this.resolvedState;if(this.busy||e===i.pageIndex||e<0||e>=i.totalPages){return}this.dsChange.emit({pageIndex:e,pageSize:i.pageSize,pageSizeMode:i.pageSizeMode,totalItems:i.totalItems,pageSizeOptions:i.pageSizeOptions,fitToPage:this.fitToPage,fitToPageInactive:this.fitToPageInactive,fitPageSize:this.resolvedFitPageSize,fitPageSizeLabel:this.fitPageSizeLabel,fitPageSizeTriggerLabel:this.fitPageSizeTriggerLabel,itemLabel:this.itemLabel,pageSizeLabel:this.pageSizeLabel,ariaLabel:this.label,showFirstLastButtons:this.showFirstLastButtons,previousPageIndex:i.pageIndex,previousPageSize:i.pageSize,previousPageSizeMode:i.pageSizeMode,reason:"page"})}requestPageSize(e){if(this.busy||typeof e!=="string"||e==="fit"&&this.fitToPageInactive)return;const i=this.resolvedState;const t=e==="fit"?"fit":"fixed";const a=t==="fit"?this.resolvedFitPageSize:Number(e);if(!a||a===i.pageSize&&t===i.pageSizeMode)return;this.dsChange.emit({pageIndex:0,pageSize:Math.trunc(a),pageSizeMode:t,totalItems:i.totalItems,pageSizeOptions:i.pageSizeOptions,fitToPage:this.fitToPage,fitToPageInactive:this.fitToPageInactive,fitPageSize:this.resolvedFitPageSize,fitPageSizeLabel:this.fitPageSizeLabel,fitPageSizeTriggerLabel:this.fitPageSizeTriggerLabel,itemLabel:this.itemLabel,pageSizeLabel:this.pageSizeLabel,ariaLabel:this.label,showFirstLastButtons:this.showFirstLastButtons,previousPageIndex:i.pageIndex,previousPageSize:i.pageSize,previousPageSizeMode:i.pageSizeMode,reason:"page-size"})}handleKeyDown(e){if(e.defaultPrevented||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey){return}const t=e.composedPath().some((e=>e instanceof i&&(e.tagName==="DS-SELECT"||["INPUT","SELECT","TEXTAREA"].includes(e.tagName))));if(t||e.key!=="ArrowLeft"&&e.key!=="ArrowRight")return;const a=this.resolvedState;const s=e.key==="ArrowLeft"?a.pageIndex-1:a.pageIndex+1;if(this.busy||s<0||s>=a.totalPages)return;e.preventDefault();this.requestPage(s)}get resolvedFitPageSize(){return Number.isFinite(this.fitPageSize)&&Number(this.fitPageSize)>0?Math.trunc(Number(this.fitPageSize)):undefined}get resolvedState(){return S({pageIndex:this.pageIndex,pageSize:this.pageSize,pageSizeMode:this.pageSizeMode,totalItems:this.totalItems,pageSizeOptions:this.pageSizeOptions})}render(){const e=this.resolvedState;const i=e.pageIndex===0;const t=e.pageIndex===e.totalPages-1;const n=`${e.pageIndex+1} of ${e.totalPages}`;const o=`${e.firstItem}–${e.lastItem} of ${e.totalItems}`;const r=`Page ${e.pageIndex+1} of ${e.totalPages}`;const d=this.pageSizeAriaLabel??`${this.pageSizeLabel} per page`;const c=e.pageSizeOptions.map((e=>({label:String(e),value:String(e)})));if(this.fitToPage){c.push({label:this.fitPageSizeLabel,value:"fit",isInactive:this.fitToPageInactive||this.resolvedFitPageSize===undefined})}return a(s,{key:"854530e08506b2e6d84dfe8c472e0cc4406f5e2f"},a("nav",{key:"b33f36027bd35af69b6d97108a802ed274d6f9c4",class:{pagination:true,"pagination--table-compact":this.tableCompact},"aria-label":this.label,"aria-busy":this.busy?"true":undefined,onKeyDown:e=>this.handleKeyDown(e)},a("div",{key:"5772c3961ce8771742a248e322bfcee3b395e5b6",class:"pagination__page-size"},a("ds-skeleton",{key:"a9fb9b5f78b631116a11b9d83974827a76705071",preserveLayout:true,isLoading:this.chromeLoading},a("ds-text",{key:"63902adc8f7725f01f29d7ea608235c1576ff4e1",class:"pagination__label",as:"span",variant:"text-body-medium",color:"secondary","aria-hidden":"true"},this.pageSizeLabel,":")),a("span",{key:"180cede7228f4ddca3a22f54999a5a987efcc24d",id:`${this.pageSizeControlId}-label`,class:"ds-visually-hidden"},d),a("ds-skeleton",{key:"03b498db1ec42092ad7e7188679a5e19fde818ee",preserveLayout:true,isLoading:this.chromeLoading,variant:"control",controlAppearance:"borderless",controlContent:"label-icon"},a("ds-select",{key:"421629eb580065aa8d1b0f34ef626f9b9f9b1f24",class:"pagination__page-size-select",size:"md",inputId:this.pageSizeControlId,ariaLabelledby:`${this.pageSizeControlId}-label`,options:c,value:e.pageSizeMode==="fit"?"fit":String(e.pageSize),triggerLabel:e.pageSizeMode==="fit"?this.fitPageSizeTriggerLabel:undefined,indicator:"up-down",allowClear:false,activeFill:false,hasBorder:false,isInactive:this.busy,onDsChange:e=>{e.stopPropagation();this.requestPageSize(e.detail)}}))),a("ds-divider",{key:"fa36f24df9ef10222334b11b381ec80b7ea8e540",class:"pagination__divider",orientation:"vertical",length:"var(--dimension-size-250)"}),a("div",{key:"845382dbaade4bec6251582aaca58f2bbdfcea3f",class:"pagination__navigation"},this.showFirstLastButtons?a("ds-skeleton",{class:"pagination__boundary",preserveLayout:true,isLoading:this.chromeLoading,variant:"control",controlAppearance:"borderless",controlContent:"icon"},a("ds-button-unfilled",{variant:"icon",size:"md",icon:"ChevronLeftDouble",ariaLabel:"First page",hasBorder:false,isInactive:this.busy||i,onDsClick:()=>this.requestPage(0)})):null,a("ds-skeleton",{key:"ff494989ec316347d4d49dc600f3ab1dafe1f1c2",preserveLayout:true,isLoading:this.chromeLoading,variant:"control",controlAppearance:"borderless",controlContent:"icon"},a("ds-button-unfilled",{key:"1c7b6be27c7e00ee49deabd10a2c0e6bb3465675",variant:"icon",size:"md",icon:"ChevronLeft",ariaLabel:"Previous page",hasBorder:false,isInactive:this.busy||i,onDsClick:()=>this.requestPage(e.pageIndex-1)})),a("ds-skeleton",{key:"51fb1f0d92ad33bdd78d64ed5372d23f00abf518",preserveLayout:true,isLoading:this.chromeLoading},a("ds-text",{key:"008c29be7c046764571bdd2e68cc3d762067b7bf",class:"pagination__page",as:"span",variant:"text-body-medium",color:"secondary",fontFeature:"tabular-nums"},n)),a("ds-skeleton",{key:"cf8d820d06e502a165568089404d339a7b659a20",preserveLayout:true,isLoading:this.chromeLoading,variant:"control",controlAppearance:"borderless",controlContent:"icon"},a("ds-button-unfilled",{key:"3bc84d2bd10b2b77fbaf26349f19de47ce829c5c",variant:"icon",size:"md",icon:"ChevronRight",ariaLabel:"Next page",hasBorder:false,isInactive:this.busy||t,onDsClick:()=>this.requestPage(e.pageIndex+1)})),this.showFirstLastButtons?a("ds-skeleton",{class:"pagination__boundary",preserveLayout:true,isLoading:this.chromeLoading,variant:"control",controlAppearance:"borderless",controlContent:"icon"},a("ds-button-unfilled",{variant:"icon",size:"md",icon:"ChevronRightDouble",ariaLabel:"Last page",hasBorder:false,isInactive:this.busy||t,onDsClick:()=>this.requestPage(e.totalPages-1)})):null),a("span",{key:"e627de803053436077dec53708e32143426c75b3",class:"ds-visually-hidden",role:"status","aria-live":"polite","aria-atomic":"true"},this.chromeLoading?"Loading pages":`${o} ${this.itemLabel}. ${r}.`)))}get el(){return this}static get style(){return x()}},[2,"ds-pagination",{pageIndex:[2,"page-index"],pageSize:[2,"page-size"],pageSizeMode:[1,"page-size-mode"],totalItems:[2,"total-items"],pageSizeOptions:[16],fitToPage:[4,"fit-to-page"],fitToPageInactive:[4,"fit-to-page-inactive"],fitPageSize:[2,"fit-page-size"],fitPageSizeLabel:[1,"fit-page-size-label"],fitPageSizeTriggerLabel:[1,"fit-page-size-trigger-label"],itemLabel:[1,"item-label"],pageSizeLabel:[1,"page-size-label"],pageSizeAriaLabel:[1,"page-size-aria-label"],label:[1],showFirstLastButtons:[4,"show-first-last-buttons"],loading:[4],chromeLoading:[4,"chrome-loading"],tableCompact:[32]}]);function I(){if(typeof customElements==="undefined"){return}const e=["ds-pagination","ds-badge","ds-button-unfilled","ds-checkbox","ds-chip","ds-divider","ds-empty-state","ds-icon","ds-input","ds-loader","ds-select","ds-skeleton","ds-text","ds-tooltip"];e.forEach((e=>{switch(e){case"ds-pagination":if(!customElements.get(n(e))){customElements.define(n(e),P)}break;case"ds-badge":if(!customElements.get(n(e))){r()}break;case"ds-button-unfilled":if(!customElements.get(n(e))){d()}break;case"ds-checkbox":if(!customElements.get(n(e))){c()}break;case"ds-chip":if(!customElements.get(n(e))){l()}break;case"ds-divider":if(!customElements.get(n(e))){p()}break;case"ds-empty-state":if(!customElements.get(n(e))){g()}break;case"ds-icon":if(!customElements.get(n(e))){f()}break;case"ds-input":if(!customElements.get(n(e))){h()}break;case"ds-loader":if(!customElements.get(n(e))){b()}break;case"ds-select":if(!customElements.get(n(e))){u()}break;case"ds-skeleton":if(!customElements.get(n(e))){m()}break;case"ds-text":if(!customElements.get(n(e))){v()}break;case"ds-tooltip":if(!customElements.get(n(e))){z()}break}}))}I();export{P,I as d,S as r};
2
+ //# sourceMappingURL=p-D9MqUHig.js.map
@@ -1,2 +1,2 @@
1
- import{p as n,H as e,c as r,h as i,a as s,t as a}from"./index.js";import{d as t}from"./p-ClOvX8cD.js";import{d as o}from"./p-D1D_nwPJ.js";import{d}from"./p-GP7Dz3qO.js";import{d as c}from"./p-0XTyQNRG.js";import{d as l}from"./p-DMPn_dt7.js";import{d as f}from"./p-BMI0F08u.js";const u=[{label:"Today",value:"today",days:1,offset:0},{label:"Yesterday",value:"yesterday",days:1,offset:-1},{label:"Last 7 days",value:"last-7-days",days:7,offset:0},{label:"Last 14 days",value:"last-14-days",days:14,offset:0},{label:"Last 30 days",value:"last-30-days",days:30,offset:0},{label:"Last 60 days",value:"last-60-days",days:60,offset:0},{label:"Last 90 days",value:"last-90-days",days:90,offset:0}];const v=/^\d{4}-\d{2}-\d{2}$/;const h=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric",timeZone:"UTC"});function g(n){if(typeof n!=="string"||!v.test(n))return false;const[e,r,i]=n.split("-").map(Number);if(e<1)return false;const s=new Date(`${n}T00:00:00Z`);return s.getUTCFullYear()===e&&s.getUTCMonth()===r-1&&s.getUTCDate()===i}function m(n){if(!g(n))return"";return h.formatToParts(new Date(`${n}T00:00:00Z`)).map((n=>n.type==="year"?n.value.padStart(4,"0"):n.value)).join("")}const p=["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"];function b(n){if(typeof n!=="string")return"";const e=n.trim();if(!e)return"";if(g(e))return e;const r=e.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/);if(r){const n=`${r[3]}-${r[1].padStart(2,"0")}-${r[2].padStart(2,"0")}`;return g(n)?n:""}const i=e.match(/^([A-Za-z]{3})\s+(\d{1,2}),\s+(\d{4})$/);if(!i)return"";const s=p.indexOf(i[1].toLowerCase());if(s<0)return"";const a=`${i[3]}-${String(s+1).padStart(2,"0")}-${i[2].padStart(2,"0")}`;return g(a)?a:""}function y(n,e){if(!g(n)||!Number.isSafeInteger(e))return"";const r=new Date(`${n}T00:00:00Z`);r.setUTCDate(r.getUTCDate()+e);const i=r.getUTCFullYear();return i>=1&&i<=9999?r.toISOString().slice(0,10):""}function w(n){return`relative:${n}`}function k(n,e=n){const r=n<=e?[n,e]:[e,n];return`range:${r[0]}/${r[1]}`}function x(n){if(typeof n!=="string"||!n)return null;if(n.startsWith("relative:")){const e=n.slice("relative:".length);return u.some((n=>n.value===e))?{kind:"relative",preset:e}:null}if(n.startsWith("range:")){const[e,r,...i]=n.slice("range:".length).split("/");if(i.length||!g(e)||!g(r))return null;return e<=r?{kind:"range",start:e,end:r}:{kind:"range",start:r,end:e}}return g(n)?{kind:"range",start:n,end:n}:null}const $=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];const T=new Intl.DateTimeFormat("en-US",{month:"long",year:"numeric",timeZone:"UTC"});const D=new Intl.DateTimeFormat("en-US",{weekday:"long",month:"long",day:"numeric",year:"numeric",timeZone:"UTC"});function C(){const n=new Date;const e=String(n.getFullYear()).padStart(4,"0");const r=String(n.getMonth()+1).padStart(2,"0");const i=String(n.getDate()).padStart(2,"0");return`${e}-${r}-${i}`}function z(n){return g(n)?n.slice(0,7):C().slice(0,7)}function _(n,e){if(!g(`${n}-01`)||!Number.isSafeInteger(e))return"";const r=new Date(`${n}-01T00:00:00Z`);r.setUTCMonth(r.getUTCMonth()+e);const i=r.getUTCFullYear();return i>=1&&i<=9999?r.toISOString().slice(0,7):""}function j(n){if(!g(`${n}-01`))return"";return T.format(new Date(`${n}-01T00:00:00Z`))}function B(n){if(!g(`${n}-01`))return[];const e=new Date(`${n}-01T00:00:00Z`);const r=e.getUTCDay();return Array.from({length:42},((i,s)=>{const a=new Date(e);a.setUTCDate(1-r+s);const t=a.getUTCFullYear();const o=t>=1&&t<=9999?a.toISOString().slice(0,10):"";return{value:o,day:a.getUTCDate(),inMonth:o.startsWith(`${n}-`),label:o?D.format(a):"Unavailable date"}}))}function E(n,e,r){return n?e:r}const L=()=>`.sc-ds-calendar-h,.sc-ds-calendar:where(.ds-table),.sc-ds-calendar:where(.tooltip-popup),.sc-ds-calendar:where(.ds-radius){--ds-radius-control:var(--dimension-radius-025);--ds-radius-card:var(--dimension-radius-050);--ds-radius-modal:var(--dimension-radius-050);--ds-radius-menu:var(--dimension-radius-075);--ds-radius-tooltip-control:var(--dimension-radius-025);--ds-radius-tooltip-menu:var(--dimension-radius-075);--ds-radius-table:var(--dimension-radius-050)}.ds-control--lg.sc-ds-calendar,.ds-control--lg.sc-ds-calendar-h,.ds-control--md.sc-ds-calendar-h,.ds-control--md.sc-ds-calendar,.ds-control--sm.sc-ds-calendar-h,.ds-control--sm.sc-ds-calendar,.ds-control--xs.sc-ds-calendar-h,.ds-control--xs.sc-ds-calendar{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-calendar-h,.ds-control--lg.sc-ds-calendar{--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-calendar-h,.ds-control--md.sc-ds-calendar{--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-calendar-h,.ds-control--sm.sc-ds-calendar{--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-calendar-h,.ds-control--xs.sc-ds-calendar{--ds-control-height:var(--dimension-size-200);--ds-control-icon:var(--dimension-iconography-xs);--ds-control-padding-inline:var(--dimension-space-025);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:0}@media (forced-colors: active){.sc-ds-calendar:root,.sc-ds-calendar-h,.ds-forced-colors-scope.sc-ds-calendar{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.sc-ds-calendar-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-calendar-h,.ds-focus-ring.sc-ds-calendar,.ds-focus-ring-inset.sc-ds-calendar-h,.ds-focus-ring-inset.sc-ds-calendar{outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.ds-focus-ring.sc-ds-calendar-h:focus-visible,.ds-focus-ring.sc-ds-calendar: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-calendar-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-calendar{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-calendar-h:focus-visible,.ds-focus-ring-inset.sc-ds-calendar:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-calendar-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-calendar: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-calendar-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-calendar{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-calendar-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-calendar::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}@media (forced-colors: active){.sc-ds-calendar-h{--ds-focus-ring-color:var(--ds-forced-color-selected)}}@media (forced-colors: active){.sc-ds-calendar:root,.sc-ds-calendar-h,.ds-forced-colors-scope.sc-ds-calendar{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.ds-interaction-fill.sc-ds-calendar-h,.ds-interaction-fill.sc-ds-calendar{position:var(--ds-interaction-position, relative);z-index:var(--ds-interaction-z-index, 0);cursor:default;--ds-interaction-hover:var(--color-interaction-hover);--ds-interaction-pressed:var(--color-interaction-pressed);--ds-interaction-active:var(--color-interaction-active-brand);--ds-interaction-border-width:0px;--ds-interaction-border-color:transparent;--ds-interaction-divider-width:0px;--ds-interaction-divider-color:transparent;--ds-interaction-divider-inline-start-width:0px;--ds-interaction-divider-inline-start-color:transparent;--ds-interaction-divider-inline-end-width:0px;--ds-interaction-divider-inline-end-color:transparent}.ds-interaction-fill.sc-ds-calendar-h::before,.ds-interaction-fill.sc-ds-calendar::before,.ds-interaction-fill.sc-ds-calendar-h::after,.ds-interaction-fill.sc-ds-calendar::after{content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none;cursor:inherit;transition:none}.ds-interaction-fill.sc-ds-calendar-h::before,.ds-interaction-fill.sc-ds-calendar::before{z-index:1}.ds-interaction-fill.sc-ds-calendar-h::after,.ds-interaction-fill.sc-ds-calendar::after{z-index:3;box-shadow:inset 0 calc(-1 * var(--ds-interaction-divider-width)) 0 var(--ds-interaction-divider-color), inset var(--ds-interaction-divider-inline-start-width) 0 0 var(--ds-interaction-divider-inline-start-color), inset calc(-1 * var(--ds-interaction-divider-inline-end-width)) 0 0 var(--ds-interaction-divider-inline-end-color), inset 0 0 0 var(--ds-interaction-border-width) var(--ds-interaction-border-color)}.ds-interaction-fill--bordered.sc-ds-calendar-h,.ds-interaction-fill--bordered.sc-ds-calendar{--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--color-border-secondary)}.ds-interaction-fill--selected.sc-ds-calendar-h::before,.ds-interaction-fill--selected.sc-ds-calendar::before{background:var(--ds-interaction-active)}.ds-interaction-fill--selected.sc-ds-calendar-h,.ds-interaction-fill--selected.sc-ds-calendar{--ds-interaction-dot-ring:var(--ds-interaction-active)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-calendar-h:hover:not(:disabled)::after,.ds-interaction-fill.sc-ds-calendar:hover:not(:disabled)::after{background:var(--ds-interaction-hover)}}.ds-interaction-fill.sc-ds-calendar-h:active:not(:disabled)::after,.ds-interaction-fill.sc-ds-calendar:active:not(:disabled)::after{background:var(--ds-interaction-pressed)}.ds-interaction-fill--grouped.sc-ds-calendar-h::after,.ds-interaction-fill--grouped.sc-ds-calendar::after,.ds-interaction-fill--grouped.sc-ds-calendar-h:active:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-calendar:active:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill--grouped.sc-ds-calendar-h:hover:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-calendar:hover:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}}.ds-interaction-fill--grouped.sc-ds-calendar-h,.ds-interaction-fill--grouped.sc-ds-calendar{--ds-interaction-divider-width:var(--ds-interaction-group-divider-width, 0px);--ds-interaction-divider-color:var(--ds-interaction-group-divider-color, transparent);--ds-interaction-divider-inline-start-width:var( --ds-interaction-group-divider-inline-start-width, 0px );--ds-interaction-divider-inline-start-color:var( --ds-interaction-group-divider-inline-start-color, transparent );--ds-interaction-divider-inline-end-width:var( --ds-interaction-group-divider-inline-end-width, 0px );--ds-interaction-divider-inline-end-color:var( --ds-interaction-group-divider-inline-end-color, transparent )}.ds-interaction-fill.sc-ds-calendar-h>.ds-interaction-fill__content.sc-ds-calendar,.ds-interaction-fill.sc-ds-calendar>.ds-interaction-fill__content.sc-ds-calendar,.ds-interaction-fill__content.sc-ds-calendar{position:relative;z-index:2;cursor:inherit}.ds-interaction-fill--on-faint.sc-ds-calendar-h,.ds-interaction-fill--on-faint.sc-ds-calendar{--ds-interaction-active:var(--color-interaction-active)}.ds-interaction-fill--on-medium.sc-ds-calendar-h,.ds-interaction-fill--on-medium.sc-ds-calendar{--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-calendar-h,.ds-interaction-fill--on-bold.sc-ds-calendar{--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-calendar-h,.ds-interaction-fill--on-strong.sc-ds-calendar{--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-calendar-h,.ds-interaction-fill--on-translucent.sc-ds-calendar{--ds-interaction-hover:var(--color-translucent-interaction-hover);--ds-interaction-pressed:var(--color-translucent-interaction-pressed);--ds-interaction-active:var(--color-translucent-interaction-active-brand);--ds-focus-ring-color:var(--color-translucent-interaction-focus)}.ds-interaction-fill--on-inverted.sc-ds-calendar-h,.ds-interaction-fill--on-inverted.sc-ds-calendar{--ds-interaction-hover:var(--color-inverted-interaction-hover);--ds-interaction-pressed:var(--color-inverted-interaction-pressed);--ds-interaction-active:var(--color-inverted-interaction-active-brand);--ds-focus-ring-color:var(--color-inverted-interaction-focus)}.ds-interaction-fill--on-media.sc-ds-calendar-h,.ds-interaction-fill--on-media.sc-ds-calendar{--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-calendar-h,.ds-interaction-fill--on-always-dark.sc-ds-calendar{--ds-interaction-hover:var(--color-always-dark-interaction-hover);--ds-interaction-pressed:var(--color-always-dark-interaction-pressed);--ds-interaction-active:var(--color-always-dark-interaction-active-brand);--ds-focus-ring-color:var(--color-always-dark-interaction-focus)}.ds-interaction-fill--on-chrome.sc-ds-calendar-h,.ds-interaction-fill--on-chrome.sc-ds-calendar{--ds-interaction-hover:var(--color-chrome-interaction-hover);--ds-interaction-pressed:var(--color-chrome-interaction-pressed);--ds-interaction-active:var(--color-chrome-interaction-active);--ds-focus-ring-color:var(--color-chrome-interaction-focus)}.ds-interaction-fill--on-navigation.sc-ds-calendar-h,.ds-interaction-fill--on-navigation.sc-ds-calendar{--ds-interaction-hover:var(--color-navigation-interaction-hover);--ds-interaction-pressed:var(--color-navigation-interaction-pressed);--ds-interaction-active:var(--color-navigation-interaction-active);--ds-focus-ring-color:var(--color-navigation-interaction-focus)}.ds-interaction-fill.ds-interaction-fill--surface-open.sc-ds-calendar-h:not(:disabled)::after,.ds-interaction-fill.ds-interaction-fill--surface-open.sc-ds-calendar:not(:disabled)::after{background:var(--ds-interaction-pressed)}@media (forced-colors: active){.ds-interaction-fill.sc-ds-calendar-h::after,.ds-interaction-fill.sc-ds-calendar::after{box-shadow:none;outline:var(--ds-interaction-border-width) solid var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--ds-interaction-border-width))}.ds-interaction-fill--surface-open.sc-ds-calendar-h:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill--surface-open.sc-ds-calendar:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after{outline:var(--dimension-stroke-width-025) dashed var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--dimension-stroke-width-025))}.ds-interaction-fill--selected.sc-ds-calendar-h::before,.ds-interaction-fill--selected.sc-ds-calendar::before{background:transparent;outline:var(--dimension-stroke-width-025) solid var(--ds-forced-color-selected);outline-offset:calc(-1 * var(--dimension-stroke-width-025))}}@media (forced-colors: active) and (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-calendar-h:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill.sc-ds-calendar:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after{outline-color:var(--ds-forced-color-selected);outline-width:var(--dimension-stroke-width-012)}}@media (forced-colors: active){.sc-ds-calendar:root,.sc-ds-calendar-h,.ds-forced-colors-scope.sc-ds-calendar{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.sc-ds-calendar-h{display:flex;min-height:0;flex-direction:column}.calendar.sc-ds-calendar{display:flex;min-height:0;flex-direction:column;min-width:calc( (var(--dimension-size-400) * 7) + (var(--dimension-space-050) * 6) + (var(--dimension-space-100) * 2) );padding:var(--ds-calendar-padding, var(--dimension-space-100))}.calendar-heading.sc-ds-calendar{display:grid;grid-template-columns:var(--dimension-size-400) minmax(0, 1fr) var(--dimension-size-400);align-items:center;text-align:center}.calendar-nav--previous.sc-ds-calendar{justify-self:start}.calendar-nav--next.sc-ds-calendar{justify-self:end}.calendar-weekdays.sc-ds-calendar,.calendar-grid__row.sc-ds-calendar{display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));column-gap:var(--dimension-space-050)}.calendar-grid.sc-ds-calendar{display:flex;flex-direction:column;row-gap:var(--dimension-space-050)}.calendar-weekdays.sc-ds-calendar{align-items:center;min-height:var(--dimension-size-400);margin-block-start:var(--dimension-space-050);color:var(--color-foreground-secondary);text-align:center}.calendar-day.sc-ds-calendar{appearance:none;position:relative;display:flex;align-items:center;justify-content:center;min-width:0;width:100%;height:var(--dimension-size-400);padding:0;border:0;border-radius:var(--dimension-radius-025);background:transparent;color:var(--color-foreground-primary);cursor:default}.calendar-day.sc-ds-calendar:disabled{cursor:not-allowed}.calendar-day--outside.sc-ds-calendar{color:var(--color-foreground-tertiary)}.calendar-day--in-range.sc-ds-calendar{background:var(--color-background-faint-brand);color:var(--color-foreground-primary)}.calendar-day.ds-interaction-fill.calendar-day--range-preview.sc-ds-calendar:not(:disabled)::after{background:var(--ds-interaction-hover)}.calendar-day.ds-interaction-fill.calendar-day--range-preview.sc-ds-calendar:active:not(:disabled)::after{background:var(--ds-interaction-pressed)}.calendar-day--today.sc-ds-calendar{color:var(--color-foreground-primary)}.calendar-day--range-edge.sc-ds-calendar{background:var(--color-background-bold-brand);color:var(--color-foreground-on-bold-background-primary)}@media (forced-colors: active){.calendar-day--range-edge.sc-ds-calendar{outline:var(--dimension-stroke-width-012) solid var(--ds-forced-color-content)}}`;const Z=n(class n extends e{constructor(n){super();if(n!==false){this.__registerHost()}this.dsChange=r(this,"dsChange",7);this.selectionMode="single";this.value="";this.isInactive=false;this.autoFocus=false;this.month=z(C());this.focusedDay="";this.pendingStart="";this.previewEnd="";this.heldRange=null;this.moveMonth=n=>{const e=_(this.month,n);if(this.isInactive||!e)return;this.previewEnd="";this.month=e};this.selectDate=n=>{if(this.isDisabled(n))return;this.previewEnd="";if(this.selectionMode==="single"){this.pendingStart="";this.heldRange=null;this.dsChange.emit(n);return}const e=this.pendingStart;if(e){this.pendingStart="";this.heldRange=null;this.dsChange.emit(k(e,n));return}const r=x(this.value);this.heldRange=r?.kind==="range"?{start:r.start,end:r.end}:null;this.pendingStart=n;this.dsChange.emit(k(n,n))};this.previewRange=n=>{if(this.isDisabled(n)){this.clearPreview();return}if(!this.pendingStart||this.previewEnd===n)return;this.previewEnd=n};this.clearPreview=()=>{if(!this.previewEnd)return;this.previewEnd=""};this.handleDayKeyDown=(n,e)=>{let r=null;if(n.key==="ArrowLeft")r=-1;else if(n.key==="ArrowRight")r=1;else if(n.key==="ArrowUp")r=-7;else if(n.key==="ArrowDown")r=7;else if(n.key==="Home"){r=-new Date(`${e}T00:00:00Z`).getUTCDay()}else if(n.key==="End"){r=6-new Date(`${e}T00:00:00Z`).getUTCDay()}else if(n.key==="PageUp"||n.key==="PageDown"){const r=_(z(e),n.key==="PageUp"?-1:1);const i=`${r}-${e.slice(8,10)}`;n.preventDefault();this.focusDate(g(i)?i:`${r}-01`);return}if(r===null)return;n.preventDefault();this.focusDate(y(e,r))}}componentWillLoad(){this.month=z(this.anchorDate())}componentDidLoad(){if(this.autoFocus)void this.setFocus()}onValueChange(){this.month=z(this.anchorDate());this.focusedDay=""}async setFocus(){this.el.querySelector('.calendar-day[tabindex="0"]')?.focus()}anchorDate(){if(this.selectionMode==="range"){const n=x(this.value);if(n?.kind==="range")return n.start;return C()}return g(this.value)?this.value:C()}isUnavailable(n){if(this.isInactive||!g(n))return true;if(this.min&&g(this.min)&&n<this.min)return true;if(this.max&&g(this.max)&&n>this.max)return true;return false}isDisabled(n){return!n.startsWith(`${this.month}-`)||this.isUnavailable(n)}focusDate(n){if(this.isUnavailable(n))return;const e=z(n);if(this.month!==e)this.month=e;this.focusedDay=n;this.previewRange(n);requestAnimationFrame((()=>{this.el.querySelector(`[data-date-option="${n}"]`)?.focus()}))}render(){const n=this.selectionMode==="range"?x(this.value):null;const e=n?.kind==="range"?n:null;const r=E(this.pendingStart,this.heldRange,e);const a=B(this.month);const t=Array.from({length:6},((n,e)=>a.slice(e*7,e*7+7)));const o=C();const d=this.pendingStart&&this.previewEnd?[this.pendingStart,this.previewEnd].sort()[0]:null;const c=this.pendingStart&&this.previewEnd?[this.pendingStart,this.previewEnd].sort()[1]:null;const l=this.selectionMode==="single"&&g(this.value)?this.value:"";const f=a.filter((n=>!this.isDisabled(n.value)));const u=[this.focusedDay,this.pendingStart,l,r?.end,o].find((n=>f.some((e=>e.value===n))))??f[0]?.value;return i(s,{key:"e5f8aeec1b76e7664931c6cf22096097d1f7fc3d"},i("div",{key:"165448e6144ee8a5fb673bfd89b1caa41379831b",class:"calendar"},i("div",{key:"8ca215c40d50727409d32ae2fc082ad7b0ed4eaf",class:"calendar-heading ds-control--md"},i("ds-button-unfilled",{key:"bfa9ed06eba9bcc1a8af636ef46ae20d764faf75",class:"calendar-nav calendar-nav--previous",variant:"icon",icon:"ChevronLeft",size:"md",hasBorder:false,isInactive:this.isInactive||!_(this.month,-1),ariaLabel:"Previous month",onDsClick:()=>this.moveMonth(-1)}),i("ds-text",{key:"5d56b0459680bb0c88041fa2b446f672a6161750",as:"span",variant:"text-body-medium",emphasis:true,color:"primary"},j(this.month)),i("ds-button-unfilled",{key:"cec3f0e057d55866e9fa35e8a1a7dc7f2c8e69ed",class:"calendar-nav calendar-nav--next",variant:"icon",icon:"ChevronRight",size:"md",hasBorder:false,isInactive:this.isInactive||!_(this.month,1),ariaLabel:"Next month",onDsClick:()=>this.moveMonth(1)})),i("div",{key:"5644a4f00cd2b04d80ef1a6113b2fa652663ae1a",class:"calendar-weekdays","aria-hidden":"true"},$.map((n=>i("ds-text",{as:"span",variant:"text-body-small",color:"secondary"},n)))),i("div",{key:"14d0a7d062ee683bc94a5f356c7a2e166f6901c8",class:"calendar-grid",role:"grid","aria-label":j(this.month),onMouseLeave:this.clearPreview},t.map(((n,s)=>i("div",{class:"calendar-grid__row",role:"row",key:`week-${s}`},n.map((n=>{const s=this.isDisabled(n.value);const a=Boolean(e&&n.value>=e.start&&n.value<=e.end);const t=Boolean(r&&n.value>=r.start&&n.value<=r.end);const f=this.selectionMode==="range"&&Boolean(this.pendingStart)&&n.value===this.pendingStart;const v=Boolean(this.pendingStart&&d&&c&&n.value>=d&&n.value<=c&&n.value!==this.pendingStart);const h=this.selectionMode==="range"&&t;const g=Boolean(this.selectionMode==="range"&&r&&(n.value===r.start||n.value===r.end));const m=this.selectionMode==="single"&&Boolean(n.value)&&n.value===l;const p=g?"on-bold":m||h||f||v||n.value===o?"primary":n.inMonth?"secondary":"tertiary";return i("button",{type:"button",role:"gridcell","data-date-option":n.value,class:{"calendar-day":true,"calendar-day--outside":!n.inMonth,"calendar-day--today":n.value===o,"calendar-day--in-range":h,"calendar-day--range-preview":v,"calendar-day--range-edge":g,"calendar-day--selected":m,"ds-focus-ring-inset":true,"ds-interaction-fill":true,"ds-interaction-fill--on-bold":g,"ds-interaction-fill--surface-open":f&&!s,"ds-interaction-fill--selected":m&&!s},disabled:s,"aria-label":n.label,"aria-selected":a||m?"true":"false",tabIndex:n.value===u?0:-1,onMouseEnter:()=>this.previewRange(n.value),onFocus:()=>{this.focusedDay=n.value;this.previewRange(n.value)},onClick:()=>this.selectDate(n.value),onKeyDown:e=>this.handleDayKeyDown(e,n.value)},i("ds-text",{class:"ds-interaction-fill__content",as:"span",variant:"text-body-medium",color:p,emphasis:n.value===o},n.day))}))))))))}get el(){return this}static get watchers(){return{value:[{onValueChange:0}]}}static get style(){return L()}},[2,"ds-calendar",{selectionMode:[1,"selection-mode"],value:[1],min:[1],max:[1],isInactive:[4,"is-inactive"],autoFocus:[4,"auto-focus"],month:[32],focusedDay:[32],pendingStart:[32],previewEnd:[32],heldRange:[32],setFocus:[64]},undefined,{value:[{onValueChange:0}]}]);function U(){if(typeof customElements==="undefined"){return}const n=["ds-calendar","ds-badge","ds-button-unfilled","ds-icon","ds-loader","ds-text","ds-tooltip"];n.forEach((n=>{switch(n){case"ds-calendar":if(!customElements.get(a(n))){customElements.define(a(n),Z)}break;case"ds-badge":if(!customElements.get(a(n))){t()}break;case"ds-button-unfilled":if(!customElements.get(a(n))){o()}break;case"ds-icon":if(!customElements.get(a(n))){d()}break;case"ds-loader":if(!customElements.get(a(n))){c()}break;case"ds-text":if(!customElements.get(a(n))){l()}break;case"ds-tooltip":if(!customElements.get(a(n))){f()}break}}))}U();export{Z as C,u as D,w as a,b,U as d,m as f,g as i,x as p};
2
- //# sourceMappingURL=p-BNimvRZy.js.map
1
+ import{p as n,H as e,c as r,h as i,a as s,t as a}from"./index.js";import{d as t}from"./p-ClOvX8cD.js";import{d as o}from"./p-Bn-tsogb.js";import{d}from"./p-GP7Dz3qO.js";import{d as c}from"./p-0XTyQNRG.js";import{d as l}from"./p-DMPn_dt7.js";import{d as f}from"./p-DTlNtCX1.js";const u=[{label:"Today",value:"today",days:1,offset:0},{label:"Yesterday",value:"yesterday",days:1,offset:-1},{label:"Last 7 days",value:"last-7-days",days:7,offset:0},{label:"Last 14 days",value:"last-14-days",days:14,offset:0},{label:"Last 30 days",value:"last-30-days",days:30,offset:0},{label:"Last 60 days",value:"last-60-days",days:60,offset:0},{label:"Last 90 days",value:"last-90-days",days:90,offset:0}];const v=/^\d{4}-\d{2}-\d{2}$/;const h=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric",timeZone:"UTC"});function g(n){if(typeof n!=="string"||!v.test(n))return false;const[e,r,i]=n.split("-").map(Number);if(e<1)return false;const s=new Date(`${n}T00:00:00Z`);return s.getUTCFullYear()===e&&s.getUTCMonth()===r-1&&s.getUTCDate()===i}function m(n){if(!g(n))return"";return h.formatToParts(new Date(`${n}T00:00:00Z`)).map((n=>n.type==="year"?n.value.padStart(4,"0"):n.value)).join("")}const p=["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"];function b(n){if(typeof n!=="string")return"";const e=n.trim();if(!e)return"";if(g(e))return e;const r=e.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/);if(r){const n=`${r[3]}-${r[1].padStart(2,"0")}-${r[2].padStart(2,"0")}`;return g(n)?n:""}const i=e.match(/^([A-Za-z]{3})\s+(\d{1,2}),\s+(\d{4})$/);if(!i)return"";const s=p.indexOf(i[1].toLowerCase());if(s<0)return"";const a=`${i[3]}-${String(s+1).padStart(2,"0")}-${i[2].padStart(2,"0")}`;return g(a)?a:""}function y(n,e){if(!g(n)||!Number.isSafeInteger(e))return"";const r=new Date(`${n}T00:00:00Z`);r.setUTCDate(r.getUTCDate()+e);const i=r.getUTCFullYear();return i>=1&&i<=9999?r.toISOString().slice(0,10):""}function w(n){return`relative:${n}`}function k(n,e=n){const r=n<=e?[n,e]:[e,n];return`range:${r[0]}/${r[1]}`}function x(n){if(typeof n!=="string"||!n)return null;if(n.startsWith("relative:")){const e=n.slice("relative:".length);return u.some((n=>n.value===e))?{kind:"relative",preset:e}:null}if(n.startsWith("range:")){const[e,r,...i]=n.slice("range:".length).split("/");if(i.length||!g(e)||!g(r))return null;return e<=r?{kind:"range",start:e,end:r}:{kind:"range",start:r,end:e}}return g(n)?{kind:"range",start:n,end:n}:null}const $=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];const T=new Intl.DateTimeFormat("en-US",{month:"long",year:"numeric",timeZone:"UTC"});const D=new Intl.DateTimeFormat("en-US",{weekday:"long",month:"long",day:"numeric",year:"numeric",timeZone:"UTC"});function C(){const n=new Date;const e=String(n.getFullYear()).padStart(4,"0");const r=String(n.getMonth()+1).padStart(2,"0");const i=String(n.getDate()).padStart(2,"0");return`${e}-${r}-${i}`}function z(n){return g(n)?n.slice(0,7):C().slice(0,7)}function j(n,e){if(!g(`${n}-01`)||!Number.isSafeInteger(e))return"";const r=new Date(`${n}-01T00:00:00Z`);r.setUTCMonth(r.getUTCMonth()+e);const i=r.getUTCFullYear();return i>=1&&i<=9999?r.toISOString().slice(0,7):""}function _(n){if(!g(`${n}-01`))return"";return T.format(new Date(`${n}-01T00:00:00Z`))}function B(n){if(!g(`${n}-01`))return[];const e=new Date(`${n}-01T00:00:00Z`);const r=e.getUTCDay();return Array.from({length:42},((i,s)=>{const a=new Date(e);a.setUTCDate(1-r+s);const t=a.getUTCFullYear();const o=t>=1&&t<=9999?a.toISOString().slice(0,10):"";return{value:o,day:a.getUTCDate(),inMonth:o.startsWith(`${n}-`),label:o?D.format(a):"Unavailable date"}}))}function E(n,e,r){return n?e:r}const L=()=>`.sc-ds-calendar-h,.sc-ds-calendar:where(.ds-table),.sc-ds-calendar:where(.tooltip-popup),.sc-ds-calendar:where(.ds-radius){--ds-radius-control:var(--dimension-radius-025);--ds-radius-card:var(--dimension-radius-050);--ds-radius-modal:var(--dimension-radius-050);--ds-radius-menu:var(--dimension-radius-075);--ds-radius-tooltip-control:var(--dimension-radius-025);--ds-radius-tooltip-menu:var(--dimension-radius-075);--ds-radius-table:var(--dimension-radius-050)}.ds-control--lg.sc-ds-calendar,.ds-control--lg.sc-ds-calendar-h,.ds-control--md.sc-ds-calendar-h,.ds-control--md.sc-ds-calendar,.ds-control--sm.sc-ds-calendar-h,.ds-control--sm.sc-ds-calendar,.ds-control--xs.sc-ds-calendar-h,.ds-control--xs.sc-ds-calendar{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-calendar-h,.ds-control--lg.sc-ds-calendar{--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-calendar-h,.ds-control--md.sc-ds-calendar{--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-calendar-h,.ds-control--sm.sc-ds-calendar{--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-calendar-h,.ds-control--xs.sc-ds-calendar{--ds-control-height:var(--dimension-size-200);--ds-control-icon:var(--dimension-iconography-xs);--ds-control-padding-inline:var(--dimension-space-025);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:0}@media (forced-colors: active){.sc-ds-calendar:root,.sc-ds-calendar-h,.ds-forced-colors-scope.sc-ds-calendar{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.sc-ds-calendar-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-calendar-h,.ds-focus-ring.sc-ds-calendar,.ds-focus-ring-inset.sc-ds-calendar-h,.ds-focus-ring-inset.sc-ds-calendar{outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.ds-focus-ring.sc-ds-calendar-h:focus-visible,.ds-focus-ring.sc-ds-calendar: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-calendar-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-calendar{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-calendar-h:focus-visible,.ds-focus-ring-inset.sc-ds-calendar:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-calendar-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-calendar: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-calendar-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-calendar{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-calendar-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-calendar::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}@media (forced-colors: active){.sc-ds-calendar-h{--ds-focus-ring-color:var(--ds-forced-color-selected)}}@media (forced-colors: active){.sc-ds-calendar:root,.sc-ds-calendar-h,.ds-forced-colors-scope.sc-ds-calendar{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.ds-interaction-fill.sc-ds-calendar-h,.ds-interaction-fill.sc-ds-calendar{position:var(--ds-interaction-position, relative);z-index:var(--ds-interaction-z-index, 0);cursor:default;--ds-interaction-hover:var(--color-interaction-hover);--ds-interaction-pressed:var(--color-interaction-pressed);--ds-interaction-active:var(--color-interaction-active-brand);--ds-interaction-border-width:0px;--ds-interaction-border-color:transparent;--ds-interaction-divider-width:0px;--ds-interaction-divider-color:transparent;--ds-interaction-divider-inline-start-width:0px;--ds-interaction-divider-inline-start-color:transparent;--ds-interaction-divider-inline-end-width:0px;--ds-interaction-divider-inline-end-color:transparent}.ds-interaction-fill.sc-ds-calendar-h::before,.ds-interaction-fill.sc-ds-calendar::before,.ds-interaction-fill.sc-ds-calendar-h::after,.ds-interaction-fill.sc-ds-calendar::after{content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none;cursor:inherit;transition:none}.ds-interaction-fill.sc-ds-calendar-h::before,.ds-interaction-fill.sc-ds-calendar::before{z-index:1}.ds-interaction-fill.sc-ds-calendar-h::after,.ds-interaction-fill.sc-ds-calendar::after{z-index:3;box-shadow:inset 0 calc(-1 * var(--ds-interaction-divider-width)) 0 var(--ds-interaction-divider-color), inset var(--ds-interaction-divider-inline-start-width) 0 0 var(--ds-interaction-divider-inline-start-color), inset calc(-1 * var(--ds-interaction-divider-inline-end-width)) 0 0 var(--ds-interaction-divider-inline-end-color), inset 0 0 0 var(--ds-interaction-border-width) var(--ds-interaction-border-color)}.ds-interaction-fill--bordered.sc-ds-calendar-h,.ds-interaction-fill--bordered.sc-ds-calendar{--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--color-border-secondary)}.ds-interaction-fill--selected.sc-ds-calendar-h::before,.ds-interaction-fill--selected.sc-ds-calendar::before{background:var(--ds-interaction-active)}.ds-interaction-fill--selected.sc-ds-calendar-h,.ds-interaction-fill--selected.sc-ds-calendar{--ds-interaction-dot-ring:var(--ds-interaction-active)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-calendar-h:hover:not(:disabled)::after,.ds-interaction-fill.sc-ds-calendar:hover:not(:disabled)::after{background:var(--ds-interaction-hover)}}.ds-interaction-fill.sc-ds-calendar-h:active:not(:disabled)::after,.ds-interaction-fill.sc-ds-calendar:active:not(:disabled)::after{background:var(--ds-interaction-pressed)}.ds-interaction-fill--grouped.sc-ds-calendar-h::after,.ds-interaction-fill--grouped.sc-ds-calendar::after,.ds-interaction-fill--grouped.sc-ds-calendar-h:active:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-calendar:active:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill--grouped.sc-ds-calendar-h:hover:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-calendar:hover:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}}.ds-interaction-fill--grouped.sc-ds-calendar-h,.ds-interaction-fill--grouped.sc-ds-calendar{--ds-interaction-divider-width:var(--ds-interaction-group-divider-width, 0px);--ds-interaction-divider-color:var(--ds-interaction-group-divider-color, transparent);--ds-interaction-divider-inline-start-width:var( --ds-interaction-group-divider-inline-start-width, 0px );--ds-interaction-divider-inline-start-color:var( --ds-interaction-group-divider-inline-start-color, transparent );--ds-interaction-divider-inline-end-width:var( --ds-interaction-group-divider-inline-end-width, 0px );--ds-interaction-divider-inline-end-color:var( --ds-interaction-group-divider-inline-end-color, transparent )}.ds-interaction-fill.sc-ds-calendar-h>.ds-interaction-fill__content.sc-ds-calendar,.ds-interaction-fill.sc-ds-calendar>.ds-interaction-fill__content.sc-ds-calendar,.ds-interaction-fill__content.sc-ds-calendar{position:relative;z-index:2;cursor:inherit}.ds-interaction-fill--on-faint.sc-ds-calendar-h,.ds-interaction-fill--on-faint.sc-ds-calendar{--ds-interaction-active:var(--color-interaction-active)}.ds-interaction-fill--on-medium.sc-ds-calendar-h,.ds-interaction-fill--on-medium.sc-ds-calendar{--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-calendar-h,.ds-interaction-fill--on-bold.sc-ds-calendar{--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-calendar-h,.ds-interaction-fill--on-strong.sc-ds-calendar{--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-calendar-h,.ds-interaction-fill--on-translucent.sc-ds-calendar{--ds-interaction-hover:var(--color-translucent-interaction-hover);--ds-interaction-pressed:var(--color-translucent-interaction-pressed);--ds-interaction-active:var(--color-translucent-interaction-active-brand);--ds-focus-ring-color:var(--color-translucent-interaction-focus)}.ds-interaction-fill--on-inverted.sc-ds-calendar-h,.ds-interaction-fill--on-inverted.sc-ds-calendar{--ds-interaction-hover:var(--color-inverted-interaction-hover);--ds-interaction-pressed:var(--color-inverted-interaction-pressed);--ds-interaction-active:var(--color-inverted-interaction-active-brand);--ds-focus-ring-color:var(--color-inverted-interaction-focus)}.ds-interaction-fill--on-media.sc-ds-calendar-h,.ds-interaction-fill--on-media.sc-ds-calendar{--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-calendar-h,.ds-interaction-fill--on-always-dark.sc-ds-calendar{--ds-interaction-hover:var(--color-always-dark-interaction-hover);--ds-interaction-pressed:var(--color-always-dark-interaction-pressed);--ds-interaction-active:var(--color-always-dark-interaction-active-brand);--ds-focus-ring-color:var(--color-always-dark-interaction-focus)}.ds-interaction-fill--on-chrome.sc-ds-calendar-h,.ds-interaction-fill--on-chrome.sc-ds-calendar{--ds-interaction-hover:var(--color-chrome-interaction-hover);--ds-interaction-pressed:var(--color-chrome-interaction-pressed);--ds-interaction-active:var(--color-chrome-interaction-active);--ds-focus-ring-color:var(--color-chrome-interaction-focus)}.ds-interaction-fill--on-navigation.sc-ds-calendar-h,.ds-interaction-fill--on-navigation.sc-ds-calendar{--ds-interaction-hover:var(--color-navigation-interaction-hover);--ds-interaction-pressed:var(--color-navigation-interaction-pressed);--ds-interaction-active:var(--color-navigation-interaction-active);--ds-focus-ring-color:var(--color-navigation-interaction-focus)}.ds-interaction-fill.ds-interaction-fill--surface-open.sc-ds-calendar-h:not(:disabled)::after,.ds-interaction-fill.ds-interaction-fill--surface-open.sc-ds-calendar:not(:disabled)::after{background:var(--ds-interaction-pressed)}@media (forced-colors: active){.ds-interaction-fill.sc-ds-calendar-h::after,.ds-interaction-fill.sc-ds-calendar::after{box-shadow:none;outline:var(--ds-interaction-border-width) solid var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--ds-interaction-border-width))}.ds-interaction-fill--surface-open.sc-ds-calendar-h:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill--surface-open.sc-ds-calendar:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after{outline:var(--dimension-stroke-width-025) dashed var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--dimension-stroke-width-025))}.ds-interaction-fill--selected.sc-ds-calendar-h::before,.ds-interaction-fill--selected.sc-ds-calendar::before{background:transparent;outline:var(--dimension-stroke-width-025) solid var(--ds-forced-color-selected);outline-offset:calc(-1 * var(--dimension-stroke-width-025))}}@media (forced-colors: active) and (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-calendar-h:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill.sc-ds-calendar:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after{outline-color:var(--ds-forced-color-selected);outline-width:var(--dimension-stroke-width-012)}}@media (forced-colors: active){.sc-ds-calendar:root,.sc-ds-calendar-h,.ds-forced-colors-scope.sc-ds-calendar{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.sc-ds-calendar-h{display:flex;min-height:0;flex-direction:column}.calendar.sc-ds-calendar{display:flex;min-height:0;flex-direction:column;min-width:calc( (var(--dimension-size-400) * 7) + (var(--dimension-space-050) * 6) + (var(--dimension-space-100) * 2) );padding:var(--ds-calendar-padding, var(--dimension-space-100))}.calendar-heading.sc-ds-calendar{display:grid;grid-template-columns:var(--dimension-size-400) minmax(0, 1fr) var(--dimension-size-400);align-items:center;text-align:center}.calendar-nav--previous.sc-ds-calendar{justify-self:start}.calendar-nav--next.sc-ds-calendar{justify-self:end}.calendar-weekdays.sc-ds-calendar,.calendar-grid__row.sc-ds-calendar{display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));column-gap:var(--dimension-space-050)}.calendar-grid.sc-ds-calendar{display:flex;flex-direction:column;row-gap:var(--dimension-space-050)}.calendar-weekdays.sc-ds-calendar{align-items:center;min-height:var(--dimension-size-400);margin-block-start:var(--dimension-space-050);color:var(--color-foreground-secondary);text-align:center}.calendar-day.sc-ds-calendar{appearance:none;position:relative;display:flex;align-items:center;justify-content:center;min-width:0;width:100%;height:var(--dimension-size-400);padding:0;border:0;border-radius:var(--dimension-radius-025);background:transparent;color:var(--color-foreground-primary);cursor:default}.calendar-day.sc-ds-calendar:disabled{cursor:not-allowed}.calendar-day--outside.sc-ds-calendar{color:var(--color-foreground-tertiary)}.calendar-day--in-range.sc-ds-calendar{background:var(--color-background-faint-brand);color:var(--color-foreground-primary)}.calendar-day.ds-interaction-fill.calendar-day--range-preview.sc-ds-calendar:not(:disabled)::after{background:var(--ds-interaction-hover)}.calendar-day.ds-interaction-fill.calendar-day--range-preview.sc-ds-calendar:active:not(:disabled)::after{background:var(--ds-interaction-pressed)}.calendar-day--today.sc-ds-calendar{color:var(--color-foreground-primary)}.calendar-day--range-edge.sc-ds-calendar{background:var(--color-background-bold-brand);color:var(--color-foreground-on-bold-background-primary)}@media (forced-colors: active){.calendar-day--range-edge.sc-ds-calendar{outline:var(--dimension-stroke-width-012) solid var(--ds-forced-color-content)}}`;const Z=n(class n extends e{constructor(n){super();if(n!==false){this.__registerHost()}this.dsChange=r(this,"dsChange",7);this.selectionMode="single";this.value="";this.isInactive=false;this.autoFocus=false;this.month=z(C());this.focusedDay="";this.pendingStart="";this.previewEnd="";this.heldRange=null;this.moveMonth=n=>{const e=j(this.month,n);if(this.isInactive||!e)return;this.previewEnd="";this.month=e};this.selectDate=n=>{if(this.isDisabled(n))return;this.previewEnd="";if(this.selectionMode==="single"){this.pendingStart="";this.heldRange=null;this.dsChange.emit(n);return}const e=this.pendingStart;if(e){this.pendingStart="";this.heldRange=null;this.dsChange.emit(k(e,n));return}const r=x(this.value);this.heldRange=r?.kind==="range"?{start:r.start,end:r.end}:null;this.pendingStart=n;this.dsChange.emit(k(n,n))};this.previewRange=n=>{if(this.isDisabled(n)){this.clearPreview();return}if(!this.pendingStart||this.previewEnd===n)return;this.previewEnd=n};this.clearPreview=()=>{if(!this.previewEnd)return;this.previewEnd=""};this.handleDayKeyDown=(n,e)=>{let r=null;if(n.key==="ArrowLeft")r=-1;else if(n.key==="ArrowRight")r=1;else if(n.key==="ArrowUp")r=-7;else if(n.key==="ArrowDown")r=7;else if(n.key==="Home"){r=-new Date(`${e}T00:00:00Z`).getUTCDay()}else if(n.key==="End"){r=6-new Date(`${e}T00:00:00Z`).getUTCDay()}else if(n.key==="PageUp"||n.key==="PageDown"){const r=j(z(e),n.key==="PageUp"?-1:1);const i=`${r}-${e.slice(8,10)}`;n.preventDefault();this.focusDate(g(i)?i:`${r}-01`);return}if(r===null)return;n.preventDefault();this.focusDate(y(e,r))}}componentWillLoad(){this.month=z(this.anchorDate())}componentDidLoad(){if(this.autoFocus)void this.setFocus()}onValueChange(){this.month=z(this.anchorDate());this.focusedDay=""}async setFocus(){this.el.querySelector('.calendar-day[tabindex="0"]')?.focus()}anchorDate(){if(this.selectionMode==="range"){const n=x(this.value);if(n?.kind==="range")return n.start;return C()}return g(this.value)?this.value:C()}isUnavailable(n){if(this.isInactive||!g(n))return true;if(this.min&&g(this.min)&&n<this.min)return true;if(this.max&&g(this.max)&&n>this.max)return true;return false}isDisabled(n){return!n.startsWith(`${this.month}-`)||this.isUnavailable(n)}focusDate(n){if(this.isUnavailable(n))return;const e=z(n);if(this.month!==e)this.month=e;this.focusedDay=n;this.previewRange(n);requestAnimationFrame((()=>{this.el.querySelector(`[data-date-option="${n}"]`)?.focus()}))}render(){const n=this.selectionMode==="range"?x(this.value):null;const e=n?.kind==="range"?n:null;const r=E(this.pendingStart,this.heldRange,e);const a=B(this.month);const t=Array.from({length:6},((n,e)=>a.slice(e*7,e*7+7)));const o=C();const d=this.pendingStart&&this.previewEnd?[this.pendingStart,this.previewEnd].sort()[0]:null;const c=this.pendingStart&&this.previewEnd?[this.pendingStart,this.previewEnd].sort()[1]:null;const l=this.selectionMode==="single"&&g(this.value)?this.value:"";const f=a.filter((n=>!this.isDisabled(n.value)));const u=[this.focusedDay,this.pendingStart,l,r?.end,o].find((n=>f.some((e=>e.value===n))))??f[0]?.value;return i(s,{key:"e5f8aeec1b76e7664931c6cf22096097d1f7fc3d"},i("div",{key:"165448e6144ee8a5fb673bfd89b1caa41379831b",class:"calendar"},i("div",{key:"8ca215c40d50727409d32ae2fc082ad7b0ed4eaf",class:"calendar-heading ds-control--md"},i("ds-button-unfilled",{key:"bfa9ed06eba9bcc1a8af636ef46ae20d764faf75",class:"calendar-nav calendar-nav--previous",variant:"icon",icon:"ChevronLeft",size:"md",hasBorder:false,isInactive:this.isInactive||!j(this.month,-1),ariaLabel:"Previous month",onDsClick:()=>this.moveMonth(-1)}),i("ds-text",{key:"5d56b0459680bb0c88041fa2b446f672a6161750",as:"span",variant:"text-body-medium",emphasis:true,color:"primary"},_(this.month)),i("ds-button-unfilled",{key:"cec3f0e057d55866e9fa35e8a1a7dc7f2c8e69ed",class:"calendar-nav calendar-nav--next",variant:"icon",icon:"ChevronRight",size:"md",hasBorder:false,isInactive:this.isInactive||!j(this.month,1),ariaLabel:"Next month",onDsClick:()=>this.moveMonth(1)})),i("div",{key:"5644a4f00cd2b04d80ef1a6113b2fa652663ae1a",class:"calendar-weekdays","aria-hidden":"true"},$.map((n=>i("ds-text",{as:"span",variant:"text-body-small",color:"secondary"},n)))),i("div",{key:"14d0a7d062ee683bc94a5f356c7a2e166f6901c8",class:"calendar-grid",role:"grid","aria-label":_(this.month),onMouseLeave:this.clearPreview},t.map(((n,s)=>i("div",{class:"calendar-grid__row",role:"row",key:`week-${s}`},n.map((n=>{const s=this.isDisabled(n.value);const a=Boolean(e&&n.value>=e.start&&n.value<=e.end);const t=Boolean(r&&n.value>=r.start&&n.value<=r.end);const f=this.selectionMode==="range"&&Boolean(this.pendingStart)&&n.value===this.pendingStart;const v=Boolean(this.pendingStart&&d&&c&&n.value>=d&&n.value<=c&&n.value!==this.pendingStart);const h=this.selectionMode==="range"&&t;const g=Boolean(this.selectionMode==="range"&&r&&(n.value===r.start||n.value===r.end));const m=this.selectionMode==="single"&&Boolean(n.value)&&n.value===l;const p=g?"on-bold":m||h||f||v||n.value===o?"primary":n.inMonth?"secondary":"tertiary";return i("button",{type:"button",role:"gridcell","data-date-option":n.value,class:{"calendar-day":true,"calendar-day--outside":!n.inMonth,"calendar-day--today":n.value===o,"calendar-day--in-range":h,"calendar-day--range-preview":v,"calendar-day--range-edge":g,"calendar-day--selected":m,"ds-focus-ring-inset":true,"ds-interaction-fill":true,"ds-interaction-fill--on-bold":g,"ds-interaction-fill--surface-open":f&&!s,"ds-interaction-fill--selected":m&&!s},disabled:s,"aria-label":n.label,"aria-selected":a||m?"true":"false",tabIndex:n.value===u?0:-1,onMouseEnter:()=>this.previewRange(n.value),onFocus:()=>{this.focusedDay=n.value;this.previewRange(n.value)},onClick:()=>this.selectDate(n.value),onKeyDown:e=>this.handleDayKeyDown(e,n.value)},i("ds-text",{class:"ds-interaction-fill__content",as:"span",variant:"text-body-medium",color:p,emphasis:n.value===o},n.day))}))))))))}get el(){return this}static get watchers(){return{value:[{onValueChange:0}]}}static get style(){return L()}},[2,"ds-calendar",{selectionMode:[1,"selection-mode"],value:[1],min:[1],max:[1],isInactive:[4,"is-inactive"],autoFocus:[4,"auto-focus"],month:[32],focusedDay:[32],pendingStart:[32],previewEnd:[32],heldRange:[32],setFocus:[64]},undefined,{value:[{onValueChange:0}]}]);function U(){if(typeof customElements==="undefined"){return}const n=["ds-calendar","ds-badge","ds-button-unfilled","ds-icon","ds-loader","ds-text","ds-tooltip"];n.forEach((n=>{switch(n){case"ds-calendar":if(!customElements.get(a(n))){customElements.define(a(n),Z)}break;case"ds-badge":if(!customElements.get(a(n))){t()}break;case"ds-button-unfilled":if(!customElements.get(a(n))){o()}break;case"ds-icon":if(!customElements.get(a(n))){d()}break;case"ds-loader":if(!customElements.get(a(n))){c()}break;case"ds-text":if(!customElements.get(a(n))){l()}break;case"ds-tooltip":if(!customElements.get(a(n))){f()}break}}))}U();export{Z as C,u as D,w as a,b,U as d,m as f,g as i,x as p};
2
+ //# sourceMappingURL=p-DI5GEmid.js.map
@@ -0,0 +1,2 @@
1
+ import{p as t,H as i,h as s,a as o,t as n}from"./index.js";import{d as e}from"./p-DMPn_dt7.js";import{b as r,T as h,a,r as l}from"./p-mSCnWLhL.js";import{r as d}from"./p-CVYjLzYI.js";import{C as c}from"./p-CuwopElg.js";const p=new Set(["⌘","⇧","⌥","⌃"]);const u={alt:"⌥",cmd:"⌘",command:"⌘",control:"⌃",ctrl:"⌃",option:"⌥",shift:"⇧"};function f(t){return u[t.toLowerCase()]??t}function m(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 s=Array.from(i);const o=[];while(s.length>1&&p.has(s[0])){o.push(s.shift())}o.push(s.join(""));return o}const g={top:"bottom",right:"left",bottom:"top",left:"right"};function v(t,i){const{anchorRect:s,popupWidth:o,popupHeight:n,align:e,sideOffsetPx:r,alignOffsetPx:h}=t;if(i==="top"||i==="bottom"){return{x:e==="start"?s.left+h:e==="end"?s.right-o+h:s.left+s.width/2-o/2+h,y:i==="top"?s.top-n-r:s.bottom+r}}return{x:i==="left"?s.left-o-r:s.right+r,y:e==="start"?s.top+h:e==="end"?s.bottom-n+h:s.top+s.height/2-n/2+h}}function y(t){const i=t.collisionRect??{top:0,left:0,right:t.viewportWidth,bottom:t.viewportHeight};return{top:i.top+t.viewportPadPx,left:i.left+t.viewportPadPx,right:i.right-t.viewportPadPx,bottom:i.bottom-t.viewportPadPx}}function b(t,i,s){const{popupWidth:o,popupHeight:n}=t;const e=y(t);if(i==="top"||i==="bottom"){return Math.max(e.top-s.y,0)+Math.max(s.y+n-e.bottom,0)}return Math.max(e.left-s.x,0)+Math.max(s.x+o-e.right,0)}function w(t,i,s,o){const n=Math.max(s,o-i);return Math.min(Math.max(t,s),n)}function x(t){const i=y(t);const s=v(t,t.side);const o=g[t.side];const n=v(t,o);const e=b(t,t.side,s);const r=b(t,o,n);const h=e>0&&r<e;const a=h?o:t.side;const l=h?n:s;const d=a==="top"?t.anchorRect.top-i.top-t.sideOffsetPx:a==="bottom"?i.bottom-t.anchorRect.bottom-t.sideOffsetPx:i.bottom-i.top;return{x:w(l.x,t.popupWidth,i.left,i.right),y:w(l.y,t.popupHeight,i.top,i.bottom),resolvedSide:a,availableHeight:Math.max(0,d)}}const C=8;class O{constructor(t){this.scrollResizeHandler=null;this.resizeObserver=null;this.resizeTargets=new Set;this.retryRaf=null;this.liveRaf=null;this.anchorMotionRaf=null;this.activeAnchorMotions=0;this.ownerDocument=null;this.last=null;this.isReady=false;this.generation=0;this.retryGeneration=0;this.anchorMotionStartHandler=t=>{if(!this.eventCanMoveAnchor(t))return;this.activeAnchorMotions+=1;this.scheduleAnchorMotionUpdate()};this.anchorMotionEndHandler=t=>{if(!this.eventCanMoveAnchor(t))return;this.activeAnchorMotions=Math.max(0,this.activeAnchorMotions-1);this.scheduleAnchorMotionUpdate()};this.options=t}get ready(){return this.isReady}observe(){this.bindListeners()}unobserve(){this.unbindListeners();this.cancel();this.last=null;this.isReady=false}schedule(t){this.cancelRetry();this.isReady=false;const i=this.generation;const s=this.retryGeneration;const o=()=>i===this.generation&&s===this.retryGeneration;let n=this.options.retryBudget??C;const e=()=>{if(!o())return;this.retryRaf=null;const i=this.update();if(!o())return;if(i){this.isReady=true;this.options.onReady?.();if(o())t?.();return}if(n>0){n-=1;this.retryRaf=requestAnimationFrame(e)}};this.retryRaf=requestAnimationFrame(e)}update(){this.observeResizeTargets();const t=this.options.getAnchor();if(!t?.isConnected)return false;const i=this.options.getPopup();if(!i?.isConnected)return false;if(this.options.topLayer&&typeof i.showPopover==="function"&&!i.matches(":popover-open")){try{i.showPopover()}catch{return false}}const s=this.options.measure(t,i);if(!s)return false;const o=x(s);if(!this.last||this.last.x!==o.x||this.last.y!==o.y||this.last.resolvedSide!==o.resolvedSide||this.last.availableHeight!==o.availableHeight){this.last=o;this.options.apply(o)}return true}scheduleLiveUpdate(){const t=this.generation;const i=this.options.liveUpdate??"sync";if(i==="sync"){this.update();return}if(this.liveRaf!==null)return;if(i==="frame"){this.liveRaf=requestAnimationFrame((()=>{if(t!==this.generation)return;this.liveRaf=null;this.update()}));return}this.liveRaf=requestAnimationFrame((()=>{if(t!==this.generation)return;this.update();if(t!==this.generation)return;this.liveRaf=requestAnimationFrame((()=>{if(t!==this.generation)return;this.liveRaf=null;this.update()}))}))}cancel(){this.generation+=1;this.cancelRetry();if(this.liveRaf!==null){cancelAnimationFrame(this.liveRaf);this.liveRaf=null}if(this.anchorMotionRaf!==null){cancelAnimationFrame(this.anchorMotionRaf);this.anchorMotionRaf=null}}cancelRetry(){this.retryGeneration+=1;if(this.retryRaf===null)return;cancelAnimationFrame(this.retryRaf);this.retryRaf=null}bindListeners(){this.unbindListeners();this.scrollResizeHandler=()=>this.scheduleLiveUpdate();window.addEventListener("scroll",this.scrollResizeHandler,true);window.addEventListener("resize",this.scrollResizeHandler);if(this.options.observeResize&&typeof ResizeObserver!=="undefined"){const t=new ResizeObserver((()=>{if(this.resizeObserver===t)this.scheduleLiveUpdate()}));this.resizeObserver=t;this.observeResizeTargets()}if(this.options.observeAnchorMotion){this.ownerDocument=this.options.getAnchor()?.ownerDocument??this.options.getOwnerDocument?.()??null;this.ownerDocument?.addEventListener("transitionrun",this.anchorMotionStartHandler,true);this.ownerDocument?.addEventListener("transitionend",this.anchorMotionEndHandler,true);this.ownerDocument?.addEventListener("transitioncancel",this.anchorMotionEndHandler,true);this.ownerDocument?.addEventListener("animationstart",this.anchorMotionStartHandler,true);this.ownerDocument?.addEventListener("animationend",this.anchorMotionEndHandler,true);this.ownerDocument?.addEventListener("animationcancel",this.anchorMotionEndHandler,true)}}unbindListeners(){if(this.scrollResizeHandler){window.removeEventListener("scroll",this.scrollResizeHandler,true);window.removeEventListener("resize",this.scrollResizeHandler);this.scrollResizeHandler=null}this.resizeObserver?.disconnect();this.resizeObserver=null;this.resizeTargets.clear();this.ownerDocument?.removeEventListener("transitionrun",this.anchorMotionStartHandler,true);this.ownerDocument?.removeEventListener("transitionend",this.anchorMotionEndHandler,true);this.ownerDocument?.removeEventListener("transitioncancel",this.anchorMotionEndHandler,true);this.ownerDocument?.removeEventListener("animationstart",this.anchorMotionStartHandler,true);this.ownerDocument?.removeEventListener("animationend",this.anchorMotionEndHandler,true);this.ownerDocument?.removeEventListener("animationcancel",this.anchorMotionEndHandler,true);this.ownerDocument=null;this.activeAnchorMotions=0}eventCanMoveAnchor(t){const i=this.options.getAnchor();const s=t.target;if(!i||!(s instanceof Element))return false;return s===i||s.contains(i)}scheduleAnchorMotionUpdate(){if(this.anchorMotionRaf!==null)return;const t=this.generation;const i=()=>{if(t!==this.generation)return;this.anchorMotionRaf=null;this.update();if(t!==this.generation)return;if(this.activeAnchorMotions<=0||!this.options.getAnchor()?.isConnected){this.activeAnchorMotions=0;return}this.anchorMotionRaf=requestAnimationFrame(i)};this.anchorMotionRaf=requestAnimationFrame(i)}observeResizeTargets(){if(!this.resizeObserver)return;const t=new Set([this.options.getPopup(),this.options.getAnchor()].filter((t=>!!t?.isConnected)));for(const i of this.resizeTargets){if(!t.has(i))this.resizeObserver.unobserve(i)}for(const i of t){if(!this.resizeTargets.has(i))this.resizeObserver.observe(i)}this.resizeTargets=t}}const P="data-ds-overlay-boundary";function k(t){if(t.assignedSlot)return t.assignedSlot;if(t.parentElement)return t.parentElement;const i=t.getRootNode();return i instanceof ShadowRoot?i.host:null}function z(t){let i=t;while(i){if(i instanceof HTMLElement&&i.hasAttribute(P)){return i}i=k(i)}return null}function A(t,i){if(i==="viewport")return undefined;return(i??z(t))?.getBoundingClientRect()}const F=()=>`.sc-ds-tooltip-h,.sc-ds-tooltip:where(.ds-table),.sc-ds-tooltip:where(.tooltip-popup),.sc-ds-tooltip:where(.ds-radius){--ds-radius-control:var(--dimension-radius-025);--ds-radius-card:var(--dimension-radius-050);--ds-radius-modal:var(--dimension-radius-050);--ds-radius-menu:var(--dimension-radius-075);--ds-radius-tooltip-control:var(--dimension-radius-025);--ds-radius-tooltip-menu:var(--dimension-radius-075);--ds-radius-table:var(--dimension-radius-050)}.ds-control--lg.sc-ds-tooltip,.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(--ds-radius-control)}.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(--ds-radius-control)}.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-ui);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)}@media (forced-colors: active){.sc-ds-tooltip:root,.sc-ds-tooltip-h,.ds-forced-colors-scope.sc-ds-tooltip{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.tooltip-popup.sc-ds-tooltip{box-sizing:border-box;background-color:var(--color-background-primary);border-radius:var(--ds-radius-tooltip-control, 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)}.tooltip-popup--wrap.sc-ds-tooltip{white-space:normal;max-inline-size:var(--dimension-panel-width-xs)}.tooltip-popup--wrap.sc-ds-tooltip .tooltip-inner.sc-ds-tooltip{height:auto;min-height:var(--ds-control-height, var(--dimension-size-400));padding-block:var(--dimension-space-050);align-items:flex-start}.tooltip-popup--wrap.sc-ds-tooltip .tooltip-inner.sc-ds-tooltip>ds-text.sc-ds-tooltip{flex:1 1 auto;min-width:0;max-width:100%;white-space:pre-line}@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}}@media (forced-colors: active){.tooltip-popup.sc-ds-tooltip{box-shadow:none;outline:var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);outline-offset:calc(-1 * var(--dimension-stroke-width-012))}}`;const M={md:h.size400,sm:h.size300,xs:h.size200};let L=0;let T=0;let S=null;function R(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 q(t,i=false){t.style.flexShrink=i?"1":"0";t.style.minWidth=i?"0":"max-content";t.style.maxWidth=i?"100%":"none";t.style.whiteSpace=i?"pre-line":"";t.style.padding="0 var(--ds-control-label-inset, var(--dimension-space-025))";t.style.color="var(--color-foreground-primary)"}const D=t(class t extends i{constructor(t){super();if(t!==false){this.__registerHost()}this.size="md";this.side="top";this.align="center";this.sideOffset=r.space050;this.alignOffset=0;this.delay=h.animationDelayMedium3;this.shortcutKeyPosition="end";this.describedBy=true;this.wrapLabel=false;this.tooltipId=`ds-tooltip-${++T}`;this.delayTimer=null;this.closeTimer=null;this.anchor=null;this.popupEl=null;this.anchorObserver=null;this.didLoad=false;this.position=new O({getAnchor:()=>this.anchor,getPopup:()=>this.popupEl,getOwnerDocument:()=>this.el.ownerDocument,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,collisionRect:A(t,this.boundary)}),apply:({x:t,y:i,resolvedSide:s})=>{if(!this.popupEl)return;this.popupEl.dataset.side=s;this.popupEl.style.transform=`translate(${Math.round(t)}px, ${Math.round(i)}px)`},liveUpdate:"frame",observeResize:true});this.skipEnterAnimation=false;this.isOpen=false;this.programmaticAnchor=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=()=>{if(this.programmaticAnchor)return;const t=this.el.querySelector("slot");const i=t?.assignedElements?.()[0]??this.el.firstElementChild;if(i===this.anchor||i?.tagName==="SLOT")return;if(this.isOpen||this.popupEl)this.hideInstant();this.unbindAnchor();this.bindAnchor()}}connectedCallback(){if(!this.didLoad)return;this.connectAnchor()}componentDidLoad(){this.didLoad=true;this.connectAnchor()}connectAnchor(){this.bindAnchor();if(this.anchorObserver)return;this.anchorObserver=new MutationObserver((()=>this.handleSlotChange()));this.anchorObserver.observe(this.el,{childList:true})}disconnectedCallback(){if(S===this)S=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 d(h.space050,h.space050)}get sideOffsetPx(){return d(this.sideOffset,h.space050)}get alignOffsetPx(){return d(this.alignOffset,0)}get hoverDelayMs(){return a(this.delay,h.animationDelayMedium3)}get instantReopenMs(){return a(h.animationDurationMedium1,h.animationDurationMedium1)}get fadeOutMs(){return l(h.motionShort3,h.animationDurationShort3)}get tooltipFallbackWidthPx(){return d(h.tooltipFallbackWidth,h.tooltipFallbackWidth)}get tooltipFallbackHeightPx(){const t=M[this.size];return d(t,t)}async presentFrom(t,i){if(i!=null)this.label=i;if(!this.label?.trim()){this.hide();return}const s=this.anchor===t;if(!s){this.unbindAnchor();this.anchor=t;this.programmaticAnchor=true;if(this.popupEl&&this.describedBy)this.linkDescribedBy()}if(this.popupEl){this.renderPopupContent();this.schedulePosition();return}if(this.delayTimer&&s)return;this.show()}async dismiss(){this.hide()}bindAnchor(){if(this.programmaticAnchor)return;const t=this.el.querySelector("slot");const i=t?.assignedElements?.()??[];const s=i[0]??this.el.firstElementChild;if(!s||s.tagName==="SLOT"||s===this.anchor)return;this.anchor=s;s.addEventListener("pointerenter",this.pointerEnterHandler);s.addEventListener("pointerleave",this.pointerLeaveHandler);s.addEventListener("pointerdown",this.pointerDownHandler);s.addEventListener("keydown",this.keyDownHandler);s.addEventListener("focusin",this.focusHandler);s.addEventListener("focusout",this.blurHandler)}unbindAnchor(){if(!this.anchor)return;this.unlinkDescribedBy();if(!this.programmaticAnchor){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;this.programmaticAnchor=false}linkDescribedBy(){if(!this.describedBy||!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)q(t,this.wrapLabel)};requestAnimationFrame((()=>{t();this.position.update();requestAnimationFrame((()=>{t();this.position.update()}))}));this.position.observeResizeTargets()}hideInstant(){this.clearTimers();L=Date.now();if(S===this)S=null;this.destroyPopup();this.isOpen=false;this.skipEnterAnimation=false}show(){if(!this.label?.trim())return;this.clearTimers();let t=Date.now()-L<this.instantReopenMs;if(S&&S!==this){S.hideInstant();t=true}S=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;L=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(S===this)S=null;this.destroyPopup();this.isOpen=false;this.skipEnterAnimation=false;return}this.closeTimer=setTimeout((()=>{this.closeTimer=null;if(S===this)S=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 ds-forced-colors-scope 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.toggle("tooltip-popup--wrap",this.wrapLabel);this.popupEl.classList.remove("tooltip-popup--closing");this.renderPopupContent();this.schedulePosition();this.isOpen=true}renderPopupContent(){if(!this.popupEl)return;this.popupEl.classList.toggle("tooltip-popup--wrap",this.wrapLabel);const t=c[this.size];const i=this.size==="md"?"ds-control--md":this.size==="sm"?"ds-control--sm":"ds-control--xs";const s="sc-ds-tooltip";const o=document.createElement("div");o.className=`tooltip-inner ${i} ${s}`;const n=t=>{if(!this.shortcutKey||this.shortcutKeyPosition!==t)return;const i=document.createElement("span");i.className=`key-hint-group ${s}`;i.setAttribute("aria-hidden","true");for(const t of m(this.shortcutKey)){const o=document.createElement("span");const n=Array.from(t).length>1?" key-hint--wide":"";o.className=`key-hint${n} ${s}`;const e=document.createElement("span");e.className=`key-hint__label ${s}`;e.textContent=t;o.appendChild(e);i.appendChild(o)}o.appendChild(i)};n("start");const e=R({variant:t,wrap:this.wrapLabel?"wrap":"nowrap",text:this.label});q(e,this.wrapLabel);o.appendChild(e);n("end");this.popupEl.replaceChildren(o)}render(){return s(o,{key:"a91ea35cad4d388682b562745b5079553b1cfd4f",style:{display:"contents"}},s("slot",{key:"2ecadc1cd67d800114e42cc7f66c2d2566a475d2",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}],boundary:[{onContentOrPositionChange:0}],shortcutKey:[{onContentOrPositionChange:0}],shortcutKeyPosition:[{onContentOrPositionChange:0}],wrapLabel:[{onContentOrPositionChange:0}]}}static get style(){return F()}},[262,"ds-tooltip",{label:[1],size:[1],side:[1],align:[1],sideOffset:[8,"side-offset"],alignOffset:[8,"align-offset"],boundary:[1],delay:[8],shortcutKey:[1,"shortcut-key"],shortcutKeyPosition:[1,"shortcut-key-position"],describedBy:[4,"described-by"],wrapLabel:[4,"wrap-label"],presentFrom:[64],dismiss:[64]},undefined,{label:[{onContentOrPositionChange:0}],size:[{onContentOrPositionChange:0}],side:[{onContentOrPositionChange:0}],align:[{onContentOrPositionChange:0}],sideOffset:[{onContentOrPositionChange:0}],alignOffset:[{onContentOrPositionChange:0}],boundary:[{onContentOrPositionChange:0}],shortcutKey:[{onContentOrPositionChange:0}],shortcutKeyPosition:[{onContentOrPositionChange:0}],wrapLabel:[{onContentOrPositionChange:0}]}]);function E(){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),D)}break;case"ds-text":if(!customElements.get(n(t))){e()}break}}))}E();export{O as A,D as T,P as a,x as c,E as d,A as r};
2
+ //# sourceMappingURL=p-DTlNtCX1.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","OPPOSITE_SIDE","top","right","bottom","left","rawPosition","input","side","anchorRect","anchor","popupWidth","popupHeight","align","sideOffsetPx","alignOffsetPx","x","width","y","height","collisionBounds","boundary","collisionRect","viewportWidth","viewportHeight","viewportPadPx","mainAxisOverflow","position","bounds","Math","max","clampToBounds","value","size","minimum","maximumEdge","maximum","min","computeAnchoredPosition","preferred","oppositeSide","opposite","preferredOverflow","oppositeOverflow","useOpposite","resolvedSide","availableHeight","POSITION_RETRY_BUDGET","AnchoredPositionController","constructor","options","this","scrollResizeHandler","resizeObserver","resizeTargets","retryRaf","liveRaf","anchorMotionRaf","activeAnchorMotions","ownerDocument","last","isReady","generation","retryGeneration","anchorMotionStartHandler","event","eventCanMoveAnchor","scheduleAnchorMotionUpdate","anchorMotionEndHandler","ready","observe","bindListeners","unobserve","unbindListeners","cancel","schedule","onReady","cancelRetry","current","remaining","retryBudget","attempt","measured","update","requestAnimationFrame","observeResizeTargets","getAnchor","isConnected","popup","getPopup","topLayer","showPopover","matches","measure","next","apply","scheduleLiveUpdate","mode","liveUpdate","cancelAnimationFrame","window","addEventListener","observeResize","ResizeObserver","observer","observeAnchorMotion","getOwnerDocument","removeEventListener","disconnect","clear","target","Element","contains","tick","targets","element","ANCHORED_OVERLAY_BOUNDARY_ATTRIBUTE","composedParentElement","assignedSlot","parentElement","root","getRootNode","ShadowRoot","host","findAnchoredOverlayBoundary","HTMLElement","hasAttribute","resolveAnchoredOverlayBoundaryRect","explicitBoundary","undefined","getBoundingClientRect","tooltipCss","FALLBACK_HEIGHT","md","TOKEN_DEFAULTS","size400","sm","size300","xs","size200","lastDismissedAt","tooltipIdCounter","activeTooltip","createDsText","opts","el","document","createElement","as","variant","emphasis","color","wrap","textContent","text","styleTooltipLabel","wrapLabel","style","flexShrink","minWidth","maxWidth","whiteSpace","padding","Tooltip","__stencil_proxyCustomElement","registerHost","sideOffset","TOKEN_CSS_LENGTHS","space050","alignOffset","delay","animationDelayMedium3","shortcutKeyPosition","describedBy","tooltipId","delayTimer","closeTimer","popupEl","anchorObserver","didLoad","tip","offsetWidth","tooltipFallbackWidthPx","offsetHeight","tooltipFallbackHeightPx","innerWidth","innerHeight","dataset","transform","round","skipEnterAnimation","isOpen","programmaticAnchor","lastInteractionWasKeyboard","pointerEnterHandler","pointerType","show","pointerLeaveHandler","hide","pointerDownHandler","hideInstant","keyDownHandler","focusHandler","blurHandler","e","relatedTarget","escapeHandler","key","preventDefault","handleSlotChange","slot","querySelector","assignedElements","firstElementChild","tagName","unbindAnchor","bindAnchor","connectedCallback","connectAnchor","componentDidLoad","MutationObserver","childList","disconnectedCallback","clearTimers","destroyPopup","onContentOrPositionChange","renderPopupContent","schedulePosition","resolveCssLengthPx","hoverDelayMs","resolveCssTimeMs","instantReopenMs","animationDurationMedium1","fadeOutMs","resolveMotionTimeMs","motionShort3","animationDurationShort3","tooltipFallbackWidth","token","presentFrom","sameAnchor","linkDescribedBy","dismiss","slotted","child","unlinkDescribedBy","ids","getAttribute","add","setAttribute","id","removeAttribute","clearTimeout","setupOpenListeners","teardownOpenListeners","remove","reapplyLabelStyles","Date","now","instant","mountPopup","setTimeout","classList","className","Object","assign","zIndex","pointerEvents","body","appendChild","toggle","textVariant","CONTROL_TEXT_VARIANT","density","sc","inner","appendShortcut","shortcutKey","group","hint","wide","replaceChildren","render","h","Host","display","onSlotchange"],"sources":["src/wc/utils/shortcut-key.ts","src/wc/utils/anchored-position.ts","src/wc/utils/anchored-position-controller.ts","src/wc/utils/anchored-overlay-boundary.ts","src/wc/components/Tooltip/Tooltip.css?tag=ds-tooltip&encapsulation=scoped","src/wc/components/Tooltip/Tooltip.tsx"],"sourcesContent":["const MODIFIER_GLYPHS = new Set(['⌘', '⇧', '⌥', '⌃']);\nconst MODIFIER_LABELS: Readonly<Record<string, string>> = {\n alt: '⌥',\n cmd: '⌘',\n command: '⌘',\n control: '⌃',\n ctrl: '⌃',\n option: '⌥',\n shift: '⇧',\n};\n\nfunction canonicalKeyLabel(label: string): string {\n return MODIFIER_LABELS[label.toLowerCase()] ?? label;\n}\n\n/** Split a shortcut chord into the labels rendered on individual keycaps. */\nexport function shortcutKeyLabels(shortcut: string): string[] {\n const normalized = shortcut.trim();\n if (!normalized) return [];\n\n if (normalized.includes('+')) {\n return normalized\n .split('+')\n .map(part => part.trim())\n .filter(Boolean)\n .map(canonicalKeyLabel);\n }\n\n if (/\\s/.test(normalized)) {\n return normalized.split(/\\s+/).filter(Boolean).map(canonicalKeyLabel);\n }\n\n const characters = Array.from(normalized);\n const labels: string[] = [];\n while (characters.length > 1 && MODIFIER_GLYPHS.has(characters[0])) {\n labels.push(characters.shift()!);\n }\n labels.push(characters.join(''));\n return labels;\n}\n","export type AnchoredSide = 'top' | 'right' | 'bottom' | 'left';\nexport type AnchoredAlign = 'start' | 'center' | 'end';\n\nexport type AnchoredCollisionRect = Pick<\n DOMRectReadOnly,\n 'top' | 'left' | 'right' | 'bottom' | 'width' | 'height'\n>;\n\nexport interface AnchoredPositionInput {\n anchorRect: Pick<DOMRectReadOnly, 'top' | 'left' | 'right' | 'bottom' | 'width' | 'height'>;\n popupWidth: number;\n popupHeight: number;\n side: AnchoredSide;\n align: AnchoredAlign;\n sideOffsetPx: number;\n alignOffsetPx: number;\n viewportPadPx: number;\n viewportWidth: number;\n viewportHeight: number;\n /** Optional page or panel collision rectangle in viewport-fixed coordinates. */\n collisionRect?: AnchoredCollisionRect;\n}\n\nexport interface AnchoredPosition {\n x: number;\n y: number;\n /** Side actually used, which differs from the request when placement flipped. */\n resolvedSide: AnchoredSide;\n /** Vertical room available on the resolved side inside the padded viewport. */\n availableHeight: number;\n}\n\nconst OPPOSITE_SIDE: Record<AnchoredSide, AnchoredSide> = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n};\n\n/** Unclamped coordinates for one candidate side. */\nfunction rawPosition(\n input: AnchoredPositionInput,\n side: AnchoredSide\n): Pick<AnchoredPosition, 'x' | 'y'> {\n const { anchorRect: anchor, popupWidth, popupHeight, align, sideOffsetPx, alignOffsetPx } = input;\n\n if (side === 'top' || side === 'bottom') {\n return {\n x:\n align === 'start'\n ? anchor.left + alignOffsetPx\n : align === 'end'\n ? anchor.right - popupWidth + alignOffsetPx\n : anchor.left + anchor.width / 2 - popupWidth / 2 + alignOffsetPx,\n y: side === 'top' ? anchor.top - popupHeight - sideOffsetPx : anchor.bottom + sideOffsetPx,\n };\n }\n\n return {\n x: side === 'left' ? anchor.left - popupWidth - sideOffsetPx : anchor.right + sideOffsetPx,\n y:\n align === 'start'\n ? anchor.top + alignOffsetPx\n : align === 'end'\n ? anchor.bottom - popupHeight + alignOffsetPx\n : anchor.top + anchor.height / 2 - popupHeight / 2 + alignOffsetPx,\n };\n}\n\n/** Total main-axis spill past the padded viewport for a candidate position. */\nfunction collisionBounds(input: AnchoredPositionInput) {\n const boundary = input.collisionRect ?? {\n top: 0,\n left: 0,\n right: input.viewportWidth,\n bottom: input.viewportHeight,\n };\n return {\n top: boundary.top + input.viewportPadPx,\n left: boundary.left + input.viewportPadPx,\n right: boundary.right - input.viewportPadPx,\n bottom: boundary.bottom - input.viewportPadPx,\n };\n}\n\nfunction mainAxisOverflow(\n input: AnchoredPositionInput,\n side: AnchoredSide,\n position: Pick<AnchoredPosition, 'x' | 'y'>\n): number {\n const { popupWidth, popupHeight } = input;\n const bounds = collisionBounds(input);\n\n if (side === 'top' || side === 'bottom') {\n return (\n Math.max(bounds.top - position.y, 0) + Math.max(position.y + popupHeight - bounds.bottom, 0)\n );\n }\n\n return (\n Math.max(bounds.left - position.x, 0) + Math.max(position.x + popupWidth - bounds.right, 0)\n );\n}\n\nfunction clampToBounds(value: number, size: number, minimum: number, maximumEdge: number): number {\n const maximum = Math.max(minimum, maximumEdge - size);\n return Math.min(Math.max(value, minimum), maximum);\n}\n\n/**\n * Pure viewport-fixed anchored-popup layout math shared by every element-anchored\n * overlay: menus, selects, tooltips, and anchored toasts.\n *\n * `side` is preferred. When the popup spills past the padded collision boundary and\n * the opposite side spills less, placement flips on the main axis; the result is\n * then clamped into that boundary on both axes. The viewport is the fallback when\n * no page or panel collision rectangle is supplied. Cross-axis `align` is applied\n * before clamping so `alignOffsetPx` stays an additive nudge.\n *\n * Callers own their own anchor semantics — inner-cell alignment offsets and\n * minimum widths belong to the calling component, not here.\n * @see choice-popup-alignment.ts for the choice-cell alignment transform.\n */\nexport function computeAnchoredPosition(input: AnchoredPositionInput): AnchoredPosition {\n const bounds = collisionBounds(input);\n const preferred = rawPosition(input, input.side);\n const oppositeSide = OPPOSITE_SIDE[input.side];\n const opposite = rawPosition(input, oppositeSide);\n const preferredOverflow = mainAxisOverflow(input, input.side, preferred);\n const oppositeOverflow = mainAxisOverflow(input, oppositeSide, opposite);\n const useOpposite = preferredOverflow > 0 && oppositeOverflow < preferredOverflow;\n const resolvedSide = useOpposite ? oppositeSide : input.side;\n const position = useOpposite ? opposite : preferred;\n const availableHeight =\n resolvedSide === 'top'\n ? input.anchorRect.top - bounds.top - input.sideOffsetPx\n : resolvedSide === 'bottom'\n ? bounds.bottom - input.anchorRect.bottom - input.sideOffsetPx\n : bounds.bottom - bounds.top;\n\n return {\n x: clampToBounds(position.x, input.popupWidth, bounds.left, bounds.right),\n y: clampToBounds(position.y, input.popupHeight, bounds.top, bounds.bottom),\n resolvedSide,\n availableHeight: Math.max(0, availableHeight),\n };\n}\n","import {\n computeAnchoredPosition,\n type AnchoredPosition,\n type AnchoredPositionInput,\n} from './anchored-position';\n\n/** Frames to wait for an anchor and popup to become measurable before giving up. */\nconst POSITION_RETRY_BUDGET = 8;\n\n/**\n * How the scroll/resize path reschedules. Each consumer family measured\n * differently before consolidation, and the differences are preserved verbatim\n * so placement timing is unchanged.\n *\n * - `sync` — measure inside the listener. Selects.\n * - `frame` — coalesce and measure on the next frame. Tooltips.\n * - `double-frame` — coalesce, measure next frame, then measure once more the\n * frame after. Scroll-driven owners such as ShellPage commit a compact-header\n * render in the frame after the scroll event, so a single frame reads a stale\n * anchor rect. Menus.\n */\nexport type AnchoredLiveUpdateMode = 'sync' | 'frame' | 'double-frame';\n\nexport interface AnchoredPositionControllerOptions {\n /** Resolve the anchor at measure time; positioning retries while this is null. */\n getAnchor: () => HTMLElement | null;\n /** Resolve the popup at measure time; positioning retries while this is null. */\n getPopup: () => HTMLElement | null;\n /** Stable owner fallback when framework bindings assign open before anchor. */\n getOwnerDocument?: () => Document | null;\n /**\n * Build the layout input for one measurement pass.\n *\n * The owning component keeps its own anchor semantics here — inner-cell align\n * offsets, minimum widths, and token resolution stay with the component rather\n * than moving into this controller. Return `null` when the component's own\n * guards say the popup is not measurable yet, which schedules a retry.\n */\n measure: (anchor: HTMLElement, popup: HTMLElement) => AnchoredPositionInput | null;\n /** Commit a changed position. Not called when the result is unchanged. */\n apply: (position: AnchoredPosition) => void;\n /**\n * Move a `popover=\"manual\"` popup into the native top layer before measuring.\n *\n * Use this for popups that remain in their owner's DOM tree. The top layer\n * gives `position: fixed` viewport coordinates even when an application\n * ancestor establishes a fixed-position containing block through containment,\n * transforms, or filters.\n */\n topLayer?: boolean;\n /** Fired once per `start()` when the first measurement succeeds. */\n onReady?: () => void;\n /** Scroll/resize behavior. Defaults to `sync`. */\n liveUpdate?: AnchoredLiveUpdateMode;\n /**\n * Re-measure when the popup or anchor resizes. Tooltips need this because the\n * label's `ds-text` upgrade changes the measured width after mount.\n */\n observeResize?: boolean;\n /**\n * Follow CSS transitions or animations that move the anchor without resizing\n * it. The observer only runs a measurement loop while related motion is active.\n */\n observeAnchorMotion?: boolean;\n retryBudget?: number;\n}\n\n/**\n * Lifecycle owner for an element-anchored popup: listener binding, measurement\n * retries, frame coalescing, and teardown.\n *\n * Pairs with `computeAnchoredPosition`, which owns the geometry. Split this way\n * because the geometry is pure and exhaustively testable while the lifecycle is\n * timing-dependent; keeping them separate means the risky half lives in exactly\n * one place.\n *\n * Not suitable for overlays that place several popups in one shared pass — Toast\n * positions N anchored records inside a single layout commit and keeps its own\n * scheduler, using only the geometry function.\n */\nexport class AnchoredPositionController {\n private readonly options: AnchoredPositionControllerOptions;\n private scrollResizeHandler: (() => void) | null = null;\n private resizeObserver: ResizeObserver | null = null;\n private resizeTargets = new Set<HTMLElement>();\n private retryRaf: number | null = null;\n private liveRaf: number | null = null;\n private anchorMotionRaf: number | null = null;\n private activeAnchorMotions = 0;\n private ownerDocument: Document | null = null;\n private last: AnchoredPosition | null = null;\n private isReady = false;\n private generation = 0;\n private retryGeneration = 0;\n private readonly anchorMotionStartHandler = (event: Event) => {\n if (!this.eventCanMoveAnchor(event)) return;\n this.activeAnchorMotions += 1;\n this.scheduleAnchorMotionUpdate();\n };\n private readonly anchorMotionEndHandler = (event: Event) => {\n if (!this.eventCanMoveAnchor(event)) return;\n this.activeAnchorMotions = Math.max(0, this.activeAnchorMotions - 1);\n this.scheduleAnchorMotionUpdate();\n };\n\n constructor(options: AnchoredPositionControllerOptions) {\n this.options = options;\n }\n\n /** `true` once a measurement has succeeded, for gating popup reveal. */\n get ready(): boolean {\n return this.isReady;\n }\n\n /**\n * Bind scroll/resize tracking for an opening popup.\n *\n * Deliberately does not schedule placement: every consumer binds listeners and\n * then schedules in its own order, and folding both into one call produced two\n * overlapping retry loops. Call `schedule()` or `update()` separately.\n */\n observe(): void {\n this.bindListeners();\n }\n\n /** Unbind tracking, cancel pending frames, and clear the cached position. */\n unobserve(): void {\n this.unbindListeners();\n this.cancel();\n this.last = null;\n this.isReady = false;\n }\n\n /**\n * Retry measurement each frame until it succeeds or the budget runs out, so a\n * popup is never revealed at 0,0 after a failed first pass.\n */\n schedule(onReady?: () => void): void {\n this.cancelRetry();\n this.isReady = false;\n const generation = this.generation;\n const retryGeneration = this.retryGeneration;\n const current = () =>\n generation === this.generation && retryGeneration === this.retryGeneration;\n\n let remaining = this.options.retryBudget ?? POSITION_RETRY_BUDGET;\n\n const attempt = () => {\n if (!current()) return;\n this.retryRaf = null;\n const measured = this.update();\n if (!current()) return;\n if (measured) {\n this.isReady = true;\n this.options.onReady?.();\n if (current()) onReady?.();\n return;\n }\n if (remaining > 0) {\n remaining -= 1;\n this.retryRaf = requestAnimationFrame(attempt);\n }\n };\n\n this.retryRaf = requestAnimationFrame(attempt);\n }\n\n /** Measure and commit once. @returns `false` when the popup is not measurable. */\n update(): boolean {\n this.observeResizeTargets();\n const anchor = this.options.getAnchor();\n if (!anchor?.isConnected) return false;\n const popup = this.options.getPopup();\n if (!popup?.isConnected) return false;\n\n if (\n this.options.topLayer &&\n typeof popup.showPopover === 'function' &&\n !popup.matches(':popover-open')\n ) {\n try {\n popup.showPopover();\n } catch {\n // The popup may not be connected yet. The scheduled retry will try again\n // on the next frame instead of measuring it in the wrong coordinate space.\n return false;\n }\n }\n\n const input = this.options.measure(anchor, popup);\n if (!input) return false;\n\n const next = computeAnchoredPosition(input);\n if (\n !this.last ||\n this.last.x !== next.x ||\n this.last.y !== next.y ||\n this.last.resolvedSide !== next.resolvedSide ||\n this.last.availableHeight !== next.availableHeight\n ) {\n this.last = next;\n this.options.apply(next);\n }\n return true;\n }\n\n /** Reposition an already-open popup without hiding it. */\n scheduleLiveUpdate(): void {\n const generation = this.generation;\n const mode = this.options.liveUpdate ?? 'sync';\n if (mode === 'sync') {\n this.update();\n return;\n }\n\n if (this.liveRaf !== null) return;\n\n if (mode === 'frame') {\n this.liveRaf = requestAnimationFrame(() => {\n if (generation !== this.generation) return;\n this.liveRaf = null;\n this.update();\n });\n return;\n }\n\n // double-frame stays coalesced until the second frame resolves.\n this.liveRaf = requestAnimationFrame(() => {\n if (generation !== this.generation) return;\n this.update();\n if (generation !== this.generation) return;\n this.liveRaf = requestAnimationFrame(() => {\n if (generation !== this.generation) return;\n this.liveRaf = null;\n this.update();\n });\n });\n }\n\n /** Cancel pending retry and live frames without unbinding listeners. */\n cancel(): void {\n this.generation += 1;\n this.cancelRetry();\n if (this.liveRaf !== null) {\n cancelAnimationFrame(this.liveRaf);\n this.liveRaf = null;\n }\n if (this.anchorMotionRaf !== null) {\n cancelAnimationFrame(this.anchorMotionRaf);\n this.anchorMotionRaf = null;\n }\n }\n\n private cancelRetry(): void {\n this.retryGeneration += 1;\n if (this.retryRaf === null) return;\n cancelAnimationFrame(this.retryRaf);\n this.retryRaf = null;\n }\n\n private bindListeners(): void {\n this.unbindListeners();\n this.scrollResizeHandler = () => this.scheduleLiveUpdate();\n // Capture phase so scrolling inside any ancestor repositions the popup.\n window.addEventListener('scroll', this.scrollResizeHandler, true);\n window.addEventListener('resize', this.scrollResizeHandler);\n\n if (this.options.observeResize && typeof ResizeObserver !== 'undefined') {\n const observer = new ResizeObserver(() => {\n if (this.resizeObserver === observer) this.scheduleLiveUpdate();\n });\n this.resizeObserver = observer;\n this.observeResizeTargets();\n }\n\n if (this.options.observeAnchorMotion) {\n this.ownerDocument =\n this.options.getAnchor()?.ownerDocument ?? this.options.getOwnerDocument?.() ?? null;\n this.ownerDocument?.addEventListener('transitionrun', this.anchorMotionStartHandler, true);\n this.ownerDocument?.addEventListener('transitionend', this.anchorMotionEndHandler, true);\n this.ownerDocument?.addEventListener('transitioncancel', this.anchorMotionEndHandler, true);\n this.ownerDocument?.addEventListener('animationstart', this.anchorMotionStartHandler, true);\n this.ownerDocument?.addEventListener('animationend', this.anchorMotionEndHandler, true);\n this.ownerDocument?.addEventListener('animationcancel', this.anchorMotionEndHandler, true);\n }\n }\n\n private unbindListeners(): void {\n if (this.scrollResizeHandler) {\n window.removeEventListener('scroll', this.scrollResizeHandler, true);\n window.removeEventListener('resize', this.scrollResizeHandler);\n this.scrollResizeHandler = null;\n }\n this.resizeObserver?.disconnect();\n this.resizeObserver = null;\n this.resizeTargets.clear();\n this.ownerDocument?.removeEventListener('transitionrun', this.anchorMotionStartHandler, true);\n this.ownerDocument?.removeEventListener('transitionend', this.anchorMotionEndHandler, true);\n this.ownerDocument?.removeEventListener('transitioncancel', this.anchorMotionEndHandler, true);\n this.ownerDocument?.removeEventListener('animationstart', this.anchorMotionStartHandler, true);\n this.ownerDocument?.removeEventListener('animationend', this.anchorMotionEndHandler, true);\n this.ownerDocument?.removeEventListener('animationcancel', this.anchorMotionEndHandler, true);\n this.ownerDocument = null;\n this.activeAnchorMotions = 0;\n }\n\n private eventCanMoveAnchor(event: Event): boolean {\n const anchor = this.options.getAnchor();\n const target = event.target;\n if (!anchor || !(target instanceof Element)) return false;\n // Motion on the anchor or one of its layout ancestors can move its rect.\n // Descendant-only animation is irrelevant unless it resizes the anchor,\n // which the ResizeObserver path already covers.\n return target === anchor || target.contains(anchor);\n }\n\n private scheduleAnchorMotionUpdate(): void {\n if (this.anchorMotionRaf !== null) return;\n const generation = this.generation;\n const tick = () => {\n if (generation !== this.generation) return;\n this.anchorMotionRaf = null;\n this.update();\n if (generation !== this.generation) return;\n if (this.activeAnchorMotions <= 0 || !this.options.getAnchor()?.isConnected) {\n this.activeAnchorMotions = 0;\n return;\n }\n this.anchorMotionRaf = requestAnimationFrame(tick);\n };\n this.anchorMotionRaf = requestAnimationFrame(tick);\n }\n\n /**\n * Keep only the current connected anchor and popup observed. Replaced or\n * detached elements must not remain retained until the overlay closes.\n */\n observeResizeTargets(): void {\n if (!this.resizeObserver) return;\n const targets = new Set(\n [this.options.getPopup(), this.options.getAnchor()].filter(\n (element): element is HTMLElement => !!element?.isConnected\n )\n );\n for (const target of this.resizeTargets) {\n if (!targets.has(target)) this.resizeObserver.unobserve(target);\n }\n for (const target of targets) {\n if (!this.resizeTargets.has(target)) this.resizeObserver.observe(target);\n }\n this.resizeTargets = targets;\n }\n}\n","import type { AnchoredCollisionRect } from './anchored-position';\n\n/** Attribute placed on a page or panel whose visible rectangle owns anchored overlays. */\nexport const ANCHORED_OVERLAY_BOUNDARY_ATTRIBUTE = 'data-ds-overlay-boundary';\n\n/** An element-owned collision rectangle, or an explicit escape to the viewport. */\nexport type AnchoredOverlayBoundary = HTMLElement | 'viewport';\n\nfunction composedParentElement(element: Element): Element | null {\n if (element.assignedSlot) return element.assignedSlot;\n if (element.parentElement) return element.parentElement;\n const root = element.getRootNode();\n return root instanceof ShadowRoot ? root.host : null;\n}\n\n/**\n * Find the nearest collision owner through light DOM, assigned slots, and open\n * shadow roots. The popup may live in the top layer or a body portal; ownership\n * follows its anchor instead of the popup's rendering location.\n */\nexport function findAnchoredOverlayBoundary(anchor: Element): HTMLElement | null {\n let current: Element | null = anchor;\n while (current) {\n if (\n current instanceof HTMLElement &&\n current.hasAttribute(ANCHORED_OVERLAY_BOUNDARY_ATTRIBUTE)\n ) {\n return current;\n }\n current = composedParentElement(current);\n }\n return null;\n}\n\n/** Resolve an explicit owner first, then the nearest composed-tree boundary. */\nexport function resolveAnchoredOverlayBoundaryRect(\n anchor: Element,\n explicitBoundary?: AnchoredOverlayBoundary\n): AnchoredCollisionRect | undefined {\n if (explicitBoundary === 'viewport') return undefined;\n return (explicitBoundary ?? findAnchoredOverlayBoundary(anchor))?.getBoundingClientRect();\n}\n","@import '../../utils/radius.css';\n@import '../../utils/control-density.css';\n@import '../../utils/key-hint.css';\n@import '../../utils/forced-colors.css';\n\n.tooltip-popup {\n box-sizing: border-box;\n background-color: var(--color-background-primary);\n border-radius: var(--ds-radius-tooltip-control, var(--dimension-radius-025));\n box-shadow: var(--effect-elevation-elevated-floating);\n white-space: nowrap;\n pointer-events: none;\n animation: tooltipFadeIn var(--effect-motion-short-2) forwards;\n will-change: transform;\n backface-visibility: hidden;\n}\n\n/* Warm handoff between nearby triggers — no enter fade (avoids 20–100ms lag). */\n.tooltip-popup--instant {\n animation: none;\n opacity: 1;\n}\n\n.tooltip-popup--closing {\n animation: tooltipFadeOut var(--effect-motion-short-3) forwards;\n}\n\n/* Density: md / sm / xs via `.ds-control--*` on `.tooltip-inner`. */\n.tooltip-inner {\n box-sizing: border-box;\n height: var(--ds-control-height, var(--dimension-size-400));\n display: flex;\n align-items: center;\n gap: var(--ds-control-gap, var(--dimension-space-050));\n padding: 0 var(--ds-control-padding-inline, var(--dimension-space-075));\n}\n\n/*\n * Label layout lives on ds-text (metric-box + control label-inset).\n * NOTE: Stencil scopes this to `ds-text.sc-ds-tooltip`, but portaled\n * createElement ds-text loses that class when Text's <Host class> renders.\n * `renderPopupContent` therefore also sets these as inline styles.\n */\n.tooltip-inner > ds-text {\n flex-shrink: 0;\n min-width: max-content;\n max-width: none;\n padding: 0 var(--ds-control-label-inset, var(--dimension-space-025));\n color: var(--color-foreground-primary);\n}\n\n.tooltip-popup--wrap {\n white-space: normal;\n max-inline-size: var(--dimension-panel-width-xs);\n}\n\n.tooltip-popup--wrap .tooltip-inner {\n height: auto;\n min-height: var(--ds-control-height, var(--dimension-size-400));\n padding-block: var(--dimension-space-050);\n align-items: flex-start;\n}\n\n.tooltip-popup--wrap .tooltip-inner > ds-text {\n flex: 1 1 auto;\n min-width: 0;\n max-width: 100%;\n white-space: pre-line;\n}\n\n@keyframes tooltipFadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n@keyframes tooltipFadeOut {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .tooltip-popup,\n .tooltip-popup--instant {\n animation: none;\n opacity: 1;\n }\n\n .tooltip-popup--closing {\n animation: none;\n opacity: 0;\n }\n}\n\n@media (forced-colors: active) {\n .tooltip-popup {\n box-shadow: none;\n outline: var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);\n outline-offset: calc(-1 * var(--dimension-stroke-width-012));\n }\n}\n","import { Component, Prop, Element, Method, Watch, h, Host } from '@stencil/core';\nimport {\n CONTROL_TEXT_VARIANT,\n resolveCssLengthPx,\n resolveCssTimeMs,\n resolveMotionTimeMs,\n TOKEN_CSS_LENGTHS,\n TOKEN_DEFAULTS,\n} from '../../utils';\nimport type { TextVariant } from '../Text/text-types';\nimport { shortcutKeyLabels } from '../../utils/shortcut-key';\nimport { AnchoredPositionController } from '../../utils/anchored-position-controller';\nimport {\n resolveAnchoredOverlayBoundaryRect,\n type AnchoredOverlayBoundary,\n} from '../../utils/anchored-overlay-boundary';\n// Side-effect: register `ds-text` — the portal builds it via createElement, not JSX.\nimport '../Text/Text';\n\nexport type TooltipSide = 'top' | 'right' | 'bottom' | 'left';\nexport type TooltipAlign = 'start' | 'center' | 'end';\nexport type TooltipSize = 'md' | 'sm' | 'xs';\n\nconst FALLBACK_HEIGHT: Record<TooltipSize, string> = {\n md: TOKEN_DEFAULTS.size400,\n sm: TOKEN_DEFAULTS.size300,\n xs: TOKEN_DEFAULTS.size200,\n};\n\nlet lastDismissedAt = 0;\nlet tooltipIdCounter = 0;\n/** Currently open tooltip — force-cleared on warm handoff so tips don't cross-fade. */\nlet activeTooltip: Tooltip | null = null;\n\ntype DsTextEl = HTMLElement & {\n as: string;\n variant: TextVariant;\n emphasis: boolean;\n color: string;\n wrap: string;\n};\n\nfunction createDsText(opts: {\n variant: TextVariant;\n emphasis?: boolean;\n color?: string;\n wrap?: 'wrap' | 'nowrap' | 'balance' | 'pretty';\n text: string;\n}): DsTextEl {\n const el = document.createElement('ds-text') as DsTextEl;\n el.as = 'span';\n el.variant = opts.variant;\n el.emphasis = opts.emphasis ?? false;\n el.color = opts.color ?? 'inherit';\n if (opts.wrap) el.wrap = opts.wrap;\n el.textContent = opts.text;\n return el;\n}\n\n/**\n * Control-density label styles for portaled ds-text.\n * Scoped CSS requires `sc-ds-tooltip` on the host, but Text's `<Host class>`\n * overwrites imperative className — so these must be inline to stick.\n */\nfunction styleTooltipLabel(el: HTMLElement, wrapLabel = false) {\n el.style.flexShrink = wrapLabel ? '1' : '0';\n el.style.minWidth = wrapLabel ? '0' : 'max-content';\n el.style.maxWidth = wrapLabel ? '100%' : 'none';\n el.style.whiteSpace = wrapLabel ? 'pre-line' : '';\n el.style.padding = '0 var(--ds-control-label-inset, var(--dimension-space-025))';\n el.style.color = 'var(--color-foreground-primary)';\n}\n\n/**\n * Imperative body portal for the popup.\n * Stencil must not own the portaled node — moving a VDOM child to `document.body`\n * causes recreate → re-portal → @State loops that freeze the page.\n */\n@Component({\n tag: 'ds-tooltip',\n styleUrl: 'Tooltip.css',\n scoped: true,\n})\nexport class Tooltip {\n @Element() el!: HTMLElement;\n\n /**\n * Tooltip text. Empty/whitespace skips show — useful when the wrapper must stay\n * mounted for layout/animation stability (e.g. PanelNav expand/collapse).\n */\n @Prop() label!: string;\n\n /** Control density (height, padding, type). */\n @Prop() size: TooltipSize = 'md';\n\n @Prop() side: TooltipSide = 'top';\n @Prop() align: TooltipAlign = 'center';\n /** Gap between anchor and tooltip — number (px) or TokoMo length. */\n @Prop() sideOffset: number | string = TOKEN_CSS_LENGTHS.space050;\n /** Cross-axis offset — number (px) or TokoMo length. */\n @Prop() alignOffset: number | string = 0;\n /** Explicit collision owner, `viewport`, or the nearest data-ds-overlay-boundary ancestor. */\n @Prop() boundary: AnchoredOverlayBoundary | undefined;\n /**\n * Hover show delay before the tooltip appears.\n * Default: `--effect-animation-delay-medium-3` (1000ms). Accepts a number (ms)\n * or a TokoMo time token / `var(--effect-animation-delay-*)`. Applies to the\n * initial hover/focus show only — after a recent dismiss, reopen is instant.\n * Prefer the default; override only for denser chrome or rare/destructive actions.\n */\n @Prop() delay: number | string = TOKEN_DEFAULTS.animationDelayMedium3;\n @Prop() shortcutKey: string | undefined;\n @Prop() shortcutKeyPosition: 'start' | 'end' = 'end';\n /**\n * Link the trigger with aria-describedby while the popup is open. Disable when\n * the label is already in the DOM, such as a truncated table cell.\n */\n @Prop() describedBy = true;\n /** Allow wrapping at a panel-xs max width and preserve explicit line breaks. */\n @Prop() wrapLabel = false;\n\n private tooltipId = `ds-tooltip-${++tooltipIdCounter}`;\n private delayTimer: ReturnType<typeof setTimeout> | null = null;\n private closeTimer: ReturnType<typeof setTimeout> | null = null;\n private anchor: HTMLElement | null = null;\n private popupEl: HTMLElement | null = null;\n private anchorObserver: MutationObserver | null = null;\n private didLoad = false;\n private readonly position = new AnchoredPositionController({\n getAnchor: () => this.anchor,\n getPopup: () => this.popupEl,\n getOwnerDocument: () => this.el.ownerDocument,\n measure: (anchor, tip) => ({\n anchorRect: anchor.getBoundingClientRect(),\n // Fall back to token metrics until `ds-text` upgrades and reports a width.\n popupWidth: tip.offsetWidth || this.tooltipFallbackWidthPx,\n popupHeight: tip.offsetHeight || this.tooltipFallbackHeightPx,\n side: this.side,\n align: this.align,\n sideOffsetPx: this.sideOffsetPx,\n alignOffsetPx: this.alignOffsetPx,\n viewportPadPx: this.viewportPadPx,\n viewportWidth: window.innerWidth,\n viewportHeight: window.innerHeight,\n collisionRect: resolveAnchoredOverlayBoundaryRect(anchor, this.boundary),\n }),\n apply: ({ x, y, resolvedSide }) => {\n if (!this.popupEl) return;\n this.popupEl.dataset.side = resolvedSide;\n this.popupEl.style.transform = `translate(${Math.round(x)}px, ${Math.round(y)}px)`;\n },\n liveUpdate: 'frame',\n observeResize: true,\n });\n private skipEnterAnimation = false;\n private isOpen = false;\n private programmaticAnchor = false;\n private lastInteractionWasKeyboard = false;\n private pointerEnterHandler = (event: PointerEvent) => {\n if (event.pointerType === 'touch') return;\n this.show();\n };\n private pointerLeaveHandler = (event: PointerEvent) => {\n if (event.pointerType === 'touch') return;\n this.hide();\n };\n private pointerDownHandler = (event: PointerEvent) => {\n this.lastInteractionWasKeyboard = false;\n if (event.pointerType === 'touch' && (this.isOpen || this.popupEl)) this.hideInstant();\n };\n private keyDownHandler = () => {\n this.lastInteractionWasKeyboard = true;\n };\n /** focusin/focusout so nested focus targets (e.g. ds-button-* inner button) still open the tip. */\n private focusHandler = () => {\n if (this.lastInteractionWasKeyboard || this.anchor?.matches(':focus-visible')) this.show();\n };\n private blurHandler: (e: FocusEvent) => void = e => {\n const next = e.relatedTarget as Node | null;\n if (next && this.anchor?.contains(next)) return;\n this.hide();\n };\n private escapeHandler = (event: KeyboardEvent) => {\n if (event.key !== 'Escape' || !this.isOpen) return;\n event.preventDefault();\n this.hide();\n };\n\n connectedCallback() {\n if (!this.didLoad) return;\n this.connectAnchor();\n }\n\n componentDidLoad() {\n this.didLoad = true;\n this.connectAnchor();\n }\n\n private connectAnchor() {\n this.bindAnchor();\n if (this.anchorObserver) return;\n this.anchorObserver = new MutationObserver(() => this.handleSlotChange());\n this.anchorObserver.observe(this.el, { childList: true });\n }\n\n disconnectedCallback() {\n if (activeTooltip === this) activeTooltip = null;\n this.anchorObserver?.disconnect();\n this.anchorObserver = null;\n this.unbindAnchor();\n this.clearTimers();\n this.destroyPopup();\n }\n\n @Watch('label')\n @Watch('size')\n @Watch('side')\n @Watch('align')\n @Watch('sideOffset')\n @Watch('alignOffset')\n @Watch('boundary')\n @Watch('shortcutKey')\n @Watch('shortcutKeyPosition')\n @Watch('wrapLabel')\n onContentOrPositionChange() {\n if (!this.label?.trim()) {\n if (this.isOpen || this.popupEl) this.hideInstant();\n return;\n }\n if (!this.popupEl || !this.isOpen) return;\n this.renderPopupContent();\n this.schedulePosition();\n }\n\n private get viewportPadPx(): number {\n return resolveCssLengthPx(TOKEN_DEFAULTS.space050, TOKEN_DEFAULTS.space050);\n }\n\n private get sideOffsetPx(): number {\n return resolveCssLengthPx(this.sideOffset, TOKEN_DEFAULTS.space050);\n }\n\n private get alignOffsetPx(): number {\n return resolveCssLengthPx(this.alignOffset, 0);\n }\n\n private get hoverDelayMs(): number {\n return resolveCssTimeMs(this.delay, TOKEN_DEFAULTS.animationDelayMedium3);\n }\n\n private get instantReopenMs(): number {\n return resolveCssTimeMs(\n TOKEN_DEFAULTS.animationDurationMedium1,\n TOKEN_DEFAULTS.animationDurationMedium1\n );\n }\n\n private get fadeOutMs(): number {\n return resolveMotionTimeMs(TOKEN_DEFAULTS.motionShort3, TOKEN_DEFAULTS.animationDurationShort3);\n }\n\n private get tooltipFallbackWidthPx(): number {\n return resolveCssLengthPx(\n TOKEN_DEFAULTS.tooltipFallbackWidth,\n TOKEN_DEFAULTS.tooltipFallbackWidth\n );\n }\n\n private get tooltipFallbackHeightPx(): number {\n const token = FALLBACK_HEIGHT[this.size];\n return resolveCssLengthPx(token, token);\n }\n\n /**\n * Present against an external anchor the host already measured.\n * Does not bind hover or focus on that anchor — the owner drives show/hide.\n */\n @Method()\n async presentFrom(anchor: HTMLElement, label?: string) {\n if (label != null) this.label = label;\n if (!this.label?.trim()) {\n this.hide();\n return;\n }\n const sameAnchor = this.anchor === anchor;\n if (!sameAnchor) {\n this.unbindAnchor();\n this.anchor = anchor;\n this.programmaticAnchor = true;\n if (this.popupEl && this.describedBy) this.linkDescribedBy();\n }\n if (this.popupEl) {\n this.renderPopupContent();\n this.schedulePosition();\n return;\n }\n if (this.delayTimer && sameAnchor) return;\n this.show();\n }\n\n /** Dismiss a popup opened through presentFrom or the slotted trigger. */\n @Method()\n async dismiss() {\n this.hide();\n }\n\n private bindAnchor() {\n if (this.programmaticAnchor) return;\n const slot = this.el.querySelector('slot') as HTMLSlotElement | null;\n const slotted = slot?.assignedElements?.() ?? [];\n const child = (slotted[0] ?? this.el.firstElementChild) as HTMLElement | null;\n if (!child || child.tagName === 'SLOT' || child === this.anchor) return;\n this.anchor = child;\n child.addEventListener('pointerenter', this.pointerEnterHandler);\n child.addEventListener('pointerleave', this.pointerLeaveHandler);\n child.addEventListener('pointerdown', this.pointerDownHandler);\n child.addEventListener('keydown', this.keyDownHandler);\n child.addEventListener('focusin', this.focusHandler);\n child.addEventListener('focusout', this.blurHandler);\n }\n\n private unbindAnchor() {\n if (!this.anchor) return;\n this.unlinkDescribedBy();\n if (!this.programmaticAnchor) {\n this.anchor.removeEventListener('pointerenter', this.pointerEnterHandler);\n this.anchor.removeEventListener('pointerleave', this.pointerLeaveHandler);\n this.anchor.removeEventListener('pointerdown', this.pointerDownHandler);\n this.anchor.removeEventListener('keydown', this.keyDownHandler);\n this.anchor.removeEventListener('focusin', this.focusHandler);\n this.anchor.removeEventListener('focusout', this.blurHandler);\n }\n this.anchor = null;\n this.programmaticAnchor = false;\n }\n\n private linkDescribedBy() {\n if (!this.describedBy || !this.anchor || !this.popupEl) return;\n const ids = new Set(\n (this.anchor.getAttribute('aria-describedby') ?? '').split(/\\s+/).filter(Boolean)\n );\n ids.add(this.tooltipId);\n this.anchor.setAttribute('aria-describedby', Array.from(ids).join(' '));\n }\n\n private unlinkDescribedBy() {\n if (!this.anchor) return;\n const ids = (this.anchor.getAttribute('aria-describedby') ?? '')\n .split(/\\s+/)\n .filter(id => id && id !== this.tooltipId);\n if (ids.length) this.anchor.setAttribute('aria-describedby', ids.join(' '));\n else this.anchor.removeAttribute('aria-describedby');\n }\n\n private handleSlotChange = () => {\n if (this.programmaticAnchor) return;\n const slot = this.el.querySelector('slot') as HTMLSlotElement | null;\n const next = (slot?.assignedElements?.()[0] ?? this.el.firstElementChild) as HTMLElement | null;\n if (next === this.anchor || next?.tagName === 'SLOT') return;\n if (this.isOpen || this.popupEl) this.hideInstant();\n this.unbindAnchor();\n this.bindAnchor();\n };\n\n private clearTimers() {\n if (this.delayTimer) {\n clearTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n if (this.closeTimer) {\n clearTimeout(this.closeTimer);\n this.closeTimer = null;\n }\n }\n\n private setupOpenListeners() {\n // Binds scroll/resize + the resize observer; placement itself is scheduled\n // by schedulePosition() so the label restyle stays interleaved.\n this.position.observe();\n document.addEventListener('keydown', this.escapeHandler);\n }\n\n private teardownOpenListeners() {\n this.position.unobserve();\n document.removeEventListener('keydown', this.escapeHandler);\n }\n\n private destroyPopup() {\n this.teardownOpenListeners();\n this.unlinkDescribedBy();\n if (!this.popupEl) return;\n this.popupEl.remove();\n this.popupEl = null;\n }\n\n /**\n * Position after `ds-text` upgrades and lays out. Measuring synchronously in\n * `mountPopup` reads a collapsed/fallback width and places left/right tips wrong.\n */\n private schedulePosition() {\n if (!this.popupEl) return;\n\n const reapplyLabelStyles = () => {\n const label = this.popupEl?.querySelector(':scope > .tooltip-inner > ds-text');\n if (label instanceof HTMLElement) styleTooltipLabel(label, this.wrapLabel);\n };\n\n requestAnimationFrame(() => {\n reapplyLabelStyles();\n this.position.update();\n requestAnimationFrame(() => {\n reapplyLabelStyles();\n this.position.update();\n });\n });\n\n // The popup remounts on every show, so re-target the observer bound in start().\n this.position.observeResizeTargets();\n }\n\n /** Drop the open tip immediately (warm handoff to another tooltip). */\n private hideInstant() {\n this.clearTimers();\n lastDismissedAt = Date.now();\n if (activeTooltip === this) activeTooltip = null;\n this.destroyPopup();\n this.isOpen = false;\n this.skipEnterAnimation = false;\n }\n\n private show() {\n // Empty label = wrapper present for DOM stability (e.g. PanelNav expand/collapse)\n // but no tip should appear.\n if (!this.label?.trim()) return;\n this.clearTimers();\n let instant = Date.now() - lastDismissedAt < this.instantReopenMs;\n if (activeTooltip && activeTooltip !== this) {\n activeTooltip.hideInstant();\n instant = true;\n }\n // eslint-disable-next-line @typescript-eslint/no-this-alias -- module singleton tracks the active instance\n activeTooltip = this;\n this.skipEnterAnimation = instant;\n if (instant) {\n this.mountPopup();\n return;\n }\n this.delayTimer = setTimeout(() => {\n this.delayTimer = null;\n if (!this.label?.trim()) return;\n this.mountPopup();\n }, this.hoverDelayMs);\n }\n\n private hide() {\n this.clearTimers();\n if (!this.popupEl && !this.isOpen) return;\n lastDismissedAt = Date.now();\n if (!this.popupEl) {\n this.isOpen = false;\n return;\n }\n this.popupEl.classList.remove('tooltip-popup--instant');\n this.popupEl.classList.add('tooltip-popup--closing');\n if (this.fadeOutMs === 0) {\n if (activeTooltip === this) activeTooltip = null;\n this.destroyPopup();\n this.isOpen = false;\n this.skipEnterAnimation = false;\n return;\n }\n this.closeTimer = setTimeout(() => {\n this.closeTimer = null;\n if (activeTooltip === this) activeTooltip = null;\n this.destroyPopup();\n this.isOpen = false;\n this.skipEnterAnimation = false;\n }, this.fadeOutMs);\n }\n\n private mountPopup() {\n if (!this.popupEl) {\n const tip = document.createElement('div');\n tip.id = this.tooltipId;\n tip.setAttribute('role', 'tooltip');\n // `sc-ds-tooltip` is required for Stencil scoped CSS to match outside the host.\n tip.className = 'tooltip-popup ds-forced-colors-scope sc-ds-tooltip';\n Object.assign(tip.style, {\n position: 'fixed',\n left: '0',\n top: '0',\n zIndex: 'var(--dimension-z-index-tooltip)',\n pointerEvents: 'none',\n });\n document.body.appendChild(tip);\n this.popupEl = tip;\n }\n\n this.setupOpenListeners();\n this.linkDescribedBy();\n this.popupEl.classList.toggle('tooltip-popup--instant', this.skipEnterAnimation);\n this.popupEl.classList.toggle('tooltip-popup--wrap', this.wrapLabel);\n this.popupEl.classList.remove('tooltip-popup--closing');\n this.renderPopupContent();\n this.schedulePosition();\n this.isOpen = true;\n }\n\n private renderPopupContent() {\n if (!this.popupEl) return;\n this.popupEl.classList.toggle('tooltip-popup--wrap', this.wrapLabel);\n const textVariant = CONTROL_TEXT_VARIANT[this.size];\n const density =\n this.size === 'md'\n ? 'ds-control--md'\n : this.size === 'sm'\n ? 'ds-control--sm'\n : 'ds-control--xs';\n // Every layout node needs `sc-ds-tooltip` so scoped selectors (`.foo.sc-ds-tooltip`) match.\n const sc = 'sc-ds-tooltip';\n\n const inner = document.createElement('div');\n inner.className = `tooltip-inner ${density} ${sc}`;\n\n const appendShortcut = (position: 'start' | 'end') => {\n if (!this.shortcutKey || this.shortcutKeyPosition !== position) return;\n const group = document.createElement('span');\n group.className = `key-hint-group ${sc}`;\n group.setAttribute('aria-hidden', 'true');\n\n for (const label of shortcutKeyLabels(this.shortcutKey)) {\n const hint = document.createElement('span');\n const wide = Array.from(label).length > 1 ? ' key-hint--wide' : '';\n hint.className = `key-hint${wide} ${sc}`;\n const text = document.createElement('span');\n text.className = `key-hint__label ${sc}`;\n text.textContent = label;\n hint.appendChild(text);\n group.appendChild(hint);\n }\n inner.appendChild(group);\n };\n\n appendShortcut('start');\n\n // ds-text is the layout box (metric-box + 2px control label-inset).\n // Inline styles required — see styleTooltipLabel.\n const label = createDsText({\n variant: textVariant,\n wrap: this.wrapLabel ? 'wrap' : 'nowrap',\n text: this.label,\n });\n styleTooltipLabel(label, this.wrapLabel);\n inner.appendChild(label);\n\n appendShortcut('end');\n\n this.popupEl.replaceChildren(inner);\n }\n\n render() {\n return (\n <Host style={{ display: 'contents' }}>\n <slot onSlotchange={this.handleSlotChange} />\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}