@mkbabb/glass-ui 3.12.0 → 3.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (360) hide show
  1. package/dist/{CardAction-DuArVky-.js → CardAction-Cj2eycQ2.js} +2 -2
  2. package/dist/{CommandShortcut-CefCj5mt.js → CommandShortcut-RowNEO6i.js} +4 -4
  3. package/dist/{ContextMenuSubContent-Bhg4f5jX.js → ContextMenuSubContent-BQmxTAdw.js} +4 -4
  4. package/dist/{DataTable-CUHMukiQ.js → DataTable-BCddn3T3.js} +3 -3
  5. package/dist/{DialogContent-BRkT1cjP.js → DialogContent-Dl9WkAoS.js} +3 -3
  6. package/dist/{DialogFooter-Gprw8H_A.js → DialogFooter-Blu4t7tJ.js} +2 -2
  7. package/dist/{HoverPopover-2LOIW34a.js → HoverPopover-CISOJQuZ.js} +1 -1
  8. package/dist/{IconTooltip-Cus0fvK0.js → IconTooltip-DPzE09X9.js} +1 -1
  9. package/dist/MetricBadge-C9QMz1KT.js +79 -0
  10. package/dist/{Notification-DLMhblXR.js → Notification-DdwNxIrI.js} +2 -2
  11. package/dist/{NumberFieldContent-BbLOh8RU.js → NumberFieldContent-CqaN-SvN.js} +3 -3
  12. package/dist/{PopoverContent-BId6ggf_.js → PopoverContent-BYwt2-4x.js} +1 -1
  13. package/dist/{ScrollingText-BPP84wKo.js → ScrollingText-DfFrwSph.js} +1 -1
  14. package/dist/{SelectScrollDownButton-T32cVFeM.js → SelectScrollDownButton-CiDUxfEj.js} +6 -6
  15. package/dist/{Switch-Ch-k3Rv-.js → Switch-CsIuYP_e.js} +1 -1
  16. package/dist/{TabsList-B8CVOQPC.js → TabsList-Dttss653.js} +9 -5
  17. package/dist/{Toaster-1rYWrmAm.js → Toaster-D6q4HtXu.js} +50 -47
  18. package/dist/{ToggleGroupItem-COu_4IW4.js → ToggleGroupItem-D_AHlRw9.js} +18 -22
  19. package/dist/animated-digit.js +2 -2
  20. package/dist/api/index.d.ts +5 -2
  21. package/dist/api.js +2 -2
  22. package/dist/aurora.js +69 -69
  23. package/dist/{badge-CaoFJzRb.js → badge-UILT_3pZ.js} +1 -1
  24. package/dist/badge.js +1 -1
  25. package/dist/{button-DN39cGqL.js → button-ChXMfsud.js} +12 -12
  26. package/dist/button.js +1 -1
  27. package/dist/card.js +1 -1
  28. package/dist/carousel.js +8 -8
  29. package/dist/{check-BBKKKSTf.js → check-njhk-vfu.js} +1 -1
  30. package/dist/{chevron-down-BSkTP2aL.js → chevron-down-DKkxb4VV.js} +1 -1
  31. package/dist/{chevron-right-sDM0Yvrf.js → chevron-right-CPXbqQQz.js} +1 -1
  32. package/dist/{chevron-up-CCOD_FTz.js → chevron-up-n_24SqI-.js} +1 -1
  33. package/dist/coalesceMetric-5qIeZnTx.js +13 -0
  34. package/dist/{color-C5ls_QF7.js → color-CUYeFbgd.js} +9 -7
  35. package/dist/color.js +1 -1
  36. package/dist/command.js +1 -1
  37. package/dist/components/custom/animated-digit/AnimatedDigit.vue.d.ts +8 -0
  38. package/dist/components/custom/aurora/constants/presets.d.ts +5 -62
  39. package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +1 -1
  40. package/dist/components/custom/aurora/constants/shaders/vangogh-medium.glsl.d.ts +1 -0
  41. package/dist/components/custom/aurora/index.d.ts +1 -1
  42. package/dist/components/custom/configurator/ConfiguratorRow.vue.d.ts +16 -0
  43. package/dist/components/custom/constellation/Constellation.vue.d.ts +74 -6
  44. package/dist/components/custom/constellation/composables/createConstellationField.d.ts +41 -0
  45. package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +35 -0
  46. package/dist/components/custom/constellation/constants.d.ts +61 -0
  47. package/dist/components/custom/constellation/constellationDraw.d.ts +30 -0
  48. package/dist/components/custom/constellation/constellationField.d.ts +116 -149
  49. package/dist/components/custom/constellation/constellationInteraction.d.ts +132 -0
  50. package/dist/components/custom/constellation/index.d.ts +5 -2
  51. package/dist/components/custom/controls/DarkModeToggle.vue.d.ts +11 -0
  52. package/dist/components/custom/dock/DockRail.vue.d.ts +88 -0
  53. package/dist/components/custom/dock/DockTabButton.vue.d.ts +3 -4
  54. package/dist/components/custom/dock/GlassDock.vue.d.ts +5 -118
  55. package/dist/components/custom/dock/composables/dockMorphContext.d.ts +36 -0
  56. package/dist/components/custom/dock/composables/index.d.ts +1 -0
  57. package/dist/components/custom/dock/composables/useDockClickIntegrity.d.ts +23 -0
  58. package/dist/components/custom/dock/composables/useDockMorphWindow.d.ts +15 -0
  59. package/dist/components/custom/dock/composables/useDockOrientationMorph.d.ts +44 -0
  60. package/dist/components/custom/dock/composables/useDockShellProps.d.ts +165 -0
  61. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +44 -0
  62. package/dist/components/custom/dock/constants.d.ts +48 -0
  63. package/dist/components/custom/dock/index.d.ts +3 -0
  64. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +5 -37
  65. package/dist/components/custom/fourier-field/index.d.ts +1 -1
  66. package/dist/components/custom/fourier-field/math.d.ts +17 -0
  67. package/dist/components/custom/fourier-field/presets.d.ts +54 -0
  68. package/dist/components/custom/goo-blob/composables/buildMetaballProgram.d.ts +18 -0
  69. package/dist/components/custom/goo-blob/composables/uploadBlobUniforms.d.ts +41 -0
  70. package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +4 -3
  71. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +11 -8
  72. package/dist/components/custom/goo-blob/constants.d.ts +52 -0
  73. package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -0
  74. package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +2 -2
  75. package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +37 -0
  76. package/dist/components/custom/labeled-field/LabeledSelect.vue.d.ts +6 -0
  77. package/dist/components/custom/labeled-field/LabeledSlider.vue.d.ts +6 -0
  78. package/dist/components/custom/labeled-field/LabeledSwitch.vue.d.ts +6 -0
  79. package/dist/components/custom/metric-badge/MetricBadge.vue.d.ts +11 -18
  80. package/dist/components/custom/metric-badge/index.d.ts +1 -0
  81. package/dist/components/custom/metric-cell/MetricCell.vue.d.ts +15 -4
  82. package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +6 -4
  83. package/dist/components/custom/tabs/constants.d.ts +12 -0
  84. package/dist/components/custom/underline/GlassUnderline.vue.d.ts +84 -0
  85. package/dist/components/custom/underline/index.d.ts +2 -0
  86. package/dist/components/custom/underline/types.d.ts +56 -0
  87. package/dist/components/ui/card/Card.vue.d.ts +15 -3
  88. package/dist/components/ui/drawer/Drawer.vue.d.ts +1 -0
  89. package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +2 -2
  90. package/dist/components/ui/metric-pill/MetricPill.vue.d.ts +6 -3
  91. package/dist/components/ui/slider/index.d.ts +22 -19
  92. package/dist/components/ui/tabs/TabsIndicator.vue.d.ts +4 -1
  93. package/dist/components/ui/toast/use-toast.d.ts +2 -2
  94. package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
  95. package/dist/components/ui/toggle/index.d.ts +1 -1
  96. package/dist/components/ui/toggle-group/ToggleGroup.vue.d.ts +1 -7
  97. package/dist/components/ui/toggle-group/ToggleGroupItem.vue.d.ts +1 -3
  98. package/dist/components/ui/toggle-group/toggleGroupContext.d.ts +0 -13
  99. package/dist/composables/color/index.d.ts +12 -0
  100. package/dist/composables/dark/index.d.ts +1 -1
  101. package/dist/composables/dark/useGlobalDark.d.ts +1 -21
  102. package/dist/composables/glass/index.d.ts +0 -1
  103. package/dist/composables/glass/useGlassBackdropLuminance.d.ts +59 -0
  104. package/dist/composables/glass/useSpecularTracking.d.ts +12 -3
  105. package/dist/composables/motion/core/index.d.ts +1 -1
  106. package/dist/composables/motion/curves.d.ts +48 -0
  107. package/dist/composables/motion/index.d.ts +2 -0
  108. package/dist/composables/motion/springPresets.d.ts +33 -0
  109. package/dist/composables/motion/suite.d.ts +2 -0
  110. package/dist/composables/motion/useLiquidFlex.d.ts +85 -0
  111. package/dist/composables/motion/useSpringMount.d.ts +1 -1
  112. package/dist/configurator.js +1 -1
  113. package/dist/confirm-dialog.js +2 -2
  114. package/dist/constellation.js +336 -222
  115. package/dist/context-menu.js +2 -2
  116. package/dist/controls.js +48 -20
  117. package/dist/dark.d.ts +1 -1
  118. package/dist/dark.js +1 -1
  119. package/dist/data-table.js +1 -1
  120. package/dist/dialog.js +2 -2
  121. package/dist/dock.js +705 -365
  122. package/dist/dockContext-BegmJVmx.js +17 -0
  123. package/dist/dom.js +5 -5
  124. package/dist/{dropdown-menu-D77jX6Df.js → dropdown-menu-DzkkyBwX.js} +11 -8
  125. package/dist/dropdown-menu.js +1 -1
  126. package/dist/expandable-container.js +39 -80
  127. package/dist/forms.js +5 -5
  128. package/dist/fourier-field.js +134 -99
  129. package/dist/fourier-math.js +2 -2
  130. package/dist/glass-panel.js +86 -20
  131. package/dist/glass-ui.css +1 -1
  132. package/dist/glass-ui.js +222 -212
  133. package/dist/goo-blob.js +243 -212
  134. package/dist/hover-card.js +1 -1
  135. package/dist/hover-popover.js +1 -1
  136. package/dist/icon-tooltip.js +1 -1
  137. package/dist/index.d.ts +1 -3
  138. package/dist/instrument-chassis.js +1 -1
  139. package/dist/keyboard.js +1 -1
  140. package/dist/label.js +1 -1
  141. package/dist/labeled-field.js +28 -18
  142. package/dist/{math-DTpRVC0e.js → math-U6-RrLmV.js} +18 -2
  143. package/dist/metric-badge.js +1 -1
  144. package/dist/metric-cell.js +25 -21
  145. package/dist/metric-stack.js +35 -34
  146. package/dist/{minimize-2-lcXOuc6V.js → minimize-2-BV31Ob_h.js} +1 -1
  147. package/dist/motion-core.js +32 -137
  148. package/dist/motion-curves.d.ts +1 -0
  149. package/dist/motion-curves.js +130 -0
  150. package/dist/motion.js +38 -37
  151. package/dist/notification.js +1 -1
  152. package/dist/number-field.js +1 -1
  153. package/dist/paper-backdrop.js +1 -1
  154. package/dist/popover.js +1 -1
  155. package/dist/{presets-BP_ALM0m.js → presets-BKVyQfbt.js} +1 -14
  156. package/dist/progress.js +1 -1
  157. package/dist/reactive.js +2 -2
  158. package/dist/scrolling-text.js +1 -1
  159. package/dist/{search-nbkvr2dC.js → search-BSGrf2Sk.js} +1 -1
  160. package/dist/search.js +9 -9
  161. package/dist/select.js +3 -3
  162. package/dist/separator.js +1 -1
  163. package/dist/{sheet-VZEtNFvO.js → sheet-1fChZjtw.js} +3 -3
  164. package/dist/sheet.js +1 -1
  165. package/dist/{slider-ClgpP7EB.js → slider-B-JP2JlI.js} +4 -4
  166. package/dist/slider.js +1 -1
  167. package/dist/sortable-list.js +2 -2
  168. package/dist/springPresets--YdWTHtm.js +40 -0
  169. package/dist/stacked-icons.js +6 -6
  170. package/dist/styles/animations.css +29 -114
  171. package/dist/styles/cards.css +55 -0
  172. package/dist/styles/components.css +4 -1
  173. package/dist/styles/configurator.css +42 -0
  174. package/dist/styles/dock/layer-group.css +83 -25
  175. package/dist/styles/dock/layers.css +23 -1
  176. package/dist/styles/dock/morph-bridge.css +123 -0
  177. package/dist/styles/dock/morph.css +175 -45
  178. package/dist/styles/dock/overflow.css +51 -1
  179. package/dist/styles/dock/rail-extend.css +300 -0
  180. package/dist/styles/dock/shell.css +63 -105
  181. package/dist/styles/dock-controls/dark-mode-toggle.css +109 -0
  182. package/dist/styles/dock-controls/icon-button.css +133 -0
  183. package/dist/styles/dock-controls/tab-button.css +202 -0
  184. package/dist/styles/dock-controls/touch-floor.css +94 -0
  185. package/dist/styles/dock-controls/triggers.css +128 -0
  186. package/dist/styles/dock-controls.css +30 -595
  187. package/dist/styles/dock.css +2 -0
  188. package/dist/styles/drawer.css +2 -0
  189. package/dist/styles/floating-panel.css +17 -0
  190. package/dist/styles/glass/a11y-fallback.css +245 -0
  191. package/dist/styles/glass/ladder.css +337 -0
  192. package/dist/styles/glass/material.css +238 -0
  193. package/dist/styles/glass/progress-rail.css +78 -0
  194. package/dist/styles/glass/squircle.css +66 -0
  195. package/dist/styles/glass/surfaces.css +306 -0
  196. package/dist/styles/glass-refract.css +2 -0
  197. package/dist/styles/glass.css +31 -1188
  198. package/dist/styles/hover-popover.css +2 -0
  199. package/dist/styles/index.css +28 -14
  200. package/dist/styles/instrument-chassis.css +4 -0
  201. package/dist/styles/paper.css +2 -68
  202. package/dist/styles/segmented-tabs.css +275 -0
  203. package/dist/styles/theme/bridges.css +337 -0
  204. package/dist/styles/theme/dark.css +7 -0
  205. package/dist/styles/theme/literals.css +94 -0
  206. package/dist/styles/theme/radius.css +95 -0
  207. package/dist/styles/theme.css +26 -529
  208. package/dist/styles/tokens/color-radius.css +260 -0
  209. package/dist/styles/tokens/dark-arm.css +200 -0
  210. package/dist/styles/tokens/glass.css +440 -0
  211. package/dist/styles/tokens/light-dark.css +158 -0
  212. package/dist/styles/tokens/offsets-sizing.css +500 -0
  213. package/dist/styles/tokens/property-regs.css +169 -0
  214. package/dist/styles/tokens/scale-paper.css +366 -0
  215. package/dist/styles/tokens/scheme-motion.css +334 -0
  216. package/dist/styles/tokens/shadow.css +166 -0
  217. package/dist/styles/tokens.css +22 -2360
  218. package/dist/styles/typography.css +75 -21
  219. package/dist/styles/utilities/a11y-overrides.css +140 -0
  220. package/dist/styles/utilities/animate.css +26 -0
  221. package/dist/styles/utilities/base.css +365 -0
  222. package/dist/styles/utilities/btn.css +401 -0
  223. package/dist/styles/utilities/components.css +317 -0
  224. package/dist/styles/utilities.css +19 -1318
  225. package/dist/styles/view-transition.css +0 -51
  226. package/dist/switch.js +1 -1
  227. package/dist/tabs.js +91 -82
  228. package/dist/timeline.js +1 -1
  229. package/dist/toast.js +1 -1
  230. package/dist/toggle-group.js +1 -1
  231. package/dist/tooltip.js +1 -1
  232. package/dist/underline.d.ts +1 -0
  233. package/dist/underline.js +85 -0
  234. package/dist/{useAnimatedNumber-Bcpy5Etf.js → useAnimatedNumber-C5I3wWd8.js} +1 -1
  235. package/dist/{useConfiguratorState-DxAqksK6.js → useConfiguratorState-DAoeHVue.js} +8 -8
  236. package/dist/{useGlobalDark-CAhOXNLO.js → useGlobalDark-yhL4Wp-s.js} +3 -22
  237. package/dist/useLiquidFlex-BL0lLLN2.js +30 -0
  238. package/dist/useRAFLoop-Bxv0o6L5.js +109 -0
  239. package/dist/{useScrollProgress-CffFGLa5.js → useScrollProgress-Dlvx-L3v.js} +1 -1
  240. package/dist/useSpecularTracking-Bo5su68i.js +32 -0
  241. package/dist/useSpringMount-CI2jOstM.js +108 -0
  242. package/dist/{useTouchGate-WFyJYsth.js → useTouchGate-Dg7MQI1G.js} +1 -1
  243. package/dist/utils/coalesceMetric.d.ts +29 -0
  244. package/dist/utils/index.d.ts +1 -0
  245. package/dist/vReveal-CqaCz_mC.js +44 -0
  246. package/dist/watercolor-dot.js +11 -9
  247. package/dist/{x-Dfsegz9Y.js → x-BUwTKe50.js} +1 -1
  248. package/package.json +78 -58
  249. package/src/styles/animations.css +29 -114
  250. package/src/styles/cards.css +53 -0
  251. package/src/styles/configurator.css +42 -0
  252. package/src/styles/dock/layer-group.css +83 -25
  253. package/src/styles/dock/layers.css +23 -1
  254. package/src/styles/dock/morph-bridge.css +123 -0
  255. package/src/styles/dock/morph.css +175 -45
  256. package/src/styles/dock/overflow.css +51 -1
  257. package/src/styles/dock/rail-extend.css +300 -0
  258. package/src/styles/dock/shell.css +63 -105
  259. package/src/styles/dock-controls/dark-mode-toggle.css +109 -0
  260. package/src/styles/dock-controls/icon-button.css +133 -0
  261. package/src/styles/dock-controls/tab-button.css +202 -0
  262. package/src/styles/dock-controls/touch-floor.css +94 -0
  263. package/src/styles/dock-controls/triggers.css +128 -0
  264. package/src/styles/dock-controls.css +30 -595
  265. package/src/styles/dock.css +2 -0
  266. package/src/styles/floating-panel.css +15 -0
  267. package/src/styles/glass/a11y-fallback.css +245 -0
  268. package/src/styles/glass/ladder.css +337 -0
  269. package/src/styles/glass/material.css +238 -0
  270. package/src/styles/glass/progress-rail.css +78 -0
  271. package/src/styles/glass/squircle.css +66 -0
  272. package/src/styles/glass/surfaces.css +306 -0
  273. package/src/styles/glass.css +31 -1188
  274. package/src/styles/index.css +28 -14
  275. package/src/styles/paper.css +2 -68
  276. package/src/styles/segmented-tabs.css +271 -0
  277. package/src/styles/theme/bridges.css +337 -0
  278. package/src/styles/theme/dark.css +7 -0
  279. package/src/styles/theme/literals.css +94 -0
  280. package/src/styles/theme/radius.css +95 -0
  281. package/src/styles/theme.css +26 -529
  282. package/src/styles/tokens/color-radius.css +260 -0
  283. package/src/styles/tokens/dark-arm.css +200 -0
  284. package/src/styles/tokens/glass.css +440 -0
  285. package/src/styles/tokens/light-dark.css +158 -0
  286. package/src/styles/tokens/offsets-sizing.css +500 -0
  287. package/src/styles/tokens/property-regs.css +169 -0
  288. package/src/styles/tokens/scale-paper.css +366 -0
  289. package/src/styles/tokens/scheme-motion.css +334 -0
  290. package/src/styles/tokens/shadow.css +166 -0
  291. package/src/styles/tokens.css +22 -2360
  292. package/src/styles/typography.css +75 -21
  293. package/src/styles/utilities/a11y-overrides.css +140 -0
  294. package/src/styles/utilities/animate.css +26 -0
  295. package/src/styles/utilities/base.css +365 -0
  296. package/src/styles/utilities/btn.css +401 -0
  297. package/src/styles/utilities/components.css +317 -0
  298. package/src/styles/utilities.css +19 -1318
  299. package/src/styles/view-transition.css +0 -51
  300. package/dist/DeckProgress-Dmk4_AKN.js +0 -23
  301. package/dist/InstrumentRail-CUJ05YVG.js +0 -44
  302. package/dist/MetricBadge-BZVWIxNy.js +0 -80
  303. package/dist/components/custom/deck-progress/DeckProgress.vue.d.ts +0 -27
  304. package/dist/components/custom/deck-progress/index.d.ts +0 -2
  305. package/dist/components/custom/dialog-native/GlassDialogNative.vue.d.ts +0 -57
  306. package/dist/components/custom/dialog-native/index.d.ts +0 -1
  307. package/dist/components/custom/handmark/HandMark.vue.d.ts +0 -29
  308. package/dist/components/custom/handmark/brush.d.ts +0 -242
  309. package/dist/components/custom/handmark/freehand.d.ts +0 -69
  310. package/dist/components/custom/handmark/geometry.d.ts +0 -50
  311. package/dist/components/custom/handmark/index.d.ts +0 -21
  312. package/dist/components/custom/handmark/ink.d.ts +0 -11
  313. package/dist/components/custom/handmark/texture.d.ts +0 -39
  314. package/dist/components/custom/handmark/types.d.ts +0 -53
  315. package/dist/components/custom/handmark/useHandMark.d.ts +0 -87
  316. package/dist/components/custom/instrument-rail/InstrumentRail.vue.d.ts +0 -91
  317. package/dist/components/custom/instrument-rail/index.d.ts +0 -2
  318. package/dist/composables/motion/useRouteTransition.d.ts +0 -42
  319. package/dist/deck-progress.d.ts +0 -1
  320. package/dist/deck-progress.js +0 -2
  321. package/dist/dockContext-BKeIMmNk.js +0 -9
  322. package/dist/handmark.d.ts +0 -1
  323. package/dist/handmark.js +0 -663
  324. package/dist/instrument-rail.d.ts +0 -1
  325. package/dist/instrument-rail.js +0 -2
  326. package/dist/styles/instrument-rail.css +0 -127
  327. package/dist/useGlassRenderer-D7YGOYiM.js +0 -69
  328. package/dist/useSpecularTracking-BVRZsRHA.js +0 -26
  329. package/dist/useSpringMount-BJSHcLl3.js +0 -113
  330. package/dist/useViewTransition-DaN5Zrox.js +0 -21
  331. package/dist/vReveal-zUIQk-rJ.js +0 -53
  332. package/src/styles/instrument-rail.css +0 -127
  333. /package/dist/{ContextMenuContent-DDa0v27s.js → ContextMenuContent-CT3AS1WX.js} +0 -0
  334. /package/dist/{HoverCardContent-B6CcQ8He.js → HoverCardContent-Csywg3YF.js} +0 -0
  335. /package/dist/{Input-xuDwALQR.js → Input-DWQQIOC4.js} +0 -0
  336. /package/dist/{InstrumentChassis-C2f6cBaQ.js → InstrumentChassis-UUJX0-mW.js} +0 -0
  337. /package/dist/{Label-zRfbQdCn.js → Label-r3WzWrsj.js} +0 -0
  338. /package/dist/{ModalOverlay-B1GkAjNb.js → ModalOverlay-DVLI2VRr.js} +0 -0
  339. /package/dist/{PaperBackdrop-CqwjnfLv.js → PaperBackdrop-DIXTtVq6.js} +0 -0
  340. /package/dist/{Progress-iEuD9pxG.js → Progress-DwlUKGbr.js} +0 -0
  341. /package/dist/{SelectGroup-BFiod7X2.js → SelectGroup-aumMgWLs.js} +0 -0
  342. /package/dist/{SelectSeparator-C4Ql0gzV.js → SelectSeparator-BQ_1Fcbp.js} +0 -0
  343. /package/dist/{Separator-D7sD7RKj.js → Separator-0JE6LtNu.js} +0 -0
  344. /package/dist/{TooltipProvider-CmZzCuaG.js → TooltipProvider-B3MkB_8P.js} +0 -0
  345. /package/dist/{compile-BOXjLUxu.js → compile-B7NGOBcP.js} +0 -0
  346. /package/dist/{constants-yKeKnE84.js → constants-CS75AWHG.js} +0 -0
  347. /package/dist/{createContext-B44Sah_H.js → createContext-BM46COQ-.js} +0 -0
  348. /package/dist/{createLucideIcon-B6uNAU9G.js → createLucideIcon-DydS2qgk.js} +0 -0
  349. /package/dist/{menuItemVariants-CCoBNkU5.js → menuItemVariants-DPiEarb0.js} +0 -0
  350. /package/dist/{supportsCssTimeline-C5oe0lnD.js → supportsCssTimeline-BWenxvHU.js} +0 -0
  351. /package/dist/{useIntersectionPause-Cck5Uxk8.js → useIntersectionPause-Cc-H9ees.js} +0 -0
  352. /package/dist/{useInterval-Dsmqwi03.js → useInterval-iHludrxk.js} +0 -0
  353. /package/dist/{useKeyboardShortcuts-CyIYrndH.js → useKeyboardShortcuts-Be3w_Rwk.js} +0 -0
  354. /package/dist/{useResizeObserver-CWCbk5Px.js → useResizeObserver-BhgdhOIj.js} +0 -0
  355. /package/dist/{useResolveTokenColor-r9pnNjqK.js → useResolveTokenColor-Dvn2RZJW.js} +0 -0
  356. /package/dist/{useSortable-C8ReQ50P.js → useSortable-muI29agz.js} +0 -0
  357. /package/dist/{useTextHighlight-CWEi25hf.js → useTextHighlight-DmRYkOBx.js} +0 -0
  358. /package/dist/{useTimer-3xqf_54b.js → useTimer-Dzarvzuk.js} +0 -0
  359. /package/dist/{useUserInvalidAria-DoJKMZ3s.js → useUserInvalidAria-B2h6jAM_.js} +0 -0
  360. /package/dist/{useViewportReady-RIr5Wgkh.js → useViewportReady-B40FK4Pa.js} +0 -0
