@mkbabb/glass-ui 3.2.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. package/dist/{CardFooter-3-VGho1J.js → CardFooter-C390imy7.js} +2 -2
  2. package/dist/{CollapsibleContent-wlmlDujU.js → CollapsibleContent-cauTbZEM.js} +1 -1
  3. package/dist/{CommandShortcut-C6lsz3pG.js → CommandShortcut-BiVyqipe.js} +5 -4
  4. package/dist/DataTable-FfkaAg2z.js +465 -0
  5. package/dist/DialogContent-IQ8_BRrC.js +100 -0
  6. package/dist/{DiscoGlyph-B7YooI2-.js → DiscoGlyph-BaZ8OawK.js} +1 -1
  7. package/dist/{GlyphFace-Bvk6OIas.js → GlyphFace-B_7vOmYn.js} +1 -1
  8. package/dist/HoverPopover-DTSYkJtw.js +96 -0
  9. package/dist/{IconTooltip-DXveGjx7.js → IconTooltip-BTyYn4mr.js} +1 -1
  10. package/dist/Input-CU9CNKmo.js +52 -0
  11. package/dist/{MetricBadge-J_GBCb8e.js → MetricBadge-BlrdbOGN.js} +1 -1
  12. package/dist/{NumberFieldContent-B6L6YrQz.js → NumberFieldContent-iOTQ5rGO.js} +8 -4
  13. package/dist/{PopoverContent-CxEEUL7Y.js → PopoverContent-B8WtJECb.js} +1 -1
  14. package/dist/Progress-DjM86vfb.js +254 -0
  15. package/dist/{ScrollingText-1Qjnwz6H.js → ScrollingText-P9o_DuMn.js} +1 -1
  16. package/dist/{SelectScrollDownButton-BvvvAbuh.js → SelectScrollDownButton-BGn3rjs9.js} +9 -8
  17. package/dist/TabsIndicator-DA0x9gPr.js +97 -0
  18. package/dist/{ToggleGroupItem-Cy7xHFEo.js → ToggleGroupItem-gyXj998A.js} +37 -40
  19. package/dist/UnderlineTabs-Cq_AD03t.js +39 -0
  20. package/dist/animated-digit.js +2 -2
  21. package/dist/api/index.d.ts +2 -0
  22. package/dist/api.js +1 -1
  23. package/dist/aurora.js +454 -271
  24. package/dist/{button-DS3ULf5i.js → button-Ckn3eDfB.js} +27 -22
  25. package/dist/button.js +1 -1
  26. package/dist/card.js +1 -1
  27. package/dist/carousel.js +2 -2
  28. package/dist/collapsible.js +1 -1
  29. package/dist/color-rkK4RMx2.js +33 -0
  30. package/dist/color.d.ts +1 -0
  31. package/dist/color.js +2 -0
  32. package/dist/command.js +1 -1
  33. package/dist/compile-DVgAxagk.js +106 -0
  34. package/dist/components/custom/animated-digit/AnimatedDigit.vue.d.ts +7 -7
  35. package/dist/components/custom/aurora/Aurora.vue.d.ts +3 -3
  36. package/dist/components/custom/aurora/composables/color.d.ts +3 -25
  37. package/dist/components/custom/aurora/composables/cursorModel.d.ts +45 -0
  38. package/dist/components/custom/aurora/composables/frameLoop.d.ts +30 -0
  39. package/dist/components/custom/aurora/composables/glSetup.d.ts +29 -0
  40. package/dist/components/custom/aurora/composables/runtime.d.ts +45 -35
  41. package/dist/components/custom/aurora/composables/uniformBridge.d.ts +67 -0
  42. package/dist/components/custom/aurora/composables/useAurora.d.ts +14 -1
  43. package/dist/components/custom/aurora/composables/useCursorInteraction.d.ts +1 -1
  44. package/dist/components/custom/aurora/constants/budget.d.ts +50 -0
  45. package/dist/components/custom/aurora/{presets.d.ts → constants/presets.d.ts} +2 -5
  46. package/dist/components/custom/aurora/constants/shaders/aurora.frag.d.ts +1 -0
  47. package/dist/components/custom/aurora/constants/shaders/brush.glsl.d.ts +1 -0
  48. package/dist/components/custom/aurora/constants/shaders/composition.glsl.d.ts +1 -0
  49. package/dist/components/custom/aurora/constants/shaders/flow.glsl.d.ts +1 -0
  50. package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +2 -0
  51. package/dist/components/custom/aurora/constants/shaders/tonemap.glsl.d.ts +1 -0
  52. package/dist/components/custom/aurora/index.d.ts +2 -2
  53. package/dist/components/custom/configurator/ConfiguratorLayer.vue.d.ts +14 -7
  54. package/dist/components/custom/configurator/density.d.ts +3 -8
  55. package/dist/components/custom/dock/DockBackgroundToggle.vue.d.ts +46 -0
  56. package/dist/components/custom/dock/DockIconButton.vue.d.ts +3 -3
  57. package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +2 -2
  58. package/dist/components/custom/dock/GlassDock.vue.d.ts +22 -18
  59. package/dist/components/custom/dock/composables/dockContext.d.ts +4 -4
  60. package/dist/components/custom/dock/composables/dockLayerContext.d.ts +13 -6
  61. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +32 -8
  62. package/dist/components/custom/dock/index.d.ts +1 -0
  63. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +10 -0
  64. package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +1 -1
  65. package/dist/components/custom/glyph-face/keys.d.ts +3 -29
  66. package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +48 -0
  67. package/dist/components/custom/goo-blob/composables/easing.d.ts +6 -0
  68. package/dist/components/custom/goo-blob/composables/useBlobMood.d.ts +14 -0
  69. package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +18 -0
  70. package/dist/components/custom/goo-blob/composables/useBlobSatellites.d.ts +13 -0
  71. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +42 -0
  72. package/dist/components/custom/goo-blob/index.d.ts +7 -0
  73. package/dist/components/custom/goo-blob/shaders/metaball.frag.d.ts +1 -0
  74. package/dist/components/custom/goo-blob/shaders/metaball.vert.d.ts +1 -0
  75. package/dist/components/custom/goo-blob/shaders/oklch-perturb.glsl.d.ts +1 -0
  76. package/dist/components/custom/goo-blob/shaders/sdf-body.glsl.d.ts +1 -0
  77. package/dist/components/custom/goo-blob/shaders/watercolor-edges.glsl.d.ts +2 -0
  78. package/dist/components/custom/goo-blob/types.d.ts +77 -0
  79. package/dist/components/custom/hover-popover/HoverPopover.vue.d.ts +48 -9
  80. package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +2 -0
  81. package/dist/components/custom/labeled-field/LabeledSelect.vue.d.ts +2 -2
  82. package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +2 -2
  83. package/dist/components/custom/responsive-tabs/ResponsiveTabs.vue.d.ts +13 -7
  84. package/dist/components/custom/search/FuzzySearch.vue.d.ts +1 -1
  85. package/dist/components/custom/search/SearchBar.vue.d.ts +1 -1
  86. package/dist/components/custom/sortable-list/SortableHandle.vue.d.ts +7 -1
  87. package/dist/components/custom/sortable-list/context.d.ts +2 -3
  88. package/dist/components/custom/tabs/BouncyTabs.vue.d.ts +6 -3
  89. package/dist/components/custom/tabs/BouncyToggle.vue.d.ts +7 -3
  90. package/dist/components/custom/tabs/UnderlineTabs.vue.d.ts +6 -3
  91. package/dist/components/custom/tabs/composables/useBouncySlider.d.ts +39 -0
  92. package/dist/components/custom/timeline/ContinuousMarkers.vue.d.ts +49 -0
  93. package/dist/components/custom/timeline/ContinuousRail.vue.d.ts +26 -0
  94. package/dist/components/custom/timeline/ContinuousTimeline.vue.d.ts +4 -4
  95. package/dist/components/custom/typewriter/TypewriterText.vue.d.ts +2 -2
  96. package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +45 -0
  97. package/dist/components/custom/watercolor-dot/index.d.ts +3 -0
  98. package/dist/components/custom/watercolor-dot/prng.d.ts +5 -0
  99. package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +24 -0
  100. package/dist/components/ui/_shared/menuItemVariants.d.ts +1 -1
  101. package/dist/components/ui/avatar/Avatar.vue.d.ts +1 -1
  102. package/dist/components/ui/avatar/AvatarImage.vue.d.ts +5 -1
  103. package/dist/components/ui/avatar/index.d.ts +1 -1
  104. package/dist/components/ui/badge/index.d.ts +2 -2
  105. package/dist/components/ui/button/Button.vue.d.ts +3 -1
  106. package/dist/components/ui/button/index.d.ts +2 -2
  107. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +2 -2
  108. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +2 -2
  109. package/dist/components/ui/combobox/Combobox.vue.d.ts +2 -2
  110. package/dist/components/ui/combobox/ComboboxInput.vue.d.ts +2 -1
  111. package/dist/components/ui/command/Command.vue.d.ts +3 -3
  112. package/dist/components/ui/command/CommandInput.vue.d.ts +2 -1
  113. package/dist/components/ui/data-table/DataTable.vue.d.ts +5 -4
  114. package/dist/components/ui/dialog/DialogContent.vue.d.ts +8 -0
  115. package/dist/components/ui/drawer/Drawer.vue.d.ts +4 -4
  116. package/dist/components/ui/input/Input.vue.d.ts +19 -1
  117. package/dist/components/ui/multi-select/MultiSelect.vue.d.ts +8 -4
  118. package/dist/components/ui/progress/Progress.vue.d.ts +26 -88
  119. package/dist/components/ui/progress/ProgressDefault.vue.d.ts +14 -0
  120. package/dist/components/ui/progress/ProgressGradient.vue.d.ts +25 -0
  121. package/dist/components/ui/progress/ProgressSectioned.vue.d.ts +36 -0
  122. package/dist/components/ui/progress/index.d.ts +5 -2
  123. package/dist/components/ui/progress/useProgressGeometry.d.ts +60 -0
  124. package/dist/components/ui/select/Select.vue.d.ts +2 -2
  125. package/dist/components/ui/select/SelectContent.vue.d.ts +1 -1
  126. package/dist/components/ui/select/SelectTrigger.vue.d.ts +3 -0
  127. package/dist/components/ui/sheet/index.d.ts +1 -1
  128. package/dist/components/ui/slider/index.d.ts +12 -11
  129. package/dist/components/ui/tags-input/TagsInput.vue.d.ts +2 -2
  130. package/dist/components/ui/textarea/Textarea.vue.d.ts +5 -1
  131. package/dist/components/ui/toast/Toast.vue.d.ts +4 -4
  132. package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
  133. package/dist/components/ui/toggle/index.d.ts +1 -1
  134. package/dist/components/ui/toggle-group/toggleGroupContext.d.ts +2 -3
  135. package/dist/composables/color/index.d.ts +49 -0
  136. package/dist/composables/context/createContext.d.ts +56 -0
  137. package/dist/composables/context/index.d.ts +1 -0
  138. package/dist/composables/dark/darkModeSyncScript.d.ts +23 -0
  139. package/dist/composables/dark/index.d.ts +3 -0
  140. package/dist/composables/dark/useGlobalDark.d.ts +19 -2
  141. package/dist/composables/dom/index.d.ts +0 -3
  142. package/dist/composables/dom/useClipboard.d.ts +35 -12
  143. package/dist/composables/dom/useDocumentVisibility.d.ts +20 -0
  144. package/dist/composables/glass/webgl/compile.d.ts +15 -0
  145. package/dist/composables/glass/webgl/shaders/procedural-color.glsl.d.ts +3 -0
  146. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +55 -0
  147. package/dist/composables/motion/core/index.d.ts +1 -1
  148. package/dist/composables/motion/index.d.ts +1 -1
  149. package/dist/composables/motion/useCountup.d.ts +29 -0
  150. package/dist/composables/motion/useNumericTransition.d.ts +14 -3
  151. package/dist/composables/motion/vReveal.d.ts +2 -0
  152. package/dist/composables/sidebar/useSidebarState.d.ts +2 -2
  153. package/dist/composables/sortable/dragController.d.ts +44 -0
  154. package/dist/composables/sortable/dropResolver.d.ts +34 -0
  155. package/dist/composables/sortable/ghostRenderer.d.ts +44 -0
  156. package/dist/composables/sortable/index.d.ts +1 -1
  157. package/dist/composables/sortable/touchGate.d.ts +26 -0
  158. package/dist/composables/sortable/transitionTiming.d.ts +50 -0
  159. package/dist/composables/sortable/types.d.ts +133 -0
  160. package/dist/composables/sortable/useSortable.d.ts +25 -153
  161. package/dist/configurator.js +1 -1
  162. package/dist/confirm-dialog.js +1 -1
  163. package/dist/controls.js +4 -4
  164. package/dist/createContext-DBMGRlx4.js +25 -0
  165. package/dist/dark.d.ts +2 -1
  166. package/dist/dark.js +9 -2
  167. package/dist/data-table.js +1 -1
  168. package/dist/dialog.js +1 -1
  169. package/dist/disco-glyph.js +1 -1
  170. package/dist/dock.js +400 -261
  171. package/dist/dockContext-spUj_-E5.js +9 -0
  172. package/dist/dom.js +6 -6
  173. package/dist/{dropdown-menu-naE0skDg.js → dropdown-menu-EFjl5iKo.js} +1 -1
  174. package/dist/dropdown-menu.js +1 -1
  175. package/dist/expandable-container.js +26 -20
  176. package/dist/fonts/README.md +21 -0
  177. package/dist/fonts/fraunces/fraunces-latin.woff2 +0 -0
  178. package/dist/forms.js +68 -59
  179. package/dist/glass-panel.js +1 -1
  180. package/dist/glass-ui.css +1 -1
  181. package/dist/glass-ui.js +226 -328
  182. package/dist/glyph-face.js +2 -2
  183. package/dist/goo-blob.d.ts +1 -0
  184. package/dist/goo-blob.js +538 -0
  185. package/dist/header-ribbon.js +2 -2
  186. package/dist/hover-card.js +1 -1
  187. package/dist/hover-popover.js +1 -1
  188. package/dist/icon-tooltip.js +1 -1
  189. package/dist/index.d.ts +1 -0
  190. package/dist/instrument-chassis.js +1 -1
  191. package/dist/instrument-rail.js +1 -1
  192. package/dist/keys-BFoma9vm.js +9 -0
  193. package/dist/label.js +1 -1
  194. package/dist/labeled-field.js +57 -39
  195. package/dist/metric-badge.js +1 -1
  196. package/dist/motion-core.js +82 -123
  197. package/dist/motion.js +62 -14
  198. package/dist/number-field.js +1 -1
  199. package/dist/paper-backdrop.js +1 -1
  200. package/dist/popover.js +1 -1
  201. package/dist/{presets-BpTf63Hp.js → presets-1OhFpaIC.js} +1 -1
  202. package/dist/prng-Bz_1Tydc.js +15 -0
  203. package/dist/progress.js +2 -2
  204. package/dist/reactive.js +2 -2
  205. package/dist/responsive-tabs.js +38 -32
  206. package/dist/scrolling-text.js +1 -1
  207. package/dist/search.js +8 -8
  208. package/dist/select.js +3 -3
  209. package/dist/separator.js +1 -1
  210. package/dist/sheet.js +1 -1
  211. package/dist/{slider-wx8ifVFB.js → slider-BOh8ycfZ.js} +7 -11
  212. package/dist/slider.js +1 -1
  213. package/dist/sortable-list.js +36 -38
  214. package/dist/stacked-icons.js +2 -2
  215. package/dist/styles/animations.css +1 -1
  216. package/dist/styles/cards.css +1 -1
  217. package/dist/styles/components.css +1 -1
  218. package/dist/styles/dock-controls.css +486 -0
  219. package/dist/styles/dock.css +284 -450
  220. package/dist/styles/fonts.css +25 -0
  221. package/dist/styles/glass-specular-track.css +154 -0
  222. package/dist/styles/glass.css +74 -2
  223. package/dist/styles/index.css +21 -2
  224. package/dist/styles/instrument-chassis.css +11 -4
  225. package/dist/styles/theme.css +73 -21
  226. package/dist/styles/tokens.css +271 -140
  227. package/dist/styles/typography.css +14 -8
  228. package/dist/styles/utilities.css +36 -8
  229. package/dist/styles/view-transition.css +10 -4
  230. package/dist/switch.js +1 -1
  231. package/dist/tabs.js +139 -112
  232. package/dist/timeline.js +219 -158
  233. package/dist/toast.js +1 -1
  234. package/dist/toggle-group.js +1 -1
  235. package/dist/tokens.d.ts +1 -1
  236. package/dist/tooltip.js +1 -1
  237. package/dist/{useAnimatedNumber-BOxrS3a6.js → useAnimatedNumber-BF6r64lA.js} +1 -1
  238. package/dist/useClipboard-D8vFyRCa.js +97 -0
  239. package/dist/{useConfiguratorState-Dq2gNv4A.js → useConfiguratorState-DUtC1jxr.js} +82 -86
  240. package/dist/useGlobalDark-CWiaCoEw.js +34 -0
  241. package/dist/useIntersectionPause-DAdVPVp4.js +53 -0
  242. package/dist/useSortable-DnyGXKKY.js +246 -0
  243. package/dist/{useTouchGate-XX8gHfay.js → useTouchGate-CS5Csc2h.js} +1 -1
  244. package/dist/utils/prng.d.ts +4 -0
  245. package/dist/vReveal-u2wSG2El.js +35 -0
  246. package/dist/watercolor-dot.d.ts +1 -0
  247. package/dist/watercolor-dot.js +129 -0
  248. package/package.json +101 -16
  249. package/src/fonts/README.md +21 -0
  250. package/src/fonts/fraunces/fraunces-latin.woff2 +0 -0
  251. package/src/styles/animations.css +1 -1
  252. package/src/styles/cards.css +1 -1
  253. package/src/styles/dock-controls.css +486 -0
  254. package/src/styles/dock.css +284 -450
  255. package/src/styles/fonts.css +25 -0
  256. package/src/styles/glass-specular-track.css +154 -0
  257. package/src/styles/glass.css +74 -2
  258. package/src/styles/index.css +21 -2
  259. package/src/styles/instrument-chassis.css +11 -4
  260. package/src/styles/theme.css +73 -21
  261. package/src/styles/tokens.css +271 -140
  262. package/src/styles/typography.css +14 -8
  263. package/src/styles/utilities.css +36 -8
  264. package/src/styles/view-transition.css +10 -4
  265. package/dist/DataTable-BsrDYdoE.js +0 -460
  266. package/dist/DialogContent-B61rP8lj.js +0 -93
  267. package/dist/HoverPopover-BlEwqG7S.js +0 -96
  268. package/dist/Input-IFsIzId2.js +0 -30
  269. package/dist/Progress-Bs44qWEM.js +0 -126
  270. package/dist/UnderlineTabs-B4FV2zi_.js +0 -37
  271. package/dist/components/custom/aurora/shaders/aurora.frag.d.ts +0 -1
  272. package/dist/composables/dom/useBreakpoint.d.ts +0 -38
  273. package/dist/composables/dom/useIdleReady.d.ts +0 -63
  274. package/dist/composables/dom/useViewportReady.d.ts +0 -87
  275. package/dist/composables/glass/webgl/frostShader.d.ts +0 -27
  276. package/dist/composables/motion/useAnimatedNumberMap.d.ts +0 -29
  277. package/dist/composables/motion/useStagger.d.ts +0 -50
  278. package/dist/dockContext-DM58L1Jt.js +0 -16
  279. package/dist/keys-SIKQYNx1.js +0 -11
  280. package/dist/supportsCssTimeline-IQY3gfKD.js +0 -12
  281. package/dist/useGlobalDark-BUUTZvkU.js +0 -24
  282. package/dist/useIdleReady-sLhGo6CL.js +0 -162
  283. package/dist/useIntersectionPause-CUmANkoc.js +0 -39
  284. package/dist/useSortable-DLK9kwZp.js +0 -189
  285. /package/dist/{HoverCardContent-DGUhpRVt.js → HoverCardContent-ICfIMZX1.js} +0 -0
  286. /package/dist/{InstrumentChassis-CqKPBNqp.js → InstrumentChassis-DaHIZCqy.js} +0 -0
  287. /package/dist/{InstrumentRail-CCjvKkpB.js → InstrumentRail-B0qqLFN0.js} +0 -0
  288. /package/dist/{Label-D53EOwLE.js → Label-CZk-3nTc.js} +0 -0
  289. /package/dist/{PaperBackdrop-Ds-wDsKf.js → PaperBackdrop-D_YZW47j.js} +0 -0
  290. /package/dist/{SelectGroup-DAgcsfFw.js → SelectGroup-CMdoCjRE.js} +0 -0
  291. /package/dist/{SelectSeparator-DN1jzLaI.js → SelectSeparator-CaJnPF3_.js} +0 -0
  292. /package/dist/{Separator-DXxac0j8.js → Separator-C2XtAXRp.js} +0 -0
  293. /package/dist/{Switch-imA0Hdjs.js → Switch-x8n6husW.js} +0 -0
  294. /package/dist/{Toaster-Brs6QjBU.js → Toaster-DdhMKfus.js} +0 -0
  295. /package/dist/{TooltipProvider-MZFRxOvT.js → TooltipProvider-D-JrSqDu.js} +0 -0
  296. /package/dist/components/custom/aurora/{renderMode.d.ts → constants/renderMode.d.ts} +0 -0
  297. /package/dist/components/custom/aurora/{shaders → constants/shaders}/aurora.vert.d.ts +0 -0
  298. /package/dist/{constants-DfWPi8kh.js → constants-DsCdlK9I.js} +0 -0
  299. /package/dist/{sheet-BnvZRXPq.js → sheet-CQYYrkr9.js} +0 -0
  300. /package/dist/{useGlassRenderer-C98tZnJ7.js → useGlassRenderer-Dn3WpfG-.js} +0 -0
  301. /package/dist/{useInterval-B58LmYth.js → useInterval-CHVYFpXV.js} +0 -0
  302. /package/dist/{useResizeObserver-C_7GjpRn.js → useResizeObserver-DX-STszm.js} +0 -0
  303. /package/dist/{useTextHighlight-CLST6an0.js → useTextHighlight-Dmtofpk2.js} +0 -0
  304. /package/dist/{useTimer-6FoosoDY.js → useTimer-DGgoxTXL.js} +0 -0
  305. /package/dist/{useUserInvalidAria-BW5iyqWR.js → useUserInvalidAria-DmvZ_6Dx.js} +0 -0
  306. /package/dist/{useViewTransition-CUJM7fXT.js → useViewTransition-D4ssvnXZ.js} +0 -0
