@mkbabb/glass-ui 3.13.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 (507) hide show
  1. package/README.md +3 -1
  2. package/dist/CardAction-CW7a0m8M.js +253 -0
  3. package/dist/{CommandShortcut-RowNEO6i.js → CommandShortcut-DvZNQ_HF.js} +58 -53
  4. package/dist/ConfiguratorRow-BR4l-ixA.js +143 -0
  5. package/dist/{ContextMenuContent-CT3AS1WX.js → ContextMenuContent-uWnVxDab.js} +1 -1
  6. package/dist/{ContextMenuSubContent-BQmxTAdw.js → ContextMenuSubContent-xol4sD2q.js} +32 -37
  7. package/dist/{DataTable-BCddn3T3.js → DataTable-CuKwF7wr.js} +99 -97
  8. package/dist/DialogContent-DcKK8k9i.js +103 -0
  9. package/dist/{DialogFooter-Blu4t7tJ.js → DialogFooter-BZNX5aVr.js} +3 -3
  10. package/dist/FadingScroll-DI6hQhT9.js +76 -0
  11. package/dist/{HoverCardContent-Csywg3YF.js → HoverCardContent-b2uaAMRR.js} +1 -1
  12. package/dist/{HoverPopover-CISOJQuZ.js → HoverPopover-CbqbNwgU.js} +2 -2
  13. package/dist/IconChip-BTD-nay5.js +55 -0
  14. package/dist/{IconTooltip-DPzE09X9.js → IconTooltip-Bl8gFZ8d.js} +1 -1
  15. package/dist/{Input-DWQQIOC4.js → Input-h9v5LeXf.js} +1 -1
  16. package/dist/{MetricBadge-C9QMz1KT.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-DL7E6vJP.js +127 -0
  20. package/dist/{Progress-DwlUKGbr.js → Progress-DctG61iZ.js} +98 -78
  21. package/dist/{ScrollingText-DfFrwSph.js → ScrollingText-yOpBzFYq.js} +2 -2
  22. package/dist/{SelectScrollDownButton-CiDUxfEj.js → SelectScrollDownButton-CrA8F0iV.js} +35 -20
  23. package/dist/{Switch-CsIuYP_e.js → Switch-CwYNf8bo.js} +1 -1
  24. package/dist/Toaster-Bw4xR8xV.js +274 -0
  25. package/dist/{ToggleGroupItem-D_AHlRw9.js → ToggleGroupItem-pEM9vIhs.js} +50 -37
  26. package/dist/{TooltipProvider-B3MkB_8P.js → TooltipProvider-rzvnXz60.js} +1 -1
  27. package/dist/animated-digit.js +2 -2
  28. package/dist/api/index.d.ts +16 -8
  29. package/dist/api/types-extra.d.ts +6 -0
  30. package/dist/api.js +2 -2
  31. package/dist/aurora.js +888 -230
  32. package/dist/badge.js +1 -1
  33. package/dist/border-progress.d.ts +1 -0
  34. package/dist/border-progress.js +106 -0
  35. package/dist/button-DYCUa-tH.js +126 -0
  36. package/dist/button.js +1 -1
  37. package/dist/canvas.js +2 -2
  38. package/dist/card.js +2 -2
  39. package/dist/carousel.d.ts +1 -1
  40. package/dist/carousel.js +90 -151
  41. package/dist/collapsible.js +1 -1
  42. package/dist/color-swatch.d.ts +1 -0
  43. package/dist/color-swatch.js +47 -0
  44. package/dist/color.js +1 -1
  45. package/dist/command.js +1 -1
  46. package/dist/compile-CQEFRTmx.js +19 -0
  47. package/dist/components/custom/aurora/composables/atoms-fields.d.ts +39 -0
  48. package/dist/components/custom/aurora/composables/auroraFallbackGround.d.ts +108 -0
  49. package/dist/components/custom/aurora/composables/runtime.d.ts +19 -0
  50. package/dist/components/custom/aurora/composables/uniformBridge.d.ts +5 -1
  51. package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +51 -0
  52. package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +29 -0
  53. package/dist/components/custom/aurora/constants/budget.d.ts +21 -0
  54. package/dist/components/custom/aurora/constants/presets.d.ts +30 -2
  55. package/dist/components/custom/aurora/constants/renderMode.d.ts +63 -10
  56. package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +1 -0
  57. package/dist/components/custom/aurora/constants/shaders/oil-modes.glsl.d.ts +1 -0
  58. package/dist/components/custom/aurora/constants/shaders/procedural-color.wgsl.d.ts +4 -0
  59. package/dist/components/custom/aurora/index.d.ts +3 -2
  60. package/dist/components/custom/border-progress/BorderProgress.vue.d.ts +46 -0
  61. package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +22 -0
  62. package/dist/components/custom/border-progress/constants.d.ts +59 -0
  63. package/dist/components/custom/border-progress/index.d.ts +4 -0
  64. package/dist/components/custom/color-swatch/ColorSwatch.vue.d.ts +22 -0
  65. package/dist/components/custom/color-swatch/index.d.ts +1 -0
  66. package/dist/components/custom/concentric/Concentric.vue.d.ts +39 -0
  67. package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +11 -0
  68. package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +13 -0
  69. package/dist/components/custom/concentric/composables/ringField.d.ts +44 -0
  70. package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +13 -0
  71. package/dist/components/custom/concentric/composables/useConcentric.d.ts +35 -0
  72. package/dist/components/custom/concentric/constants.d.ts +43 -0
  73. package/dist/components/custom/concentric/index.d.ts +5 -0
  74. package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +4 -0
  75. package/dist/components/custom/concentric/shaders/concentric.wgsl.d.ts +1 -0
  76. package/dist/components/custom/configurator/Configurator.vue.d.ts +19 -8
  77. package/dist/components/custom/constellation/Constellation.vue.d.ts +18 -206
  78. package/dist/components/custom/constellation/composables/useConstellation.d.ts +26 -0
  79. package/dist/components/custom/constellation/constellationField.d.ts +2 -369
  80. package/dist/components/custom/constellation/constellationTypes.d.ts +369 -0
  81. package/dist/components/custom/constellation/index.d.ts +1 -1
  82. package/dist/components/custom/dock/DockIconButton.vue.d.ts +13 -4
  83. package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +10 -2
  84. package/dist/components/custom/dock/DockRail.vue.d.ts +17 -16
  85. package/dist/components/custom/dock/DockSection.vue.d.ts +69 -0
  86. package/dist/components/custom/dock/DockSeparator.vue.d.ts +49 -1
  87. package/dist/components/custom/dock/DockTabButton.vue.d.ts +5 -5
  88. package/dist/components/custom/dock/composables/dockMorphMeasure.d.ts +75 -0
  89. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +13 -0
  90. package/dist/components/custom/dock/constants.d.ts +35 -0
  91. package/dist/components/custom/dock/index.d.ts +2 -0
  92. package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +38 -0
  93. package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +41 -0
  94. package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +24 -0
  95. package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +34 -0
  96. package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +18 -0
  97. package/dist/components/custom/dot-flow-field/constants.d.ts +48 -0
  98. package/dist/components/custom/dot-flow-field/index.d.ts +5 -0
  99. package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +1 -0
  100. package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +20 -0
  101. package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +1 -0
  102. package/dist/components/custom/easing/EasingConfigurator.vue.d.ts +33 -0
  103. package/dist/components/custom/easing/EasingPicker.vue.d.ts +49 -0
  104. package/dist/components/custom/easing/composables/useEasingPicker.d.ts +75 -0
  105. package/dist/components/custom/easing/constants.d.ts +28 -0
  106. package/dist/components/custom/easing/index.d.ts +3 -0
  107. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +10 -0
  108. package/dist/components/custom/fading-scroll/FadingScroll.vue.d.ts +25 -0
  109. package/dist/components/custom/fading-scroll/composables/useFadingScroll.d.ts +31 -0
  110. package/dist/components/custom/fading-scroll/constants.d.ts +19 -0
  111. package/dist/components/custom/fading-scroll/index.d.ts +2 -0
  112. package/dist/components/custom/fourier-field/FourierField.vue.d.ts +19 -2
  113. package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +39 -0
  114. package/dist/components/custom/fourier-field/constants.d.ts +7 -0
  115. package/dist/components/custom/fourier-field/index.d.ts +1 -1
  116. package/dist/components/custom/fourier-field/math.d.ts +17 -0
  117. package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +9 -1
  118. package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +4 -2
  119. package/dist/components/custom/goo-blob/composables/uniformBridgeWGPU.d.ts +24 -0
  120. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +29 -12
  121. package/dist/components/custom/goo-blob/composables/wgpuSetup.d.ts +23 -0
  122. package/dist/components/custom/goo-blob/constants.d.ts +6 -1
  123. package/dist/components/custom/goo-blob/shaders/metaball.wgsl.d.ts +1 -0
  124. package/dist/components/custom/handmark/HandMark.vue.d.ts +29 -0
  125. package/dist/components/custom/handmark/brush.d.ts +269 -0
  126. package/dist/components/custom/handmark/composables/useHandMark.d.ts +89 -0
  127. package/dist/components/custom/handmark/constants.d.ts +39 -0
  128. package/dist/components/custom/handmark/freehand.d.ts +69 -0
  129. package/dist/components/custom/handmark/geometry.d.ts +52 -0
  130. package/dist/components/custom/handmark/index.d.ts +27 -0
  131. package/dist/components/custom/handmark/ink.d.ts +11 -0
  132. package/dist/components/custom/handmark/texture.d.ts +39 -0
  133. package/dist/components/custom/handmark/types.d.ts +62 -0
  134. package/dist/components/custom/icon-chip/IconChip.vue.d.ts +4 -0
  135. package/dist/components/custom/icon-chip/index.d.ts +2 -0
  136. package/dist/components/custom/icon-chip/types.d.ts +82 -0
  137. package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +17 -2
  138. package/dist/components/custom/metric-stack/MetricStack.vue.d.ts +1 -1
  139. package/dist/components/custom/pager-dots/PagerDots.vue.d.ts +39 -0
  140. package/dist/components/custom/pager-dots/index.d.ts +2 -0
  141. package/dist/components/custom/spa-view/SpaView.vue.d.ts +50 -0
  142. package/dist/components/custom/spa-view/index.d.ts +2 -0
  143. package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +29 -24
  144. package/dist/components/custom/tabs/composables/useTabDragMorph.d.ts +42 -0
  145. package/dist/components/custom/tabs/composables/useTabIndicator.d.ts +30 -21
  146. package/dist/components/custom/tabs/constants.d.ts +9 -3
  147. package/dist/components/custom/tabs/index.d.ts +1 -1
  148. package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +15 -1
  149. package/dist/components/ui/_shared/index.d.ts +2 -0
  150. package/dist/components/ui/_shared/menuItemVariants.d.ts +19 -0
  151. package/dist/components/ui/_shared/useSurfaceAxis.d.ts +41 -0
  152. package/dist/components/ui/badge/index.d.ts +1 -1
  153. package/dist/components/ui/button/Button.vue.d.ts +5 -2
  154. package/dist/components/ui/button/index.d.ts +2 -2
  155. package/dist/components/ui/card/Card.vue.d.ts +34 -4
  156. package/dist/components/ui/card/CardHeader.vue.d.ts +42 -16
  157. package/dist/components/ui/card/ScrollCard.vue.d.ts +33 -0
  158. package/dist/components/ui/card/ScrollCardHeader.vue.d.ts +17 -0
  159. package/dist/components/ui/card/index.d.ts +2 -0
  160. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +2 -2
  161. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +2 -2
  162. package/dist/components/ui/carousel/GlassCarouselPager.vue.d.ts +2 -2
  163. package/dist/components/ui/carousel/index.d.ts +0 -1
  164. package/dist/components/ui/command/Command.vue.d.ts +4 -1
  165. package/dist/components/ui/dialog/DialogContent.vue.d.ts +8 -3
  166. package/dist/components/ui/drawer/Drawer.vue.d.ts +46 -33
  167. package/dist/components/ui/drawer/DrawerContent.vue.d.ts +12 -8
  168. package/dist/components/ui/drawer/DrawerDescription.vue.d.ts +2 -2
  169. package/dist/components/ui/drawer/DrawerOverlay.vue.d.ts +1 -1
  170. package/dist/components/ui/drawer/DrawerTitle.vue.d.ts +2 -2
  171. package/dist/components/ui/drawer/composables/drawerSnapContext.d.ts +26 -0
  172. package/dist/components/ui/drawer/composables/useDrawerSnap.d.ts +17 -0
  173. package/dist/components/ui/drawer/constants.d.ts +45 -0
  174. package/dist/components/ui/drawer/index.d.ts +23 -15
  175. package/dist/components/ui/focus-scope/FocusScope.vue.d.ts +20 -0
  176. package/dist/components/ui/focus-scope/index.d.ts +2 -0
  177. package/dist/components/ui/index.d.ts +1 -1
  178. package/dist/components/ui/popover/PopoverContent.vue.d.ts +3 -0
  179. package/dist/components/ui/progress/ProgressDefault.vue.d.ts +3 -2
  180. package/dist/components/ui/progress/ProgressSectioned.vue.d.ts +14 -3
  181. package/dist/components/ui/select/SelectContent.vue.d.ts +1 -1
  182. package/dist/components/ui/select/SelectTrigger.vue.d.ts +27 -4
  183. package/dist/components/ui/sheet/SheetContent.vue.d.ts +6 -0
  184. package/dist/components/ui/sheet/index.d.ts +1 -1
  185. package/dist/components/ui/skeleton/Skeleton.vue.d.ts +3 -0
  186. package/dist/components/ui/tags-input/TagsInput.vue.d.ts +2 -2
  187. package/dist/components/ui/toast/Toast.vue.d.ts +5 -2
  188. package/dist/components/ui/toast/use-toast.d.ts +14 -0
  189. package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
  190. package/dist/composables/dark/index.d.ts +1 -1
  191. package/dist/composables/dark/useGlobalDark.d.ts +23 -1
  192. package/dist/composables/glass/canvas2d/useCanvas2D.d.ts +13 -6
  193. package/dist/composables/glass/index.d.ts +5 -2
  194. package/dist/composables/glass/useSpecularPointer.d.ts +33 -0
  195. package/dist/composables/glass/useSpecularTracking.d.ts +20 -0
  196. package/dist/composables/glass/vSpecular.d.ts +2 -0
  197. package/dist/composables/glass/webgl/shaders/flow.glsl.d.ts +1 -0
  198. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +16 -0
  199. package/dist/composables/glass/webgpu/index.d.ts +2 -0
  200. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +54 -0
  201. package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +84 -0
  202. package/dist/composables/motion/core/index.d.ts +1 -0
  203. package/dist/composables/motion/index.d.ts +4 -0
  204. package/dist/composables/motion/useDockCtaReceive.d.ts +59 -0
  205. package/dist/composables/motion/useDragMorph.d.ts +77 -0
  206. package/dist/composables/motion/useLiquidFlex.d.ts +11 -0
  207. package/dist/composables/motion/useLiquidPress.d.ts +71 -0
  208. package/dist/composables/motion/useLiquidReveal.d.ts +51 -0
  209. package/dist/composables/motion/useNumericTransition.d.ts +3 -3
  210. package/dist/composables/motion/usePointerVelocityField.d.ts +98 -0
  211. package/dist/composables/motion/useViewTransition.d.ts +36 -1
  212. package/dist/concentric.d.ts +1 -0
  213. package/dist/concentric.js +562 -0
  214. package/dist/configurator.js +3 -2
  215. package/dist/confirm-dialog.js +22 -24
  216. package/dist/constellation.js +93 -95
  217. package/dist/context-menu.js +3 -3
  218. package/dist/controls.js +10 -4
  219. package/dist/createCanvasLifecycle-CHD5XrDW.js +82 -0
  220. package/dist/dark.d.ts +1 -1
  221. package/dist/dark.js +1 -1
  222. package/dist/data-table.js +1 -1
  223. package/dist/dialog.js +2 -2
  224. package/dist/dock.js +738 -442
  225. package/dist/{dockContext-BegmJVmx.js → dockContext-BNfyPLe9.js} +1 -1
  226. package/dist/dom.js +5 -5
  227. package/dist/dot-flow-field.d.ts +1 -0
  228. package/dist/dot-flow-field.js +604 -0
  229. package/dist/drawer.d.ts +1 -0
  230. package/dist/drawer.js +380 -0
  231. package/dist/{dropdown-menu-DzkkyBwX.js → dropdown-menu-CofSZuk8.js} +14 -15
  232. package/dist/dropdown-menu.js +1 -1
  233. package/dist/easing.d.ts +1 -0
  234. package/dist/easing.js +463 -0
  235. package/dist/expandable-container.js +45 -38
  236. package/dist/fading-scroll.d.ts +1 -0
  237. package/dist/fading-scroll.js +2 -0
  238. package/dist/focus-scope.d.ts +1 -0
  239. package/dist/focus-scope.js +23 -0
  240. package/dist/forms.js +7 -7
  241. package/dist/fourier-field.js +135 -122
  242. package/dist/fourier-math.js +2 -2
  243. package/dist/glass-panel.js +39 -36
  244. package/dist/glass-ui.css +1 -1
  245. package/dist/glass-ui.js +154 -362
  246. package/dist/goo-blob.js +838 -227
  247. package/dist/handmark.d.ts +1 -0
  248. package/dist/handmark.js +707 -0
  249. package/dist/header-ribbon.js +1 -1
  250. package/dist/hover-card.js +1 -1
  251. package/dist/hover-popover.js +1 -1
  252. package/dist/icon-chip.d.ts +1 -0
  253. package/dist/icon-chip.js +2 -0
  254. package/dist/icon-tooltip.js +1 -1
  255. package/dist/index.d.ts +3 -3
  256. package/dist/instrument-chassis.js +1 -1
  257. package/dist/keyboard.js +1 -1
  258. package/dist/label.js +1 -1
  259. package/dist/labeled-field.js +6 -6
  260. package/dist/{math-U6-RrLmV.js → math-BINYmg5z.js} +11 -3
  261. package/dist/{menuItemVariants-DPiEarb0.js → menuItemVariants-D8VNHq22.js} +10 -4
  262. package/dist/metric-badge.js +1 -1
  263. package/dist/metric-cell.js +25 -22
  264. package/dist/metric-stack.js +4 -8
  265. package/dist/motion-core.js +36 -35
  266. package/dist/motion-curves.js +1 -1
  267. package/dist/motion.js +157 -55
  268. package/dist/notification.js +1 -1
  269. package/dist/number-field.js +1 -1
  270. package/dist/pager-dots.d.ts +1 -0
  271. package/dist/pager-dots.js +91 -0
  272. package/dist/paper-backdrop.js +1 -1
  273. package/dist/popover.js +1 -1
  274. package/dist/{presets-BKVyQfbt.js → presets-BW2b-fr1.js} +14 -1
  275. package/dist/{compile-B7NGOBcP.js → procedural-color.glsl-CIFsJhwI.js} +1 -155
  276. package/dist/procedural-color.wgsl-CToRHugY.js +224 -0
  277. package/dist/progress.js +1 -1
  278. package/dist/pulse.js +1 -1
  279. package/dist/reactive.js +2 -2
  280. package/dist/scrolling-text.js +1 -1
  281. package/dist/search.js +10 -12
  282. package/dist/select.js +3 -3
  283. package/dist/separator.js +1 -1
  284. package/dist/sheet-tZMg0E0w.js +218 -0
  285. package/dist/sheet.js +1 -1
  286. package/dist/{slider-B-JP2JlI.js → slider-DVb4HXU-.js} +7 -7
  287. package/dist/slider.js +1 -1
  288. package/dist/sortable-list.js +3 -3
  289. package/dist/spa-view.d.ts +1 -0
  290. package/dist/spa-view.js +46 -0
  291. package/dist/styles/animations.css +40 -31
  292. package/dist/styles/border-progress.css +109 -0
  293. package/dist/styles/cards.css +76 -0
  294. package/dist/styles/components.css +1 -1
  295. package/dist/styles/configurator.css +35 -0
  296. package/dist/styles/critical-partition.mjs +140 -0
  297. package/dist/styles/critical.css +12 -0
  298. package/dist/styles/deferred.css +31 -0
  299. package/dist/styles/dock/density.css +64 -0
  300. package/dist/styles/dock/layers.css +54 -30
  301. package/dist/styles/dock/morph.css +124 -7
  302. package/dist/styles/dock/overflow.css +31 -2
  303. package/dist/styles/dock/rail-extend.css +168 -71
  304. package/dist/styles/dock/section.css +59 -0
  305. package/dist/styles/dock/shell.css +83 -16
  306. package/dist/styles/dock-controls/icon-button.css +11 -1
  307. package/dist/styles/dock-controls/tab-button.css +24 -83
  308. package/dist/styles/dock-controls/triggers.css +7 -0
  309. package/dist/styles/dock.css +38 -3
  310. package/dist/styles/drawer.css +127 -35
  311. package/dist/styles/feedback-tone.css +104 -0
  312. package/dist/styles/glass/deep.css +44 -0
  313. package/dist/styles/glass/ladder.css +154 -52
  314. package/dist/styles/glass/material.css +78 -15
  315. package/dist/styles/glass/reveal.css +136 -0
  316. package/dist/styles/glass/rim.css +100 -0
  317. package/dist/styles/glass/surface-axis.css +113 -0
  318. package/dist/styles/glass/surfaces.css +189 -15
  319. package/dist/styles/glass-refract.css +96 -44
  320. package/dist/styles/glass-specular-track.css +7 -0
  321. package/dist/styles/glass.css +8 -2
  322. package/dist/styles/hover-popover.css +7 -6
  323. package/dist/styles/icon-chip.css +211 -0
  324. package/dist/styles/index.css +78 -4
  325. package/dist/styles/instrument-chassis.css +107 -2
  326. package/dist/styles/menu.css +127 -0
  327. package/dist/styles/scroll-choreography.css +300 -0
  328. package/dist/styles/segmented-tabs.css +188 -86
  329. package/dist/styles/select.css +50 -0
  330. package/dist/styles/theme/bridges.css +22 -1
  331. package/dist/styles/theme/literals.css +11 -2
  332. package/dist/styles/theme/radius.css +6 -1
  333. package/dist/styles/tokens/color-radius.css +40 -13
  334. package/dist/styles/tokens/dark-arm.css +200 -20
  335. package/dist/styles/tokens/glass-deep.css +75 -0
  336. package/dist/styles/tokens/glass-fx.css +333 -0
  337. package/dist/styles/tokens/glass.css +95 -315
  338. package/dist/styles/tokens/light-dark.css +64 -22
  339. package/dist/styles/tokens/offsets.css +116 -0
  340. package/dist/styles/tokens/on-glass-fg.css +39 -0
  341. package/dist/styles/tokens/property-regs.css +130 -10
  342. package/dist/styles/tokens/scale-paper.css +155 -84
  343. package/dist/styles/tokens/scheme-motion.css +102 -46
  344. package/dist/styles/tokens/scroll-tokens.css +123 -0
  345. package/dist/styles/tokens/{offsets-sizing.css → sizing.css} +88 -89
  346. package/dist/styles/tokens.css +9 -3
  347. package/dist/styles/transitions.css +7 -7
  348. package/dist/styles/typography/scale.css +153 -0
  349. package/dist/styles/typography/semantic.css +220 -0
  350. package/dist/styles/typography/utilities.css +174 -0
  351. package/dist/styles/typography.css +23 -507
  352. package/dist/styles/utilities/a11y-overrides.css +33 -4
  353. package/dist/styles/utilities/animate.css +27 -24
  354. package/dist/styles/utilities/base-misc.css +255 -0
  355. package/dist/styles/utilities/base.css +100 -138
  356. package/dist/styles/utilities/btn.css +21 -202
  357. package/dist/styles/utilities/metal.css +189 -0
  358. package/dist/styles/utilities.css +14 -7
  359. package/dist/styles/view-transition.css +4 -1
  360. package/dist/switch.js +1 -1
  361. package/dist/tabs.js +275 -191
  362. package/dist/timeline.js +2 -2
  363. package/dist/toast.js +1 -1
  364. package/dist/toggle-chip.js +3 -1
  365. package/dist/toggle-group.js +1 -1
  366. package/dist/tooltip.js +1 -1
  367. package/dist/typewriter.js +1 -1
  368. package/dist/{useAnimatedNumber-C5I3wWd8.js → useAnimatedNumber-BfUq2bUM.js} +1 -1
  369. package/dist/useCanvas2D-B8w_E3Rr.js +83 -0
  370. package/dist/useConfiguratorState-DNlOh6c8.js +161 -0
  371. package/dist/useDragMorph-DgxnsVJz.js +102 -0
  372. package/dist/{useGlobalDark-yhL4Wp-s.js → useGlobalDark-C28t0VWJ.js} +22 -3
  373. package/dist/useLiquidPress-kfb4KX79.js +39 -0
  374. package/dist/usePointerVelocityField-JbRd5CrM.js +137 -0
  375. package/dist/{useRAFLoop-Bxv0o6L5.js → useRAFLoop-UYa4zoiN.js} +1 -1
  376. package/dist/useSpring-C0jyvEJB.js +40 -0
  377. package/dist/useSpringMount-q1amq1SJ.js +71 -0
  378. package/dist/useSpringPress-BsqPr7FJ.js +34 -0
  379. package/dist/useSurfaceAxis-g0NloYEF.js +7 -0
  380. package/dist/{useTouchGate-Dg7MQI1G.js → useTouchGate-CBZTD4SD.js} +1 -1
  381. package/dist/vReveal-Czsb7zQC.js +10 -0
  382. package/dist/vSpecular-CQFmLNzA.js +68 -0
  383. package/dist/vendor-CKmzio-i.js +226 -0
  384. package/dist/watercolor-dot.js +12 -5
  385. package/package.json +193 -25
  386. package/src/styles/animations.css +40 -31
  387. package/src/styles/border-progress.css +109 -0
  388. package/src/styles/cards.css +76 -0
  389. package/src/styles/configurator.css +35 -0
  390. package/src/styles/critical-partition.mjs +140 -0
  391. package/src/styles/dock/density.css +64 -0
  392. package/src/styles/dock/layers.css +54 -30
  393. package/src/styles/dock/morph.css +124 -7
  394. package/src/styles/dock/overflow.css +31 -2
  395. package/src/styles/dock/rail-extend.css +168 -71
  396. package/src/styles/dock/section.css +59 -0
  397. package/src/styles/dock/shell.css +83 -16
  398. package/src/styles/dock-controls/icon-button.css +11 -1
  399. package/src/styles/dock-controls/tab-button.css +24 -83
  400. package/src/styles/dock-controls/triggers.css +7 -0
  401. package/src/styles/dock.css +38 -3
  402. package/src/styles/drawer.css +123 -35
  403. package/src/styles/feedback-tone.css +104 -0
  404. package/src/styles/glass/deep.css +44 -0
  405. package/src/styles/glass/ladder.css +154 -52
  406. package/src/styles/glass/material.css +78 -15
  407. package/src/styles/glass/reveal.css +136 -0
  408. package/src/styles/glass/rim.css +100 -0
  409. package/src/styles/glass/surface-axis.css +113 -0
  410. package/src/styles/glass/surfaces.css +189 -15
  411. package/src/styles/glass-refract.css +96 -44
  412. package/src/styles/glass-specular-track.css +7 -0
  413. package/src/styles/glass.css +8 -2
  414. package/src/styles/hover-popover.css +7 -6
  415. package/src/styles/icon-chip.css +211 -0
  416. package/src/styles/index.css +78 -4
  417. package/src/styles/instrument-chassis.css +107 -2
  418. package/src/styles/menu.css +127 -0
  419. package/src/styles/scroll-choreography.css +300 -0
  420. package/src/styles/segmented-tabs.css +184 -84
  421. package/src/styles/select.css +50 -0
  422. package/src/styles/theme/bridges.css +22 -1
  423. package/src/styles/theme/literals.css +11 -2
  424. package/src/styles/theme/radius.css +6 -1
  425. package/src/styles/tokens/color-radius.css +40 -13
  426. package/src/styles/tokens/dark-arm.css +200 -20
  427. package/src/styles/tokens/glass-deep.css +75 -0
  428. package/src/styles/tokens/glass-fx.css +333 -0
  429. package/src/styles/tokens/glass.css +95 -315
  430. package/src/styles/tokens/light-dark.css +64 -22
  431. package/src/styles/tokens/offsets.css +116 -0
  432. package/src/styles/tokens/on-glass-fg.css +39 -0
  433. package/src/styles/tokens/property-regs.css +130 -10
  434. package/src/styles/tokens/scale-paper.css +155 -84
  435. package/src/styles/tokens/scheme-motion.css +102 -46
  436. package/src/styles/tokens/scroll-tokens.css +123 -0
  437. package/src/styles/tokens/{offsets-sizing.css → sizing.css} +88 -89
  438. package/src/styles/tokens.css +9 -3
  439. package/src/styles/transitions.css +7 -7
  440. package/src/styles/typography/scale.css +153 -0
  441. package/src/styles/typography/semantic.css +220 -0
  442. package/src/styles/typography/utilities.css +174 -0
  443. package/src/styles/typography.css +23 -507
  444. package/src/styles/utilities/a11y-overrides.css +33 -4
  445. package/src/styles/utilities/animate.css +27 -24
  446. package/src/styles/utilities/base-misc.css +255 -0
  447. package/src/styles/utilities/base.css +100 -138
  448. package/src/styles/utilities/btn.css +21 -202
  449. package/src/styles/utilities/metal.css +189 -0
  450. package/src/styles/utilities.css +14 -7
  451. package/src/styles/view-transition.css +4 -1
  452. package/dist/CardAction-Cj2eycQ2.js +0 -157
  453. package/dist/DialogContent-Dl9WkAoS.js +0 -100
  454. package/dist/Notification-DdwNxIrI.js +0 -100
  455. package/dist/NumberFieldContent-CqaN-SvN.js +0 -145
  456. package/dist/PopoverContent-BYwt2-4x.js +0 -121
  457. package/dist/TabsList-Dttss653.js +0 -105
  458. package/dist/Toaster-D6q4HtXu.js +0 -263
  459. package/dist/button-ChXMfsud.js +0 -81
  460. package/dist/check-njhk-vfu.js +0 -7
  461. package/dist/chevron-down-DKkxb4VV.js +0 -7
  462. package/dist/chevron-right-CPXbqQQz.js +0 -7
  463. package/dist/chevron-up-n_24SqI-.js +0 -7
  464. package/dist/components/custom/underline/GlassUnderline.vue.d.ts +0 -84
  465. package/dist/components/custom/underline/index.d.ts +0 -2
  466. package/dist/components/custom/underline/types.d.ts +0 -56
  467. package/dist/components/ui/carousel/CarouselDots.vue.d.ts +0 -4
  468. package/dist/createLucideIcon-DydS2qgk.js +0 -43
  469. package/dist/minimize-2-BV31Ob_h.js +0 -38
  470. package/dist/search-BSGrf2Sk.js +0 -12
  471. package/dist/sheet-1fChZjtw.js +0 -214
  472. package/dist/underline.d.ts +0 -1
  473. package/dist/underline.js +0 -85
  474. package/dist/useCanvas2D-ClrQuZtp.js +0 -96
  475. package/dist/useConfiguratorState-DAoeHVue.js +0 -287
  476. package/dist/useSpecularTracking-Bo5su68i.js +0 -32
  477. package/dist/useSpringMount-CI2jOstM.js +0 -108
  478. package/dist/vReveal-CqaCz_mC.js +0 -44
  479. package/dist/x-BUwTKe50.js +0 -10
  480. /package/dist/{CollapsibleContent-CP9qF1v4.js → CollapsibleContent-68dEXIAl.js} +0 -0
  481. /package/dist/{InstrumentChassis-UUJX0-mW.js → InstrumentChassis-Bx0F_q5g.js} +0 -0
  482. /package/dist/{Label-r3WzWrsj.js → Label-C2ejNWeC.js} +0 -0
  483. /package/dist/{ModalOverlay-DVLI2VRr.js → ModalOverlay-D1VrWyoi.js} +0 -0
  484. /package/dist/{PaperBackdrop-DIXTtVq6.js → PaperBackdrop-Vf3tlpvd.js} +0 -0
  485. /package/dist/{SelectGroup-aumMgWLs.js → SelectGroup-DwwjicPY.js} +0 -0
  486. /package/dist/{SelectSeparator-BQ_1Fcbp.js → SelectSeparator-DXswVdRz.js} +0 -0
  487. /package/dist/{Separator-0JE6LtNu.js → Separator-pKF0oA4M.js} +0 -0
  488. /package/dist/{_plugin-vue_export-helper-ok8pgSl5.js → _plugin-vue_export-helper-C1je1s0u.js} +0 -0
  489. /package/dist/{badge-UILT_3pZ.js → badge-D9XWW4GT.js} +0 -0
  490. /package/dist/{color-CUYeFbgd.js → color-DweYl7pE.js} +0 -0
  491. /package/dist/{constants-CS75AWHG.js → constants-BPOqYJAm.js} +0 -0
  492. /package/dist/{createContext-BM46COQ-.js → createContext-CpBNTRMI.js} +0 -0
  493. /package/dist/{prng-D27-B3tK.js → prng-Za0Rmgag.js} +0 -0
  494. /package/dist/{resolveCanvasColor-BBiYfp8g.js → resolveCanvasColor-CUyHr5Uu.js} +0 -0
  495. /package/dist/{springPresets--YdWTHtm.js → springPresets-CFQGQfdl.js} +0 -0
  496. /package/dist/{useIntersectionPause-Cc-H9ees.js → useIntersectionPause-Bj4sPkMh.js} +0 -0
  497. /package/dist/{useInterval-iHludrxk.js → useInterval-CvK1mL92.js} +0 -0
  498. /package/dist/{useKeyboardShortcuts-Be3w_Rwk.js → useKeyboardShortcuts-BXWXOZ-9.js} +0 -0
  499. /package/dist/{useLiquidFlex-BL0lLLN2.js → useLiquidFlex-mZPMiNXh.js} +0 -0
  500. /package/dist/{useResizeObserver-BhgdhOIj.js → useResizeObserver-Bpoi7tRE.js} +0 -0
  501. /package/dist/{useResolveTokenColor-Dvn2RZJW.js → useResolveTokenColor-vAylyR0x.js} +0 -0
  502. /package/dist/{useScrollProgress-Dlvx-L3v.js → useScrollProgress-D7bYU2RK.js} +0 -0
  503. /package/dist/{useSortable-muI29agz.js → useSortable-DHjtZSEd.js} +0 -0
  504. /package/dist/{useTextHighlight-DmRYkOBx.js → useTextHighlight-CWEi25hf.js} +0 -0
  505. /package/dist/{useTimer-Dzarvzuk.js → useTimer-BHJOKr35.js} +0 -0
  506. /package/dist/{useUserInvalidAria-B2h6jAM_.js → useUserInvalidAria-y5namzeE.js} +0 -0
  507. /package/dist/{useViewportReady-B40FK4Pa.js → useViewportReady-anbac3m6.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,26 +1,26 @@
1
- import { n as e, t } from "./minimize-2-BV31Ob_h.js";
2
- import { i as n } from "./useKeyboardShortcuts-Be3w_Rwk.js";
3
- import { Fragment as r, Teleport as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createVNode as l, defineComponent as u, mergeModels as d, mergeProps as f, normalizeClass as p, onMounted as m, onUnmounted as h, openBlock as g, renderSlot as _, unref as v, useModel as y, watch as b } from "vue";
1
+ import { t as e } from "./cn-DJXf4yaB.js";
2
+ import { c as t, l as n } from "./vendor-CKmzio-i.js";
3
+ import { t as r } from "./useSurfaceAxis-g0NloYEF.js";
4
+ import { i } from "./useKeyboardShortcuts-BXWXOZ-9.js";
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";
4
6
  //#region src/components/custom/expandable-container/ExpandableContainer.vue?vue&type=script&setup=true&lang.ts
5
- var x = ["aria-label"], S = {
6
- key: 0,
7
- class: "fixed inset-0 z-modal flex flex-col bg-background"
8
- }, C = ["aria-label"], w = { class: "h-full w-full" }, T = 0, E = null;
9
- function D() {
10
- return typeof document > "u" ? !1 : (T === 0 && (E = document.body.style.overflow, document.body.style.overflow = "hidden"), T += 1, !0);
7
+ var w = ["aria-label"], T = ["data-surface"], E = ["aria-label"], D = { class: "h-full w-full" }, O = 0, k = null;
8
+ function A() {
9
+ return typeof document > "u" ? !1 : (O === 0 && (k = document.body.style.overflow, document.body.style.overflow = "hidden"), O += 1, !0);
11
10
  }
12
- function O() {
13
- typeof document > "u" || T === 0 || (--T, T === 0 && (document.body.style.overflow = E ?? "", E = null));
11
+ function j() {
12
+ typeof document > "u" || O === 0 || (--O, O === 0 && (document.body.style.overflow = k ?? "", k = null));
14
13
  }
15
14
  //#endregion
16
15
  //#region src/components/custom/expandable-container/ExpandableContainer.vue
17
- var k = /* @__PURE__ */ u({
16
+ var M = /* @__PURE__ */ p({
18
17
  inheritAttrs: !1,
19
18
  __name: "ExpandableContainer",
20
- props: /* @__PURE__ */ d({
19
+ props: /* @__PURE__ */ m({
21
20
  buttonPosition: { default: "right" },
22
21
  expandLabel: { default: "Fullscreen" },
23
- collapseLabel: { default: "Exit fullscreen" }
22
+ collapseLabel: { default: "Exit fullscreen" },
23
+ surface: { default: "glass" }
24
24
  }, {
25
25
  open: {
26
26
  type: Boolean,
@@ -29,42 +29,49 @@ var k = /* @__PURE__ */ u({
29
29
  openModifiers: {}
30
30
  }),
31
31
  emits: ["update:open"],
32
- setup(u) {
33
- let d = y(u, "open"), T = !1;
34
- function E(e) {
35
- if (e && !T) {
36
- T = D();
32
+ setup(p) {
33
+ let m = p, O = s(() => r(m.surface).replace(/^glass-\w+\s*/, "")), k = S(p, "open"), M = !1;
34
+ function N(e) {
35
+ if (e && !M) {
36
+ M = A();
37
37
  return;
38
38
  }
39
- !e && T && (O(), T = !1);
39
+ !e && M && (j(), M = !1);
40
40
  }
41
- b(d, E, { immediate: !0 });
42
- let k = null;
43
- return m(() => {
44
- k = n("Escape", () => {
45
- d.value &&= !1;
41
+ C(k, N, { immediate: !0 });
42
+ let P = null;
43
+ return _(() => {
44
+ P = i("Escape", () => {
45
+ k.value &&= !1;
46
46
  }, {
47
47
  label: "Exit fullscreen",
48
48
  group: "UI",
49
49
  allowInInput: !0
50
50
  });
51
- }), h(() => {
52
- k?.(), E(!1);
53
- }), (n, m) => (g(), s(r, null, [d.value ? o("", !0) : (g(), s("div", f({
51
+ }), v(() => {
52
+ P?.(), N(!1);
53
+ }), (r, i) => (y(), u(a, null, [k.value ? l("", !0) : (y(), u("div", h({
54
54
  key: 0,
55
55
  class: "relative"
56
- }, n.$attrs), [c("button", {
57
- class: p(["expandable-container__trigger absolute z-10 rounded-button bg-card/70 [backdrop-filter:var(--glass-blur-wash)] p-1.5 text-muted-foreground hover:text-foreground transition-colors shadow-sm border border-border/40", u.buttonPosition === "left" ? "left-2 top-2" : "right-2 top-2"]),
56
+ }, r.$attrs), [d("button", {
57
+ class: g(["expandable-container__trigger absolute z-10 rounded-button bg-card/70 [backdrop-filter:var(--glass-blur-wash)] p-1.5 text-muted-foreground hover:text-foreground transition-colors shadow-sm border border-border/40", p.buttonPosition === "left" ? "left-2 top-2" : "right-2 top-2"]),
58
58
  title: "Fullscreen",
59
- "aria-label": u.expandLabel,
60
- onClick: m[0] ||= (e) => d.value = !0
61
- }, [l(v(e), { class: "h-4 w-4" })], 10, x), _(n.$slots, "default", { fullscreen: !1 })], 16)), (g(), a(i, { to: "body" }, [d.value ? (g(), s("div", S, [c("button", {
62
- class: p(["expandable-container__trigger absolute z-10 rounded-button bg-card/70 [backdrop-filter:var(--glass-blur-wash)] p-2 text-muted-foreground hover:text-foreground transition-colors shadow-sm border border-border/40", u.buttonPosition === "left" ? "left-3 top-3" : "right-3 top-3"]),
59
+ "aria-label": p.expandLabel,
60
+ onClick: i[0] ||= (e) => k.value = !0
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", {
65
+ key: 0,
66
+ "data-surface": p.surface,
67
+ class: g(x(e)("fixed inset-0 z-modal flex flex-col glass-overlay", O.value))
68
+ }, [d("button", {
69
+ class: g(["expandable-container__trigger absolute z-10 rounded-button bg-card/70 [backdrop-filter:var(--glass-blur-wash)] p-2 text-muted-foreground hover:text-foreground transition-colors shadow-sm border border-border/40", p.buttonPosition === "left" ? "left-3 top-3" : "right-3 top-3"]),
63
70
  title: "Exit fullscreen",
64
- "aria-label": u.collapseLabel,
65
- onClick: m[1] ||= (e) => d.value = !1
66
- }, [l(v(t), { class: "h-4 w-4" })], 10, C), c("div", w, [_(n.$slots, "default", { fullscreen: !0 })])])) : o("", !0)]))], 64));
71
+ "aria-label": p.collapseLabel,
72
+ onClick: i[1] ||= (e) => k.value = !1
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));
67
74
  }
68
75
  });
69
76
  //#endregion
70
- export { k as ExpandableContainer };
77
+ export { M as ExpandableContainer };
@@ -0,0 +1 @@
1
+ export * from "./components/custom/fading-scroll";
@@ -0,0 +1,2 @@
1
+ import { n as e, t } from "./FadingScroll-DI6hQhT9.js";
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-DPiEarb0.js";
4
- import { t as r } from "./useUserInvalidAria-B2h6jAM_.js";
5
- import { t as i } from "./Input-DWQQIOC4.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"])]),