@@ -60,56 +60,5 @@
60
60
  @keyframes gl-vt-slide-in { from { opacity: 0; translate: 0 var(--vt-rise, 8px); } }
61
61
  @keyframes gl-vt-slide-out { to { opacity: 0; translate: 0 var(--vt-rise, 8px); } }
62
62
 
63
- /* ── gl-shared-element — the named-pair MORPH group (D6.c M6) ──────────────────
64
- * Distinct from `.gl-list-item` (a cross-fade of MANY members in a re-rank): a
65
- * shared-element morph is ONE element that exists in BOTH the old and new states
66
- * under the SAME `view-transition-name`, so the browser MORPHS it in place — the
67
- * group interpolates its size+position (transform) while old/new cross-fade. The
68
- * editorial case: the gallery card's title IS the dashboard masthead's title, so
69
- * the name you clicked GROWS into the name you read (the card → masthead route
70
- * morph). The consumer adds `view-transition-class: gl-shared-element` plus a
71
- * MATCHED `view-transition-name: <id>` on BOTH the source and destination element
72
- * (the MANDATORY runtime rule — ≤1 element per name per state, else the morph is
73
- * skipped silently), and wraps the navigation in `useRouteTransition` /
74
- * `startViewTransition`.
75
- *
76
- * The morph rides the SMOOTH register (the 700ms-class spring, C-ANIM-VIZ-MAP T1
77
- * §7) — a longer, gentler curve than the list-item cross-fade, because a morph
78
- * that travels across the viewport wants room to read. The old/new cross-fade is
79
- * softened so the morphing GROUP is the figure and the rest recedes. */
80
- ::view-transition-group(.gl-shared-element) {
81
- animation-duration: var(--vt-morph-duration, var(--duration-slow, 500ms));
82
- animation-timing-function: var(--vt-morph-ease, var(--spring-smooth, ease-in-out));
83
- }
84
- ::view-transition-old(.gl-shared-element),
85
- ::view-transition-new(.gl-shared-element) {
86
- /* The image pair cross-fades UNDER the group's size/position morph — softer
87
- than the group curve so the morph (the size/position travel) is the figure
88
- and the pixel cross-fade is the recessive fill. */
89
- animation-duration: var(--vt-morph-duration, var(--duration-slow, 500ms));
90
- animation-timing-function: var(--vt-ease, var(--spring-smooth, ease-in-out));
91
- }
92
-
93
- /* ── gl-expand — the plate → fullscreen MORPH recipe (D6.c M7) ─────────────────
94
- * The expand verb (a plate growing to fullscreen) is a SHARED-ELEMENT morph, not
95
- * an opacity jump-cut: the plate IS the fullscreen surface, growing. It is a
96
- * specialization of `gl-shared-element` — the SAME named-pair morph, with the
97
- * expand register (a touch snappier than a route morph, because the surface stays
98
- * in place and only the rect grows, so it wants less travel-room). `ExpandableContainer`
99
- * wires the `view-transition-name` plumbing on its plate↔fullscreen surfaces (an
100
- * opt-in `viewTransitionName` prop), so a consumer opts in and the open/close
101
- * mutation — wrapped in `startViewTransition` — morphs the plate's rect to the
102
- * fullscreen rect and back. The named pair is the SAME element across states
103
- * (the slot content), so the browser captures one group and grows it. */
104
- ::view-transition-group(.gl-expand) {
105
- animation-duration: var(--vt-expand-duration, var(--duration-normal, 240ms));
106
- animation-timing-function: var(--vt-expand-ease, var(--spring-bouncy, ease-out));
107
- }
108
- ::view-transition-old(.gl-expand),
109
- ::view-transition-new(.gl-expand) {
110
- animation-duration: var(--vt-expand-duration, var(--duration-normal, 240ms));
111
- animation-timing-function: var(--vt-ease, var(--spring-bouncy, ease-out));
112
- }
113
-
114
63
  /* Keep the non-transitioned UI interactive while the snapshot animates. */
