@mkbabb/glass-ui 3.1.1 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (337) hide show
  1. package/dist/{CardFooter-CSGcJkqa.js → CardFooter-C390imy7.js} +3 -3
  2. package/dist/{CollapsibleContent-CVMOcYlV.js → CollapsibleContent-cauTbZEM.js} +1 -1
  3. package/dist/{CommandShortcut-DWT19a2Y.js → CommandShortcut-BiVyqipe.js} +7 -6
  4. package/dist/{ContextMenuSubContent-gAFxJ-qi.js → ContextMenuSubContent-DrWkXKQP.js} +4 -4
  5. package/dist/DataTable-FfkaAg2z.js +465 -0
  6. package/dist/DialogContent-IQ8_BRrC.js +100 -0
  7. package/dist/{DialogFooter-ClrNEOVU.js → DialogFooter-Er0wA3K6.js} +2 -2
  8. package/dist/{DiscoGlyph-C3JfMnRV.js → DiscoGlyph-BaZ8OawK.js} +1 -1
  9. package/dist/{GlyphFace-BRS8vUb7.js → GlyphFace-B_7vOmYn.js} +1 -1
  10. package/dist/HoverPopover-DTSYkJtw.js +96 -0
  11. package/dist/{IconTooltip-BkaA7tZ2.js → IconTooltip-BTyYn4mr.js} +1 -1
  12. package/dist/Input-CU9CNKmo.js +52 -0
  13. package/dist/{MetricBadge-DmAihkXd.js → MetricBadge-BlrdbOGN.js} +2 -2
  14. package/dist/{Notification-OqIpADml.js → Notification-DP_ApJLo.js} +3 -3
  15. package/dist/{NumberFieldContent-DTH9gb_N.js → NumberFieldContent-iOTQ5rGO.js} +9 -5
  16. package/dist/{PopoverContent-EiklFrna.js → PopoverContent-B8WtJECb.js} +1 -1
  17. package/dist/Progress-DjM86vfb.js +254 -0
  18. package/dist/{ScrollingText-BFd0i2zJ.js → ScrollingText-P9o_DuMn.js} +2 -2
  19. package/dist/{SelectScrollDownButton-Dth8-wXQ.js → SelectScrollDownButton-BGn3rjs9.js} +12 -11
  20. package/dist/TabsIndicator-DA0x9gPr.js +97 -0
  21. package/dist/{Toaster-Bjlunvq4.js → Toaster-DdhMKfus.js} +1 -1
  22. package/dist/{ToggleGroupItem-OesUouE7.js → ToggleGroupItem-gyXj998A.js} +37 -40
  23. package/dist/UnderlineTabs-Cq_AD03t.js +39 -0
  24. package/dist/animated-digit.js +3 -3
  25. package/dist/api/index.d.ts +2 -0
  26. package/dist/api.js +1 -1
  27. package/dist/aurora.js +471 -320
  28. package/dist/badge.js +1 -1
  29. package/dist/{button-C0aHmBbt.js → button-Ckn3eDfB.js} +27 -22
  30. package/dist/button.js +1 -1
  31. package/dist/card.js +1 -1
  32. package/dist/carousel.js +6 -6
  33. package/dist/{check-dwgetki8.js → check-CdkxGxXJ.js} +1 -1
  34. package/dist/{chevron-down-DILQA1t6.js → chevron-down-pBY8sYfV.js} +1 -1
  35. package/dist/{chevron-right-fS7fal2t.js → chevron-right-BjeKC22V.js} +1 -1
  36. package/dist/{chevron-up-BtYjYQOS.js → chevron-up-DBeNHUm1.js} +1 -1
  37. package/dist/collapsible.js +1 -1
  38. package/dist/color-rkK4RMx2.js +33 -0
  39. package/dist/color.d.ts +1 -0
  40. package/dist/color.js +2 -0
  41. package/dist/command.js +1 -1
  42. package/dist/compile-DVgAxagk.js +106 -0
  43. package/dist/components/custom/animated-digit/AnimatedDigit.vue.d.ts +7 -7
  44. package/dist/components/custom/aurora/Aurora.vue.d.ts +3 -3
  45. package/dist/components/custom/aurora/composables/color.d.ts +42 -16
  46. package/dist/components/custom/aurora/composables/cursorModel.d.ts +45 -0
  47. package/dist/components/custom/aurora/composables/frameLoop.d.ts +30 -0
  48. package/dist/components/custom/aurora/composables/glSetup.d.ts +29 -0
  49. package/dist/components/custom/aurora/composables/runtime.d.ts +45 -35
  50. package/dist/components/custom/aurora/composables/uniformBridge.d.ts +67 -0
  51. package/dist/components/custom/aurora/composables/useAurora.d.ts +14 -1
  52. package/dist/components/custom/aurora/composables/useCursorInteraction.d.ts +1 -1
  53. package/dist/components/custom/aurora/constants/budget.d.ts +50 -0
  54. package/dist/components/custom/aurora/{presets.d.ts → constants/presets.d.ts} +3 -6
  55. package/dist/components/custom/aurora/constants/shaders/aurora.frag.d.ts +1 -0
  56. package/dist/components/custom/aurora/constants/shaders/brush.glsl.d.ts +1 -0
  57. package/dist/components/custom/aurora/constants/shaders/composition.glsl.d.ts +1 -0
  58. package/dist/components/custom/aurora/constants/shaders/flow.glsl.d.ts +1 -0
  59. package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +2 -0
  60. package/dist/components/custom/aurora/constants/shaders/tonemap.glsl.d.ts +1 -0
  61. package/dist/components/custom/aurora/index.d.ts +4 -3
  62. package/dist/components/custom/configurator/Configurator.vue.d.ts +26 -0
  63. package/dist/components/custom/configurator/ConfiguratorLayer.vue.d.ts +14 -7
  64. package/dist/components/custom/configurator/density.d.ts +3 -8
  65. package/dist/components/custom/configurator/index.d.ts +1 -1
  66. package/dist/components/custom/dock/DockBackgroundToggle.vue.d.ts +46 -0
  67. package/dist/components/custom/dock/DockIconButton.vue.d.ts +15 -4
  68. package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +2 -2
  69. package/dist/components/custom/dock/GlassDock.vue.d.ts +34 -13
  70. package/dist/components/custom/dock/composables/dockContext.d.ts +4 -4
  71. package/dist/components/custom/dock/composables/dockLayerContext.d.ts +13 -6
  72. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +32 -8
  73. package/dist/components/custom/dock/index.d.ts +1 -0
  74. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +10 -0
  75. package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +1 -1
  76. package/dist/components/custom/glyph-face/keys.d.ts +3 -29
  77. package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +48 -0
  78. package/dist/components/custom/goo-blob/composables/easing.d.ts +6 -0
  79. package/dist/components/custom/goo-blob/composables/useBlobMood.d.ts +14 -0
  80. package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +18 -0
  81. package/dist/components/custom/goo-blob/composables/useBlobSatellites.d.ts +13 -0
  82. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +42 -0
  83. package/dist/components/custom/goo-blob/index.d.ts +7 -0
  84. package/dist/components/custom/goo-blob/shaders/metaball.frag.d.ts +1 -0
  85. package/dist/components/custom/goo-blob/shaders/metaball.vert.d.ts +1 -0
  86. package/dist/components/custom/goo-blob/shaders/oklch-perturb.glsl.d.ts +1 -0
  87. package/dist/components/custom/goo-blob/shaders/sdf-body.glsl.d.ts +1 -0
  88. package/dist/components/custom/goo-blob/shaders/watercolor-edges.glsl.d.ts +2 -0
  89. package/dist/components/custom/goo-blob/types.d.ts +77 -0
  90. package/dist/components/custom/hover-popover/HoverPopover.vue.d.ts +48 -9
  91. package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +2 -0
  92. package/dist/components/custom/labeled-field/LabeledSelect.vue.d.ts +2 -2
  93. package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +2 -2
  94. package/dist/components/custom/responsive-tabs/ResponsiveTabs.vue.d.ts +13 -7
  95. package/dist/components/custom/search/FuzzySearch.vue.d.ts +1 -1
  96. package/dist/components/custom/search/SearchBar.vue.d.ts +1 -1
  97. package/dist/components/custom/sortable-list/SortableHandle.vue.d.ts +7 -1
  98. package/dist/components/custom/sortable-list/context.d.ts +2 -3
  99. package/dist/components/custom/tabs/BouncyTabs.vue.d.ts +6 -3
  100. package/dist/components/custom/tabs/BouncyToggle.vue.d.ts +7 -3
  101. package/dist/components/custom/tabs/UnderlineTabs.vue.d.ts +6 -3
  102. package/dist/components/custom/tabs/composables/useBouncySlider.d.ts +39 -0
  103. package/dist/components/custom/timeline/ContinuousMarkers.vue.d.ts +49 -0
  104. package/dist/components/custom/timeline/ContinuousRail.vue.d.ts +26 -0
  105. package/dist/components/custom/timeline/ContinuousTimeline.vue.d.ts +4 -4
  106. package/dist/components/custom/typewriter/TypewriterText.vue.d.ts +2 -2
  107. package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +45 -0
  108. package/dist/components/custom/watercolor-dot/index.d.ts +3 -0
  109. package/dist/components/custom/watercolor-dot/prng.d.ts +5 -0
  110. package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +24 -0
  111. package/dist/components/ui/_shared/menuItemVariants.d.ts +1 -1
  112. package/dist/components/ui/avatar/Avatar.vue.d.ts +1 -1
  113. package/dist/components/ui/avatar/AvatarImage.vue.d.ts +5 -1
  114. package/dist/components/ui/avatar/index.d.ts +1 -1
  115. package/dist/components/ui/badge/index.d.ts +2 -2
  116. package/dist/components/ui/button/Button.vue.d.ts +3 -1
  117. package/dist/components/ui/button/index.d.ts +2 -2
  118. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +2 -2
  119. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +2 -2
  120. package/dist/components/ui/combobox/Combobox.vue.d.ts +2 -2
  121. package/dist/components/ui/combobox/ComboboxInput.vue.d.ts +2 -1
  122. package/dist/components/ui/command/Command.vue.d.ts +3 -3
  123. package/dist/components/ui/command/CommandInput.vue.d.ts +2 -1
  124. package/dist/components/ui/data-table/DataTable.vue.d.ts +5 -4
  125. package/dist/components/ui/dialog/DialogContent.vue.d.ts +8 -0
  126. package/dist/components/ui/drawer/Drawer.vue.d.ts +4 -4
  127. package/dist/components/ui/input/Input.vue.d.ts +19 -1
  128. package/dist/components/ui/multi-select/MultiSelect.vue.d.ts +8 -4
  129. package/dist/components/ui/progress/Progress.vue.d.ts +26 -88
  130. package/dist/components/ui/progress/ProgressDefault.vue.d.ts +14 -0
  131. package/dist/components/ui/progress/ProgressGradient.vue.d.ts +25 -0
  132. package/dist/components/ui/progress/ProgressSectioned.vue.d.ts +36 -0
  133. package/dist/components/ui/progress/index.d.ts +5 -2
  134. package/dist/components/ui/progress/useProgressGeometry.d.ts +60 -0
  135. package/dist/components/ui/select/Select.vue.d.ts +2 -2
  136. package/dist/components/ui/select/SelectContent.vue.d.ts +1 -1
  137. package/dist/components/ui/select/SelectTrigger.vue.d.ts +3 -0
  138. package/dist/components/ui/sheet/index.d.ts +1 -1
  139. package/dist/components/ui/slider/index.d.ts +12 -11
  140. package/dist/components/ui/tags-input/TagsInput.vue.d.ts +2 -2
  141. package/dist/components/ui/textarea/Textarea.vue.d.ts +5 -1
  142. package/dist/components/ui/toast/Toast.vue.d.ts +4 -4
  143. package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
  144. package/dist/components/ui/toggle/index.d.ts +1 -1
  145. package/dist/components/ui/toggle-group/toggleGroupContext.d.ts +2 -3
  146. package/dist/composables/color/index.d.ts +49 -0
  147. package/dist/composables/context/createContext.d.ts +56 -0
  148. package/dist/composables/context/index.d.ts +1 -0
  149. package/dist/composables/dark/darkModeSyncScript.d.ts +23 -0
  150. package/dist/composables/dark/index.d.ts +3 -0
  151. package/dist/composables/dark/useGlobalDark.d.ts +19 -2
  152. package/dist/composables/dom/index.d.ts +1 -3
  153. package/dist/composables/dom/useClipboard.d.ts +35 -12
  154. package/dist/composables/dom/useDocumentVisibility.d.ts +20 -0
  155. package/dist/composables/dom/useTextHighlight.d.ts +40 -0
  156. package/dist/composables/glass/webgl/compile.d.ts +15 -0
  157. package/dist/composables/glass/webgl/shaders/procedural-color.glsl.d.ts +3 -0
  158. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +55 -0
  159. package/dist/composables/motion/core/index.d.ts +2 -1
  160. package/dist/composables/motion/index.d.ts +1 -1
  161. package/dist/composables/motion/useCountup.d.ts +29 -0
  162. package/dist/composables/motion/usePrioritizedTask.d.ts +41 -0
  163. package/dist/composables/motion/vReveal.d.ts +2 -0
  164. package/dist/composables/sidebar/useSidebarState.d.ts +2 -2
  165. package/dist/composables/sortable/dragController.d.ts +44 -0
  166. package/dist/composables/sortable/dropResolver.d.ts +34 -0
  167. package/dist/composables/sortable/ghostRenderer.d.ts +44 -0
  168. package/dist/composables/sortable/index.d.ts +1 -1
  169. package/dist/composables/sortable/touchGate.d.ts +26 -0
  170. package/dist/composables/sortable/transitionTiming.d.ts +50 -0
  171. package/dist/composables/sortable/types.d.ts +133 -0
  172. package/dist/composables/sortable/useSortable.d.ts +25 -140
  173. package/dist/configurator.js +1 -1
  174. package/dist/confirm-dialog.js +3 -3
  175. package/dist/context-menu.js +2 -2
  176. package/dist/controls.js +5 -5
  177. package/dist/createContext-DBMGRlx4.js +25 -0
  178. package/dist/dark.d.ts +2 -1
  179. package/dist/dark.js +9 -2
  180. package/dist/data-table.js +1 -1
  181. package/dist/dialog.js +2 -2
  182. package/dist/disco-glyph.js +1 -1
  183. package/dist/dock.js +410 -254
  184. package/dist/dockContext-spUj_-E5.js +9 -0
  185. package/dist/dom.js +6 -5
  186. package/dist/{dropdown-menu-BvRUamNs.js → dropdown-menu-EFjl5iKo.js} +4 -4
  187. package/dist/dropdown-menu.js +1 -1
  188. package/dist/expandable-container.js +28 -22
  189. package/dist/fonts/README.md +21 -0
  190. package/dist/fonts/fraunces/fraunces-latin.woff2 +0 -0
  191. package/dist/forms.js +70 -61
  192. package/dist/glass-carousel.js +59 -52
  193. package/dist/glass-panel.js +2 -2
  194. package/dist/glass-ui.css +1 -1
  195. package/dist/glass-ui.js +159 -254
  196. package/dist/glyph-face.js +2 -2
  197. package/dist/goo-blob.d.ts +1 -0
  198. package/dist/goo-blob.js +538 -0
  199. package/dist/header-ribbon.js +3 -3
  200. package/dist/hover-card.js +1 -1
  201. package/dist/hover-popover.js +1 -1
  202. package/dist/icon-tooltip.js +1 -1
  203. package/dist/index.d.ts +1 -0
  204. package/dist/instrument-chassis.js +1 -1
  205. package/dist/instrument-rail.js +1 -1
  206. package/dist/keyboard.js +1 -1
  207. package/dist/keys-BFoma9vm.js +9 -0
  208. package/dist/label.js +1 -1
  209. package/dist/labeled-field.js +57 -39
  210. package/dist/metric-badge.js +1 -1
  211. package/dist/metric-stack.js +1 -1
  212. package/dist/{minimize-2-LsCJ_eNt.js → minimize-2-BP27-qBY.js} +1 -1
  213. package/dist/motion-core.js +154 -135
  214. package/dist/motion.js +63 -15
  215. package/dist/notification.js +1 -1
  216. package/dist/number-field.js +1 -1
  217. package/dist/paper-backdrop.js +1 -1
  218. package/dist/popover.js +1 -1
  219. package/dist/{presets-a-D93K1S.js → presets-1OhFpaIC.js} +5 -5
  220. package/dist/prng-Bz_1Tydc.js +15 -0
  221. package/dist/progress.js +2 -2
  222. package/dist/pulse.js +1 -1
  223. package/dist/reactive.js +2 -2
  224. package/dist/responsive-tabs.js +38 -32
  225. package/dist/scrolling-text.js +1 -1
  226. package/dist/{search-DBAiUABx.js → search-DBG8qaRs.js} +1 -1
  227. package/dist/search.js +153 -149
  228. package/dist/select.js +3 -3
  229. package/dist/separator.js +1 -1
  230. package/dist/{sheet-CukNDezz.js → sheet-CQYYrkr9.js} +3 -3
  231. package/dist/sheet.js +1 -1
  232. package/dist/{slider-DJvHkTRe.js → slider-BOh8ycfZ.js} +8 -12
  233. package/dist/slider.js +1 -1
  234. package/dist/sortable-list.js +37 -39
  235. package/dist/stacked-icons.js +2 -2
  236. package/dist/styles/animations.css +1 -1
  237. package/dist/styles/cards.css +1 -1
  238. package/dist/styles/components.css +45 -0
  239. package/dist/styles/dock-controls.css +486 -0
  240. package/dist/styles/dock.css +325 -431
  241. package/dist/styles/fonts.css +25 -0
  242. package/dist/styles/glass-specular-track.css +154 -0
  243. package/dist/styles/glass.css +74 -2
  244. package/dist/styles/index.css +25 -2
  245. package/dist/styles/instrument-chassis.css +11 -4
  246. package/dist/styles/theme.css +73 -21
  247. package/dist/styles/tokens.css +282 -140
  248. package/dist/styles/typography.css +14 -8
  249. package/dist/styles/utilities.css +92 -8
  250. package/dist/styles/view-transition.css +10 -4
  251. package/dist/switch.js +1 -1
  252. package/dist/tabs.js +148 -106
  253. package/dist/timeline.js +220 -159
  254. package/dist/toast.js +1 -1
  255. package/dist/toggle-group.js +1 -1
  256. package/dist/tokens.d.ts +1 -1
  257. package/dist/tooltip.js +1 -1
  258. package/dist/typewriter.js +1 -1
  259. package/dist/{useAnimatedNumber-DKQYVB7s.js → useAnimatedNumber-BF6r64lA.js} +1 -1
  260. package/dist/useClipboard-D8vFyRCa.js +97 -0
  261. package/dist/useConfiguratorState-DUtC1jxr.js +276 -0
  262. package/dist/useGlobalDark-CWiaCoEw.js +34 -0
  263. package/dist/useIntersectionPause-DAdVPVp4.js +53 -0
  264. package/dist/useSortable-DnyGXKKY.js +246 -0
  265. package/dist/useTextHighlight-Dmtofpk2.js +72 -0
  266. package/dist/{useTouchGate-D9Zvrzyc.js → useTouchGate-CS5Csc2h.js} +1 -1
  267. package/dist/{useViewTransition-DYIK6Gzb.js → useViewTransition-D4ssvnXZ.js} +5 -3
  268. package/dist/utils/index.d.ts +2 -1
  269. package/dist/utils/platformSupport.d.ts +8 -0
  270. package/dist/utils/prng.d.ts +4 -0
  271. package/dist/vReveal-u2wSG2El.js +35 -0
  272. package/dist/watercolor-dot.d.ts +1 -0
  273. package/dist/watercolor-dot.js +129 -0
  274. package/dist/{x-q7pJa83X.js → x-C4pz9nbD.js} +1 -1
  275. package/package.json +110 -16
  276. package/src/fonts/README.md +21 -0
  277. package/src/fonts/fraunces/fraunces-latin.woff2 +0 -0
  278. package/src/styles/animations.css +1 -1
  279. package/src/styles/cards.css +1 -1
  280. package/src/styles/dock-controls.css +486 -0
  281. package/src/styles/dock.css +325 -431
  282. package/src/styles/fonts.css +25 -0
  283. package/src/styles/glass-specular-track.css +154 -0
  284. package/src/styles/glass.css +74 -2
  285. package/src/styles/index.css +21 -2
  286. package/src/styles/instrument-chassis.css +11 -4
  287. package/src/styles/theme.css +73 -21
  288. package/src/styles/tokens.css +282 -140
  289. package/src/styles/typography.css +14 -8
  290. package/src/styles/utilities.css +92 -8
  291. package/src/styles/view-transition.css +10 -4
  292. package/dist/DataTable-R8-Zidms.js +0 -460
  293. package/dist/DialogContent-2fALDSvc.js +0 -93
  294. package/dist/HoverPopover-CWFCfLx3.js +0 -96
  295. package/dist/Input-DDpFn568.js +0 -30
  296. package/dist/Progress-FApA9fm_.js +0 -126
  297. package/dist/UnderlineTabs-DAWMLmJG.js +0 -37
  298. package/dist/components/custom/aurora/shaders/aurora.frag.d.ts +0 -1
  299. package/dist/composables/dom/useBreakpoint.d.ts +0 -38
  300. package/dist/composables/dom/useIdleReady.d.ts +0 -63
  301. package/dist/composables/dom/useViewportReady.d.ts +0 -87
  302. package/dist/composables/glass/webgl/frostShader.d.ts +0 -27
  303. package/dist/composables/motion/useAnimatedNumberMap.d.ts +0 -29
  304. package/dist/composables/motion/useStagger.d.ts +0 -50
  305. package/dist/dockContext-D5NZCWJs.js +0 -16
  306. package/dist/keys-CaTQS-vx.js +0 -11
  307. package/dist/useConfiguratorState-CtRBE0m_.js +0 -268
  308. package/dist/useGlobalDark-B0WvLJE3.js +0 -24
  309. package/dist/useIdleReady-Cmkhm03v.js +0 -162
  310. package/dist/useIntersectionPause-IY2CwPQb.js +0 -39
  311. package/dist/useSortable-Cq2Y1JLO.js +0 -175
  312. /package/dist/{ContextMenuContent-otjFIu8v.js → ContextMenuContent-De01_83g.js} +0 -0
  313. /package/dist/{HoverCardContent-DaGrgJBO.js → HoverCardContent-ICfIMZX1.js} +0 -0
  314. /package/dist/{InstrumentChassis-CnHTMxds.js → InstrumentChassis-DaHIZCqy.js} +0 -0
  315. /package/dist/{InstrumentRail-C6dEbi8E.js → InstrumentRail-B0qqLFN0.js} +0 -0
  316. /package/dist/{Label-DJty89bp.js → Label-CZk-3nTc.js} +0 -0
  317. /package/dist/{ModalOverlay-iWiAgbYH.js → ModalOverlay-B_CBtqcE.js} +0 -0
  318. /package/dist/{PaperBackdrop-CeZ-w0R0.js → PaperBackdrop-D_YZW47j.js} +0 -0
  319. /package/dist/{SelectGroup-DdR4tdDY.js → SelectGroup-CMdoCjRE.js} +0 -0
  320. /package/dist/{SelectSeparator-CXm_hlqA.js → SelectSeparator-CaJnPF3_.js} +0 -0
  321. /package/dist/{Separator-D8AUMhxY.js → Separator-C2XtAXRp.js} +0 -0
  322. /package/dist/{Switch-Cr1t_F_U.js → Switch-x8n6husW.js} +0 -0
  323. /package/dist/{TooltipProvider-DE78vbEP.js → TooltipProvider-D-JrSqDu.js} +0 -0
  324. /package/dist/{_plugin-vue_export-helper-Dq1MygBL.js → _plugin-vue_export-helper-C1je1s0u.js} +0 -0
  325. /package/dist/{badge-x46my_Fo.js → badge-Cl6JZ1B7.js} +0 -0
  326. /package/dist/components/custom/aurora/{renderMode.d.ts → constants/renderMode.d.ts} +0 -0
  327. /package/dist/components/custom/aurora/{shaders → constants/shaders}/aurora.vert.d.ts +0 -0
  328. /package/dist/{constants-DwBwnG8N.js → constants-DsCdlK9I.js} +0 -0
  329. /package/dist/{createLucideIcon-Bn9a1b70.js → createLucideIcon-DuDoe_ra.js} +0 -0
  330. /package/dist/{menuItemVariants-BsbGNq9C.js → menuItemVariants-C2QlXqT3.js} +0 -0
  331. /package/dist/{useGlassRenderer-Ds-nmrGz.js → useGlassRenderer-Dn3WpfG-.js} +0 -0
  332. /package/dist/{useInterval-DVgGUf_y.js → useInterval-CHVYFpXV.js} +0 -0
  333. /package/dist/{useKeyboardShortcuts-Dpw_RUcB.js → useKeyboardShortcuts-BQfnAHHW.js} +0 -0
  334. /package/dist/{useResizeObserver-Cg9npuM3.js → useResizeObserver-DX-STszm.js} +0 -0
  335. /package/dist/{useSpringMount-Cfk1XK1R.js → useSpringMount-CnizvZGm.js} +0 -0
  336. /package/dist/{useTimer-NAaj9zNq.js → useTimer-DGgoxTXL.js} +0 -0
  337. /package/dist/{useUserInvalidAria-DVu1eTXG.js → useUserInvalidAria-DmvZ_6Dx.js} +0 -0
