@mkbabb/glass-ui 4.0.0 → 4.0.1

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 (394) hide show
  1. package/README.md +3 -1
  2. package/dist/CardAction-CW7a0m8M.js +253 -0
  3. package/dist/{CommandShortcut-DdtWXxOK.js → CommandShortcut-DvZNQ_HF.js} +4 -4
  4. package/dist/ConfiguratorRow-BR4l-ixA.js +143 -0
  5. package/dist/{ContextMenuContent-ON3x7cuk.js → ContextMenuContent-uWnVxDab.js} +1 -1
  6. package/dist/{ContextMenuSubContent-B0Vs6atR.js → ContextMenuSubContent-xol4sD2q.js} +32 -37
  7. package/dist/{DataTable-C464Zbqd.js → DataTable-CuKwF7wr.js} +4 -4
  8. package/dist/{DialogContent-DDE6pQBU.js → DialogContent-DcKK8k9i.js} +5 -5
  9. package/dist/{DialogFooter-8eZbdmPc.js → DialogFooter-BZNX5aVr.js} +3 -3
  10. package/dist/{FadingScroll-DwNnvKMs.js → FadingScroll-DI6hQhT9.js} +1 -1
  11. package/dist/{HoverCardContent-DkMaQzH5.js → HoverCardContent-b2uaAMRR.js} +1 -1
  12. package/dist/{HoverPopover-Dpzwvc4t.js → HoverPopover-CbqbNwgU.js} +2 -2
  13. package/dist/{IconChip-BDw1j5mu.js → IconChip-BTD-nay5.js} +3 -2
  14. package/dist/{IconTooltip-DSjasZIt.js → IconTooltip-Bl8gFZ8d.js} +1 -1
  15. package/dist/{Input-DVG_J0ne.js → Input-h9v5LeXf.js} +1 -1
  16. package/dist/{MetricBadge-BpC0R_Ec.js → MetricBadge-RHdBP72w.js} +1 -1
  17. package/dist/Notification-VUwexFUf.js +43 -0
  18. package/dist/NumberFieldContent-Cq7EzX-U.js +138 -0
  19. package/dist/{PopoverContent-BTorlp--.js → PopoverContent-DL7E6vJP.js} +4 -4
  20. package/dist/{Progress-hAT4gqGH.js → Progress-DctG61iZ.js} +4 -4
  21. package/dist/{ScrollingText-CUVFTWk2.js → ScrollingText-yOpBzFYq.js} +2 -2
  22. package/dist/{SelectScrollDownButton-C1jb3b3K.js → SelectScrollDownButton-CrA8F0iV.js} +18 -19
  23. package/dist/Toaster-Bw4xR8xV.js +274 -0
  24. package/dist/{ToggleGroupItem-Dzk9hWsF.js → ToggleGroupItem-pEM9vIhs.js} +50 -37
  25. package/dist/{TooltipProvider-B3MkB_8P.js → TooltipProvider-rzvnXz60.js} +1 -1
  26. package/dist/animated-digit.js +2 -2
  27. package/dist/api/index.d.ts +8 -3
  28. package/dist/api/types-extra.d.ts +6 -0
  29. package/dist/aurora.js +885 -242
  30. package/dist/badge.js +1 -1
  31. package/dist/border-progress.d.ts +1 -0
  32. package/dist/border-progress.js +106 -0
  33. package/dist/{button-BNDWhAZb.js → button-DYCUa-tH.js} +71 -26
  34. package/dist/button.js +1 -1
  35. package/dist/canvas.js +2 -2
  36. package/dist/card.js +2 -2
  37. package/dist/carousel.js +93 -110
  38. package/dist/collapsible.js +1 -1
  39. package/dist/command.js +1 -1
  40. package/dist/compile-CQEFRTmx.js +19 -0
  41. package/dist/components/custom/aurora/composables/atoms-fields.d.ts +39 -0
  42. package/dist/components/custom/aurora/composables/auroraFallbackGround.d.ts +108 -0
  43. package/dist/components/custom/aurora/composables/runtime.d.ts +19 -0
  44. package/dist/components/custom/aurora/composables/uniformBridge.d.ts +5 -1
  45. package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +51 -0
  46. package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +29 -0
  47. package/dist/components/custom/aurora/constants/budget.d.ts +21 -0
  48. package/dist/components/custom/aurora/constants/presets.d.ts +2 -2
  49. package/dist/components/custom/aurora/constants/renderMode.d.ts +63 -12
  50. package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +1 -0
  51. package/dist/components/custom/aurora/constants/shaders/oil-modes.glsl.d.ts +1 -0
  52. package/dist/components/custom/aurora/constants/shaders/procedural-color.wgsl.d.ts +4 -0
  53. package/dist/components/custom/aurora/index.d.ts +2 -1
  54. package/dist/components/custom/border-progress/BorderProgress.vue.d.ts +46 -0
  55. package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +22 -0
  56. package/dist/components/custom/border-progress/constants.d.ts +59 -0
  57. package/dist/components/custom/border-progress/index.d.ts +4 -0
  58. package/dist/components/custom/concentric/Concentric.vue.d.ts +39 -0
  59. package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +11 -0
  60. package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +13 -0
  61. package/dist/components/custom/concentric/composables/ringField.d.ts +44 -0
  62. package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +13 -0
  63. package/dist/components/custom/concentric/composables/useConcentric.d.ts +35 -0
  64. package/dist/components/custom/concentric/constants.d.ts +43 -0
  65. package/dist/components/custom/concentric/index.d.ts +5 -0
  66. package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +4 -0
  67. package/dist/components/custom/concentric/shaders/concentric.wgsl.d.ts +1 -0
  68. package/dist/components/custom/dock/DockIconButton.vue.d.ts +13 -4
  69. package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +10 -2
  70. package/dist/components/custom/dock/composables/dockMorphMeasure.d.ts +75 -0
  71. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +13 -0
  72. package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +38 -0
  73. package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +41 -0
  74. package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +24 -0
  75. package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +34 -0
  76. package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +18 -0
  77. package/dist/components/custom/dot-flow-field/constants.d.ts +48 -0
  78. package/dist/components/custom/dot-flow-field/index.d.ts +5 -0
  79. package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +1 -0
  80. package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +20 -0
  81. package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +1 -0
  82. package/dist/components/custom/easing/EasingConfigurator.vue.d.ts +33 -0
  83. package/dist/components/custom/easing/EasingPicker.vue.d.ts +49 -0
  84. package/dist/components/custom/easing/composables/useEasingPicker.d.ts +75 -0
  85. package/dist/components/custom/easing/constants.d.ts +28 -0
  86. package/dist/components/custom/easing/index.d.ts +3 -0
  87. package/dist/components/custom/fourier-field/FourierField.vue.d.ts +12 -2
  88. package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +39 -0
  89. package/dist/components/custom/fourier-field/constants.d.ts +7 -0
  90. package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +1 -1
  91. package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +4 -2
  92. package/dist/components/custom/goo-blob/composables/uniformBridgeWGPU.d.ts +24 -0
  93. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +18 -11
  94. package/dist/components/custom/goo-blob/composables/wgpuSetup.d.ts +23 -0
  95. package/dist/components/custom/goo-blob/shaders/metaball.wgsl.d.ts +1 -0
  96. package/dist/components/custom/handmark/HandMark.vue.d.ts +1 -1
  97. package/dist/components/custom/icon-chip/types.d.ts +11 -1
  98. package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +3 -1
  99. package/dist/components/custom/metric-stack/MetricStack.vue.d.ts +1 -1
  100. package/dist/components/custom/spa-view/SpaView.vue.d.ts +50 -0
  101. package/dist/components/custom/spa-view/index.d.ts +2 -0
  102. package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +10 -0
  103. package/dist/components/custom/tabs/composables/useTabDragMorph.d.ts +42 -0
  104. package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +1 -1
  105. package/dist/components/ui/_shared/menuItemVariants.d.ts +1 -1
  106. package/dist/components/ui/badge/index.d.ts +1 -1
  107. package/dist/components/ui/button/Button.vue.d.ts +5 -2
  108. package/dist/components/ui/button/index.d.ts +2 -2
  109. package/dist/components/ui/card/Card.vue.d.ts +34 -4
  110. package/dist/components/ui/card/CardHeader.vue.d.ts +42 -16
  111. package/dist/components/ui/card/ScrollCard.vue.d.ts +33 -0
  112. package/dist/components/ui/card/ScrollCardHeader.vue.d.ts +17 -0
  113. package/dist/components/ui/card/index.d.ts +2 -0
  114. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +2 -2
  115. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +2 -2
  116. package/dist/components/ui/carousel/GlassCarouselPager.vue.d.ts +2 -2
  117. package/dist/components/ui/command/Command.vue.d.ts +1 -1
  118. package/dist/components/ui/drawer/Drawer.vue.d.ts +46 -33
  119. package/dist/components/ui/drawer/DrawerContent.vue.d.ts +7 -8
  120. package/dist/components/ui/drawer/DrawerDescription.vue.d.ts +2 -2
  121. package/dist/components/ui/drawer/DrawerOverlay.vue.d.ts +1 -1
  122. package/dist/components/ui/drawer/DrawerTitle.vue.d.ts +2 -2
  123. package/dist/components/ui/drawer/composables/drawerSnapContext.d.ts +26 -0
  124. package/dist/components/ui/drawer/composables/useDrawerSnap.d.ts +17 -0
  125. package/dist/components/ui/drawer/constants.d.ts +45 -0
  126. package/dist/components/ui/drawer/index.d.ts +23 -15
  127. package/dist/components/ui/focus-scope/FocusScope.vue.d.ts +20 -0
  128. package/dist/components/ui/focus-scope/index.d.ts +2 -0
  129. package/dist/components/ui/index.d.ts +1 -0
  130. package/dist/components/ui/progress/ProgressDefault.vue.d.ts +3 -2
  131. package/dist/components/ui/select/SelectContent.vue.d.ts +1 -1
  132. package/dist/components/ui/sheet/index.d.ts +1 -1
  133. package/dist/components/ui/tags-input/TagsInput.vue.d.ts +2 -2
  134. package/dist/components/ui/toast/Toast.vue.d.ts +5 -2
  135. package/dist/components/ui/toast/use-toast.d.ts +14 -0
  136. package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
  137. package/dist/composables/glass/canvas2d/useCanvas2D.d.ts +13 -6
  138. package/dist/composables/glass/index.d.ts +5 -2
  139. package/dist/composables/glass/useSpecularPointer.d.ts +33 -0
  140. package/dist/composables/glass/useSpecularTracking.d.ts +20 -0
  141. package/dist/composables/glass/vSpecular.d.ts +2 -0
  142. package/dist/composables/glass/webgl/shaders/flow.glsl.d.ts +1 -0
  143. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +16 -0
  144. package/dist/composables/glass/webgpu/index.d.ts +2 -0
  145. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +54 -0
  146. package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +84 -0
  147. package/dist/composables/motion/core/index.d.ts +1 -0
  148. package/dist/composables/motion/index.d.ts +4 -0
  149. package/dist/composables/motion/useDockCtaReceive.d.ts +59 -0
  150. package/dist/composables/motion/useDragMorph.d.ts +77 -0
  151. package/dist/composables/motion/useLiquidFlex.d.ts +11 -0
  152. package/dist/composables/motion/useLiquidPress.d.ts +71 -0
  153. package/dist/composables/motion/useLiquidReveal.d.ts +51 -0
  154. package/dist/composables/motion/useNumericTransition.d.ts +3 -3
  155. package/dist/composables/motion/usePointerVelocityField.d.ts +98 -0
  156. package/dist/concentric.d.ts +1 -0
  157. package/dist/concentric.js +562 -0
  158. package/dist/configurator.js +3 -2
  159. package/dist/confirm-dialog.js +22 -24
  160. package/dist/constellation.js +11 -11
  161. package/dist/context-menu.js +3 -3
  162. package/dist/controls.js +1 -1
  163. package/dist/createCanvasLifecycle-CHD5XrDW.js +82 -0
  164. package/dist/data-table.js +1 -1
  165. package/dist/dialog.js +2 -2
  166. package/dist/dock.js +564 -457
  167. package/dist/{dockContext-Bu1Avy-a.js → dockContext-BNfyPLe9.js} +1 -1
  168. package/dist/dom.js +5 -5
  169. package/dist/dot-flow-field.d.ts +1 -0
  170. package/dist/dot-flow-field.js +604 -0
  171. package/dist/drawer.d.ts +1 -0
  172. package/dist/drawer.js +380 -0
  173. package/dist/{dropdown-menu-BJ7E9js_.js → dropdown-menu-CofSZuk8.js} +14 -15
  174. package/dist/dropdown-menu.js +1 -1
  175. package/dist/easing.d.ts +1 -0
  176. package/dist/easing.js +463 -0
  177. package/dist/expandable-container.js +7 -4
  178. package/dist/fading-scroll.js +1 -1
  179. package/dist/focus-scope.d.ts +1 -0
  180. package/dist/focus-scope.js +23 -0
  181. package/dist/forms.js +7 -7
  182. package/dist/fourier-field.js +128 -116
  183. package/dist/fourier-math.js +1 -1
  184. package/dist/glass-panel.js +2 -2
  185. package/dist/glass-ui.css +1 -1
  186. package/dist/glass-ui.js +149 -341
  187. package/dist/goo-blob.js +830 -224
  188. package/dist/handmark.js +2 -2
  189. package/dist/header-ribbon.js +1 -1
  190. package/dist/hover-card.js +1 -1
  191. package/dist/hover-popover.js +1 -1
  192. package/dist/icon-chip.js +1 -1
  193. package/dist/icon-tooltip.js +1 -1
  194. package/dist/index.d.ts +1 -1
  195. package/dist/instrument-chassis.js +1 -1
  196. package/dist/label.js +1 -1
  197. package/dist/labeled-field.js +6 -6
  198. package/dist/metric-badge.js +1 -1
  199. package/dist/metric-cell.js +1 -1
  200. package/dist/metric-stack.js +4 -8
  201. package/dist/motion-core.js +36 -36
  202. package/dist/motion-curves.js +1 -1
  203. package/dist/motion.js +157 -55
  204. package/dist/notification.js +1 -1
  205. package/dist/number-field.js +1 -1
  206. package/dist/pager-dots.js +1 -1
  207. package/dist/paper-backdrop.js +1 -1
  208. package/dist/popover.js +1 -1
  209. package/dist/{compile-EXXzEr1q.js → procedural-color.glsl-CIFsJhwI.js} +1 -155
  210. package/dist/procedural-color.wgsl-CToRHugY.js +224 -0
  211. package/dist/progress.js +1 -1
  212. package/dist/pulse.js +1 -1
  213. package/dist/reactive.js +2 -2
  214. package/dist/scrolling-text.js +1 -1
  215. package/dist/search.js +9 -11
  216. package/dist/select.js +3 -3
  217. package/dist/separator.js +1 -1
  218. package/dist/{sheet-CquRYOAw.js → sheet-tZMg0E0w.js} +5 -5
  219. package/dist/sheet.js +1 -1
  220. package/dist/{slider-DQ95MET2.js → slider-DVb4HXU-.js} +3 -3
  221. package/dist/slider.js +1 -1
  222. package/dist/sortable-list.js +3 -3
  223. package/dist/spa-view.d.ts +1 -0
  224. package/dist/spa-view.js +46 -0
  225. package/dist/styles/animations.css +33 -9
  226. package/dist/styles/border-progress.css +109 -0
  227. package/dist/styles/cards.css +76 -0
  228. package/dist/styles/components.css +1 -1
  229. package/dist/styles/critical-partition.mjs +140 -0
  230. package/dist/styles/critical.css +12 -0
  231. package/dist/styles/deferred.css +31 -0
  232. package/dist/styles/dock/density.css +45 -0
  233. package/dist/styles/dock/layers.css +54 -30
  234. package/dist/styles/dock/morph.css +124 -7
  235. package/dist/styles/dock/overflow.css +16 -2
  236. package/dist/styles/dock/shell.css +54 -16
  237. package/dist/styles/dock.css +32 -0
  238. package/dist/styles/drawer.css +81 -35
  239. package/dist/styles/glass/deep.css +44 -0
  240. package/dist/styles/glass/ladder.css +87 -31
  241. package/dist/styles/glass/material.css +78 -15
  242. package/dist/styles/glass/reveal.css +136 -0
  243. package/dist/styles/glass/rim.css +100 -0
  244. package/dist/styles/glass/surfaces.css +101 -3
  245. package/dist/styles/glass-refract.css +96 -44
  246. package/dist/styles/glass-specular-track.css +7 -0
  247. package/dist/styles/glass.css +3 -0
  248. package/dist/styles/hover-popover.css +7 -6
  249. package/dist/styles/icon-chip.css +77 -15
  250. package/dist/styles/index.css +21 -9
  251. package/dist/styles/instrument-chassis.css +66 -3
  252. package/dist/styles/scroll-choreography.css +300 -0
  253. package/dist/styles/segmented-tabs.css +31 -0
  254. package/dist/styles/theme/bridges.css +11 -0
  255. package/dist/styles/theme/literals.css +11 -2
  256. package/dist/styles/theme/radius.css +6 -1
  257. package/dist/styles/tokens/dark-arm.css +98 -26
  258. package/dist/styles/tokens/glass-deep.css +75 -0
  259. package/dist/styles/tokens/glass-fx.css +333 -0
  260. package/dist/styles/tokens/glass.css +39 -319
  261. package/dist/styles/tokens/light-dark.css +15 -2
  262. package/dist/styles/tokens/offsets.css +116 -0
  263. package/dist/styles/tokens/on-glass-fg.css +39 -0
  264. package/dist/styles/tokens/property-regs.css +127 -0
  265. package/dist/styles/tokens/scale-paper.css +117 -89
  266. package/dist/styles/tokens/scheme-motion.css +70 -32
  267. package/dist/styles/tokens/scroll-tokens.css +123 -0
  268. package/dist/styles/tokens/{offsets-sizing.css → sizing.css} +37 -100
  269. package/dist/styles/tokens.css +9 -3
  270. package/dist/styles/typography/semantic.css +8 -8
  271. package/dist/styles/typography/utilities.css +22 -7
  272. package/dist/styles/utilities/animate.css +27 -24
  273. package/dist/styles/utilities/base-misc.css +255 -0
  274. package/dist/styles/utilities/base.css +47 -261
  275. package/dist/styles/utilities/btn.css +3 -1
  276. package/dist/styles/utilities/metal.css +189 -0
  277. package/dist/styles/utilities.css +14 -7
  278. package/dist/switch.js +1 -1
  279. package/dist/tabs.js +220 -107
  280. package/dist/timeline.js +2 -2
  281. package/dist/toast.js +1 -1
  282. package/dist/toggle-group.js +1 -1
  283. package/dist/tooltip.js +1 -1
  284. package/dist/typewriter.js +1 -1
  285. package/dist/useCanvas2D-B8w_E3Rr.js +83 -0
  286. package/dist/useConfiguratorState-DNlOh6c8.js +161 -0
  287. package/dist/useDragMorph-DgxnsVJz.js +102 -0
  288. package/dist/useLiquidPress-kfb4KX79.js +39 -0
  289. package/dist/usePointerVelocityField-JbRd5CrM.js +137 -0
  290. package/dist/useSpring-C0jyvEJB.js +40 -0
  291. package/dist/useSpringMount-q1amq1SJ.js +71 -0
  292. package/dist/useSpringPress-BsqPr7FJ.js +34 -0
  293. package/dist/{useTouchGate-28Tk2-t2.js → useTouchGate-CBZTD4SD.js} +1 -1
  294. package/dist/vSpecular-CQFmLNzA.js +68 -0
  295. package/dist/vendor-CKmzio-i.js +226 -0
  296. package/dist/watercolor-dot.js +2 -2
  297. package/package.json +126 -22
  298. package/src/styles/animations.css +33 -9
  299. package/src/styles/border-progress.css +109 -0
  300. package/src/styles/cards.css +76 -0
  301. package/src/styles/critical-partition.mjs +140 -0
  302. package/src/styles/dock/density.css +45 -0
  303. package/src/styles/dock/layers.css +54 -30
  304. package/src/styles/dock/morph.css +124 -7
  305. package/src/styles/dock/overflow.css +16 -2
  306. package/src/styles/dock/shell.css +54 -16
  307. package/src/styles/dock.css +32 -0
  308. package/src/styles/drawer.css +81 -35
  309. package/src/styles/glass/deep.css +44 -0
  310. package/src/styles/glass/ladder.css +87 -31
  311. package/src/styles/glass/material.css +78 -15
  312. package/src/styles/glass/reveal.css +136 -0
  313. package/src/styles/glass/rim.css +100 -0
  314. package/src/styles/glass/surfaces.css +101 -3
  315. package/src/styles/glass-refract.css +96 -44
  316. package/src/styles/glass-specular-track.css +7 -0
  317. package/src/styles/glass.css +3 -0
  318. package/src/styles/hover-popover.css +7 -6
  319. package/src/styles/icon-chip.css +77 -15
  320. package/src/styles/index.css +12 -0
  321. package/src/styles/instrument-chassis.css +66 -3
  322. package/src/styles/scroll-choreography.css +300 -0
  323. package/src/styles/segmented-tabs.css +31 -0
  324. package/src/styles/theme/bridges.css +11 -0
  325. package/src/styles/theme/literals.css +11 -2
  326. package/src/styles/theme/radius.css +6 -1
  327. package/src/styles/tokens/dark-arm.css +98 -26
  328. package/src/styles/tokens/glass-deep.css +75 -0
  329. package/src/styles/tokens/glass-fx.css +333 -0
  330. package/src/styles/tokens/glass.css +39 -319
  331. package/src/styles/tokens/light-dark.css +15 -2
  332. package/src/styles/tokens/offsets.css +116 -0
  333. package/src/styles/tokens/on-glass-fg.css +39 -0
  334. package/src/styles/tokens/property-regs.css +127 -0
  335. package/src/styles/tokens/scale-paper.css +117 -89
  336. package/src/styles/tokens/scheme-motion.css +70 -32
  337. package/src/styles/tokens/scroll-tokens.css +123 -0
  338. package/src/styles/tokens/{offsets-sizing.css → sizing.css} +37 -100
  339. package/src/styles/tokens.css +9 -3
  340. package/src/styles/typography/semantic.css +8 -8
  341. package/src/styles/typography/utilities.css +22 -7
  342. package/src/styles/utilities/animate.css +27 -24
  343. package/src/styles/utilities/base-misc.css +255 -0
  344. package/src/styles/utilities/base.css +47 -261
  345. package/src/styles/utilities/btn.css +3 -1
  346. package/src/styles/utilities/metal.css +189 -0
  347. package/src/styles/utilities.css +14 -7
  348. package/dist/CardAction-XH4YBVEK.js +0 -158
  349. package/dist/Notification-DKjKsQq8.js +0 -100
  350. package/dist/NumberFieldContent-1VtwDSgf.js +0 -145
  351. package/dist/Toaster-Bm_HQSpc.js +0 -263
  352. package/dist/check-njhk-vfu.js +0 -7
  353. package/dist/chevron-down-DKkxb4VV.js +0 -7
  354. package/dist/chevron-right-CPXbqQQz.js +0 -7
  355. package/dist/chevron-up-n_24SqI-.js +0 -7
  356. package/dist/createLucideIcon-DydS2qgk.js +0 -43
  357. package/dist/minimize-2-BV31Ob_h.js +0 -38
  358. package/dist/search-BSGrf2Sk.js +0 -12
  359. package/dist/useCanvas2D-ClrQuZtp.js +0 -96
  360. package/dist/useConfiguratorState-kiIlun8I.js +0 -303
  361. package/dist/useSpecularTracking-Bo5su68i.js +0 -32
  362. package/dist/useSpringMount-CvopqiFr.js +0 -108
  363. package/dist/useViewTransition-COsPjQVZ.js +0 -47
  364. package/dist/x-BUwTKe50.js +0 -10
  365. /package/dist/{CollapsibleContent-C_s6fG7r.js → CollapsibleContent-68dEXIAl.js} +0 -0
  366. /package/dist/{InstrumentChassis-UUJX0-mW.js → InstrumentChassis-Bx0F_q5g.js} +0 -0
  367. /package/dist/{Label-Ck9SWEKM.js → Label-C2ejNWeC.js} +0 -0
  368. /package/dist/{ModalOverlay-CkPRRgl_.js → ModalOverlay-D1VrWyoi.js} +0 -0
  369. /package/dist/{PaperBackdrop-nBKe0vkB.js → PaperBackdrop-Vf3tlpvd.js} +0 -0
  370. /package/dist/{SelectGroup-Dcczq44n.js → SelectGroup-DwwjicPY.js} +0 -0
  371. /package/dist/{SelectSeparator-DK2y1Bun.js → SelectSeparator-DXswVdRz.js} +0 -0
  372. /package/dist/{Separator-BArl4OaB.js → Separator-pKF0oA4M.js} +0 -0
  373. /package/dist/{Switch-Dr--uLGH.js → Switch-CwYNf8bo.js} +0 -0
  374. /package/dist/{_plugin-vue_export-helper-CBt_VvXa.js → _plugin-vue_export-helper-C1je1s0u.js} +0 -0
  375. /package/dist/{badge-UILT_3pZ.js → badge-D9XWW4GT.js} +0 -0
  376. /package/dist/{createContext-B2RaZ-b8.js → createContext-CpBNTRMI.js} +0 -0
  377. /package/dist/{math-DeuJwLFx.js → math-BINYmg5z.js} +0 -0
  378. /package/dist/{menuItemVariants-DWRQXBxJ.js → menuItemVariants-D8VNHq22.js} +0 -0
  379. /package/dist/{prng-Cg22zv8g.js → prng-Za0Rmgag.js} +0 -0
  380. /package/dist/{resolveCanvasColor-BBiYfp8g.js → resolveCanvasColor-CUyHr5Uu.js} +0 -0
  381. /package/dist/{springPresets-WXaLbu8u.js → springPresets-CFQGQfdl.js} +0 -0
  382. /package/dist/{useAnimatedNumber-C_3wZLx4.js → useAnimatedNumber-BfUq2bUM.js} +0 -0
  383. /package/dist/{useInterval-CNdua40W.js → useInterval-CvK1mL92.js} +0 -0
  384. /package/dist/{useLiquidFlex-C12hXwOZ.js → useLiquidFlex-mZPMiNXh.js} +0 -0
  385. /package/dist/{useRAFLoop-CdwJ7284.js → useRAFLoop-UYa4zoiN.js} +0 -0
  386. /package/dist/{useResizeObserver-V6nq5gJb.js → useResizeObserver-Bpoi7tRE.js} +0 -0
  387. /package/dist/{useResolveTokenColor-NUG2zYAW.js → useResolveTokenColor-vAylyR0x.js} +0 -0
  388. /package/dist/{useSortable-BVqlJRBR.js → useSortable-DHjtZSEd.js} +0 -0
  389. /package/dist/{useSurfaceAxis-CMnF2zHb.js → useSurfaceAxis-g0NloYEF.js} +0 -0
  390. /package/dist/{useTextHighlight-NmBM5V_4.js → useTextHighlight-CWEi25hf.js} +0 -0
  391. /package/dist/{useTimer-B_PAasDL.js → useTimer-BHJOKr35.js} +0 -0
  392. /package/dist/{useUserInvalidAria-CDfJuakL.js → useUserInvalidAria-y5namzeE.js} +0 -0
  393. /package/dist/{useViewportReady-CvBcCYDf.js → useViewportReady-anbac3m6.js} +0 -0
  394. /package/dist/{vReveal-D9k0jADx.js → vReveal-Czsb7zQC.js} +0 -0
