@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
package/dist/easing.js ADDED
@@ -0,0 +1,463 @@
1
+ import { f as e, x as t } from "./vendor-CKmzio-i.js";
2
+ import { a as n, i as r, o as i, r as a, s as o } from "./SelectScrollDownButton-CrA8F0iV.js";
3
+ import { n as s, t as c } from "./ConfiguratorRow-BR4l-ixA.js";
4
+ import { Fragment as l, computed as u, createBlock as d, createCommentVNode as f, createElementBlock as p, createElementVNode as m, createTextVNode as h, createVNode as g, defineComponent as _, isRef as v, mergeModels as y, onUnmounted as ee, openBlock as b, ref as x, renderList as S, renderSlot as te, toDisplayString as C, unref as w, useModel as T, useTemplateRef as ne, vModelText as re, watch as E, withCtx as D, withDirectives as ie } from "vue";
5
+ import { CSSCubicBezier as O, bezierPresets as k, jumpTerms as A, steppedEase as j } from "@mkbabb/value.js";
6
+ //#region src/components/custom/easing/constants.ts
7
+ var M = "custom", N = "ease-out-back", P = (e) => 1 - e, F = .1, I = .6, ae = .1, oe = .15, L = 1200, se = 1400, R = Object.keys(k);
8
+ function z(e = {}) {
9
+ let t = x(e.initialMode ?? "bezier"), n = x(e.initialPreset ?? "ease-out-back"), r = x([...k[n.value in k ? n.value : N]]);
10
+ function i(e) {
11
+ n.value = e;
12
+ let t = k[e];
13
+ t && (r.value = [...t]);
14
+ }
15
+ function a(e, t, i) {
16
+ let a = Math.max(0, Math.min(1, t)), o = Math.max(-I, Math.min(1 + I, i)), s = [...r.value];
17
+ s[e * 2] = +a.toFixed(3), s[e * 2 + 1] = +o.toFixed(3), r.value = s, n.value = M;
18
+ }
19
+ let o = x(e.initialSteps ?? 4), s = x(e.initialTerm ?? "end"), c = u(() => {
20
+ if (t.value === "steps") return j(o.value, s.value) ?? ((e) => e);
21
+ let [e, n, i, a] = r.value;
22
+ return O(e, n, i, a);
23
+ }), l = u(() => {
24
+ if (t.value === "steps") return `steps(${o.value}, ${s.value})`;
25
+ let [e, n, i, a] = r.value.map((e) => +e.toFixed(3));
26
+ return `cubic-bezier(${e}, ${n}, ${i}, ${a})`;
27
+ }), d = u(() => ({
28
+ mode: t.value,
29
+ css: l.value,
30
+ fn: c.value,
31
+ points: [...r.value],
32
+ steps: o.value,
33
+ term: s.value
34
+ })), f = u(() => {
35
+ let [e, t, n, i] = r.value;
36
+ return [{
37
+ x: e,
38
+ y: P(t)
39
+ }, {
40
+ x: n,
41
+ y: P(i)
42
+ }];
43
+ }), p = u(() => {
44
+ let [e, t] = f.value;
45
+ return `M 0 1 C ${e.x} ${e.y}, ${t.x} ${t.y}, 1 0`;
46
+ }), m = u(() => {
47
+ let e = c.value, t = "";
48
+ for (let n = 0; n <= 240; n++) {
49
+ let r = n / 240, i = P(e(r));
50
+ t += n === 0 ? `M ${r} ${i}` : ` L ${r} ${i}`;
51
+ }
52
+ return t;
53
+ }), h = u(() => {
54
+ let e = [
55
+ 0,
56
+ 1,
57
+ f.value[0].y,
58
+ f.value[1].y
59
+ ];
60
+ for (let t = 0; t <= 16; t++) e.push(P(c.value(t / 16)));
61
+ let t = Math.max(Math.min(...e), -I) - F;
62
+ return {
63
+ minY: t,
64
+ height: Math.min(Math.max(...e), 1 + I) + F - t
65
+ };
66
+ }), g = x(0), _ = 0;
67
+ function v() {
68
+ _ && cancelAnimationFrame(_), _ = 0;
69
+ }
70
+ function y() {
71
+ v();
72
+ let e = performance.now(), t = (n) => {
73
+ let r = Math.min(1, (n - e) / L);
74
+ g.value = r, _ = r < 1 ? requestAnimationFrame(t) : 0;
75
+ };
76
+ _ = requestAnimationFrame(t);
77
+ }
78
+ return {
79
+ mode: t,
80
+ preset: n,
81
+ points: r,
82
+ presetNames: R,
83
+ selectPreset: i,
84
+ setHandle: a,
85
+ steps: o,
86
+ term: s,
87
+ terms: A,
88
+ easingFn: c,
89
+ readout: l,
90
+ value: d,
91
+ handlesSvg: f,
92
+ bezierPathD: p,
93
+ stepPathD: m,
94
+ viewBox: h,
95
+ progress: g,
96
+ playTravel: y,
97
+ stopTravel: v
98
+ };
99
+ }
100
+ //#endregion
101
+ //#region src/components/custom/easing/EasingPicker.vue?vue&type=script&setup=true&lang.ts
102
+ var ce = ["data-mode"], le = { class: "glass-card relative overflow-hidden rounded-card p-3" }, ue = ["viewBox", "aria-label"], de = ["x1", "x2"], B = ["y1", "y2"], V = ["x2", "y2"], H = ["x2", "y2"], fe = ["d"], pe = ["d"], me = ["cx", "cy"], he = ["cx", "cy"], ge = ["cx", "cy"], _e = { class: "flex flex-col gap-4" }, ve = {
103
+ key: 0,
104
+ class: "flex flex-col gap-2"
105
+ }, ye = { class: "flex flex-col gap-2" }, be = { class: "text-mono-caption text-muted-foreground" }, xe = ["min", "max"], Se = { class: "flex flex-col gap-2" }, U = {
106
+ key: 2,
107
+ class: "glass-card flex items-center gap-2 rounded-card px-3 py-2"
108
+ }, Ce = ["title"], we = ["aria-label"], W = /* @__PURE__ */ _({
109
+ __name: "EasingPicker",
110
+ props: /* @__PURE__ */ y({
111
+ mode: { default: "bezier" },
112
+ preset: { default: void 0 },
113
+ steps: { default: void 0 },
114
+ term: { default: void 0 },
115
+ readout: {
116
+ type: Boolean,
117
+ default: !0
118
+ },
119
+ playback: {
120
+ type: Boolean,
121
+ default: !0
122
+ },
123
+ label: { default: "Easing curve" }
124
+ }, {
125
+ modelValue: {},
126
+ modelModifiers: {}
127
+ }),
128
+ emits: ["update:modelValue"],
129
+ setup(s) {
130
+ let c = s, _ = T(s, "modelValue"), { mode: y, preset: O, points: k, presetNames: A, selectPreset: j, setHandle: M, steps: N, term: F, terms: I, easingFn: L, readout: R, value: W, handlesSvg: G, bezierPathD: Te, stepPathD: Ee, viewBox: K, progress: q, playTravel: J, stopTravel: De } = z({
131
+ initialMode: c.mode,
132
+ initialPreset: c.preset,
133
+ initialSteps: c.steps,
134
+ initialTerm: c.term
135
+ });
136
+ E(() => c.mode, (e) => {
137
+ y.value = e;
138
+ }), E(W, (e) => _.value = e, { immediate: !0 }), ee(De);
139
+ let Y = ne("svgEl"), X = x(null);
140
+ function Z(e) {
141
+ let t = Y.value;
142
+ if (!t) return {
143
+ x: 0,
144
+ y: 0
145
+ };
146
+ let n = t.getScreenCTM();
147
+ if (!n) return {
148
+ x: 0,
149
+ y: 0
150
+ };
151
+ let r = n.inverse();
152
+ return {
153
+ x: r.a * e.clientX + r.c * e.clientY + r.e,
154
+ y: P(r.b * e.clientX + r.d * e.clientY + r.f)
155
+ };
156
+ }
157
+ function Oe(e) {
158
+ if (y.value !== "bezier") return;
159
+ let { x: t, y: n } = Z(e), r = e.pointerType === "touch" ? oe : ae, i = [{
160
+ x: k.value[0],
161
+ y: k.value[1]
162
+ }, {
163
+ x: k.value[2],
164
+ y: k.value[3]
165
+ }], a = null, o = Infinity;
166
+ for (let e = 0; e < 2; e++) {
167
+ let s = Math.hypot(i[e].x - t, i[e].y - n);
168
+ s < r && s < o && (o = s, a = e);
169
+ }
170
+ a !== null && (e.preventDefault(), X.value = a, e.currentTarget.setPointerCapture(e.pointerId));
171
+ }
172
+ function ke(e) {
173
+ if (X.value === null) return;
174
+ let { x: t, y: n } = Z(e);
175
+ M(X.value, t, n);
176
+ }
177
+ function Q() {
178
+ X.value = null;
179
+ }
180
+ let $ = x(!1);
181
+ async function Ae() {
182
+ try {
183
+ await navigator.clipboard.writeText(R.value), $.value = !0, setTimeout(() => $.value = !1, se);
184
+ } catch {}
185
+ }
186
+ let je = u(() => y.value === "bezier" ? `0 ${K.value.minY} 1 ${K.value.height}` : "-0.05 -0.1 1.1 1.2");
187
+ return (c, u) => (b(), p("div", {
188
+ class: "grid gap-4 lg:grid-cols-[1fr_18rem]",
189
+ "data-mode": w(y),
190
+ "data-testid": "easing-picker",
191
+ style: { "--easing-curve-accent": "var(--motion-accent, var(--viz-legendre))" }
192
+ }, [m("div", le, [(b(), p("svg", {
193
+ ref_key: "svgEl",
194
+ ref: Y,
195
+ class: "block w-full touch-none select-none",
196
+ viewBox: je.value,
197
+ preserveAspectRatio: "xMidYMid meet",
198
+ style: {
199
+ "aspect-ratio": "1",
200
+ "block-size": "clamp(200px, 38cqi, 320px)",
201
+ "margin-inline": "auto"
202
+ },
203
+ "aria-label": s.label,
204
+ role: "img",
205
+ onPointerdown: Oe,
206
+ onPointermove: ke,
207
+ onPointerup: Q,
208
+ onPointercancel: Q
209
+ }, [
210
+ u[4] ||= m("rect", {
211
+ x: "0",
212
+ y: "0",
213
+ width: "1",
214
+ height: "1",
215
+ fill: "none",
216
+ class: "stroke-border",
217
+ "stroke-width": "0.012"
218
+ }, null, -1),
219
+ u[5] ||= m("line", {
220
+ x1: "0",
221
+ y1: "1",
222
+ x2: "1",
223
+ y2: "0",
224
+ class: "stroke-muted-foreground/30",
225
+ "stroke-width": "0.006",
226
+ "stroke-dasharray": "0.02 0.015"
227
+ }, null, -1),
228
+ (b(), p(l, null, S([
229
+ .25,
230
+ .5,
231
+ .75
232
+ ], (e) => m("line", {
233
+ key: "gx" + e,
234
+ x1: e,
235
+ y1: "0",
236
+ x2: e,
237
+ y2: "1",
238
+ class: "stroke-border/40",
239
+ "stroke-width": "0.006"
240
+ }, null, 8, de)), 64)),
241
+ (b(), p(l, null, S([
242
+ .25,
243
+ .5,
244
+ .75
245
+ ], (e) => m("line", {
246
+ key: "gy" + e,
247
+ x1: "0",
248
+ y1: e,
249
+ x2: "1",
250
+ y2: e,
251
+ class: "stroke-border/40",
252
+ "stroke-width": "0.006"
253
+ }, null, 8, B)), 64)),
254
+ u[6] ||= m("text", {
255
+ x: "0.05",
256
+ y: "0.95",
257
+ class: "fill-muted-foreground/60",
258
+ style: {
259
+ "font-size": "0.05px",
260
+ "font-family": "var(--font-mono)"
261
+ },
262
+ "text-anchor": "start"
263
+ }, "0", -1),
264
+ u[7] ||= m("text", {
265
+ x: "0.95",
266
+ y: "0.12",
267
+ class: "fill-muted-foreground/60",
268
+ style: {
269
+ "font-size": "0.05px",
270
+ "font-family": "var(--font-mono)"
271
+ },
272
+ "text-anchor": "end"
273
+ }, "1", -1),
274
+ w(y) === "bezier" ? (b(), p(l, { key: 0 }, [
275
+ m("line", {
276
+ x1: 0,
277
+ y1: 1,
278
+ x2: w(G)[0].x,
279
+ y2: w(G)[0].y,
280
+ class: "stroke-muted-foreground/50",
281
+ "stroke-width": "0.02",
282
+ "stroke-dasharray": "0.03 0.02"
283
+ }, null, 8, V),
284
+ m("line", {
285
+ x1: 1,
286
+ y1: 0,
287
+ x2: w(G)[1].x,
288
+ y2: w(G)[1].y,
289
+ class: "stroke-muted-foreground/50",
290
+ "stroke-width": "0.02",
291
+ "stroke-dasharray": "0.03 0.02"
292
+ }, null, 8, H),
293
+ m("path", {
294
+ d: w(Te),
295
+ fill: "none",
296
+ class: "stroke-(--easing-curve-accent)",
297
+ "stroke-width": "0.035",
298
+ "stroke-linecap": "round"
299
+ }, null, 8, fe)
300
+ ], 64)) : (b(), p("path", {
301
+ key: 1,
302
+ d: w(Ee),
303
+ fill: "none",
304
+ class: "stroke-(--easing-curve-accent)",
305
+ "stroke-width": "0.025",
306
+ "stroke-linejoin": "miter",
307
+ "stroke-linecap": "butt"
308
+ }, null, 8, pe)),
309
+ u[8] ||= m("circle", {
310
+ cx: "0",
311
+ cy: "1",
312
+ r: "0.018",
313
+ class: "fill-muted-foreground/50"
314
+ }, null, -1),
315
+ u[9] ||= m("circle", {
316
+ cx: "1",
317
+ cy: "0",
318
+ r: "0.018",
319
+ class: "fill-muted-foreground/50"
320
+ }, null, -1),
321
+ w(y) === "bezier" ? (b(), p(l, { key: 2 }, [m("circle", {
322
+ cx: w(G)[0].x,
323
+ cy: w(G)[0].y,
324
+ r: "0.04",
325
+ class: "fill-foreground stroke-background",
326
+ "stroke-width": "0.02",
327
+ style: { cursor: "move" }
328
+ }, null, 8, me), m("circle", {
329
+ cx: w(G)[1].x,
330
+ cy: w(G)[1].y,
331
+ r: "0.04",
332
+ class: "fill-foreground stroke-background",
333
+ "stroke-width": "0.02",
334
+ style: { cursor: "move" }
335
+ }, null, 8, he)], 64)) : f("", !0),
336
+ s.playback ? (b(), p("circle", {
337
+ key: 3,
338
+ cx: w(q),
339
+ cy: 1 - w(L)(w(q)),
340
+ r: "0.03",
341
+ class: "fill-(--easing-curve-accent)"
342
+ }, null, 8, ge)) : f("", !0)
343
+ ], 40, ue))]), m("div", _e, [
344
+ w(y) === "bezier" ? (b(), p("div", ve, [u[10] ||= m("span", { class: "text-mono-caption text-muted-foreground" }, "Preset", -1), g(w(o), {
345
+ "model-value": w(O),
346
+ "onUpdate:modelValue": u[0] ||= (e) => w(j)(String(e))
347
+ }, {
348
+ default: D(() => [g(w(n), null, {
349
+ default: D(() => [g(w(i), { placeholder: "Pick a curve" })]),
350
+ _: 1
351
+ }), g(w(r), null, {
352
+ default: D(() => [(b(!0), p(l, null, S(w(A), (e) => (b(), d(w(a), {
353
+ key: e,
354
+ value: e
355
+ }, {
356
+ default: D(() => [h(C(e), 1)]),
357
+ _: 2
358
+ }, 1032, ["value"]))), 128))]),
359
+ _: 1
360
+ })]),
361
+ _: 1
362
+ }, 8, ["model-value"])])) : (b(), p(l, { key: 1 }, [m("div", ye, [m("span", be, "Steps (n) — " + C(w(N)), 1), ie(m("input", {
363
+ "onUpdate:modelValue": u[1] ||= (e) => v(N) ? N.value = e : null,
364
+ type: "range",
365
+ min: w(1),
366
+ max: w(12),
367
+ step: "1",
368
+ class: "w-full accent-(--easing-curve-accent)",
369
+ "aria-label": "Step count"
370
+ }, null, 8, xe), [[
371
+ re,
372
+ w(N),
373
+ void 0,
374
+ { number: !0 }
375
+ ]])]), m("div", Se, [u[11] ||= m("span", { class: "text-mono-caption text-muted-foreground" }, "Jump term", -1), g(w(o), {
376
+ "model-value": w(F),
377
+ "onUpdate:modelValue": u[2] ||= (e) => F.value = String(e)
378
+ }, {
379
+ default: D(() => [g(w(n), null, {
380
+ default: D(() => [g(w(i), { placeholder: "Pick a jump term" })]),
381
+ _: 1
382
+ }), g(w(r), null, {
383
+ default: D(() => [(b(!0), p(l, null, S(w(I), (e) => (b(), d(w(a), {
384
+ key: e,
385
+ value: e
386
+ }, {
387
+ default: D(() => [h(C(e), 1)]),
388
+ _: 2
389
+ }, 1032, ["value"]))), 128))]),
390
+ _: 1
391
+ })]),
392
+ _: 1
393
+ }, 8, ["model-value"])])], 64)),
394
+ s.readout ? (b(), p("div", U, [m("code", {
395
+ class: "min-w-0 flex-1 truncate text-xs text-foreground",
396
+ title: w(R)
397
+ }, C(w(R)), 9, Ce), m("button", {
398
+ type: "button",
399
+ class: "shrink-0 rounded-pill p-1.5 text-muted-foreground transition-colors hover:bg-(--surface-tint-8) hover:text-foreground",
400
+ "aria-label": $.value ? "Copied" : "Copy curve literal",
401
+ onClick: Ae
402
+ }, [$.value ? (b(), d(w(t), {
403
+ key: 0,
404
+ class: "size-4 text-(--easing-curve-accent)"
405
+ })) : (b(), d(w(e), {
406
+ key: 1,
407
+ class: "size-4"
408
+ }))], 8, we)])) : f("", !0),
409
+ s.playback ? (b(), p("button", {
410
+ key: 3,
411
+ type: "button",
412
+ class: "btn-pill glass-btn rounded-pill px-3 py-2 text-sm text-foreground",
413
+ onClick: u[3] ||= (...e) => w(J) && w(J)(...e)
414
+ }, C(w(y) === "steps" ? "Climb the staircase" : "Trace the curve"), 1)) : f("", !0),
415
+ te(c.$slots, "footer", { value: w(W) })
416
+ ])], 8, ce));
417
+ }
418
+ }), G = /* @__PURE__ */ _({
419
+ __name: "EasingConfigurator",
420
+ props: /* @__PURE__ */ y({
421
+ label: { default: "Easing" },
422
+ name: { default: void 0 },
423
+ mode: { default: "bezier" },
424
+ preset: { default: void 0 },
425
+ steps: { default: void 0 },
426
+ term: { default: void 0 }
427
+ }, {
428
+ modelValue: {},
429
+ modelModifiers: {}
430
+ }),
431
+ emits: ["update:modelValue"],
432
+ setup(e) {
433
+ let t = T(e, "modelValue");
434
+ return (n, r) => (b(), d(w(s), {
435
+ label: e.label,
436
+ sub: e.name
437
+ }, {
438
+ default: D(() => [g(w(c), {
439
+ label: "Curve",
440
+ name: t.value?.css
441
+ }, {
442
+ default: D(() => [g(W, {
443
+ modelValue: t.value,
444
+ "onUpdate:modelValue": r[0] ||= (e) => t.value = e,
445
+ mode: e.mode,
446
+ preset: e.preset,
447
+ steps: e.steps,
448
+ term: e.term
449
+ }, null, 8, [
450
+ "modelValue",
451
+ "mode",
452
+ "preset",
453
+ "steps",
454
+ "term"
455
+ ])]),
456
+ _: 1
457
+ }, 8, ["name"])]),
458
+ _: 1
459
+ }, 8, ["label", "sub"]));
460
+ }
461
+ });
462
+ //#endregion
463
+ export { G as EasingConfigurator, W as EasingPicker, z as useEasingPicker };
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
- import { n as t, t as n } from "./minimize-2-BV31Ob_h.js";
3
- import { t as r } from "./useSurfaceAxis-CMnF2zHb.js";
2
+ import { c as t, l as n } from "./vendor-CKmzio-i.js";
3
+ import { t as r } from "./useSurfaceAxis-g0NloYEF.js";
4
4
  import { i } from "./useKeyboardShortcuts-BXWXOZ-9.js";