115
64
  ::view-transition { pointer-events: none; }
package/dist/switch.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as e } from "./Switch-Ch-k3Rv-.js";
1
+ import { t as e } from "./Switch-CsIuYP_e.js";
2
2
  export { e as Switch };
package/dist/tabs.js CHANGED
@@ -1,28 +1,31 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
- import { t } from "./_plugin-vue_export-helper-ok8pgSl5.js";
3
- import { a as n, i as r, o as i, r as a, s as o } from "./SelectScrollDownButton-T32cVFeM.js";
4
- import { i as s, n as c, r as l, t as u } from "./TooltipProvider-CmZzCuaG.js";
5
- import { Fragment as d, computed as f, createBlock as p, createCommentVNode as m, createElementBlock as h, createElementVNode as g, createTextVNode as _, createVNode as v, defineComponent as y, mergeModels as b, mergeProps as x, nextTick as S, normalizeClass as C, normalizeStyle as w, onBeforeUnmount as T, onMounted as E, onUnmounted as D, openBlock as O, ref as k, renderList as A, renderSlot as j, toDisplayString as M, unref as N, useModel as ee, watch as P, withCtx as F } from "vue";
2
+ import { a as t, i as n, o as r, r as i, s as a } from "./SelectScrollDownButton-CiDUxfEj.js";
3
+ import { i as o, n as s, r as c, t as l } from "./TooltipProvider-B3MkB_8P.js";
4
+ import { t as u } from "./useLiquidFlex-BL0lLLN2.js";
5
+ import { Fragment as d, computed as f, createBlock as p, createCommentVNode as m, createElementBlock as h, createElementVNode as g, createTextVNode as _, createVNode as v, defineComponent as y, mergeModels as b, mergeProps as x, nextTick as S, normalizeClass as C, normalizeStyle as w, onBeforeUnmount as ee, onMounted as T, onUnmounted as E, openBlock as D, ref as O, renderList as k, renderSlot as A, toDisplayString as j, unref as M, useModel as te, watch as N, withCtx as P } from "vue";
6
+ //#region src/components/custom/tabs/constants.ts
7
+ var F = 1.08;
8
+ //#endregion
6
9
  //#region src/components/custom/tabs/composables/useTabIndicator.ts