package/dist/badge.js CHANGED
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./badge-x46my_Fo.js";
1
+ import { n as e, t } from "./badge-Cl6JZ1B7.js";
2
2
  export { e as Badge, t as badgeVariants };
@@ -1,10 +1,10 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
- import { createBlock as t, defineComponent as n, normalizeClass as r, openBlock as i, renderSlot as a, unref as o, withCtx as s } from "vue";
3
- import { Primitive as c } from "reka-ui";
4
- import { cva as l } from "class-variance-authority";
2
+ import { computed as t, createBlock as n, defineComponent as r, mergeProps as i, openBlock as a, renderSlot as o, unref as s, withCtx as c } from "vue";
3
+ import { Primitive as l } from "reka-ui";
4
+ import { cva as u } from "class-variance-authority";
5
5
  //#endregion
6
6
  //#region src/components/ui/button/Button.vue
7
- var u = /* @__PURE__ */ n({
7
+ var d = /* @__PURE__ */ r({
8
8
  __name: "Button",
9
9
  props: {
10
10
  variant: {},
@@ -16,30 +16,34 @@ var u = /* @__PURE__ */ n({
16
16
  Object,
17
17
  Array
18
18
  ] },
19
+ type: {},
20
+ disabled: { type: [Boolean, String] },
19
21
  asChild: { type: Boolean },
20
22
  as: { default: "button" }
21
23
  },
22
- setup(n) {
23
- let l = n;
24
- return (u, f) => (i(), t(o(c), {
25
- as: n.as,
26
- "as-child": n.asChild,
27
- "data-size": n.size,
28
- class: r(o(e)(o(d)({
29
- variant: n.variant,
30
- size: n.size
31
- }), l.class))
32
- }, {
33
- default: s(() => [a(u.$slots, "default")]),
24
+ setup(r) {
25
+ let u = r, d = t(() => ({
26
+ type: u.type,
27
+ disabled: u.disabled
28
+ }));
29
+ return (t, p) => (a(), n(s(l), i({
30
+ as: r.as,
31
+ "as-child": r.asChild,
32
+ "data-size": r.size
33
+ }, d.value, { class: s(e)(s(f)({
34
+ variant: r.variant,
35
+ size: r.size
36
+ }), u.class) }), {
37
+ default: c(() => [o(t.$slots, "default")]),
34
38
  _: 3
35
- }, 8, [
39
+ }, 16, [
36
40
  "as",
37
41
  "as-child",
38
42
  "data-size",
39
43
  "class"
40
44
  ]));
41
45
  }
42
- }), d = l("btn-pill focus-ring whitespace-nowrap text-sm font-medium cursor-pointer active:scale-[var(--scale-press-btn)] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-disabled", {
46
+ }), f = u("btn-pill focus-ring whitespace-nowrap text-sm font-medium cursor-pointer active:scale-[var(--scale-press-btn)] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-disabled", {
43
47
  variants: {
44
48
  variant: {
45
49
  default: "bg-primary text-primary-foreground hover:bg-primary/90 active:bg-primary/80 aria-pressed:bg-primary/85",
@@ -50,8 +54,8 @@ var u = /* @__PURE__ */ n({
50
54
  secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 active:bg-secondary/70 aria-pressed:bg-secondary/60",
51
55
  accent: "bg-accent text-accent-foreground border border-border/40 hover:bg-accent/80 active:bg-accent/70 aria-pressed:bg-accent/60",
52
56
  ghost: "bg-transparent text-foreground/70 hover:bg-foreground/8 hover:text-foreground active:bg-foreground/12 aria-pressed:bg-foreground/10 aria-pressed:text-foreground",
53
- glass: "glass-wash text-foreground hover:bg-[var(--glass-bg-resting)] hover:border-[var(--glass-border-resting)] active:bg-[var(--glass-bg-floating)] active:border-[var(--glass-border-floating)] aria-pressed:bg-[color-mix(in_srgb,var(--foreground)_10%,var(--glass-bg-resting))]",
54
- "glass-wash": "glass-wash text-foreground/70 hover:bg-foreground/[0.04] hover:border-[var(--surface-tint-22)] hover:text-foreground active:bg-foreground/[0.08] aria-pressed:bg-foreground/[0.1] aria-pressed:text-foreground",
57
+ glass: "glass-wash glass-specular-track text-foreground hover:bg-[var(--glass-bg-resting)] hover:border-[var(--glass-border-resting)] active:bg-[var(--glass-bg-floating)] active:border-[var(--glass-border-floating)] aria-pressed:bg-[color-mix(in_srgb,var(--foreground)_10%,var(--glass-bg-resting))]",
58
+ "glass-wash": "glass-wash glass-specular-track text-foreground/70 hover:bg-foreground/[0.04] hover:border-[var(--surface-tint-22)] hover:text-foreground active:bg-foreground/[0.08] aria-pressed:bg-foreground/[0.1] aria-pressed:text-foreground",
55
59
  ai: "bg-amber-500/15 text-amber-700 hover:bg-amber-500/25 active:bg-amber-500/35 dark:text-amber-400 aria-pressed:bg-amber-500/30",
56
60
  link: "text-primary underline-offset-4 hover:underline active:opacity-80 active:scale-100"
57
61
  },
@@ -60,7 +64,8 @@ var u = /* @__PURE__ */ n({
60
64
  xs: "h-7 rounded-pill px-2 text-xs",
61
65
  sm: "h-9 rounded-pill px-3",
62
66
  lg: "h-11 rounded-pill px-8",
63
- icon: "h-10 w-10 p-0"
67
+ icon: "h-10 w-10 p-0",
68
+ "icon-sm": "h-7 w-7 p-0"
64
69
  }
65
70
  },
66
71
  defaultVariants: {
@@ -69,4 +74,4 @@ var u = /* @__PURE__ */ n({
69
74
  }
70
75
  });
71
76
  //#endregion
72
- export { u as n, d as t };
77
+ export { d as n, f as t };
package/dist/button.js CHANGED
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./button-C0aHmBbt.js";
1
+ import { n as e, t } from "./button-Ckn3eDfB.js";
2
2
  export { e as Button, t as buttonVariants };
package/dist/card.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as e, i as t, n, o as r, r as i, t as a } from "./CardFooter-CSGcJkqa.js";
1
+ import { a as e, i as t, n, o as r, r as i, t as a } from "./CardFooter-C390imy7.js";
2
2
  export { r as Card, n as CardContent, i as CardDescription, a as CardFooter, e as CardHeader, t as CardTitle };
package/dist/carousel.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
- import { t } from "./createLucideIcon-Bn9a1b70.js";
3
- import { t as n } from "./chevron-down-DILQA1t6.js";
4
- import { t as r } from "./chevron-right-fS7fal2t.js";
5
- import { t as i } from "./chevron-up-BtYjYQOS.js";
6
- import { n as a } from "./button-C0aHmBbt.js";
2
+ import { t } from "./createLucideIcon-DuDoe_ra.js";
3
+ import { t as n } from "./chevron-down-pBY8sYfV.js";
4
+ import { t as r } from "./chevron-right-BjeKC22V.js";
5
+ import { t as i } from "./chevron-up-DBeNHUm1.js";
6
+ import { n as a } from "./button-Ckn3eDfB.js";
7
7
  import { Fragment as o, computed as s, createBlock as c, createCommentVNode as l, createElementBlock as u, createElementVNode as d, createVNode as f, defineComponent as p, mergeProps as m, normalizeClass as h, onMounted as g, openBlock as _, ref as v, renderList as y, renderSlot as b, resolveDynamicComponent as x, toDisplayString as S, unref as C, watch as w, withCtx as T } from "vue";
8
8
  import { createInjectionState as E } from "@vueuse/core";
9
9
  import D from "embla-carousel-vue";
@@ -165,7 +165,7 @@ var P = /* @__PURE__ */ p({
165
165
  "aria-label": `Go to slide ${t}`,
166
166
  "data-active": t - 1 === a.value ? "" : void 0,
167
167
  "data-slot": "carousel-dot",
168
- class: h(["focus-ring rounded-pill cursor-pointer transition-[background-color,transform,width,height,box-shadow] duration-[var(--duration-fast)]", C(e)(C(i) === "vertical" ? "w-1.5" : "h-1.5", t - 1 === a.value ? C(i) === "vertical" ? "h-6 bg-foreground scale-[var(--scale-hover)]" : "w-6 bg-foreground scale-[var(--scale-hover)]" : C(i) === "vertical" ? "h-1.5 bg-[var(--muted-medium)] hover:bg-foreground/50" : "w-1.5 bg-[var(--muted-medium)] hover:bg-foreground/50")]),
168
+ class: h(["focus-ring rounded-pill cursor-pointer transition-[background-color,transform,width,height,box-shadow] duration-fast", C(e)(C(i) === "vertical" ? "w-1.5" : "h-1.5", t - 1 === a.value ? C(i) === "vertical" ? "h-6 bg-foreground scale-[var(--scale-hover)]" : "w-6 bg-foreground scale-[var(--scale-hover)]" : C(i) === "vertical" ? "h-1.5 bg-muted-medium hover:bg-foreground/50" : "w-1.5 bg-muted-medium hover:bg-foreground/50")]),
169
169
  onClick: (e) => d(t - 1)
170
170
  }, null, 10, L))), 128))], 10, I)) : l("", !0);
171
171
  }
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-Bn9a1b70.js";
1
+ import { t as e } from "./createLucideIcon-DuDoe_ra.js";
2
2
  var t = e("check", [["path", {
3
3
  d: "M20 6 9 17l-5-5",
4
4
  key: "1gmf2c"
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-Bn9a1b70.js";
1
+ import { t as e } from "./createLucideIcon-DuDoe_ra.js";
2
2
  var t = e("chevron-down", [["path", {
3
3
  d: "m6 9 6 6 6-6",
4
4
  key: "qrunsl"
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-Bn9a1b70.js";
1
+ import { t as e } from "./createLucideIcon-DuDoe_ra.js";
2
2
  var t = e("chevron-right", [["path", {
3
3
  d: "m9 18 6-6-6-6",
4
4
  key: "mthhwq"
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-Bn9a1b70.js";
1
+ import { t as e } from "./createLucideIcon-DuDoe_ra.js";
2
2
  var t = e("chevron-up", [["path", {
3
3
  d: "m18 15-6-6-6 6",
4
4
  key: "153udz"
@@ -1,2 +1,2 @@
1
- import { n as e, r as t, t as n } from "./CollapsibleContent-CVMOcYlV.js";
1
+ import { n as e, r as t, t as n } from "./CollapsibleContent-cauTbZEM.js";
2
2
  export { t as Collapsible, n as CollapsibleContent, e as CollapsibleTrigger };
@@ -0,0 +1,33 @@
1
+ import { colorUnit2 as e, oklabToLinearSRGB as t, oklabToRgb255 as n, parseCSSColor as r, rawOklabToOklch as i, rawOklchToOklab as a, srgbToOKLab as o } from "@mkbabb/value.js";
2
+ //#region src/composables/color/index.ts
3
+ function s(e) {
4
+ let [n, r, i] = a(e.L, e.C, e.h), [o, s, c] = t(n, r, i);
5
+ return [
6
+ Math.max(0, o),
7
+ Math.max(0, s),
8
+ Math.max(0, c)
9
+ ];
10
+ }
11
+ function c(e) {
12
+ let [t, r, i] = a(e.L, e.C, e.h), [o, s, c] = n(t, r, i), l = (e) => Math.min(1, Math.max(0, e / 255));
13
+ return [
14
+ l(o),
15
+ l(s),
16
+ l(c)
17
+ ];
18
+ }
19
+ function l(t) {
20
+ let n = e(r(t), "rgb").value, [a, s, c] = o(Number(n.r), Number(n.g), Number(n.b)), [l, u, d] = i(a, s, c);
21
+ return {
22
+ L: l,
23
+ C: u,
24
+ h: d
25
+ };
26
+ }
27
+ function u(e) {
28
+ let [t, r, i] = a(e.L, e.C, e.h), [o, s, c] = n(t, r, i), l = (e) => Math.round(e).toString(16).padStart(2, "0");
29
+ return `#${l(o)}${l(s)}${l(c)}`;
30
+ }
31
+ var d = (e) => c(l(e));
32
+ //#endregion
33
+ export { s as a, c as i, d as n, u as r, l as t };
@@ -0,0 +1 @@
1
+ export * from "./composables/color";
package/dist/color.js ADDED
@@ -0,0 +1,2 @@
1
+ import { a as e, i as t, n, r, t as i } from "./color-rkK4RMx2.js";
2
+ export { i as cssToOklch, n as defaultBlobColorResolver, r as oklchStopToHex, t as oklchToGammaRgb, e as oklchToLinear };
package/dist/command.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "./CommandShortcut-DWT19a2Y.js";
1
+ import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "./CommandShortcut-BiVyqipe.js";
2
2
  export { r as Command, t as CommandDialog, s as CommandEmpty, a as CommandGroup, e as CommandInput, n as CommandItem, o as CommandList, i as CommandSeparator, c as CommandShortcut };
@@ -0,0 +1,106 @@
1
+ //#region src/composables/glass/webgl/shaders/procedural-color.glsl.ts
2
+ var e = "\nfloat srgbToLinearCh(float c) {\n return c <= 0.04045 ? c / 12.92 : pow((c + 0.055) / 1.055, 2.4);\n}\nvec3 srgbToLinear(vec3 c) {\n return vec3(srgbToLinearCh(c.r), srgbToLinearCh(c.g), srgbToLinearCh(c.b));\n}\n\nfloat linearToSrgbCh(float c) {\n return c <= 0.0031308 ? c * 12.92 : 1.055 * pow(c, 1.0 / 2.4) - 0.055;\n}\nvec3 linearToSrgb(vec3 c) {\n return vec3(linearToSrgbCh(c.r), linearToSrgbCh(c.g), linearToSrgbCh(c.b));\n}", t = "const mat2 FBM_ROT = mat2(0.8, 0.6, -0.6, 0.8);", n = "\n// value.js LINEAR_SRGB_TO_LMS (constants.ts), row-major; written here as GLSL\n// columns (= the transpose) so mat3 * vec3 evaluates the row-major M·v.\nconst mat3 LINEAR_SRGB_TO_LMS = mat3(\n 0.4122214708, 0.2119034982, 0.0883024619,\n 0.5363325363, 0.6806995451, 0.2817188376,\n 0.0514459929, 0.1073969566, 0.6299787005\n);\n\n// value.js srgbToOKLab's INLINE LMS→OKLab coefficients (gamut.ts lines 295-297 —\n// these differ at the ~1e-9 digit from LMS_TO_OKLAB_MATRIX; use the inline ones to\n// mirror the exact value.js path), row-major → GLSL columns.\nconst mat3 LMS_TO_OKLAB = mat3(\n 0.2104542553, 1.9779984951, 0.0259040371,\n 0.7936177850, -2.4285922050, 0.7827717662,\n -0.0040720468, 0.4505937099, -0.8086757660\n);\n\n// value.js OKLAB_TO_LMS_COEFF (constants.ts), row-major → GLSL columns. Rows:\n// l = [1, 0.3963377774, 0.2158037573], m = [1, -0.1055613458, -0.0638541728],\n// s = [1, -0.0894841775, -1.2914855480].\nconst mat3 OKLAB_TO_LMS = mat3(\n 1.0, 1.0, 1.0,\n 0.3963377774, -0.1055613458, -0.0894841775,\n 0.2158037573, -0.0638541728, -1.2914855480\n);\n\n// value.js LMS_TO_LINEAR_SRGB (constants.ts), row-major → GLSL columns.\nconst mat3 LMS_TO_LINEAR_SRGB = mat3(\n 4.0767416621, -1.2684380046, -0.0041960863,\n -3.3077115913, 2.6097574011, -0.7034186147,\n 0.2309699292, -0.3413193965, 1.7076147010\n);\n\n// Gamma sRGB → raw OKLab (L, a, b). Mirrors value.js srgbToOKLab.\nvec3 srgbToOklab(vec3 c) {\n vec3 lin = srgbToLinear(c);\n vec3 lms = LINEAR_SRGB_TO_LMS * lin;\n vec3 lmsCbrt = sign(lms) * pow(abs(lms), vec3(1.0 / 3.0));\n return LMS_TO_OKLAB * lmsCbrt;\n}\n\n// Raw OKLab (L, a, b) → linear sRGB. Mirrors value.js oklabToLinearSRGB.\nvec3 oklabToLinearSrgb(vec3 lab) {\n vec3 lms_ = OKLAB_TO_LMS * lab;\n vec3 lms = lms_ * lms_ * lms_;\n return LMS_TO_LINEAR_SRGB * lms;\n}\n\n// OKLab → OKLCh: H in RADIANS. Mirrors value.js rawOklabToOklch (which returns\n// degrees; we stay in radians and only fold to [0, 2pi)).\nvec3 oklabToOklch(vec3 lab) {\n float C = length(lab.yz);\n float H = atan(lab.z, lab.y);\n if (H < 0.0) H += 2.0 * PI;\n return vec3(lab.x, C, H);\n}\n\n// OKLCh (H radians) → OKLab. Mirrors value.js rawOklchToOklab.\nvec3 oklchToOklab(vec3 lch) {\n return vec3(lch.x, lch.y * cos(lch.z), lch.y * sin(lch.z));\n}";
3
+ function r() {
4
+ let e = typeof window < "u" && window.devicePixelRatio || 1;
5
+ return Math.min(e, 2);
6
+ }
7
+ //#endregion
8
+ //#region src/composables/glass/webgl/useWebGLCanvas.ts
9
+ function i(e, t) {
10
+ let { setup: n, contextAttrs: r } = t, i = t.respectReducedMotion ?? t.mode !== "capture", a = /* @__PURE__ */ new Set();
11
+ t.mode === "capture" && a.add("manual");
12
+ let o = () => a.size === 0, s = 0, c = typeof performance < "u" ? performance.now() : 0, l = null, u = null, d = !1, f = !1, p = i && typeof window < "u" && window.matchMedia ? window.matchMedia("(prefers-reduced-motion: reduce)") : null, m = p?.matches ?? !1;
13
+ function h() {
14
+ if (!o() || !u) return;
15
+ let e = (performance.now() - c) / 1e3, t = u.time ? u.time(e) : e;
16
+ u.frame(t), s = !m && u.shouldContinue() ? requestAnimationFrame(h) : 0;
17
+ }
18
+ function g() {
19
+ d && o() && !s && u && (s = requestAnimationFrame(h));
20
+ }
21
+ function _() {
22
+ let e = p?.matches ?? !1;
23
+ e !== m && (m = e, e || (c = performance.now()), g());
24
+ }
25
+ p?.addEventListener("change", _);
26
+ function v(e = "manual") {
27
+ let t = o();
28
+ a.add(e), t && !o() && (cancelAnimationFrame(s), s = 0);
29
+ }
30
+ function y(e = "manual") {
31
+ let t = !o();
32
+ a.delete(e), t && o() && d && u && (c = performance.now() - 1e3, h());
33
+ }
34
+ let b = typeof document < "u";
35
+ function x() {
36
+ document.hidden ? v("tab-hidden") : y("tab-hidden");
37
+ }
38
+ b && document.addEventListener("visibilitychange", x), b && document.hidden && a.add("tab-hidden");
39
+ let S = null;
40
+ function C(e) {
41
+ e.skipped ? v("off-screen") : y("off-screen");
42
+ }
43
+ function w() {
44
+ if (S) return;
45
+ let t = e.parentElement;
46
+ t && (S = t, t.addEventListener("contentvisibilityautostatechange", C));
47
+ }
48
+ function T() {
49
+ S?.removeEventListener("contentvisibilityautostatechange", C), S = null;
50
+ }
51
+ let E = null;
52
+ function D(e) {
53
+ e.preventDefault(), cancelAnimationFrame(s), s = 0, u = null, l = null;
54
+ }
55
+ function O() {
56
+ f || (k(), o() && g());
57
+ }
58
+ function k() {
59
+ let t = e.getContext("webgl2", r ?? void 0);
60
+ if (!t) throw Error("[useWebGLCanvas] WebGL2 unavailable");
61
+ l = t, u = n(l), u.resize(), E || (E = new ResizeObserver(() => u?.resize()), E.observe(e));
62
+ }
63
+ function A() {
64
+ d || f || (e.addEventListener("webglcontextlost", D, !1), e.addEventListener("webglcontextrestored", O, !1), k(), w(), d = !0, c = performance.now(), o() && (s = requestAnimationFrame(h)));
65
+ }
66
+ function j(e) {
67
+ d || A(), u?.frame(e);
68
+ }
69
+ function M() {
70
+ f = !0, cancelAnimationFrame(s), s = 0, b && document.removeEventListener("visibilitychange", x), p?.removeEventListener("change", _), T(), e.removeEventListener("webglcontextlost", D, !1), e.removeEventListener("webglcontextrestored", O, !1), E?.disconnect(), E = null, u?.teardown?.(), u = null, l?.getExtension("WEBGL_lose_context")?.loseContext(), l = null, a.clear();
71
+ }
72
+ return t.mode === "capture" && A(), {
73
+ arm: A,
74
+ suspend: v,
75
+ resume: y,
76
+ wake: g,
77
+ renderAt: j,
78
+ dispose: M,
79
+ get gl() {
80
+ return l;
81
+ },
82
+ get reducedMotion() {
83
+ return m;
84
+ }
85
+ };
86
+ }
87
+ //#endregion
88
+ //#region src/composables/glass/webgl/compile.ts
89
+ function a(e, t, n, r = "[glass-ui:webgl]") {
90
+ let i = e.createShader(t);
91
+ if (e.shaderSource(i, n), e.compileShader(i), !e.getShaderParameter(i, e.COMPILE_STATUS)) {
92
+ let t = e.getShaderInfoLog(i) ?? "unknown";
93
+ throw e.deleteShader(i), Error(`${r} shader compile failed:\n${t}`);
94
+ }
95
+ return i;
96
+ }
97
+ function o(e, t, n, r = "[glass-ui:webgl]") {
98
+ let i = e.createProgram();
99
+ if (e.attachShader(i, t), e.attachShader(i, n), e.linkProgram(i), !e.getProgramParameter(i, e.LINK_STATUS)) {
100
+ let t = e.getProgramInfoLog(i) ?? "unknown";
101
+ throw e.deleteProgram(i), Error(`${r} program link failed:\n${t}`);
102
+ }
103
+ return i;
104
+ }
105
+ //#endregion
106
+ export { t as a, r as i, o as n, e as o, i as r, n as s, a as t };
@@ -16,10 +16,10 @@ import type { HTMLAttributes } from "vue";
16
16
  * `String(Math.round(v))`.
17
17
  * - `placeholder`: glyph for null/empty (default "—").
18
18
  * - `digitCount`: optional knob exposed to the consumer via the
19
- * `--digit-count` CSS custom property on the host. Pairs with
20
- * MetricRow's `--digit-count` clamp so the value cell shrinks
21
- * proportionally as the rendered digits widen. When omitted the
22
- * primitive computes it from the formatted string length.
19
+ * `--digit-count` CSS custom property on the host. A consumer's
20
+ * width-clamp can read this so the value cell shrinks proportionally
21
+ * as the rendered digits widen. When omitted the primitive computes
22
+ * it from the formatted string length.
23
23
  * - `mode`: `"absolute"` (default) or `"progress"` — passes through to
24
24
  * `useAnimatedNumber`.
25
25
  */
@@ -30,8 +30,8 @@ export interface AnimatedDigitProps {
30
30
  placeholder?: string;
31
31
  /**
32
32
  * Override the auto-derived digit-count. When unset the primitive
33
- * publishes the formatted-string length to `--digit-count` so
34
- * MetricRow's clamp math reads from a single source of truth.
33
+ * publishes the formatted-string length to `--digit-count` so a
34
+ * consumer's width-clamp reads from a single source of truth.
35
35
  */
36
36
  digitCount?: number;
37
37
  /** Tag forwarded to `useAnimatedNumber`. */
@@ -41,8 +41,8 @@ export interface AnimatedDigitProps {
41
41
  class?: HTMLAttributes["class"];
42
42
  }
43
43
  declare const __VLS_export: import("vue").DefineComponent<AnimatedDigitProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AnimatedDigitProps> & Readonly<{}>, {
44
- placeholder: string;
45
44
  mode: AnimatedDigitMode;
45
+ placeholder: string;
46
46
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
47
47
  declare const _default: typeof __VLS_export;
48
48
  export default _default;
@@ -1,6 +1,6 @@
1
1
  import type { AuroraRuntimeOptions } from "./composables/runtime";
2
- import { type AuroraConfig } from "./presets";
3
- import { type AuroraRenderMode } from "./renderMode";
2
+ import { type AuroraConfig } from "./constants/presets";
3
+ import { type AuroraRenderMode } from "./constants/renderMode";
4
4
  /**
5
5
  * Aurora — a painterly WebGL2 background.
6
6
  *
@@ -37,7 +37,7 @@ type __VLS_Props = {
37
37
  * Aurora field configuration (palette, nuclei, warp, media). Optional —
38
38
  * omit it and the canonical `DEFAULT_AURORA_CONFIG` painterly look
39
39
  * renders (gap 11, AM.W1). Pass a full config to author a custom field,
40
- * or a preset object from `./presets`. The default is supplied via a
40
+ * or a preset object from `./constants/presets`. The default is supplied via a
41
41
  * `withDefaults` factory so each mount gets its own (un-shared) object.
42
42
  */
43
43
  config?: AuroraConfig;
@@ -1,16 +1,6 @@
1
- import type { OklchStop } from "../presets";
2
- export declare function clamp(v: number, min: number, max: number): number;
3
- export declare function srgbToOKLab(r: number, g: number, b: number): [number, number, number];
4
- export declare function oklabToOklch(L: number, a: number, b: number): [number, number, number];
5
- export declare function oklchToOklab(L: number, C: number, H: number): [number, number, number];
6
- export declare function oklabToRgb255(L: number, a: number, b: number): [number, number, number];
7
- export declare function rgbToOklch(r: number, g: number, b: number): [number, number, number];
8
- export declare function oklchToRgb(L: number, C: number, H: number): [number, number, number];
9
- /**
10
- * OKLCh stop to linear-sRGB in [0, 1] — bundle-canonical bake target.
11
- * The shader ACES-tonemaps in linear, so the LUT must stay linear.
12
- */
13
- export declare function oklchToLinear(stop: OklchStop): [number, number, number];
1
+ import { type OklchStop } from "../../../../composables/color";
2
+ export { cssToOklch, oklchStopToHex, oklchToLinear, } from "../../../../composables/color";
3
+ export type { OklchStop } from "../../../../composables/color";
14
4
  /**
15
5
  * Pack up to `maxStops` OklchStops into linear-sRGB triples. When `out` is
16
6
  * provided the buffer is filled in place (no allocation) — the runtime owns a
@@ -33,7 +23,43 @@ export declare function flattenPalette(stops: OklchStop[], maxStops?: number, ou
33
23
  * fades in over it once armed).
34
24
  */
35
25
  export declare function paletteToCssGradient(stops: OklchStop[]): string;
36
- export declare function oklchStopToHex(s: OklchStop): string;
37
26
  export declare function hexToOklchStop(hex: string): OklchStop;
38
- export declare function cssToRgb(css: string): [number, number, number];
39
- export declare function cssToOklch(css: string): OklchStop;
27
+ /**
28
+ * Harmony schemes for {@link deriveAurora}. Each maps the seed hue onto the
29
+ * derived stops differently:
30
+ * - `analogous` — the ramp walks the seed hue ± a small spread (neighbouring
31
+ * hues; the painterly default).
32
+ * - `complementary` — stops split between the seed hue and its opposite (+180°).
33
+ * - `triad` — stops distributed across the seed hue and its two 120° partners.
34
+ * - `monochrome` — every stop holds the seed hue; only L and C travel.
35
+ */
36
+ export type AuroraHarmony = "analogous" | "complementary" | "triad" | "monochrome";
37
+ export interface DeriveAuroraOptions {
38
+ /** Number of stops to produce. Default 4; clamped to [2, MAX_STOPS]. */
39
+ stopCount?: number;
40
+ /** Hue scheme across the ramp. Default "analogous". */
41
+ harmony?: AuroraHarmony;
42
+ /** Total L travel across the ramp, in OKLCh L units. Default ~0.32. */
43
+ lightnessSpread?: number;
44
+ /** C multiplier at the pale apex (toward 1 = no falloff). Default ~0.85. */
45
+ chromaFalloff?: number;
46
+ /** Hue walk in degrees for analogous; ignored by monochrome. Default ~28. */
47
+ hueSpread?: number;
48
+ }
49
+ /**
50
+ * Seed ONE color into a harmonious, gamut-safe N-stop aurora palette.
51
+ *
52
+ * A thin COMPOSING producer over the shipped value.js Ottosson core (inv J-10:
53
+ * no color math is re-implemented here). The seed's `{L,C,h}` is the anchor; the
54
+ * ramp spreads L across a painterly band, falls C off toward the pale apex, and
55
+ * walks the hue per `harmony`. EVERY derived stop is gamut-mapped through
56
+ * value.js's `gamutMapOKLab` so none falls outside sRGB.
57
+ *
58
+ * Deterministic and DOM-free (SSR / happy-dom safe — `cssToOklch` is the only
59
+ * string path and it parses via value.js, not a canvas). The returned length is
60
+ * clamped to `[2, MAX_STOPS]`; L is monotonic ascending across the ramp.
61
+ *
62
+ * @param seed any CSS color string OR an `OklchStop` anchor.
63
+ * @param options ramp shape — stop count, harmony, L/C/h spreads.
64
+ */
65
+ export declare function deriveAurora(seed: string | OklchStop, options?: DeriveAuroraOptions): OklchStop[];
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Aurora cursor model — the eased pointer-attraction state.
3
+ *
4
+ * The cursor x/y in 0..1 ease toward their targets; `strength` ramps in while the
5
+ * pointer is active and decays per-frame once it lifts. Exported ONCE here so any
6
+ * CPU mirror (a consumer reproducing the cursor model) imports these constants
7
+ * rather than re-declaring them — the shader and the CPU side stay in lockstep.
8
+ */
9
+ /**
10
+ * Cursor easing constants. Authored to feel "snappy on entry, gentle decay";
11
+ * documented in DESIGN.md §4. Higher lerp = faster ramp; smaller decay = longer
12
+ * tail.
13
+ */
14
+ export declare const CURSOR_POS_LERP = 0.22;
15
+ export declare const CURSOR_STRENGTH_LERP = 0.18;
16
+ export declare const CURSOR_DECAY_PER_FRAME = 0.992;
17
+ /**
18
+ * At-rest epsilon for the demand-driven loop. The cursor is "settled" once its
19
+ * eased position is within ε of its target AND its strength has decayed below ε —
20
+ * below this the next frame is visually identical, so the loop may park.
21
+ */
22
+ export declare const CURSOR_REST_EPSILON = 0.001;
23
+ /** The mutable eased-cursor state. `strength` ramps in; `targetStrength` decays. */
24
+ export interface CursorState {
25
+ x: number;
26
+ y: number;
27
+ targetX: number;
28
+ targetY: number;
29
+ strength: number;
30
+ targetStrength: number;
31
+ radius: number;
32
+ }
33
+ /** A fresh at-rest cursor (centred, no attraction, default radius). */
34
+ export declare function createCursorState(): CursorState;
35
+ /**
36
+ * Advance the cursor easing one frame — snappy approach toward the target
37
+ * position, gentle decay of the attraction strength when idle.
38
+ */
39
+ export declare function advanceCursor(cursor: CursorState): void;
40
+ /**
41
+ * True while the cursor is still easing (position not yet at target, or strength
42
+ * not yet decayed below ε). The render-demand gate ORs this with the config drift
43
+ * check — when both are false the next frame is pixel-identical, so the loop parks.
44
+ */
45
+ export declare function cursorIsLive(cursor: CursorState): boolean;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Aurora frame loop — the per-frame draw + the render-demand gate.
3
+ *
4
+ * `drawFrame` re-sends the per-frame cursor + time uniforms and issues the single
5
+ * full-screen-triangle draw. `needsAnimation` is the demand gate: it returns
6
+ * `false` under reduced-motion (the static frame draws once, then the loop parks),
7
+ * `false` at steady-state (all four drift uniforms 0 AND the cursor settled within
8
+ * ε — the next frame would be pixel-identical), and `true` while drift is live or
9
+ * the cursor is still easing.
10
+ */
11
+ import type { UniformLocations } from "./glSetup";
12
+ import { type CursorState } from "./cursorModel";
13
+ import type { AuroraConfig } from "../constants/presets";
14
+ export interface FrameLoopDeps {
15
+ gl: WebGL2RenderingContext;
16
+ prog: WebGLProgram;
17
+ uniforms: UniformLocations;
18
+ cursor: CursorState;
19
+ /** The live config (drift uniforms gate the demand loop). */
20
+ getConfig: () => AuroraConfig;
21
+ /** Reduced-motion intent — parks the loop after one static frame. */
22
+ getReducedMotion: () => boolean;
23
+ }
24
+ export interface FrameLoop {
25
+ /** Advance the cursor easing THEN draw — the per-frame step. */
26
+ frame: (timeSec: number) => void;
27
+ /** Demand gate — is there live motion to render on the next frame? */
28
+ needsAnimation: () => boolean;
29
+ }
30
+ export declare function createFrameLoop(deps: FrameLoopDeps): FrameLoop;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Aurora GL setup seam — shader compile/link + geometry + the uniform location
3
+ * cache. The GL-lifecycle orchestrator (`runtime.ts`) calls `createGlProgram` on a
4
+ * fresh context (on arm AND on every webglcontextrestored), so a GPU context loss
5
+ * self-heals: each call rebuilds the program + the full-screen triangle + the
6
+ * `UNIFORM_NAMES` location cache against the fresh `gl`.
7
+ *
8
+ * The `UNIFORM_NAMES` const-assertion is the single source of truth for the
9
+ * shader-uniform boundary: a NEW uniform name must be added here, and the cache is
10
+ * keyed off it, so a fresh uniform always gets a location slot.
11
+ */
12
+ export declare const UNIFORM_NAMES: readonly ["uTime", "uPalette", "uStopCount", "uNucleiCount", "uNucleiPos", "uNucleiRadius", "uNucleiPaletteBias", "uNucleiValueBias", "uNucleiDriftRadius", "uNucleiDriftPhase", "uNucleiElong", "uNucleiAngle", "uSoftmaxBeta", "uValueVariance", "uWarpAmount", "uWarpScale", "uWarpDrift", "uWarpMode", "uNoiseOctaves", "uMedium", "uFlowPattern", "uFlowFocal", "uFlowAngle", "uFlowCurl", "uCursor", "uCursorStrength", "uCursorRadius", "uStrokeAmount", "uStrokeScale", "uStrokeAnisotropy", "uStrokeLayers", "uStrokeMode", "uWetEdge", "uGranulation", "uImpasto", "uBrokenColor", "uCanvasGrain", "uNucleiDrift", "uPaletteDrift", "uBreathDepth", "uBreathPeriod", "uSaturation", "uPaperGrain", "uAlpha"];
13
+ export type UniformName = (typeof UNIFORM_NAMES)[number];
14
+ export type UniformLocations = Record<UniformName, WebGLUniformLocation | null>;
15
+ export interface GlProgram {
16
+ program: WebGLProgram;
17
+ vs: WebGLShader;
18
+ fs: WebGLShader;
19
+ uniforms: UniformLocations;
20
+ geometry: {
21
+ vao: WebGLVertexArrayObject;
22
+ buf: WebGLBuffer;
23
+ };
24
+ }
25
+ /**
26
+ * Compile + link the shader pair, build the full-screen triangle (one draw covers
27
+ * the viewport), and resolve the uniform location cache. Leaves the program bound.
28
+ */
29
+ export declare function createGlProgram(gl: WebGL2RenderingContext, vertexSrc: string, fragmentSrc: string): GlProgram;