@@ -0,0 +1,161 @@
1
+ import { t as e } from "./cn-DJXf4yaB.js";
2
+ import { t } from "./FadingScroll-DI6hQhT9.js";
3
+ import { i as n } from "./ConfiguratorRow-BR4l-ixA.js";
4
+ import { Fragment as r, computed as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createVNode as l, defineComponent as u, normalizeClass as d, normalizeStyle as f, openBlock as p, reactive as m, ref as h, renderList as g, renderSlot as _, toDisplayString as v, toRaw as y, unref as b, withCtx as x } from "vue";
5
+ //#region src/components/custom/configurator/Configurator.vue?vue&type=script&setup=true&lang.ts
6
+ var S = {
7
+ key: 0,
8
+ class: "configurator-presets shrink-0 border-b px-3 py-2"
9
+ }, C = [
10
+ "aria-selected",
11
+ "data-active",
12
+ "onClick"
13
+ ], w = { class: "flex flex-col" }, T = {
14
+ key: 2,
15
+ class: "configurator-controls flex-1 min-h-0 overflow-visible"
16
+ }, E = { class: "flex flex-col" }, D = {
17
+ key: 3,
18
+ class: "configurator-footer shrink-0 border-t px-3 py-2"
19
+ }, O = /* @__PURE__ */ u({
20
+ __name: "Configurator",
21
+ props: {
22
+ presets: {},
23
+ activePreset: {},
24
+ layers: {},
25
+ activeLayer: {},
26
+ scrollMode: { default: "auto" },
27
+ density: { default: "comfortable" },
28
+ asideSide: { default: "right" },
29
+ asideWidth: {},
30
+ class: { type: [
31
+ Boolean,
32
+ null,
33
+ String,
34
+ Object,
35
+ Array
36
+ ] }
37
+ },
38
+ emits: [
39
+ "select-preset",
40
+ "select-layer",
41
+ "reset"
42
+ ],
43
+ setup(u, { emit: m }) {
44
+ let h = u;
45
+ n(i(() => h.density));
46
+ let y = m, O = i(() => 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", h.class)), k = i(() => {
47
+ if (h.asideWidth == null) return;
48
+ let [e, t] = Array.isArray(h.asideWidth) ? h.asideWidth : [h.asideWidth, h.asideWidth];
49
+ return {
50
+ "--configurator-aside-min": e,
51
+ "--configurator-aside-max": t
52
+ };
53
+ }), A = i(() => h.asideSide === "left" ? "lg:col-start-2" : ""), j = i(() => h.asideSide === "left" ? "lg:col-start-1 lg:row-start-1" : ""), M = i(() => h.asideSide === "left" ? "lg:border-r lg:border-l-0" : "lg:border-l"), N = i(() => h.scrollMode !== "never");
54
+ return (n, i) => (p(), s("section", {
55
+ "data-slot": "configurator",
56
+ class: d(O.value),
57
+ style: f(k.value)
58
+ }, [c("div", { class: d(b(e)("configurator-stage relative min-h-0 min-w-0 overflow-hidden", A.value)) }, [_(n.$slots, "stage")], 2), c("aside", { class: d(b(e)("configurator-aside flex min-h-0 min-w-0 flex-col border-t lg:border-t-0", M.value, j.value)) }, [
59
+ n.$slots.presets || u.presets && u.presets.length > 0 ? (p(), s("div", S, [_(n.$slots, "presets", {
60
+ presets: u.presets,
61
+ activePreset: u.activePreset
62
+ }, () => [l(b(t), {
63
+ axis: "x",
64
+ class: "flex gap-2 scrollbar-hidden",
65
+ role: "tablist",
66
+ "aria-label": "Presets"
67
+ }, {
68
+ default: x(() => [(p(!0), s(r, null, g(u.presets, (t) => (p(), s("button", {
69
+ key: t.key,
70
+ type: "button",
71
+ role: "tab",
72
+ "data-slot": "configurator-preset",
73
+ "aria-selected": t.key === u.activePreset,
74
+ "data-active": t.key === u.activePreset || void 0,
75
+ class: d(b(e)("tap-squish focus-ring transition-control shrink-0 rounded-pill border px-3 py-1 text-xs font-medium", t.key === u.activePreset ? "glass-quiet border-border/50 text-foreground" : "border-border/40 bg-card/40 text-foreground hover:bg-card/70")),
76
+ onClick: (e) => y("select-preset", t.key)
77
+ }, v(t.label), 11, C))), 128))]),
78
+ _: 1
79
+ })])])) : o("", !0),
80
+ N.value ? (p(), a(b(t), {
81
+ key: 1,
82
+ axis: "y",
83
+ class: "configurator-controls flex-1 min-h-0 scrollbar-thin"
84
+ }, {
85
+ default: x(() => [_(n.$slots, "controls", {
86
+ layers: u.layers,
87
+ activeLayer: u.activeLayer,
88
+ selectLayer: (e) => y("select-layer", e)
89
+ }, () => [c("div", w, [_(n.$slots, "default")])])]),
90
+ _: 3
91
+ })) : (p(), s("div", T, [_(n.$slots, "controls", {
92
+ layers: u.layers,
93
+ activeLayer: u.activeLayer,
94
+ selectLayer: (e) => y("select-layer", e)
95
+ }, () => [c("div", E, [_(n.$slots, "default")])])])),
96
+ n.$slots.footer ? (p(), s("div", D, [_(n.$slots, "footer", { reset: () => y("reset") })])) : o("", !0)
97
+ ], 2)], 6));
98
+ }
99
+ });
100
+ //#endregion
101
+ //#region src/components/custom/configurator/useConfiguratorState.ts
102
+ function k(e) {
103
+ let t = y(e);
104
+ if (typeof structuredClone != "function") throw Error("[glass-ui:configurator] structuredClone is unavailable in this runtime. Pass a custom clone via ConfiguratorStateOptions.clone for environments without structured-clone support.");
105
+ try {
106
+ return structuredClone(t);
107
+ } catch (e) {
108
+ throw Error("[glass-ui:configurator] structuredClone failed: " + (e instanceof Error ? e.message : String(e)) + ". Preset values must be structured-cloneable (no functions, symbols, DOM nodes, or class instances). Pass a custom clone via ConfiguratorStateOptions.clone if the data shape requires it.");
109
+ }
110
+ }
111
+ function A(e, t) {
112
+ return JSON.stringify(e) === JSON.stringify(t);
113
+ }
114
+ function j(e) {
115
+ let t = e.clone ?? k, n = e.equals ?? A, r = e.presets, a = e.cloneMode ?? "commit-on-write", o = e.initialPreset ?? (r.length > 0 ? r[0].key : void 0), s = o ? r.find((e) => e.key === o) : void 0, c = m(s ? t(s.config) : {}), l = h(o), u = a === "per-preset" ? Object.fromEntries(r.map((e) => [e.key, t(e.config)])) : null, d = i(() => l.value), f = i(() => {
116
+ let e = l.value;
117
+ if (!e) return !1;
118
+ let t = r.find((t) => t.key === e);
119
+ return t ? !n(c, t.config) : !1;
120
+ });
121
+ function p(e) {
122
+ return r.find((t) => t.key === e);
123
+ }
124
+ function g(e) {
125
+ let t = c, n = e;
126
+ for (let e of Object.keys(t)) e in n || delete t[e];
127
+ for (let e of Object.keys(n)) t[e] = n[e];
128
+ }
129
+ function _(e) {
130
+ u && (u[e] = t(c));
131
+ }
132
+ function v(e) {
133
+ let n = p(e);
134
+ if (n) if (a === "per-preset" && u) {
135
+ let t = l.value;
136
+ t && t !== e && t in u && _(t), l.value = e, g(u[e]);
137
+ } else l.value = e, g(t(n.config));
138
+ }
139
+ function y() {
140
+ let e = l.value;
141
+ if (!e) return;
142
+ let n = p(e);
143
+ n && (a === "per-preset" && u ? (u[e] = t(n.config), g(u[e])) : g(t(n.config)));
144
+ }
145
+ function b(e = 1) {
146
+ if (r.length === 0) return;
147
+ let t = l.value, n = t ? r.findIndex((e) => e.key === t) : -1, i = r.length, a = r[(n + e + i) % i];
148
+ v(a.key);
149
+ }
150
+ return {
151
+ config: c,
152
+ activePreset: d,
153
+ isDirty: f,
154
+ selectPreset: v,
155
+ resetCurrent: y,
156
+ cyclePreset: b,
157
+ getPreset: p
158
+ };
159
+ }
160
+ //#endregion
161
+ export { O as n, j as t };
@@ -0,0 +1,102 @@
1
+ import { t as e } from "./useLiquidFlex-mZPMiNXh.js";
2
+ import { n as t } from "./springPresets-CFQGQfdl.js";
3
+ import { computed as n, onScopeDispose as r, readonly as i, ref as a } from "vue";
4
+ import { Draggable as o, SpringProgress as s, decayRest as c } from "@mkbabb/keyframes.js";
5
+ //#region src/composables/motion/useDragMorph.ts
6
+ function l() {
7
+ return typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
8
+ }
9
+ function u(u) {
10
+ let d = () => typeof u.axis == "function" ? u.axis() : u.axis, f = () => typeof u.snapTargets == "function" ? u.snapTargets() : u.snapTargets, p = u.respectReducedMotion !== !1, m = a(!1), h = a(0), { response: g, dampingFraction: _ } = t("snappy"), v = null, y = null;
11
+ function b() {
12
+ if (v) return v;
13
+ let e = new s({
14
+ response: g,
15
+ dampingFraction: _,
16
+ respectReducedMotion: p
17
+ });
18
+ return v = e, y = e.subscribe((t) => {
19
+ if (h.value = t, p && l() || x.drive(T(t)), A && !m.value && e.settled && !k) {
20
+ let e = D(t);
21
+ e != null && (k = !0, A = !1, u.onSnap(e));
22
+ }
23
+ }), e.play(() => {}), e;
24
+ }
25
+ let x = e({
26
+ from: 0,
27
+ to: 1,
28
+ axis: "width",
29
+ squishLaw: "tanh",
30
+ maxStretch: u.maxStretch ?? (() => 1.08)
31
+ }), S = n(() => p && l() ? 1 : x.stretch.value), C = a(0), w = n(() => {
32
+ if (!m.value && (v?.settled ?? !0)) return {};
33
+ let e = h.value - C.value;
34
+ return { translate: d() === "y" ? `0 ${e}px` : `${e}px 0` };
35
+ });
36
+ function T(e) {
37
+ let t = f();
38
+ if (t.length < 2) return 0;
39
+ let n = t[0].center, r = t[t.length - 1].center - n;
40
+ if (r === 0) return 0;
41
+ let i = (e - n) / r;
42
+ return i < 0 ? 0 : i > 1 ? 1 : i;
43
+ }
44
+ function E(e) {
45
+ let t = f();
46
+ if (t.length === 0) return null;
47
+ let n = t[0], r = Math.abs(e - n.center);
48
+ for (let i = 1; i < t.length; i++) {
49
+ let a = t[i], o = Math.abs(e - a.center);
50
+ o < r && (n = a, r = o);
51
+ }
52
+ return n;
53
+ }
54
+ let D = (e) => E(e)?.value ?? null;
55
+ function O() {
56
+ if (!v) return;
57
+ let e = E(c({
58
+ initial: v.value,
59
+ velocity: v.velocity,
60
+ friction: 5
61
+ }));
62
+ e && (v.target = e.center);
63
+ }
64
+ let k = !1, A = !1, j = null, M = null;
65
+ function N() {
66
+ M?.(), M = null, j?.detach();
67
+ let e = u.el.value;
68
+ e && (j = new o({
69
+ spring: b(),
70
+ axis: d()
71
+ }), e.addEventListener("pointerdown", P), M = j.attach(e));
72
+ }
73
+ function P() {
74
+ m.value = !0, k = !1, A = !0, C.value = b().value;
75
+ }
76
+ function F() {
77
+ m.value && (m.value = !1, O());
78
+ }
79
+ function I() {
80
+ typeof window > "u" || (window.addEventListener("pointerup", F), window.addEventListener("pointercancel", F));
81
+ }
82
+ function L() {
83
+ typeof window > "u" || (window.removeEventListener("pointerup", F), window.removeEventListener("pointercancel", F));
84
+ }
85
+ function R() {
86
+ m.value || N();
87
+ }
88
+ N(), I();
89
+ function z() {
90
+ u.el.value?.removeEventListener("pointerdown", P), M?.(), M = null, L(), y?.(), j?.dispose(), j = null;
91
+ }
92
+ return r(z), {
93
+ dragging: i(m),
94
+ position: i(h),
95
+ stretch: i(S),
96
+ dragStyle: w,
97
+ refresh: R,
98
+ detach: z
99
+ };
100
+ }
101
+ //#endregion
102
+ export { u as t };
@@ -0,0 +1,39 @@
1
+ import { t as e } from "./useSpringPress-BsqPr7FJ.js";
2
+ import { t } from "./useLiquidFlex-mZPMiNXh.js";
3
+ import { computed as n, watch as r } from "vue";
4
+ //#region src/composables/motion/useLiquidPress.ts
5
+ function i(i = {}) {
6
+ let a = i.shrinkDepth ?? .03, o = i.maxStretch ?? 1.04, s = i.pressVar ?? "--press-t", c = i.engageThreshold ?? .001, l = e({
7
+ response: i.response,
8
+ dampingFraction: i.dampingFraction,
9
+ initial: i.initial,
10
+ initialVelocity: i.initialVelocity,
11
+ settleThreshold: i.settleThreshold,
12
+ velocitySettleThreshold: i.velocitySettleThreshold,
13
+ respectReducedMotion: i.respectReducedMotion,
14
+ onValue: i.onValue
15
+ }), u = t({
16
+ from: 0,
17
+ to: 1,
18
+ axis: "width",
19
+ maxStretch: o,
20
+ squishLaw: "linear"
21
+ });
22
+ r(() => l.value.value, (e) => u.squish(e), {
23
+ immediate: !0,
24
+ flush: "sync"
25
+ });
26
+ let d = n(() => {
27
+ let e = l.value.value, t = u.stretch.value, n = 1 - e * a, r = (n * t).toFixed(4), i = (n / t).toFixed(4), o = { [s]: e.toFixed(4) };
28
+ return e > c && (o.scale = `${r} ${i}`), o;
29
+ });
30
+ return {
31
+ value: l.value,
32
+ press: l.press,
33
+ release: l.release,
34
+ handlers: l.handlers,
35
+ pressStyle: d
36
+ };
37
+ }
38
+ //#endregion
39
+ export { i as t };
@@ -0,0 +1,137 @@
1
+ import { onScopeDispose as e, readonly as t, ref as n } from "vue";
2
+ //#region src/utils/moveBefore.ts
3
+ function r(e, t, n) {
4
+ let r = e;
5
+ typeof r.moveBefore == "function" ? r.moveBefore(t, n) : e.insertBefore(t, n);
6
+ }
7
+ function i() {
8
+ return typeof Element < "u" && "moveBefore" in Element.prototype;
9
+ }
10
+ //#endregion
11
+ //#region src/utils/platformSupport.ts
12
+ function a() {
13
+ return typeof globalThis.scheduler?.postTask == "function";
14
+ }
15
+ //#endregion
16
+ //#region src/composables/motion/useViewTransition.ts
17
+ function o() {
18
+ return typeof document < "u" && typeof document.startViewTransition == "function";
19
+ }
20
+ function s() {
21
+ return typeof window > "u" || typeof window.matchMedia != "function" ? !1 : window.matchMedia("(prefers-reduced-motion: reduce)").matches;
22
+ }
23
+ function c(e, t) {
24
+ let n = typeof document > "u" ? void 0 : document;
25
+ if (!n || typeof n.startViewTransition != "function" || t?.instantUnderReducedMotion && s()) return {
26
+ finished: (async () => e())().then(() => void 0, () => void 0),
27
+ transitioned: !1
28
+ };
29
+ let r = t?.types && t.types.length > 0 ? n.startViewTransition({
30
+ update: () => e(),
31
+ types: t.types
32
+ }) : n.startViewTransition(() => e());
33
+ return r.ready?.catch(() => {}), {
34
+ finished: r.finished.then(() => void 0, () => void 0),
35
+ transitioned: !0
36
+ };
37
+ }
38
+ function l(e, t) {
39
+ return c(e, {
40
+ ...t,
41
+ instantUnderReducedMotion: !0
42
+ });
43
+ }
44
+ function u() {
45
+ return o();
46
+ }
47
+ //#endregion
48
+ //#region src/composables/motion/usePointerVelocityField.ts
49
+ var d = "(prefers-reduced-motion: reduce)";
50
+ function f(e) {
51
+ return e < 0 ? 0 : e > 1 ? 1 : e;
52
+ }
53
+ function p(r = {}) {
54
+ let i = r.positionLerp ?? .22, a = r.velocityLerp ?? .3, o = r.accelerationLerp ?? .3, s = r.burstDecay ?? .96, c = r.respectReducedMotion !== !1, l = typeof window < "u" && typeof window.matchMedia == "function" ? window.matchMedia(d) : null, u = l?.matches ?? !1, p = (e) => {
55
+ u = e.matches, u && x();
56
+ };
57
+ l?.addEventListener("change", p);
58
+ let m = n(!1), h = n({
59
+ x: .5,
60
+ y: .5
61
+ }), g = n({
62
+ x: .5,
63
+ y: .5
64
+ }), _ = n({
65
+ x: 0,
66
+ y: 0
67
+ }), v = n(0), y = n({
68
+ x: 0,
69
+ y: 0
70
+ }), b = n(0);
71
+ function x() {
72
+ _.value = {
73
+ x: 0,
74
+ y: 0
75
+ }, v.value = 0, y.value = {
76
+ x: 0,
77
+ y: 0
78
+ }, b.value = 0, g.value = { ...h.value };
79
+ }
80
+ function S(e, t) {
81
+ c && u || (h.value = {
82
+ x: f(e),
83
+ y: f(t)
84
+ });
85
+ }
86
+ function C(e) {
87
+ if (c && u) return;
88
+ let t = e.currentTarget;
89
+ if (!t) return;
90
+ let n = t.getBoundingClientRect();
91
+ n.width === 0 || n.height === 0 || S((e.clientX - n.left) / n.width, (e.clientY - n.top) / n.height);
92
+ }
93
+ function w() {
94
+ m.value = !0;
95
+ }
96
+ function T() {
97
+ m.value = !1;
98
+ }
99
+ function E(e) {
100
+ if (c && u || !(e > 0)) {
101
+ x();
102
+ return;
103
+ }
104
+ let t = e / 1e3, n = g.value, r = _.value, l = 1 - (1 - i) ** (t * 60), d = n.x + (h.value.x - n.x) * l, f = n.y + (h.value.y - n.y) * l, p = (d - n.x) / t, m = (f - n.y) / t, S = 1 - (1 - a) ** (t * 60), C = r.x + (p - r.x) * S, w = r.y + (m - r.y) * S, T = (C - r.x) / t, E = (w - r.y) / t, D = 1 - (1 - o) ** (t * 60), O = y.value.x + (T - y.value.x) * D, k = y.value.y + (E - y.value.y) * D, A = Math.hypot(C, w), j = s ** (t * 60), M = Math.min(1, b.value * j + A * t * 4);
105
+ g.value = {
106
+ x: d,
107
+ y: f
108
+ }, _.value = {
109
+ x: C,
110
+ y: w
111
+ }, v.value = A, y.value = {
112
+ x: O,
113
+ y: k
114
+ }, b.value = M;
115
+ }
116
+ function D() {
117
+ l?.removeEventListener("change", p);
118
+ }
119
+ return e(D), {
120
+ active: t(m),
121
+ position: t(h),
122
+ smoothedPosition: t(g),
123
+ velocity: t(_),
124
+ speed: t(v),
125
+ acceleration: t(y),
126
+ burst: t(b),
127
+ onPointerMove: C,
128
+ onPointerEnter: w,
129
+ onPointerLeave: T,
130
+ setPointer: S,
131
+ tick: E,
132
+ reset: x,
133
+ dispose: D
134
+ };
135
+ }
136
+ //#endregion
137
+ export { o as a, i as c, u as i, l as n, a as o, c as r, r as s, p as t };
@@ -0,0 +1,40 @@
1
+ import { getCurrentScope as e, onScopeDispose as t, readonly as n, ref as r, shallowRef as i, toValue as a, watch as o } from "vue";
2
+ import { SpringProgress as s } from "@mkbabb/keyframes.js";
3
+ //#region src/composables/motion/useSpring.ts
4
+ function c(c, l = {}) {
5
+ let u = l.initial ?? 0, d = l.initialVelocity ?? 0, f = r(u), p = r(d), m = r(d === 0), h = i(new s({
6
+ response: l.response ?? .5,
7
+ dampingFraction: l.dampingFraction ?? .86,
8
+ initial: u,
9
+ initialVelocity: d,
10
+ settleThreshold: l.settleThreshold ?? .001,
11
+ velocitySettleThreshold: l.velocitySettleThreshold ?? .001,
12
+ respectReducedMotion: l.respectReducedMotion !== !1
13
+ })), g = h.value.subscribe((e, t) => {
14
+ f.value = e, p.value = t, m.value = h.value.settled, l.onValue?.(e, t);
15
+ });
16
+ h.value.play(() => {});
17
+ let _ = o(() => a(c), (e) => {
18
+ e != null && (h.value.target = e);
19
+ }, { immediate: !0 });
20
+ function v() {
21
+ f.value = h.value.value, p.value = h.value.velocity, m.value = h.value.settled;
22
+ }
23
+ function y() {
24
+ _(), g(), h.value.dispose();
25
+ }
26
+ return e() && t(y), {
27
+ value: n(f),
28
+ velocity: n(p),
29
+ isSettled: n(m),
30
+ snap: () => {
31
+ h.value.snap(), v();
32
+ },
33
+ reset: (e, t) => {
34
+ h.value.reset(e ?? 0, t ?? 0), v();
35
+ },
36
+ dispose: y
37
+ };
38
+ }
39
+ //#endregion
40
+ export { c as t };
@@ -0,0 +1,71 @@
1
+ import { t as e } from "./useSpring-C0jyvEJB.js";
2
+ import { n as t } from "./springPresets-CFQGQfdl.js";
3
+ import { computed as n, nextTick as r, onMounted as i, onScopeDispose as a, ref as o, watch as s } from "vue";
4
+ //#region src/composables/motion/useSpringMount.ts
5
+ var c = Object.fromEntries([
6
+ "smooth",
7
+ "snappy",
8
+ "bouncy",
9
+ "gentle"
10
+ ].map((e) => {
11
+ let { response: n, dampingFraction: r } = t(e);
12
+ return [e, {
13
+ response: n,
14
+ dampingFraction: r
15
+ }];
16
+ }));
17
+ function l(t) {
18
+ let l = c[t.preset ?? "smooth"], u = o(1), d = o(!1), f = 0, p = 0, m = null, h = !1, g = e(u, {
19
+ response: l.response,
20
+ dampingFraction: l.dampingFraction,
21
+ initial: 1,
22
+ settleThreshold: .001,
23
+ velocitySettleThreshold: .001,
24
+ respectReducedMotion: t.respectReducedMotion !== !1
25
+ });
26
+ i(() => {
27
+ t.open.value && r(() => {
28
+ u.value = 0;
29
+ });
30
+ });
31
+ let _ = s(() => t.open.value, (e, t) => {
32
+ e !== t && (d.value || (u.value = +!e));
33
+ }, { immediate: !1 }), v = s(() => g.isSettled.value, (e) => {
34
+ e && h && u.value >= 1 && (h = !1, t.onDismiss?.());
35
+ });
36
+ function y(e) {
37
+ if (e.button !== 0) return;
38
+ let t = e.currentTarget;
39
+ p = t.getBoundingClientRect().height || 1, f = e.clientY, m = e.pointerId, d.value = !0, t.setPointerCapture(e.pointerId);
40
+ }
41
+ function b(e) {
42
+ if (!d.value || e.pointerId !== m) return;
43
+ let t = e.clientY - f;
44
+ if (t <= 0) {
45
+ u.value = 0;
46
+ return;
47
+ }
48
+ u.value = Math.min(1, t / p);
49
+ }
50
+ function x(e) {
51
+ if (!d.value || e.pointerId !== m) return;
52
+ let n = e.currentTarget;
53
+ n.hasPointerCapture(e.pointerId) && n.releasePointerCapture(e.pointerId), d.value = !1, m = null;
54
+ let r = t.dismissThreshold ?? .3;
55
+ u.value >= r ? (h = !0, u.value = 1) : u.value = 0;
56
+ }
57
+ return a(() => {
58
+ _(), v();
59
+ }), {
60
+ position: g.value,
61
+ isDragging: n(() => d.value),
62
+ dragHandlers: {
63
+ onPointerdown: y,
64
+ onPointermove: b,
65
+ onPointerup: x,
66
+ onPointercancel: x
67
+ }
68
+ };
69
+ }
70
+ //#endregion
71
+ export { l as t };
@@ -0,0 +1,34 @@
1
+ import { t as e } from "./useSpring-C0jyvEJB.js";
2
+ import { ref as t } from "vue";
3
+ //#region src/composables/motion/useSpringPress.ts
4
+ function n(n = {}) {
5
+ let r = t(0), i = e(r, {
6
+ response: n.response ?? .25,
7
+ dampingFraction: n.dampingFraction ?? .7,
8
+ initial: n.initial ?? 0,
9
+ initialVelocity: n.initialVelocity,
10
+ settleThreshold: n.settleThreshold,
11
+ velocitySettleThreshold: n.velocitySettleThreshold,
12
+ respectReducedMotion: n.respectReducedMotion,
13
+ onValue: n.onValue
14
+ });
15
+ function a() {
16
+ r.value = 1;
17
+ }
18
+ function o() {
19
+ r.value = 0;
20
+ }
21
+ return {
22
+ ...i,
23
+ press: a,
24
+ release: o,
25
+ handlers: {
26
+ onPointerdown: a,
27
+ onPointerup: o,
28
+ onPointercancel: o,
29
+ onPointerleave: o
30
+ }
31
+ };
32
+ }
33
+ //#endregion
34
+ export { n as t };
@@ -1,4 +1,4 @@
1
- import { t as e } from "./useTimer-B_PAasDL.js";
1
+ import { t as e } from "./useTimer-BHJOKr35.js";
2
2
  import { getCurrentScope as t, onScopeDispose as n, ref as r } from "vue";