5
5
  import { Fragment as a, Teleport as o, computed as s, createBlock as c, createCommentVNode as l, createElementBlock as u, createElementVNode as d, createVNode as f, defineComponent as p, mergeModels as m, mergeProps as h, normalizeClass as g, onMounted as _, onUnmounted as v, openBlock as y, renderSlot as b, unref as x, useModel as S, watch as C } from "vue";
6
6
  //#region src/components/custom/expandable-container/ExpandableContainer.vue?vue&type=script&setup=true&lang.ts
@@ -58,7 +58,10 @@ var M = /* @__PURE__ */ p({
58
58
  title: "Fullscreen",
59
59
  "aria-label": p.expandLabel,
60
60
  onClick: i[0] ||= (e) => k.value = !0
61
- }, [f(x(t), { class: "h-4 w-4" })], 10, w), b(r.$slots, "default", { fullscreen: !1 })], 16)), (y(), c(o, { to: "body" }, [k.value ? (y(), u("div", {
61
+ }, [f(x(n), { class: "h-4 w-4" })], 10, w), b(r.$slots, "default", { fullscreen: !1 })], 16)), (y(), c(o, {
62
+ to: "body",
63
+ disabled: !k.value
64
+ }, [k.value ? (y(), u("div", {
62
65
  key: 0,
63
66
  "data-surface": p.surface,
64
67
  class: g(x(e)("fixed inset-0 z-modal flex flex-col glass-overlay", O.value))
@@ -67,7 +70,7 @@ var M = /* @__PURE__ */ p({
67
70
  title: "Exit fullscreen",
68
71
  "aria-label": p.collapseLabel,
69
72
  onClick: i[1] ||= (e) => k.value = !1
70
- }, [f(x(n), { class: "h-4 w-4" })], 10, E), d("div", D, [b(r.$slots, "default", { fullscreen: !0 })])], 10, T)) : l("", !0)]))], 64));
73
+ }, [f(x(t), { class: "h-4 w-4" })], 10, E), d("div", D, [b(r.$slots, "default", { fullscreen: !0 })])], 10, T)) : l("", !0)], 8, ["disabled"]))], 64));
71
74
  }