package/dist/timeline.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { t as e } from "./_plugin-vue_export-helper-C1je1s0u.js";
2
- import { t } from "./HoverPopover-BlEwqG7S.js";
3
- import { Fragment as n, computed as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createSlots as c, defineComponent as l, guardReactiveProps as u, normalizeClass as d, normalizeProps as f, normalizeStyle as p, openBlock as m, ref as h, renderList as g, renderSlot as _, toDisplayString as v, unref as y, withCtx as b } from "vue";
2
+ import { t } from "./HoverPopover-DTSYkJtw.js";
3
+ import { Fragment as n, computed as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createSlots as c, createVNode as l, defineComponent as u, guardReactiveProps as d, normalizeClass as f, normalizeProps as p, normalizeStyle as m, openBlock as h, ref as g, renderList as _, renderSlot as v, toDisplayString as y, unref as b, withCtx as x } from "vue";
4
4
  //#region src/components/custom/timeline/geometry.ts
5
- function x(e) {
5
+ function S(e) {
6
6
  if (typeof e.gradient == "string") return e.gradient;
7
7
  if (e.gradient && typeof e.gradient == "object") {
8
8
  let t = e.gradient;
@@ -10,28 +10,28 @@ function x(e) {
10
10
  }
11
11
  return "var(--timeline-segment-default-gradient, linear-gradient(90deg, var(--surface-tint-15), var(--surface-tint-25)))";
12
12
  }
13
- function S(e) {
13
+ function C(e) {
14
14
  return typeof e.progress == "number" ? Math.max(0, Math.min(1, e.progress)) : e.state === "completed" ? 1 : e.state === "active" ? .5 : 0;
15
15
  }
16
- function C(e) {
16
+ function w(e) {
17
17
  return typeof e.weight == "number" && e.weight > 0 ? e.weight : 1;
18
18
  }
19
- function w(e) {
19
+ function ee(e) {
20
20
  let t = r(() => {
21
- let t = e.value.reduce((e, t) => e + C(t), 0);
21
+ let t = e.value.reduce((e, t) => e + w(t), 0);
22
22
  return t > 0 ? t : 1;
23
23
  });
24
24
  function n(n) {
25
25
  let r = 0;
26
26
  for (let t = 0; t < n; t += 1) {
27
27
  let n = e.value[t];
28
- n && (r += C(n));
28
+ n && (r += w(n));
29
29
  }
30
30
  return r / t.value;
31
31
  }
32
32
  function i(n) {
33
33
  let r = e.value[n];
34
- return r ? C(r) / t.value : 0;
34
+ return r ? w(r) / t.value : 0;
35
35
  }
36
36
  function a(e) {
37
37
  return n(e) + i(e);
@@ -43,7 +43,7 @@ function w(e) {
43
43
  boundaryX: a,
44
44
  continuousAriaValueNow: r(() => {
45
45
  let t = 0;
46
- for (let n of e.value) n.state === "completed" ? t += 1 : n.state === "active" && (t += S(n));
46
+ for (let n of e.value) n.state === "completed" ? t += 1 : n.state === "active" && (t += C(n));
47
47
  return Math.round(t * 100) / 100;
48
48
  })
49
49
  };
@@ -57,9 +57,9 @@ function E(e) {
57
57
  let t = T(e[0]);
58
58
  return `linear-gradient(90deg, ${t}, ${t})`;
59
59
  }
60
- let t = e.reduce((e, t) => e + C(t), 0) || 1, n = [], r = 0;
60
+ let t = e.reduce((e, t) => e + w(t), 0) || 1, n = [], r = 0;
61
61
  return e.forEach((i, a) => {
62
- let o = C(i), s = (r + o / 2) / t, c = a === 0 ? 0 : a === e.length - 1 ? 1 : s;
62
+ let o = w(i), s = (r + o / 2) / t, c = a === 0 ? 0 : a === e.length - 1 ? 1 : s;
63
63
  n.push(`${T(i)} ${(c * 100).toFixed(3)}%`), r += o;
64
64
  }), `linear-gradient(90deg, ${n.join(", ")})`;
65
65
  }
@@ -71,7 +71,7 @@ function D(e, t) {
71
71
  };
72
72
  }
73
73
  function O(e) {
74
- return S(e);
74
+ return C(e);
75
75
  }
76
76
  function k(e) {
77
77
  let t = e.value ?? null;
@@ -83,31 +83,27 @@ function k(e) {
83
83
  };
84
84
  }
85
85
  //#endregion
86
- //#region src/components/custom/timeline/ContinuousTimeline.vue?vue&type=script&setup=true&lang.ts
87
- var A = ["aria-label"], ee = { class: "continuous-track-wrap" }, te = [
88
- "aria-valuemax",
89
- "aria-valuenow",
90
- "aria-label"
91
- ], j = ["data-state"], M = ["aria-label"], N = [
86
+ //#region src/components/custom/timeline/ContinuousMarkers.vue?vue&type=script&setup=true&lang.ts
87
+ var A = ["aria-label"], j = [
92
88
  "aria-label",
93
89
  "data-state",
94
90
  "data-current",
95
91
  "data-completed",
96
92
  "onClick",
97
93
  "onKeydown"
98
- ], P = { class: "sr-only" }, F = {
94
+ ], M = { class: "sr-only" }, N = {
99
95
  key: 0,
100
96
  class: "continuous-dot-check",
101
97
  viewBox: "0 0 24 24",
102
98
  fill: "none",
103
99
  "aria-hidden": "true"
104
- }, I = { class: "timeline-popover-label" }, L = {
100
+ }, P = { class: "timeline-popover-label" }, F = {
105
101
  key: 0,
106
102
  class: "timeline-popover-value tabular-nums"
107
- }, R = {
103
+ }, I = {
108
104
  key: 1,
109
105
  class: "timeline-popover-description"
110
- }, z = { class: "timeline-popover-state" }, B = [
106
+ }, L = { class: "timeline-popover-state" }, R = [
111
107
  "aria-label",
112
108
  "data-state",
113
109
  "data-current",
@@ -118,108 +114,45 @@ var A = ["aria-label"], ee = { class: "continuous-track-wrap" }, te = [
118
114
  "onBlur",
119
115
  "onClick",
120
116
  "onKeydown"
121
- ], V = { class: "sr-only" }, H = {
117
+ ], z = { class: "sr-only" }, B = {
122
118
  key: 0,
123
119
  class: "continuous-dot-check",
124
120
  viewBox: "0 0 24 24",
125
121
  fill: "none",
126
122
  "aria-hidden": "true"
127
- }, U = {
128
- key: 0,
129
- class: "continuous-detail"
130
- }, W = /* @__PURE__ */ e(/* @__PURE__ */ l({
131
- __name: "ContinuousTimeline",
123
+ }, V = /* @__PURE__ */ e(/* @__PURE__ */ u({
124
+ __name: "ContinuousMarkers",
132
125
  props: {
133
126
  segments: {},
134
- ariaLabel: {},
127
+ markersAriaLabel: {},
135
128
  currentSegmentKey: {},
136
- disablePopover: {
137
- type: Boolean,
138
- default: !1
139
- }
129
+ disablePopover: { type: Boolean },
130
+ boundaryX: { type: Function }
140
131
  },
141
132
  emits: [
142
133
  "hover",
143
134
  "hoverEnd",
144
135
  "click"
145
136
  ],
146
- setup(e, { emit: c }) {
147
- let l = e, u = c, f = r(() => l.segments ?? []), { regionLeft: x, regionWidth: S, boundaryX: C, continuousAriaValueNow: T } = w(f), W = r(() => E(f.value)), G = r(() => {
148
- if (l.ariaLabel) return l.ariaLabel;
149
- let e = f.value.map((e) => e.label).filter(Boolean);
150
- return e.length > 0 ? `Timeline: ${e.join(", ")}` : "Timeline";
151
- }), K = h(null), q = r(() => {
152
- let e = f.value;
153
- if (e.length === 0) return null;
154
- let t = K.value ?? l.currentSegmentKey ?? null;
155
- return t == null ? null : e.find((e) => e.key === t) ?? null;
156
- }), J = r(() => K.value == null ? l.currentSegmentKey == null ? "idle" : "current" : "hovered");
157
- function Y(e) {
158
- K.value = e.key, u("hover", {
159
- key: e.key,
160
- segment: e
161
- });
137
+ setup(e, { emit: r }) {
138
+ let c = r;
139
+ function l(e, t) {
140
+ c(t ? "hover" : "hoverEnd", e);
162
141
  }
163
- function X(e) {
164
- K.value === e.key && (K.value = null), u("hoverEnd", {
165
- key: e.key,
166
- segment: e
167
- });
142
+ function u(e, t) {
143
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), c("click", t));
168
144
  }
169
- function Z(e, t) {
170
- t ? Y(e) : X(e);
171
- }
172
- function Q(e) {
173
- u("click", {
174
- key: e.key,
175
- segment: e
176
- });
177
- }
178
- function $(e, t) {
179
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), u("click", {
180
- key: t.key,
181
- segment: t
182
- }));
183
- }
184
- return (r, c) => (m(), o("div", {
185
- class: "timeline-row timeline-continuous",
186
- role: "group",
187
- "aria-label": G.value
188
- }, [s("div", ee, [s("div", {
189
- class: "continuous-track",
190
- role: "progressbar",
191
- "aria-valuemin": 0,
192
- "aria-valuemax": f.value.length,
193
- "aria-valuenow": y(T),
194
- "aria-label": G.value
195
- }, [(m(!0), o(n, null, g(f.value, (e, t) => (m(), o("div", {
196
- key: e.key,
197
- class: d(["continuous-region", [
198
- `state-${e.state}`,
199
- t === 0 && "is-first",
200
- t === f.value.length - 1 && "is-last"
201
- ]]),
202
- "data-state": e.state,
203
- style: p({
204
- left: `${y(x)(t) * 100}%`,
205
- width: `${y(S)(t) * 100}%`,
206
- "--stitch-gradient": W.value,
207
- "--stitch-size-x": y(D)(y(x)(t), y(S)(t)).sizeX,
208
- "--stitch-pos-x": y(D)(y(x)(t), y(S)(t)).positionX,
209
- "--continuous-fill-width": `${y(O)(e) * 100}%`
210
- }),
211
- "aria-hidden": "true"
212
- }, [...c[0] ||= [s("div", { class: "continuous-region-fill" }, null, -1)]], 14, j))), 128))], 8, te), f.value.length > 0 ? (m(), o("ul", {
145
+ return (r, d) => e.segments.length > 0 ? (h(), o("ul", {
213
146
  key: 0,
214
147
  class: "continuous-markers",
215
148
  role: "list",
216
- "aria-label": `${G.value} — phase markers`
217
- }, [(m(!0), o(n, null, g(f.value, (n, l) => (m(), o("li", {
149
+ "aria-label": `${e.markersAriaLabel} — phase markers`
150
+ }, [(h(!0), o(n, null, _(e.segments, (n, p) => (h(), o("li", {
218
151
  key: `dot-li-${n.key}`,
219
152
  class: "continuous-marker",
220
153
  role: "listitem",
221
- style: p({ left: `${y(C)(l) * 100}%` })
222
- }, [e.disablePopover ? (m(), o("button", {
154
+ style: m({ left: `${e.boundaryX(p) * 100}%` })
155
+ }, [e.disablePopover ? (h(), o("button", {
223
156
  key: 1,
224
157
  type: "button",
225
158
  class: "continuous-dot segmented-dot",
@@ -227,49 +160,177 @@ var A = ["aria-label"], ee = { class: "continuous-track-wrap" }, te = [
227
160
  "data-state": n.state,
228
161
  "data-current": n.key === e.currentSegmentKey || void 0,
229
162
  "data-completed": n.state === "completed" || void 0,
230
- onMouseenter: (e) => Y(n),
231
- onMouseleave: (e) => X(n),
232
- onFocus: (e) => Y(n),
233
- onBlur: (e) => X(n),
234
- onClick: (e) => Q(n),
235
- onKeydown: (e) => $(e, n)
236
- }, [s("span", V, v(n.label), 1), n.state === "completed" ? (m(), o("svg", H, [...c[2] ||= [s("path", { d: "M5 13l4 4L19 7" }, null, -1)]])) : a("", !0)], 40, B)) : (m(), i(t, {
163
+ onMouseenter: (e) => c("hover", n),
164
+ onMouseleave: (e) => c("hoverEnd", n),
165
+ onFocus: (e) => c("hover", n),
166
+ onBlur: (e) => c("hoverEnd", n),
167
+ onClick: (e) => c("click", n),
168
+ onKeydown: (e) => u(e, n)
169
+ }, [s("span", z, y(n.label), 1), n.state === "completed" ? (h(), o("svg", B, [...d[1] ||= [s("path", { d: "M5 13l4 4L19 7" }, null, -1)]])) : a("", !0)], 40, R)) : (h(), i(t, {
237
170
  key: 0,
238
171
  side: "top",
239
172
  "side-offset": 10,
240
173
  "hover-open-delay": 120,
241
174
  "close-delay": 160,
242
- class: d(`timeline-popover timeline-popover-${n.key}`),
243
- "onUpdate:open": (e) => Z(n, e)
175
+ class: f(`timeline-popover timeline-popover-${n.key}`),
176
+ "onUpdate:open": (e) => l(n, e)
244
177
  }, {
245
- trigger: b(() => [s("button", {
178
+ trigger: x(() => [s("button", {
246
179
  type: "button",
247
180
  class: "continuous-dot segmented-dot",
248
181
  "aria-label": `${n.label}: ${n.state}`,
249
182
  "data-state": n.state,
250
183
  "data-current": n.key === e.currentSegmentKey || void 0,
251
184
  "data-completed": n.state === "completed" || void 0,
252
- onClick: (e) => Q(n),
253
- onKeydown: (e) => $(e, n)
254
- }, [s("span", P, v(n.label), 1), n.state === "completed" ? (m(), o("svg", F, [...c[1] ||= [s("path", { d: "M5 13l4 4L19 7" }, null, -1)]])) : a("", !0)], 40, N)]),
255
- content: b(() => [_(r.$slots, "popoverContent", { segment: n }, () => [s("div", {
185
+ onClick: (e) => c("click", n),
186
+ onKeydown: (e) => u(e, n)
187
+ }, [s("span", M, y(n.label), 1), n.state === "completed" ? (h(), o("svg", N, [...d[0] ||= [s("path", { d: "M5 13l4 4L19 7" }, null, -1)]])) : a("", !0)], 40, j)]),
188
+ content: x(() => [v(r.$slots, "popoverContent", { segment: n }, () => [s("div", {
256
189
  class: "timeline-popover-body",
257
- style: p({ "--popover-tint": typeof n.gradient == "object" && n.gradient ? n.gradient.to : "var(--foreground)" })
190
+ style: m({ "--popover-tint": typeof n.gradient == "object" && n.gradient ? n.gradient.to : "var(--foreground)" })
258
191
  }, [
259
- s("span", I, v(y(k)(n).label), 1),
260
- y(k)(n).value == null ? a("", !0) : (m(), o("span", L, v(y(k)(n).value), 1)),
261
- y(k)(n).description ? (m(), o("span", R, v(y(k)(n).description), 1)) : a("", !0),
262
- s("span", z, v(y(k)(n).state), 1)
192
+ s("span", P, y(b(k)(n).label), 1),
193
+ b(k)(n).value == null ? a("", !0) : (h(), o("span", F, y(b(k)(n).value), 1)),
194
+ b(k)(n).description ? (h(), o("span", I, y(b(k)(n).description), 1)) : a("", !0),
195
+ s("span", L, y(b(k)(n).state), 1)
263
196
  ], 4)], !0)]),
264
197
  _: 2
265
- }, 1032, ["class", "onUpdate:open"]))], 4))), 128))], 8, M)) : a("", !0)]), r.$slots.detail ? (m(), o("div", U, [_(r.$slots, "detail", {
266
- segment: q.value,
267
- source: J.value,
268
- currentKey: l.currentSegmentKey ?? null,
269
- hoveredKey: K.value
270
- }, void 0, !0)])) : a("", !0)], 8, A));
198
+ }, 1032, ["class", "onUpdate:open"]))], 4))), 128))], 8, A)) : a("", !0);
199
+ }
200
+ }), [["__scopeId", "data-v-5cc7d6b4"]]), H = [
201
+ "aria-valuemax",
202
+ "aria-valuenow",
203
+ "aria-label"
204
+ ], U = ["data-state"], W = /* @__PURE__ */ e(/* @__PURE__ */ u({
205
+ __name: "ContinuousRail",
206
+ props: {
207
+ segments: {},
208
+ railGradient: {},
209
+ railAriaLabel: {},
210
+ valueNow: {},
211
+ regionLeft: { type: Function },
212
+ regionWidth: { type: Function }
213
+ },
214
+ setup(e) {
215
+ return (t, r) => (h(), o("div", {
216
+ class: "continuous-track",
217
+ role: "progressbar",
218
+ "aria-valuemin": 0,
219
+ "aria-valuemax": e.segments.length,
220
+ "aria-valuenow": e.valueNow,
221
+ "aria-label": e.railAriaLabel
222
+ }, [(h(!0), o(n, null, _(e.segments, (t, n) => (h(), o("div", {
223
+ key: t.key,
224
+ class: f(["continuous-region", [
225
+ `state-${t.state}`,
226
+ n === 0 && "is-first",
227
+ n === e.segments.length - 1 && "is-last"
228
+ ]]),
229
+ "data-state": t.state,
230
+ style: m({
231
+ left: `${e.regionLeft(n) * 100}%`,
232
+ width: `${e.regionWidth(n) * 100}%`,
233
+ "--stitch-gradient": e.railGradient,
234
+ "--stitch-size-x": b(D)(e.regionLeft(n), e.regionWidth(n)).sizeX,
235
+ "--stitch-pos-x": b(D)(e.regionLeft(n), e.regionWidth(n)).positionX,
236
+ "--continuous-fill-width": `${b(O)(t) * 100}%`
237
+ }),
238
+ "aria-hidden": "true"
239
+ }, [...r[0] ||= [s("div", { class: "continuous-region-fill" }, null, -1)]], 14, U))), 128))], 8, H));
271
240
  }
272
- }), [["__scopeId", "data-v-1ae905c7"]]), G = { class: "timeline-row" }, K = { class: "caret-value fira-code" }, q = ["aria-valuenow"], J = /* @__PURE__ */ e(/* @__PURE__ */ l({
241
+ }), [["__scopeId", "data-v-e129d308"]]), G = ["aria-label"], K = { class: "continuous-track-wrap" }, q = {
242
+ key: 0,
243
+ class: "continuous-detail"
244
+ }, J = /* @__PURE__ */ e(/* @__PURE__ */ u({
245
+ __name: "ContinuousTimeline",
246
+ props: {
247
+ segments: {},
248
+ ariaLabel: {},
249
+ currentSegmentKey: {},
250
+ disablePopover: {
251
+ type: Boolean,
252
+ default: !1
253
+ }
254
+ },
255
+ emits: [
256
+ "hover",
257
+ "hoverEnd",
258
+ "click"
259
+ ],
260
+ setup(e, { emit: t }) {
261
+ let n = e, i = t, u = r(() => n.segments ?? []), { regionLeft: d, regionWidth: f, boundaryX: p, continuousAriaValueNow: m } = ee(u), _ = r(() => E(u.value)), y = r(() => {
262
+ if (n.ariaLabel) return n.ariaLabel;
263
+ let e = u.value.map((e) => e.label).filter(Boolean);
264
+ return e.length > 0 ? `Timeline: ${e.join(", ")}` : "Timeline";
265
+ }), S = g(null), C = r(() => {
266
+ let e = u.value;
267
+ if (e.length === 0) return null;
268
+ let t = S.value ?? n.currentSegmentKey ?? null;
269
+ return t == null ? null : e.find((e) => e.key === t) ?? null;
270
+ }), w = r(() => S.value == null ? n.currentSegmentKey == null ? "idle" : "current" : "hovered");
271
+ function T(e) {
272
+ S.value = e.key, i("hover", {
273
+ key: e.key,
274
+ segment: e
275
+ });
276
+ }
277
+ function D(e) {
278
+ S.value === e.key && (S.value = null), i("hoverEnd", {
279
+ key: e.key,
280
+ segment: e
281
+ });
282
+ }
283
+ function O(e) {
284
+ i("click", {
285
+ key: e.key,
286
+ segment: e
287
+ });
288
+ }
289
+ return (t, r) => (h(), o("div", {
290
+ class: "timeline-row timeline-continuous",
291
+ role: "group",
292
+ "aria-label": y.value
293
+ }, [s("div", K, [l(W, {
294
+ segments: u.value,
295
+ "rail-gradient": _.value,
296
+ "rail-aria-label": y.value,
297
+ "value-now": b(m),
298
+ "region-left": b(d),
299
+ "region-width": b(f)
300
+ }, null, 8, [
301
+ "segments",
302
+ "rail-gradient",
303
+ "rail-aria-label",
304
+ "value-now",
305
+ "region-left",
306
+ "region-width"
307
+ ]), l(V, {
308
+ segments: u.value,
309
+ "markers-aria-label": y.value,
310
+ "current-segment-key": e.currentSegmentKey,
311
+ "disable-popover": e.disablePopover,
312
+ "boundary-x": b(p),
313
+ onHover: T,
314
+ onHoverEnd: D,
315
+ onClick: O
316
+ }, c({ _: 2 }, [t.$slots.popoverContent ? {
317
+ name: "popoverContent",
318
+ fn: x(({ segment: e }) => [v(t.$slots, "popoverContent", { segment: e }, void 0, !0)]),
319
+ key: "0"
320
+ } : void 0]), 1032, [
321
+ "segments",
322
+ "markers-aria-label",
323
+ "current-segment-key",
324
+ "disable-popover",
325
+ "boundary-x"
326
+ ])]), t.$slots.detail ? (h(), o("div", q, [v(t.$slots, "detail", {
327
+ segment: C.value,
328
+ source: w.value,
329
+ currentKey: n.currentSegmentKey ?? null,
330
+ hoveredKey: S.value
331
+ }, void 0, !0)])) : a("", !0)], 8, G));
332
+ }
333
+ }), [["__scopeId", "data-v-48215043"]]), Y = { class: "timeline-row" }, X = { class: "caret-value fira-code" }, Z = ["aria-valuenow"], Q = /* @__PURE__ */ e(/* @__PURE__ */ u({
273
334
  __name: "ScrubberTimeline",
274
335
  props: {
275
336
  modelValue: { default: 0 },
@@ -281,7 +342,7 @@ var A = ["aria-label"], ee = { class: "continuous-track-wrap" }, te = [
281
342
  "scrubEnd"
282
343
  ],
283
344
  setup(e, { emit: t }) {
284
- let n = e, r = t, i = h(), c = h(!1);
345
+ let n = e, r = t, i = g(), c = g(!1);
285
346
  function l(e) {
286
347
  let t = i.value.getBoundingClientRect();
287
348
  return Math.max(0, Math.min(1, (e.clientX - t.left) / t.width));
@@ -295,15 +356,15 @@ var A = ["aria-label"], ee = { class: "continuous-track-wrap" }, te = [
295
356
  function f() {
296
357
  c.value = !1, r("scrubEnd");
297
358
  }
298
- function g(e) {
359
+ function p(e) {
299
360
  let t = e.shiftKey ? .1 : .01;
300
361
  e.key === "ArrowRight" || e.key === "ArrowUp" ? (e.preventDefault(), r("update:modelValue", Math.min(1, n.modelValue + t))) : (e.key === "ArrowLeft" || e.key === "ArrowDown") && (e.preventDefault(), r("update:modelValue", Math.max(0, n.modelValue - t)));
301
362
  }
302
- return (t, n) => (m(), o("div", G, [e.label ? (m(), o("div", {
363
+ return (t, n) => (h(), o("div", Y, [e.label ? (h(), o("div", {
303
364
  key: 0,
304
365
  class: "timeline-caret",
305
- style: p({ left: e.modelValue * 100 + "%" })
306
- }, [s("span", K, v(e.label), 1)], 4)) : a("", !0), s("div", {
366
+ style: m({ left: e.modelValue * 100 + "%" })
367
+ }, [s("span", X, y(e.label), 1)], 4)) : a("", !0), s("div", {
307
368
  ref_key: "trackRef",
308
369
  ref: i,
309
370
  class: "glass-track",
@@ -317,20 +378,20 @@ var A = ["aria-label"], ee = { class: "continuous-track-wrap" }, te = [
317
378
  onPointermove: d,
318
379
  onPointerup: f,
319
380
  onPointercancel: f,
320
- onKeydown: g
381
+ onKeydown: p
321
382
  }, [s("div", {
322
383
  class: "glass-fill",
323
- style: p({ width: e.modelValue * 100 + "%" })
384
+ style: m({ width: e.modelValue * 100 + "%" })
324
385
  }, null, 4), s("div", {
325
386
  class: "glass-thumb",
326
- style: p({ left: e.modelValue * 100 + "%" })
327
- }, null, 4)], 40, q)]));
387
+ style: m({ left: e.modelValue * 100 + "%" })
388
+ }, null, 4)], 40, Z)]));
328
389
  }
329
- }), [["__scopeId", "data-v-a206e2d2"]]), Y = {
390
+ }), [["__scopeId", "data-v-a206e2d2"]]), $ = {
330
391
  class: "timeline-row timeline-segmented",
331
392
  role: "group",
332
393
  "aria-label": "Timeline progress"
333
- }, X = { class: "segmented-track" }, Z = ["data-state"], Q = [
394
+ }, te = { class: "segmented-track" }, ne = ["data-state"], re = [
334
395
  "aria-label",
335
396
  "data-state",
336
397
  "onMouseenter",
@@ -339,7 +400,7 @@ var A = ["aria-label"], ee = { class: "continuous-track-wrap" }, te = [
339
400
  "onBlur",
340
401
  "onClick",
341
402
  "onKeydown"
342
- ], $ = { class: "sr-only" }, ne = /* @__PURE__ */ e(/* @__PURE__ */ l({
403
+ ], ie = { class: "sr-only" }, ae = /* @__PURE__ */ e(/* @__PURE__ */ u({
343
404
  __name: "SegmentedTimeline",
344
405
  props: { segments: {} },
345
406
  emits: [
@@ -361,21 +422,21 @@ var A = ["aria-label"], ee = { class: "continuous-track-wrap" }, te = [
361
422
  segment: e
362
423
  });
363
424
  }
364
- function f(e) {
425
+ function d(e) {
365
426
  a("click", {
366
427
  key: e.key,
367
428
  segment: e
368
429
  });
369
430
  }
370
- function h(e, t) {
431
+ function p(e, t) {
371
432
  (e.key === "Enter" || e.key === " ") && (e.preventDefault(), a("click", {
372
433
  key: t.key,
373
434
  segment: t
374
435
  }));
375
436
  }
376
- return (e, t) => (m(), o("div", Y, [s("div", X, [(m(!0), o(n, null, g(c.value, (e, t) => (m(), o("div", {
437
+ return (e, t) => (h(), o("div", $, [s("div", te, [(h(!0), o(n, null, _(c.value, (e, t) => (h(), o("div", {
377
438
  key: e.key,
378
- class: d(["segmented-cell", [
439
+ class: f(["segmented-cell", [
379
440
  `state-${e.state}`,
380
441
  t === 0 && "is-first",
381
442
  t === c.value.length - 1 && "is-last"
@@ -383,9 +444,9 @@ var A = ["aria-label"], ee = { class: "continuous-track-wrap" }, te = [
383
444
  "data-state": e.state
384
445
  }, [s("div", {
385
446
  class: "segmented-band",
386
- style: p({
387
- background: y(x)(e),
388
- width: `${y(S)(e) * 100}%`
447
+ style: m({
448
+ background: b(S)(e),
449
+ width: `${b(C)(e) * 100}%`
389
450
  }),
390
451
  "aria-hidden": "true"
391
452
  }, null, 4), s("button", {
@@ -397,11 +458,11 @@ var A = ["aria-label"], ee = { class: "continuous-track-wrap" }, te = [
397
458
  onMouseleave: (t) => u(e),
398
459
  onFocus: (t) => l(e),
399
460
  onBlur: (t) => u(e),
400
- onClick: (t) => f(e),
401
- onKeydown: (t) => h(t, e)
402
- }, [s("span", $, v(e.label), 1)], 40, Q)], 10, Z))), 128))])]));
461
+ onClick: (t) => d(e),
462
+ onKeydown: (t) => p(t, e)
463
+ }, [s("span", ie, y(e.label), 1)], 40, re)], 10, ne))), 128))])]));
403
464
  }
404
- }), [["__scopeId", "data-v-2db316ec"]]), re = /* @__PURE__ */ l({
465
+ }), [["__scopeId", "data-v-2db316ec"]]), oe = /* @__PURE__ */ u({
405
466
  __name: "GlassTimeline",
406
467
  props: {
407
468
  variant: { default: "scrubber" },
@@ -425,7 +486,7 @@ var A = ["aria-label"], ee = { class: "continuous-track-wrap" }, te = [
425
486
  ],
426
487
  setup(e, { emit: t }) {
427
488
  let n = e, r = t;
428
- return (t, a) => e.variant === "continuous" ? (m(), i(W, {
489
+ return (t, a) => e.variant === "continuous" ? (h(), i(J, {
429
490
  key: 0,
430
491
  segments: n.segments,
431
492
  "aria-label": n.ariaLabel,
@@ -435,24 +496,24 @@ var A = ["aria-label"], ee = { class: "continuous-track-wrap" }, te = [
435
496
  onHoverEnd: a[1] ||= (e) => r("hoverEnd", e),
436
497
  onClick: a[2] ||= (e) => r("click", e)
437
498
  }, c({
438
- popoverContent: b((e) => [_(t.$slots, "popoverContent", f(u(e)))]),
499
+ popoverContent: x((e) => [v(t.$slots, "popoverContent", p(d(e)))]),
439
500
  _: 2
440
501
  }, [t.$slots.detail ? {
441
502
  name: "detail",
442
- fn: b((e) => [_(t.$slots, "detail", f(u(e)))]),
503
+ fn: x((e) => [v(t.$slots, "detail", p(d(e)))]),
443
504
  key: "0"
444
505
  } : void 0]), 1032, [
445
506
  "segments",
446
507
  "aria-label",
447
508
  "current-segment-key",
448
509
  "disable-popover"
449
- ])) : e.variant === "segmented" ? (m(), i(ne, {
510
+ ])) : e.variant === "segmented" ? (h(), i(ae, {
450
511
  key: 1,
451
512
  segments: n.segments,
452
513
  onHover: a[3] ||= (e) => r("hover", e),
453
514
  onHoverEnd: a[4] ||= (e) => r("hoverEnd", e),
454
515
  onClick: a[5] ||= (e) => r("click", e)
455
- }, null, 8, ["segments"])) : (m(), i(J, {
516
+ }, null, 8, ["segments"])) : (h(), i(Q, {
456
517
  key: 2,
457
518
  "model-value": n.modelValue,
458
519
  label: n.label,
@@ -463,4 +524,4 @@ var A = ["aria-label"], ee = { class: "continuous-track-wrap" }, te = [
463
524
  }
464
525
  });
465
526
  //#endregion
466
- export { re as GlassTimeline };
527
+ export { oe as GlassTimeline };
package/dist/toast.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "./Toaster-Brs6QjBU.js";
1
+ import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "./Toaster-DdhMKfus.js";
2
2
  export { t as Toast, o as ToastAction, i as ToastClose, e as ToastDescription, n as ToastTitle, s as Toaster, r as toast, a as useToast };
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./ToggleGroupItem-Cy7xHFEo.js";
1
+ import { n as e, t } from "./ToggleGroupItem-gyXj998A.js";
2
2
  export { e as ToggleGroup, t as ToggleGroupItem };
package/dist/tokens.d.ts CHANGED
@@ -39,7 +39,7 @@ export declare const minWidthInputSm = 80;
39
39
  * - `tight` (40ms) — dense row cascades (StatsCards row strip,
40
40
  * results-table `:nth-child` delays)
41
41
  * - `default` (80ms) — canonical row stagger (ResultStack, bar
42
- * entrance, useStagger default)
42
+ * entrance, useStaggerReveal default)
43
43
  * - `relaxed` (120ms) — wider series cascades (TimeSeriesChart)
44
44
  *
45
45
  * Retires per-consumer constants (SERIES_STAGGER_MS, BAR_STAGGER_MS,
package/dist/tooltip.js CHANGED
@@ -1,2 +1,2 @@
1
- import { i as e, n as t, r as n, t as r } from "./TooltipProvider-MZFRxOvT.js";
1
+ import { i as e, n as t, r as n, t as r } from "./TooltipProvider-D-JrSqDu.js";
2
2
  export { e as Tooltip, n as TooltipContent, r as TooltipProvider, t as TooltipTrigger };
@@ -1,4 +1,4 @@
1
- import { n as e, t } from "./constants-DfWPi8kh.js";
1
+ import { n as e, t } from "./constants-DsCdlK9I.js";
2
2
  import { getCurrentScope as n, onScopeDispose as r, readonly as i, ref as a, shallowRef as o, toValue as s, watch as c } from "vue";
3
3
  import { SmoothProgress as l } from "@mkbabb/keyframes.js";
4
4
  //#region src/composables/motion/useAnimatedNumber.ts