3
3
  //#region src/composables/dom/useTouchGate.ts
4
4
  var i = /* @__PURE__ */ new Set(), a = !1;
@@ -0,0 +1,68 @@
1
+ import { onScopeDispose as e, ref as t } from "vue";
2
+ //#region src/composables/glass/useSpecularTracking.ts
3
+ function n(e) {
4
+ let t = typeof window < "u" && typeof window.matchMedia == "function" ? window.matchMedia("(prefers-reduced-motion: reduce)") : null, n = t?.matches ?? !1, r = (e) => {
5
+ n = e.matches;
6
+ };
7
+ t?.addEventListener("change", r);
8
+ let i = null, a = 0, o = 0, s = 0;
9
+ function c() {
10
+ s = 0;
11
+ let t = i;
12
+ if (i = null, !t) return;
13
+ let n = t.getBoundingClientRect();
14
+ n.width === 0 || n.height === 0 || e((a - n.left) / n.width * 100, (o - n.top) / n.height * 100);
15
+ }
16
+ function l(e) {
17
+ n || (i = e.currentTarget, a = e.clientX, o = e.clientY, s === 0 && (typeof requestAnimationFrame == "function" ? s = requestAnimationFrame(c) : c()));
18
+ }
19
+ function u() {
20
+ s !== 0 && typeof cancelAnimationFrame == "function" && cancelAnimationFrame(s), s = 0, i = null, t?.removeEventListener("change", r);
21
+ }
22
+ return {
23
+ onPointerMove: l,
24
+ dispose: u
25
+ };
26
+ }
27
+ function r() {
28
+ let r = t({}), i = n((e, t) => {
29
+ r.value = {
30
+ "--mouse-x": `${e.toFixed(2)}%`,
31
+ "--mouse-y": `${t.toFixed(2)}%`
32
+ };
33
+ });
34
+ return e(i.dispose), {
35
+ specularStyle: r,
36
+ onPointerMove: i.onPointerMove
37
+ };
38
+ }
39
+ //#endregion
40
+ //#region src/composables/glass/vSpecular.ts
41
+ var i = /* @__PURE__ */ new WeakMap();
42
+ function a(e) {
43
+ return e.value !== !1;
44
+ }
45
+ function o(e) {
46
+ if (i.has(e)) return;
47
+ let t = n((t, n) => {
48
+ e.style.setProperty("--mouse-x", `${t.toFixed(2)}%`), e.style.setProperty("--mouse-y", `${n.toFixed(2)}%`);
49
+ });
50
+ e.addEventListener("pointermove", t.onPointerMove), i.set(e, t);
51
+ }
52
+ function s(e) {
53
+ let t = i.get(e);
54
+ t && (e.removeEventListener("pointermove", t.onPointerMove), t.dispose(), i.delete(e));
55
+ }
56
+ function c(e, t) {
57
+ a(t) && o(e);
58
+ }
59
+ function l(e, t) {
60
+ a(t) ? o(e) : s(e);
61
+ }
62
+ var u = {
63
+ mounted: c,
64
+ updated: l,
65
+ unmounted: s
66
+ };
67
+ //#endregion
68
+ export { n, r, u as t };