72
75
  });
73
76
  //#endregion
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./FadingScroll-DwNnvKMs.js";
1
+ import { n as e, t } from "./FadingScroll-DI6hQhT9.js";
2
2
  export { t as FadingScroll, e as useFadingScroll };
@@ -0,0 +1 @@
1
+ export * from "./components/ui/focus-scope";
@@ -0,0 +1,23 @@
1
+ import { computed as e, createBlock as t, defineComponent as n, mergeProps as r, openBlock as i, renderSlot as a, unref as o, withCtx as s } from "vue";
2
+ import { FocusScope as c, useForwardPropsEmits as l } from "reka-ui";
3
+ //#endregion
4
+ //#region src/components/ui/focus-scope/FocusScope.vue
5
+ var u = /* @__PURE__ */ n({
6
+ __name: "FocusScope",
7
+ props: {
8
+ loop: { type: Boolean },
9
+ trapped: { type: Boolean },
10
+ asChild: { type: Boolean },
11
+ as: {}
12
+ },
13
+ emits: ["mountAutoFocus", "unmountAutoFocus"],
14
+ setup(n, { emit: u }) {
15
+ let d = n, f = u, p = l(e(() => d), f);
16
+ return (e, n) => (i(), t(o(c), r({ "data-slot": "focus-scope" }, o(p)), {
17
+ default: s(() => [a(e.$slots, "default")]),
18
+ _: 3
19
+ }, 16));
20
+ }
21
+ });
22
+ //#endregion
23
+ export { u as FocusScope };
package/dist/forms.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
- import { t } from "./search-BSGrf2Sk.js";
3
- import { t as n } from "./menuItemVariants-DWRQXBxJ.js";
4
- import { t as r } from "./useUserInvalidAria-CDfJuakL.js";
5
- import { t as i } from "./Input-DVG_J0ne.js";
2
+ import { n as t } from "./vendor-CKmzio-i.js";
3
+ import { t as n } from "./menuItemVariants-D8VNHq22.js";
4
+ import { t as r } from "./useUserInvalidAria-y5namzeE.js";
5
+ import { t as i } from "./Input-h9v5LeXf.js";
6
6
  import { computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createTextVNode as l, createVNode as u, defineComponent as d, isRef as f, mergeProps as p, openBlock as m, renderSlot as h, toDisplayString as g, unref as _, vModelText as v, withCtx as y, withDirectives as b } from "vue";