7
- function te(e) {
8
- let { containerRef: t, indicatorRef: n, buttonRefs: r, options: i, model: a, multiSelect: o, anchorSupported: s, jsSliderActive: c, activeValues: l } = e, u = k({
10
+ function I(e) {
11
+ let { containerRef: t, indicatorRef: n, buttonRefs: r, options: i, model: a, multiSelect: o, anchorSupported: s, jsSliderActive: c, activeValues: l } = e, d = O({
9
12
  width: "0px",
10
13
  transform: "translateX(0px)",
11
14
  opacity: "0"
12
15
  });
13
- function d() {
16
+ function f() {
14
17
  if (o.value || s) return;
15
18
  let e = i.value.findIndex((e) => e.value === a.value);
16
19
  if (e < 0 || !r.value[e]) return;
17
20
  let t = r.value[e];
18
- u.value = {
21
+ d.value = {
19
22
  width: `${t.offsetWidth}px`,
20
23
  transform: `translateX(${t.offsetLeft}px)`,
21
24
  opacity: "1"
22
25
  };
23
26
  }
24
- let f = k({});
25
- function p() {
27
+ let p = O({});
28
+ function m() {
26
29
  if (!o.value) return;
27
30
  let e = {};
28
31
  for (let t of l.value) {
@@ -33,46 +36,52 @@ function te(e) {
33
36
  opacity: "1"
34
37
  });
35
38
  }
36
- f.value = e;
39
+ p.value = e;
37
40
  }
38
- function m() {
39
- o.value ? p() : d();
41
+ function h() {
42
+ o.value ? m() : f();
40
43
  }
41
- let h = -1, g = null;
42
- function _() {
44
+ let g = -1, _ = null, v = F, y = u({
45
+ from: 0,
46
+ to: 0,
47
+ axis: "width",
48
+ squishLaw: "linear",
49
+ maxStretch: () => v
50
+ });
51
+ function b() {
43
52
  return typeof window < "u" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
44
53
  }
45
- function v(e) {
54
+ function x(e) {
46
55
  let i = n.value;
47
56
  if (o.value || !i) {
48
- h = e;
57
+ g = e;
49
58
  return;
50
59
  }
51
- if (_()) {
52
- h = e;
60
+ if (b()) {
61
+ g = e;
53
62
  return;
54
63
  }
55
- let a = r.value[h], s = r.value[e];
56
- if (h = e, !a || !s) return;
57
- let c = t.value?.offsetWidth || s.offsetParent?.offsetWidth || 1, l = Math.abs(s.offsetLeft - a.offsetLeft), u = c > 0 ? Math.min(l / c, 1) : 0, d = getComputedStyle(i).getPropertyValue("--tab-indicator-max-stretch").trim(), f = 1 + u * ((Number(d) || 1.08) - 1);
58
- g && clearTimeout(g), i.style.setProperty("--stretch", String(f)), g = setTimeout(() => {
59
- i.style.setProperty("--stretch", "1"), g = null;
64
+ let a = r.value[g], s = r.value[e];
65
+ if (g = e, !a || !s) return;
66
+ let c = t.value?.offsetWidth || s.offsetParent?.offsetWidth || 1, l = Math.abs(s.offsetLeft - a.offsetLeft), u = c > 0 ? Math.min(l / c, 1) : 0, d = getComputedStyle(i).getPropertyValue("--tab-indicator-max-stretch").trim();
67
+ v = Number(d) || 1.08, y.squish(u), _ && clearTimeout(_), i.style.setProperty("--stretch", String(y.stretch.value)), _ = setTimeout(() => {
68
+ y.squish(0), i.style.setProperty("--stretch", String(y.stretch.value)), _ = null;
60
69
  }, 60);
61
70
  }
62
- P(() => a.value, () => {
63
- c.value && S(m);
64
- }, { deep: !0 }), P(() => i.value, () => {
65
- c.value && S(m);
71
+ N(() => a.value, () => {
72
+ c.value && S(h);
73
+ }, { deep: !0 }), N(() => i.value, () => {
74
+ c.value && S(h);
66
75
  }, { deep: !0 });
67
- let y = null;
68
- return E(() => {
69
- h = i.value.findIndex((e) => l.value.includes(e.value)), c.value && (S(m), t.value && (y = new ResizeObserver(() => m()), y.observe(t.value)));
70
- }), D(() => {
71
- y?.disconnect(), g && clearTimeout(g);
76
+ let C = null;
77
+ return T(() => {
78
+ g = i.value.findIndex((e) => l.value.includes(e.value)), c.value && (S(h), t.value && (C = new ResizeObserver(() => h()), C.observe(t.value)));
79
+ }), E(() => {
80
+ C?.disconnect(), _ && clearTimeout(_);
72
81
  }), {
73
- singleSliderStyle: u,
74
- multiSliderStyles: f,
75
- squishOnTravel: v
82
+ singleSliderStyle: d,
83
+ multiSliderStyles: p,
84
+ squishOnTravel: x
76
85
  };
77
86
  }
78
87
  //#endregion
@@ -85,7 +94,7 @@ var ne = ["role"], re = [
85
94
  "role",
86
95
  "disabled",
87
96
  "onClick"
88
- ], I = /* @__PURE__ */ t(/* @__PURE__ */ y({
97
+ ], L = /* @__PURE__ */ y({
89
98
  __name: "SegmentedTabs",
90
99
  props: /* @__PURE__ */ b({
91
100
  options: {},
@@ -111,26 +120,26 @@ var ne = ["role"], re = [
111
120
  modelModifiers: {}
112
121
  }),
113
122
  emits: ["update:modelValue"],
114
- setup(t) {
123
+ setup(u) {
115
124
  function y(e, t) {
116
125
  return typeof document > "u" ? t : getComputedStyle(document.documentElement).getPropertyValue(e).trim() || t;
117
126
  }
118
- let b = t, D = ee(t, "modelValue"), P = k(null), I = k(null), L = k([]), R = typeof CSS < "u" && typeof CSS.supports == "function" && CSS.supports("position-anchor", "--x"), z = f(() => b.variant === "underline");
127
+ let b = u, E = te(u, "modelValue"), N = O(null), F = O(null), L = O([]), R = typeof CSS < "u" && typeof CSS.supports == "function" && CSS.supports("position-anchor", "--x"), z = f(() => b.variant === "underline");
119
128
  f(() => b.variant === "pill"), f(() => b.variant === "segmented");
120
129
  let B = f(() => b.overflow === "scroll"), V = f(() => b.overflow === "auto"), H = f(() => b.multiSelect && !z.value), U = f(() => {
121
- let e = D.value;
130
+ let e = E.value;
122
131
  return H.value && Array.isArray(e) ? e : e == null ? [] : [e];
123
- }), W = (e) => U.value.includes(e), ae = f(() => (H.value || !R) && !z.value), G = f(() => !H.value && !R && !z.value), K = f(() => b.responsive === !1 ? null : b.responsive === !0 ? {} : b.responsive), oe = f(() => K.value?.breakpoint ?? "640px"), q = f(() => K.value?.desktopOptions ?? b.options), J = k(!0), Y = null;
132
+ }), W = (e) => U.value.includes(e), ae = f(() => (H.value || !R) && !z.value), G = f(() => !H.value && !R && !z.value), K = f(() => b.responsive === !1 ? null : b.responsive === !0 ? {} : b.responsive), oe = f(() => K.value?.breakpoint ?? "640px"), q = f(() => K.value?.desktopOptions ?? b.options), J = O(!0), Y = null;
124
133
  function X(e) {
125
134
  J.value = e.matches;
126
135
  }
127
136
  let se = f(() => {
128
- if (!K.value) return D.value;
137
+ if (!K.value) return E.value;
129
138
  let e = q.value;
130
- return e.some((e) => e.value === D.value) ? D.value : e[0]?.value ?? D.value;
131
- }), Z = f(() => K.value ? q.value : b.options), ce = f(() => K.value?.ariaLabel ?? b.options.find((e) => e.value === D.value)?.label ?? "Select"), le = f(() => !!K.value && !J.value), { singleSliderStyle: ue, multiSliderStyles: de, squishOnTravel: fe } = te({
132
- containerRef: P,
133
- indicatorRef: I,
139
+ return e.some((e) => e.value === E.value) ? E.value : e[0]?.value ?? E.value;
140
+ }), Z = f(() => K.value ? q.value : b.options), ce = f(() => K.value?.ariaLabel ?? b.options.find((e) => e.value === E.value)?.label ?? "Select"), le = f(() => !!K.value && !J.value), { singleSliderStyle: ue, multiSliderStyles: de, squishOnTravel: fe } = I({
141
+ containerRef: N,
142
+ indicatorRef: F,
134
143
  buttonRefs: L,
135
144
  options: Z,
136
145
  model: f(() => se.value),
@@ -171,70 +180,70 @@ var ne = ["role"], re = [
171
180
  let n = L.value[t];
172
181
  if (n && pe(n), fe(t), H.value) {
173
182
  let t = [...U.value], n = t.indexOf(e);
174
- n > -1 ? t.length > 1 && t.splice(n, 1) : t.push(e), D.value = t;
175
- } else D.value = e;
183
+ n > -1 ? t.length > 1 && t.splice(n, 1) : t.push(e), E.value = t;
184
+ } else E.value = e;
176
185
  Q(t);
177
186
  }
178
187
  function me(e) {
179
- typeof e == "string" && (D.value = e);
188
+ typeof e == "string" && (E.value = e);
180
189
  }
181
- return E(() => {
190
+ return T(() => {
182
191
  K.value && typeof window < "u" && window.matchMedia && (Y = window.matchMedia(`(min-width: ${oe.value})`), J.value = Y.matches, Y.addEventListener("change", X)), S(() => {
183
192
  let e = Z.value.findIndex((e) => W(e.value));
184
193
  e >= 0 && Q(e);
185
194
  });
186
- }), T(() => {
195
+ }), ee(() => {
187
196
  Y?.removeEventListener("change", X), Y = null;
188
- }), (f, y) => le.value ? (O(), h("div", {
197
+ }), (f, y) => le.value ? (D(), h("div", {
189
198
  key: 0,
190
- class: C(N(e)("segmented-tabs__mobile w-fit", b.class))
191
- }, [v(N(o), {
192
- "model-value": D.value,
199
+ class: C(M(e)("segmented-tabs__mobile w-fit", b.class))
200
+ }, [v(M(a), {
201
+ "model-value": E.value,
193
202
  "onUpdate:modelValue": me
194
203
  }, {
195
- default: F(() => [v(N(n), {
204
+ default: P(() => [v(M(t), {
196
205
  "aria-label": ce.value,
197
- class: C(N(e)("segmented-tabs__trigger text-small w-auto min-w-input-sm", K.value?.triggerClass))
206
+ class: C(M(e)("segmented-tabs__trigger text-small w-auto min-w-input-sm", K.value?.triggerClass))
198
207
  }, {
199
- default: F(() => [v(N(i))]),
208
+ default: P(() => [v(M(r))]),
200
209
  _: 1
201
- }, 8, ["aria-label", "class"]), v(N(r), null, {
202
- default: F(() => [(O(!0), h(d, null, A(t.options, (e) => (O(), p(N(a), {
210
+ }, 8, ["aria-label", "class"]), v(M(n), null, {
211
+ default: P(() => [(D(!0), h(d, null, k(u.options, (e) => (D(), p(M(i), {
203
212
  key: e.value,
204
213
  value: e.value
205
214
  }, {
206
- default: F(() => [_(M(e.label), 1)]),
215
+ default: P(() => [_(j(e.label), 1)]),
207
216
  _: 2
208
217
  }, 1032, ["value"]))), 128))]),
209
218
  _: 1
210
219
  })]),
211
220
  _: 1
212
- }, 8, ["model-value"])], 2)) : (O(), h("div", {
221
+ }, 8, ["model-value"])], 2)) : (D(), h("div", {
213
222
  key: 1,
214
223
  ref_key: "containerRef",
215
- ref: P,
224
+ ref: N,
216
225
  role: z.value ? "tablist" : "group",
217
- class: C(N(e)("segmented-tabs", `segmented-tabs--${t.variant}`, B.value && "segmented-tabs--scroll scroll-fade-mask scrollbar-hidden", V.value && "segmented-tabs--auto scrollbar-hidden", b.class))
226
+ class: C(M(e)("segmented-tabs", `segmented-tabs--${u.variant}`, B.value && "segmented-tabs--scroll scroll-fade-mask scrollbar-hidden", V.value && "segmented-tabs--auto scrollbar-hidden", b.class))
218
227
  }, [
219
- !z.value && !H.value ? (O(), h("div", {
228
+ !z.value && !H.value ? (D(), h("div", {
220
229
  key: 0,
221
230
  ref_key: "indicatorRef",
222
- ref: I,
231
+ ref: F,
223
232
  class: C(["segmented-indicator", G.value ? "segmented-indicator--js" : "segmented-indicator--anchor"]),
224
- style: w(G.value ? N(ue) : void 0)
233
+ style: w(G.value ? M(ue) : void 0)
225
234
  }, null, 6)) : m("", !0),
226
- !z.value && H.value ? (O(!0), h(d, { key: 1 }, A(U.value, (e) => (O(), h("div", {
235
+ !z.value && H.value ? (D(!0), h(d, { key: 1 }, k(U.value, (e) => (D(), h("div", {
227
236
  key: "indicator-" + e,
228
237
  class: "segmented-indicator segmented-indicator--js",
229
- style: w(N(de)[e] ?? { opacity: "0" })
238
+ style: w(M(de)[e] ?? { opacity: "0" })
230
239
  }, null, 4))), 128)) : m("", !0),
231
- (O(!0), h(d, null, A(Z.value, (e, t) => (O(), h(d, { key: e.value }, [e.tooltip ? (O(), p(N(u), {
240
+ (D(!0), h(d, null, k(Z.value, (e, t) => (D(), h(d, { key: e.value }, [e.tooltip ? (D(), p(M(l), {
232
241
  key: 0,
233
242
  "delay-duration": 200
234
243
  }, {
235
- default: F(() => [v(N(s), null, {
236
- default: F(() => [v(N(c), { "as-child": "" }, {
237
- default: F(() => [g("button", x({
244
+ default: P(() => [v(M(o), null, {
245
+ default: P(() => [v(M(s), { "as-child": "" }, {
246
+ default: P(() => [g("button", x({
238
247
  ref_for: !0,
239
248
  ref: (e) => {
240
249
  e && (L.value[t] = e);
@@ -245,22 +254,22 @@ var ne = ["role"], re = [
245
254
  disabled: e.disabled,
246
255
  class: e.disabled && "is-disabled",
247
256
  onClick: (n) => $(e.value, t)
248
- }), [j(f.$slots, "option", {
257
+ }), [A(f.$slots, "option", {
249
258
  option: e,
250
259
  active: W(e.value)
251
- }, () => [_(M(e.label), 1)], !0)], 16, re)]),
260
+ }, () => [_(j(e.label), 1)])], 16, re)]),
252
261
  _: 2
253
- }, 1024), v(N(l), {
262
+ }, 1024), v(M(c), {
254
263
  side: "bottom",
255
264
  "side-offset": 8
256
265
  }, {
257
- default: F(() => [_(M(e.tooltip), 1)]),
266
+ default: P(() => [_(j(e.tooltip), 1)]),
258
267
  _: 2
259
268
  }, 1024)]),
260
269
  _: 2
261
270
  }, 1024)]),
262
271
  _: 2
263
- }, 1024)) : (O(), h("button", x({
272
+ }, 1024)) : (D(), h("button", x({
264
273
  key: 1,
265
274
  ref_for: !0,
266
275
  ref: (e) => {
@@ -272,12 +281,12 @@ var ne = ["role"], re = [
272
281
  disabled: e.disabled,
273
282
  class: e.disabled && "is-disabled",
274
283
  onClick: (n) => $(e.value, t)
275
- }), [j(f.$slots, "option", {
284
+ }), [A(f.$slots, "option", {
276
285
  option: e,
277
286
  active: W(e.value)
278
- }, () => [_(M(e.label), 1)], !0)], 16, ie))], 64))), 128))
287
+ }, () => [_(j(e.label), 1)])], 16, ie))], 64))), 128))
279
288
  ], 10, ne));
280
289
  }
281
- }), [["__scopeId", "data-v-dd84d37c"]]);
290
+ });
282
291
  //#endregion
283
- export { I as SegmentedTabs };
292
+ export { L as SegmentedTabs };
package/dist/timeline.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./_plugin-vue_export-helper-ok8pgSl5.js";
2
- import { t } from "./HoverPopover-2LOIW34a.js";
2
+ import { t } from "./HoverPopover-CISOJQuZ.js";
3
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
5
  function S(e) {
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-1rYWrmAm.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-D6q4HtXu.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-COu_4IW4.js";
1
+ import { n as e, t } from "./ToggleGroupItem-D_AHlRw9.js";
2
2
  export { e as ToggleGroup, t as ToggleGroupItem };
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-CmZzCuaG.js";
1
+ import { i as e, n as t, r as n, t as r } from "./TooltipProvider-B3MkB_8P.js";
2
2
  export { e as Tooltip, n as TooltipContent, r as TooltipProvider, t as TooltipTrigger };
@@ -0,0 +1 @@
1
+ export * from "./components/custom/underline";
@@ -0,0 +1,85 @@
1
+ import { t as e } from "./_plugin-vue_export-helper-ok8pgSl5.js";
2
+ import { computed as t, createElementBlock as n, createElementVNode as r, defineComponent as i, normalizeStyle as a, onMounted as o, openBlock as s, ref as c, renderSlot as l, unref as u, useCssVars as d, useId as f, watch as p } from "vue";
3
+ import { NumericAnimation as m } from "@mkbabb/keyframes.js";
4
+ import { easeOutCubic as h } from "@mkbabb/value.js";
5
+ //#region src/components/custom/underline/GlassUnderline.vue?vue&type=script&setup=true&lang.ts
6
+ var g = ["data-gu-clock", "data-gu-variant"], _ = ["viewBox"], v = ["id", "d"], y = ["d"], b = 120, x = "M1,6 C18,3 30,8 48,5 S78,3 99,6", S = "M1,7.1 C20,5 32,9 50,6.2 S80,5 99,7", C = /* @__PURE__ */ e(/* @__PURE__ */ i({
7
+ __name: "GlassUnderline",
8
+ props: {
9
+ clock: { default: "load" },
10
+ variant: { default: "pen" },
11
+ color: { default: void 0 },
12
+ drawMs: { default: 700 },
13
+ easing: {
14
+ type: Function,
15
+ default: void 0
16
+ },
17
+ timeline: { default: void 0 },
18
+ active: {
19
+ type: Boolean,
20
+ default: void 0
21
+ },
22
+ paths: { default: void 0 }
23
+ },
24
+ setup(e, { expose: i }) {
25
+ d((e) => ({ v237e7abc: C.color ?? "var(--primary)" }));
26
+ let C = e;
27
+ function w() {
28
+ return typeof window > "u" || typeof window.matchMedia != "function" ? !1 : window.matchMedia("(prefers-reduced-motion: reduce)").matches;
29
+ }
30
+ let T = w(), E = t(() => C.paths?.stroke ?? x), D = t(() => C.paths?.ghost ?? S), O = t(() => C.paths?.viewBox ?? "0 0 100 10"), k = t(() => C.paths?.len ?? b), A = f(), j = t(() => C.clock === "scroll" ? T ? "static" : "scroll" : C.clock === "static" ? "static" : "load"), M = c(C.clock === "load" && !T && C.active !== !0 ? k.value : 0), N = null;
31
+ async function P() {
32
+ if (C.clock === "load") {
33
+ if (T) {
34
+ M.value = 0;
35
+ return;
36
+ }
37
+ N?.stop(), M.value = k.value, N = new m([{ off: k.value }, { off: 0 }], {
38
+ duration: C.drawMs,
39
+ timingFunction: C.easing ?? h,
40
+ respectReducedMotion: !0
41
+ }), await N.play((e) => {
42
+ M.value = e.off;
43
+ });
44
+ }
45
+ }
46
+ function F() {
47
+ N?.stop(), M.value = 0;
48
+ }
49
+ function I() {
50
+ N?.stop(), M.value = C.clock === "load" && !T ? k.value : 0;
51
+ }
52
+ return p(() => C.active, (e, t) => {
53
+ C.clock === "load" && (e === !0 && t !== !0 ? T ? F() : P() : e === !1 && t === !0 && I());
54
+ }), o(() => {
55
+ C.clock === "load" && C.active === !0 && (T ? F() : P());
56
+ }), i({
57
+ play: P,
58
+ snap: F
59
+ }), (t, i) => (s(), n("span", {
60
+ class: "glass-underline",
61
+ "data-gu-clock": j.value,
62
+ "data-gu-variant": e.variant,
63
+ style: a(e.timeline ? { "--gu-timeline": e.timeline } : void 0)
64
+ }, [l(t.$slots, "default", {}, void 0, !0), (s(), n("svg", {
65
+ class: "glass-underline__ink",
66
+ viewBox: O.value,
67
+ preserveAspectRatio: "none",
68
+ "aria-hidden": "true",
69
+ focusable: "false",
70
+ style: a({
71
+ "--gu-off": String(M.value),
72
+ "--gu-len": String(k.value)
73
+ })
74
+ }, [r("path", {
75
+ id: `gu-stroke-${u(A)}`,
76
+ class: "glass-underline__stroke",
77
+ d: E.value
78
+ }, null, 8, v), r("path", {
79
+ class: "glass-underline__stroke glass-underline__stroke--ghost",
80
+ d: D.value
81
+ }, null, 8, y)], 12, _))], 12, g));
82
+ }
83
+ }), [["__scopeId", "data-v-20b5d619"]]);
84
+ //#endregion
85
+ export { C as GlassUnderline };
@@ -1,4 +1,4 @@
1
- import { n as e, t } from "./constants-yKeKnE84.js";
1
+ import { n as e, t } from "./constants-CS75AWHG.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
@@ -1,9 +1,9 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
- import { t } from "./createLucideIcon-B6uNAU9G.js";
3
- import { t as n } from "./chevron-down-BSkTP2aL.js";
2
+ import { t } from "./createLucideIcon-DydS2qgk.js";
3
+ import { t as n } from "./chevron-down-DKkxb4VV.js";
4
4
  import { t as r } from "./_plugin-vue_export-helper-ok8pgSl5.js";
5
- import { t as i } from "./createContext-B44Sah_H.js";
6
- import { t as a } from "./Label-zRfbQdCn.js";
5
+ import { t as i } from "./createContext-BM46COQ-.js";
6
+ import { t as a } from "./Label-r3WzWrsj.js";
7
7
  import { Fragment as o, computed as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, createTextVNode as d, createVNode as f, defineComponent as p, mergeModels as m, normalizeClass as h, normalizeStyle as g, openBlock as _, reactive as v, ref as y, renderList as b, renderSlot as x, toDisplayString as S, toRaw as C, unref as w, useId as T, useModel as E, withCtx as D } from "vue";
8
8
  var O = t("rotate-ccw", [["path", {
9
9
  d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",
@@ -56,7 +56,7 @@ var M = k.use, N = {
56
56
  setup(t, { emit: n }) {
57
57
  let r = t;
58
58
  j(s(() => r.density));
59
- let i = n, a = s(() => e("configurator glass-floating rounded-panel border border-border/60 overflow-hidden", "grid grid-cols-1", "lg:grid-cols-[minmax(0,1fr)_minmax(var(--configurator-aside-min,280px),var(--configurator-aside-max,360px))]", "min-h-0", r.class)), d = s(() => {
59
+ let i = n, a = s(() => e("configurator glass-floating rounded-panel border border-border/60 overflow-hidden", "grid grid-cols-1", "grid-rows-[minmax(var(--configurator-stage-min,18rem),auto)_minmax(0,1fr)] lg:grid-rows-none", "lg:grid-cols-[minmax(0,1fr)_minmax(var(--configurator-aside-min,280px),var(--configurator-aside-max,360px))]", "min-h-0", r.class)), d = s(() => {
60
60
  if (r.asideWidth == null) return;
61
61
  let [e, t] = Array.isArray(r.asideWidth) ? r.asideWidth : [r.asideWidth, r.asideWidth];
62
62
  return {
@@ -100,7 +100,7 @@ var M = k.use, N = {
100
100
  "aria-expanded",
101
101
  "aria-controls",
102
102
  "data-state"
103
- ], V = { class: "flex min-w-0 items-baseline gap-2" }, H = { class: "text-small font-semibold text-foreground" }, U = {
103
+ ], V = { class: "flex min-w-0 items-baseline gap-2" }, H = { class: "configurator-section-label truncate" }, U = {
104
104
  key: 0,
105
105
  class: "truncate text-micro font-mono text-muted-foreground/70"
106
106
  }, W = [
@@ -174,7 +174,7 @@ var M = k.use, N = {
174
174
  style: g({ gridTemplateRows: i.value ? "1fr" : "0fr" })
175
175
  }, [u("div", G, [u("div", { class: h(w(e)("configurator-layer-body px-3 py-2 space-y-2", r.dividers && "[&>*+*]:border-t [&>*+*]:border-border/30 [&>*+*]:pt-2", r.bodyClass)) }, [x(a.$slots, "default", {}, void 0, !0)], 2)])], 12, W)], 10, z));
176
176
  }
177
- }), [["__scopeId", "data-v-1e14935d"]]), q = ["data-density"], J = { class: "flex items-baseline justify-between gap-3" }, Y = { class: "flex min-w-0 items-baseline gap-2" }, X = {
177
+ }), [["__scopeId", "data-v-95bc81d9"]]), q = ["data-density"], J = { class: "flex items-baseline justify-between gap-3" }, Y = { class: "flex min-w-0 items-baseline gap-2" }, X = {
178
178
  key: 0,
179
179
  class: "truncate text-micro font-mono text-muted-foreground/70"
180
180
  }, Z = ["aria-label"], Q = { class: "flex items-center" }, $ = {
@@ -222,7 +222,7 @@ var M = k.use, N = {
222
222
  t.description ? (_(), l("p", $, S(t.description), 1)) : c("", !0)
223
223
  ], 10, q));
224
224
  }
225
- }), [["__scopeId", "data-v-377e5920"]]);
225
+ }), [["__scopeId", "data-v-8769aea9"]]);
226
226
  //#endregion
227
227
  //#region src/components/custom/configurator/useConfiguratorState.ts
228
228
  function te(e) {
@@ -7,39 +7,20 @@ var a, o = n(() => {
7
7
  disableTransition: !1
8
8
  }), o = i(n), s = e(!1);
9
9
  function c() {
10
- s.value && document.documentElement.classList.add("no-transition"), o(), s.value && requestAnimationFrame(() => {
10
+ s.value && (document.documentElement.classList.add("no-transition"), document.documentElement.offsetHeight), o(), s.value && requestAnimationFrame(() => {
11
11
  document.documentElement.classList.remove("no-transition");
12
12
  });
13
13
  }
14
14
  function l(e) {
15
15
  s.value = e;
16
16
  }
17
- let u = /* @__PURE__ */ new Set(), d = !1, f = !1;
18
- function p(e) {
19
- if (u.size === 0 || (f = e, d)) return;
20
- d = !0;
21
- let t = () => {
22
- d = !1;
23
- let e = f;
24
- for (let t of [...u]) t(e);
25
- };
26
- typeof requestAnimationFrame == "function" ? requestAnimationFrame(t) : setTimeout(t, 0);
27
- }
28
- function m(e) {
29
- return u.add(e), () => {
30
- u.delete(e);
31
- };
32
- }
33
17
  return t(n, (e) => {
34
18
  document.documentElement.style.colorScheme = e ? "dark" : "light";
35
- }, { immediate: !0 }), t(n, (e) => {
36
- p(e);
37
- }), {
19
+ }, { immediate: !0 }), {
38
20
  isDark: n,
39
21
  toggleDark: c,
40
22
  disableTransitions: s,
41
- setDisableTransitions: l,
42
- onFlipSettled: m
23
+ setDisableTransitions: l
43
24
  };
44
25
  });
45
26
  function s(e) {
@@ -0,0 +1,30 @@
1
+ import { computed as e, ref as t } from "vue";
2
+ //#region src/composables/motion/useLiquidFlex.ts
3
+ function n(n) {
4
+ let { axis: r } = n, i = n.squishK ?? 1.6, a = n.squishLaw ?? "tanh", o = () => typeof n.maxStretch == "function" ? n.maxStretch() : n.maxStretch ?? 1.08, s = () => typeof n.from == "function" ? n.from() : n.from, c = () => typeof n.to == "function" ? n.to() : n.to, l = t(0), u = t(0);
5
+ function d(e) {
6
+ let t = e < 0 ? 0 : e > 1 ? 1 : e;
7
+ u.value = Math.abs(t - l.value), l.value = t;
8
+ }
9
+ function f(e) {
10
+ u.value = e < 0 ? 0 : e;
11
+ }
12
+ let p = e(() => {
13
+ let e = s();
14
+ return e + (c() - e) * l.value;
15
+ }), m = e(() => {
16
+ let e = o(), t = a === "linear" ? 1 + u.value * (e - 1) : 1 + Math.tanh(u.value * i) * (e - 1);
17
+ return t > e ? e : t;
18
+ });
19
+ return {
20
+ t: l,
21
+ size: p,
22
+ stretch: m,
23
+ sizeStyle: e(() => ({ [r]: `${p.value}px` })),
24
+ stretchStyle: e(() => ({ "--stretch": String(m.value) })),
25
+ drive: d,
26
+ squish: f
27
+ };
28
+ }
29
+ //#endregion
30
+ export { n as t };