7
7
  import { ComboboxAnchor as x, ComboboxCancel as S, ComboboxContent as C, ComboboxEmpty as w, ComboboxGroup as T, ComboboxInput as E, ComboboxItem as D, ComboboxItemIndicator as O, ComboboxLabel as k, ComboboxPortal as A, ComboboxRoot as j, ComboboxSeparator as M, ComboboxTrigger as N, ComboboxViewport as P, useForwardProps as F, useForwardPropsEmits as I } from "reka-ui";
8
8
  import { reactiveOmit as L, useVModel as R } from "@vueuse/core";
@@ -44,7 +44,7 @@ var z = ["data-autosize"], B = /* @__PURE__ */ d({
44
44
  ...o.value
45
45
  }, {
46
46
  "data-autosize": t.autosize ? "" : void 0,
47
- class: _(e)("input-pill rounded-field py-2 text-sm", t.autosize ? "" : "min-h-20", r.class)
47
+ class: _(e)("input-pill [--control-surface-bg:var(--input-on-glass)] rounded-field py-2 text-sm", t.autosize ? "" : "min-h-20", r.class)
48
48
  }), null, 16, z)), [[v, _(i)]]);
49
49
  }
50
50
  }), V = /* @__PURE__ */ d({
@@ -152,7 +152,7 @@ var z = ["data-autosize"], B = /* @__PURE__ */ d({
152
152
  }
153
153
  }), G = {
154
154
  "data-slot": "command-input-wrapper",
155
- class: "flex h-9 items-center gap-2 border-b px-3"
155
+ class: "flex h-9 items-center gap-2 border-b px-3 rounded-input has-[[aria-invalid='true']]:border-(--destructive) has-[:user-invalid]:border-(--destructive) has-[[aria-invalid='true']]:shadow-(--invalid-ring) has-[:user-invalid]:shadow-(--invalid-ring)"
156
156
  }, K = /* @__PURE__ */ d({
157
157
  inheritAttrs: !1,
158
158
  __name: "ComboboxInput",
@@ -275,7 +275,7 @@ var z = ["data-autosize"], B = /* @__PURE__ */ d({
275
275
  setup(t, { emit: n }) {
276
276
  let r = t, i = n, a = I(L(r, "class"), i);
277
277
  return (t, n) => (m(), o(_(A), null, {
278
- default: y(() => [u(_(C), p({ "data-slot": "combobox-list" }, _(a), { class: _(e)("z-popover w-popover rounded-panel border glass-floating text-popover-foreground origin-(--reka-combobox-content-transform-origin) overflow-hidden outline-none popover-animate slide-in-from-side", r.class) }), {
278
+ default: y(() => [u(_(C), p({ "data-slot": "combobox-list" }, _(a), { class: _(e)("z-popover w-popover rounded-panel border glass-floating text-popover-foreground origin-(--reka-combobox-content-transform-origin) overflow-hidden outline-none glass-reveal", r.class) }), {
279
279
  default: y(() => [h(t.$slots, "default")]),
280
280
  _: 3
281
281
  }, 16, ["class"])]),