@mkbabb/glass-ui 4.0.0 → 4.1.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 (609) hide show
  1. package/README.md +3 -1
  2. package/dist/CardAction-8whJrLWt.js +268 -0
  3. package/dist/{CommandShortcut-DdtWXxOK.js → CommandShortcut-D3yxgHNn.js} +25 -14
  4. package/dist/ConfiguratorRow-CaP7U3ZA.js +143 -0
  5. package/dist/ContextMenuContent-B3ZsheLV.js +90 -0
  6. package/dist/{ContextMenuSubContent-B0Vs6atR.js → ContextMenuSubContent-DDRID3qC.js} +28 -33
  7. package/dist/{DataTable-C464Zbqd.js → DataTable-Bc9kUtu_.js} +4 -4
  8. package/dist/{DialogContent-DDE6pQBU.js → DialogContent-6JtTB5x2.js} +11 -8
  9. package/dist/DialogFooter-9phqcRIS.js +80 -0
  10. package/dist/DialogScrollContent-TTuovQst.js +93 -0
  11. package/dist/{FadingScroll-DwNnvKMs.js → FadingScroll-DLRbH5Xr.js} +1 -1
  12. package/dist/HoverCardContent-Bel1gdLZ.js +88 -0
  13. package/dist/{HoverPopover-Dpzwvc4t.js → HoverPopover-BcIxvyqZ.js} +2 -2
  14. package/dist/{IconChip-BDw1j5mu.js → IconChip-DhbdGdFQ.js} +2 -1
  15. package/dist/{IconTooltip-DSjasZIt.js → IconTooltip-B0zimd2H.js} +1 -1
  16. package/dist/Input-Cg9DF62r.js +57 -0
  17. package/dist/{MetricBadge-BpC0R_Ec.js → MetricBadge-RHdBP72w.js} +1 -1
  18. package/dist/Notification-CphK7AAm.js +43 -0
  19. package/dist/NumberFieldContent-D8cXeyO4.js +140 -0
  20. package/dist/PagerDots-Cjx96la-.js +98 -0
  21. package/dist/{PopoverContent-BTorlp--.js → PopoverContent-DL7E6vJP.js} +4 -4
  22. package/dist/{Progress-hAT4gqGH.js → Progress-CnqB7gLm.js} +4 -4
  23. package/dist/{ScrollingText-CUVFTWk2.js → ScrollingText-CTZbA_cG.js} +2 -2
  24. package/dist/{SelectScrollDownButton-C1jb3b3K.js → SelectScrollDownButton-DAKCBEdW.js} +65 -61
  25. package/dist/{SelectSeparator-DK2y1Bun.js → SelectSeparator-C2UGOkXF.js} +1 -1
  26. package/dist/Separator-DQcwC2TR.js +44 -0
  27. package/dist/Switch-B8RscmRu.js +49 -0
  28. package/dist/Toaster-D9qIHjBI.js +274 -0
  29. package/dist/ToggleGroupItem-BLtr3TJq.js +170 -0
  30. package/dist/TooltipProvider-BJ_Y5EGX.js +109 -0
  31. package/dist/animated-digit.js +2 -2
  32. package/dist/api/index.d.ts +21 -33
  33. package/dist/api/types-extra.d.ts +37 -0
  34. package/dist/api.js +1 -1
  35. package/dist/aurora.js +1231 -260
  36. package/dist/badge.js +1 -1
  37. package/dist/border-progress.d.ts +1 -0
  38. package/dist/border-progress.js +98 -0
  39. package/dist/button-5dY1Dvhd.js +125 -0
  40. package/dist/button.js +1 -1
  41. package/dist/canvas.js +2 -3
  42. package/dist/card.js +2 -2
  43. package/dist/carousel.js +93 -110
  44. package/dist/collapsible.js +1 -1
  45. package/dist/color-Cs0-oxYL.js +116 -0
  46. package/dist/color.js +2 -2
  47. package/dist/command.js +1 -1
  48. package/dist/compile-nZ1xVYTp.js +19 -0
  49. package/dist/completion-seal.d.ts +1 -0
  50. package/dist/completion-seal.js +89 -0
  51. package/dist/components/custom/aurora/Aurora.vue.d.ts +10 -5
  52. package/dist/components/custom/aurora/composables/atoms-fields.d.ts +39 -0
  53. package/dist/components/custom/aurora/composables/auroraFallbackGround.d.ts +108 -0
  54. package/dist/components/custom/aurora/composables/color.d.ts +13 -0
  55. package/dist/components/custom/aurora/composables/frameLoop.d.ts +9 -0
  56. package/dist/components/custom/aurora/composables/runtime.d.ts +31 -0
  57. package/dist/components/custom/aurora/composables/uniformBridge.d.ts +5 -1
  58. package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +60 -0
  59. package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +37 -0
  60. package/dist/components/custom/aurora/constants/budget.d.ts +21 -0
  61. package/dist/components/custom/aurora/constants/presets.d.ts +20 -2
  62. package/dist/components/custom/aurora/constants/renderMode.d.ts +77 -18
  63. package/dist/components/custom/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +1 -0
  64. package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +1 -0
  65. package/dist/components/custom/aurora/constants/shaders/oil-modes.glsl.d.ts +1 -0
  66. package/dist/components/custom/aurora/constants/shaders/procedural-color.wgsl.d.ts +4 -0
  67. package/dist/components/custom/aurora/index.d.ts +2 -1
  68. package/dist/components/custom/border-progress/BorderProgress.vue.d.ts +46 -0
  69. package/dist/components/custom/border-progress/composables/spectrum-walk.d.ts +25 -0
  70. package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +18 -0
  71. package/dist/components/custom/border-progress/constants.d.ts +59 -0
  72. package/dist/components/custom/border-progress/index.d.ts +4 -0
  73. package/dist/components/custom/completion-seal/CompletionSeal.vue.d.ts +21 -0
  74. package/dist/components/custom/completion-seal/composables/useCompletionSeal.d.ts +37 -0
  75. package/dist/components/custom/completion-seal/constants.d.ts +46 -0
  76. package/dist/components/custom/completion-seal/index.d.ts +4 -0
  77. package/dist/components/custom/concentric/Concentric.vue.d.ts +39 -0
  78. package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +18 -0
  79. package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +22 -0
  80. package/dist/components/custom/concentric/composables/ringField.d.ts +85 -0
  81. package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +14 -0
  82. package/dist/components/custom/concentric/composables/useConcentric.d.ts +35 -0
  83. package/dist/components/custom/concentric/constants.d.ts +67 -0
  84. package/dist/components/custom/concentric/index.d.ts +5 -0
  85. package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +4 -0
  86. package/dist/components/custom/concentric/shaders/concentric.wgsl.d.ts +1 -0
  87. package/dist/components/custom/confirm-dialog/ConfirmDialog.vue.d.ts +3 -3
  88. package/dist/components/custom/constellation/Constellation.vue.d.ts +5 -4
  89. package/dist/components/custom/constellation/composables/constellationGLSetup.d.ts +10 -0
  90. package/dist/components/custom/constellation/composables/constellationWGPUSetup.d.ts +19 -0
  91. package/dist/components/custom/constellation/composables/uniformBridgeWGPU.d.ts +66 -0
  92. package/dist/components/custom/constellation/composables/useConstellation.d.ts +3 -10
  93. package/dist/components/custom/constellation/constants.d.ts +33 -0
  94. package/dist/components/custom/constellation/constellationField.d.ts +31 -1
  95. package/dist/components/custom/constellation/constellationInteraction.d.ts +23 -14
  96. package/dist/components/custom/constellation/constellationRender.d.ts +25 -0
  97. package/dist/components/custom/constellation/constellationTypes.d.ts +38 -0
  98. package/dist/components/custom/constellation/constellationWell.d.ts +15 -0
  99. package/dist/components/custom/constellation/index.d.ts +5 -5
  100. package/dist/components/custom/constellation/shaders/constellation-lines.glsl.d.ts +2 -0
  101. package/dist/components/custom/constellation/shaders/constellation-lines.wgsl.d.ts +1 -0
  102. package/dist/components/custom/constellation/shaders/constellation-points.glsl.d.ts +2 -0
  103. package/dist/components/custom/constellation/shaders/constellation-points.wgsl.d.ts +1 -0
  104. package/dist/components/custom/deck/DeckPager.vue.d.ts +29 -0
  105. package/dist/components/custom/deck/composables/useDeck.d.ts +27 -0
  106. package/dist/components/custom/deck/composables/useDeckKeyboard.d.ts +25 -0
  107. package/dist/components/custom/deck/composables/useDeckSpring.d.ts +22 -0
  108. package/dist/components/custom/deck/constants.d.ts +14 -0
  109. package/dist/components/custom/deck/index.d.ts +8 -0
  110. package/dist/components/custom/dock/DockIconButton.vue.d.ts +25 -4
  111. package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +10 -2
  112. package/dist/components/custom/dock/DockStack.vue.d.ts +65 -0
  113. package/dist/components/custom/dock/GlassDock.vue.d.ts +4 -2
  114. package/dist/components/custom/dock/composables/dockMorphMeasure.d.ts +155 -0
  115. package/dist/components/custom/dock/composables/index.d.ts +2 -0
  116. package/dist/components/custom/dock/composables/useDockSearch.d.ts +85 -0
  117. package/dist/components/custom/dock/composables/useDockShellProps.d.ts +11 -0
  118. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +13 -0
  119. package/dist/components/custom/dock/constants.d.ts +18 -14
  120. package/dist/components/custom/dock/index.d.ts +5 -2
  121. package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +42 -0
  122. package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +83 -0
  123. package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +39 -0
  124. package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +35 -0
  125. package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +31 -0
  126. package/dist/components/custom/dot-flow-field/constants.d.ts +69 -0
  127. package/dist/components/custom/dot-flow-field/index.d.ts +5 -0
  128. package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +1 -0
  129. package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +4 -0
  130. package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +1 -0
  131. package/dist/components/custom/dot-matrix/DotMatrix.vue.d.ts +43 -0
  132. package/dist/components/custom/dot-matrix/composables/dotMatrixField.d.ts +89 -0
  133. package/dist/components/custom/dot-matrix/composables/uniformBridgeWGPU.d.ts +52 -0
  134. package/dist/components/custom/dot-matrix/composables/useDotMatrix.d.ts +34 -0
  135. package/dist/components/custom/dot-matrix/composables/useDotSphere.d.ts +27 -0
  136. package/dist/components/custom/dot-matrix/constants.d.ts +58 -0
  137. package/dist/components/custom/dot-matrix/index.d.ts +5 -0
  138. package/dist/components/custom/dot-matrix/shaders/dot-matrix.glsl.d.ts +4 -0
  139. package/dist/components/custom/dot-matrix/shaders/dot-matrix.wgsl.d.ts +1 -0
  140. package/dist/components/custom/easing/EasingConfigurator.vue.d.ts +33 -0
  141. package/dist/components/custom/easing/EasingPicker.vue.d.ts +49 -0
  142. package/dist/components/custom/easing/composables/useEasingPicker.d.ts +80 -0
  143. package/dist/components/custom/easing/constants.d.ts +28 -0
  144. package/dist/components/custom/easing/index.d.ts +3 -0
  145. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +11 -0
  146. package/dist/components/custom/fourier-field/FourierField.vue.d.ts +43 -40
  147. package/dist/components/custom/fourier-field/composables/fourierFieldGLSetup.d.ts +15 -0
  148. package/dist/components/custom/fourier-field/composables/fourierFieldWGPUSetup.d.ts +20 -0
  149. package/dist/components/custom/fourier-field/composables/uniformBridgeWGPU.d.ts +41 -0
  150. package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +42 -0
  151. package/dist/components/custom/fourier-field/constants.d.ts +64 -0
  152. package/dist/components/custom/fourier-field/index.d.ts +23 -18
  153. package/dist/components/custom/fourier-field/shaders/fourier-field.compute.wgsl.d.ts +1 -0
  154. package/dist/components/custom/fourier-field/shaders/fourier-field.glsl.d.ts +4 -0
  155. package/dist/components/custom/fourier-field/shaders/fourier-field.render.wgsl.d.ts +1 -0
  156. package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +1 -1
  157. package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +13 -3
  158. package/dist/components/custom/goo-blob/composables/uniformBridgeWGPU.d.ts +24 -0
  159. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +18 -11
  160. package/dist/components/custom/goo-blob/composables/wgpuSetup.d.ts +23 -0
  161. package/dist/components/custom/goo-blob/constants.d.ts +1 -1
  162. package/dist/components/custom/goo-blob/index.d.ts +1 -1
  163. package/dist/components/custom/goo-blob/shaders/metaball-noise.wgsl.d.ts +1 -0
  164. package/dist/components/custom/goo-blob/shaders/metaball-palette.wgsl.d.ts +1 -0
  165. package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -1
  166. package/dist/components/custom/goo-blob/shaders/metaball.wgsl.d.ts +1 -0
  167. package/dist/components/custom/goo-blob/types.d.ts +36 -0
  168. package/dist/components/custom/goo-dot-matrix/GooDotMatrix.vue.d.ts +49 -0
  169. package/dist/components/custom/goo-dot-matrix/composables/gooDotLattice.d.ts +24 -0
  170. package/dist/components/custom/goo-dot-matrix/composables/gooDotSetup.d.ts +50 -0
  171. package/dist/components/custom/goo-dot-matrix/composables/uniformBridgeWGPU.d.ts +35 -0
  172. package/dist/components/custom/goo-dot-matrix/composables/useGooDotMatrix.d.ts +31 -0
  173. package/dist/components/custom/goo-dot-matrix/constants.d.ts +76 -0
  174. package/dist/components/custom/goo-dot-matrix/index.d.ts +5 -0
  175. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.frag.d.ts +11 -0
  176. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.wgsl.d.ts +3 -0
  177. package/dist/components/custom/handmark/HandMark.vue.d.ts +1 -1
  178. package/dist/components/custom/icon-chip/types.d.ts +11 -1
  179. package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +3 -1
  180. package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +21 -2
  181. package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +15 -0
  182. package/dist/components/custom/metric-stack/MetricStack.vue.d.ts +1 -1
  183. package/dist/components/custom/pager-dots/PagerDots.vue.d.ts +9 -0
  184. package/dist/components/custom/pager-dots/index.d.ts +2 -0
  185. package/dist/components/custom/pager-dots/pagerWindow.d.ts +9 -0
  186. package/dist/components/custom/paper-grid/PaperGrid.vue.d.ts +42 -0
  187. package/dist/components/custom/paper-grid/composables/paperGrid.d.ts +90 -0
  188. package/dist/components/custom/paper-grid/composables/paperGridGLSetup.d.ts +16 -0
  189. package/dist/components/custom/paper-grid/composables/paperGridWGPUSetup.d.ts +19 -0
  190. package/dist/components/custom/paper-grid/composables/uniformBridgeWGPU.d.ts +16 -0
  191. package/dist/components/custom/paper-grid/composables/usePaperGrid.d.ts +31 -0
  192. package/dist/components/custom/paper-grid/constants.d.ts +57 -0
  193. package/dist/components/custom/paper-grid/index.d.ts +5 -0
  194. package/dist/components/custom/paper-grid/shaders/paper-grid.glsl.d.ts +4 -0
  195. package/dist/components/custom/paper-grid/shaders/paper-grid.wgsl.d.ts +1 -0
  196. package/dist/components/custom/search/FuzzySearch.vue.d.ts +8 -2
  197. package/dist/components/custom/search/SearchBar.vue.d.ts +8 -0
  198. package/dist/components/custom/search/index.d.ts +2 -0
  199. package/dist/components/custom/search/searchVariants.d.ts +19 -0
  200. package/dist/components/custom/selectable-chip/SelectableChip.vue.d.ts +50 -0
  201. package/dist/components/custom/selectable-chip/index.d.ts +2 -0
  202. package/dist/components/custom/selectable-chip/selectableChipVariants.d.ts +23 -0
  203. package/dist/components/custom/spa-view/SpaView.vue.d.ts +50 -0
  204. package/dist/components/custom/spa-view/index.d.ts +2 -0
  205. package/dist/components/custom/split-chars/SplitChars.vue.d.ts +39 -0
  206. package/dist/components/custom/split-chars/index.d.ts +1 -0
  207. package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +12 -0
  208. package/dist/components/custom/tabs/composables/useTabDragMorph.d.ts +42 -0
  209. package/dist/components/custom/tabs/constants.d.ts +20 -2
  210. package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +30 -17
  211. package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +10 -5
  212. package/dist/components/ui/_shared/index.d.ts +2 -0
  213. package/dist/components/ui/_shared/menuItemVariants.d.ts +1 -1
  214. package/dist/components/ui/_shared/useControlSize.d.ts +46 -0
  215. package/dist/components/ui/badge/index.d.ts +1 -1
  216. package/dist/components/ui/button/Button.vue.d.ts +5 -2
  217. package/dist/components/ui/button/index.d.ts +2 -2
  218. package/dist/components/ui/card/Card.vue.d.ts +79 -4
  219. package/dist/components/ui/card/CardHeader.vue.d.ts +42 -16
  220. package/dist/components/ui/card/ScrollCard.vue.d.ts +33 -0
  221. package/dist/components/ui/card/ScrollCardHeader.vue.d.ts +17 -0
  222. package/dist/components/ui/card/index.d.ts +3 -1
  223. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +2 -2
  224. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +2 -2
  225. package/dist/components/ui/carousel/GlassCarouselPager.vue.d.ts +2 -2
  226. package/dist/components/ui/command/Command.vue.d.ts +1 -1
  227. package/dist/components/ui/command/CommandDialog.vue.d.ts +9 -3
  228. package/dist/components/ui/command/CommandList.vue.d.ts +3 -0
  229. package/dist/components/ui/context-menu/ContextMenuContent.vue.d.ts +5 -1
  230. package/dist/components/ui/drawer/Drawer.vue.d.ts +46 -33
  231. package/dist/components/ui/drawer/DrawerContent.vue.d.ts +7 -8
  232. package/dist/components/ui/drawer/DrawerDescription.vue.d.ts +2 -2
  233. package/dist/components/ui/drawer/DrawerOverlay.vue.d.ts +1 -1
  234. package/dist/components/ui/drawer/DrawerTitle.vue.d.ts +2 -2
  235. package/dist/components/ui/drawer/composables/drawerSnapContext.d.ts +26 -0
  236. package/dist/components/ui/drawer/composables/useDrawerSnap.d.ts +17 -0
  237. package/dist/components/ui/drawer/constants.d.ts +45 -0
  238. package/dist/components/ui/drawer/index.d.ts +23 -15
  239. package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +4 -0
  240. package/dist/components/ui/focus-scope/FocusScope.vue.d.ts +20 -0
  241. package/dist/components/ui/focus-scope/index.d.ts +2 -0
  242. package/dist/components/ui/hover-card/HoverCardContent.vue.d.ts +3 -0
  243. package/dist/components/ui/index.d.ts +1 -0
  244. package/dist/components/ui/input/Input.vue.d.ts +3 -0
  245. package/dist/components/ui/number-field/NumberFieldInput.vue.d.ts +6 -1
  246. package/dist/components/ui/progress/ProgressDefault.vue.d.ts +3 -2
  247. package/dist/components/ui/select/SelectContent.vue.d.ts +4 -1
  248. package/dist/components/ui/sheet/index.d.ts +1 -1
  249. package/dist/components/ui/switch/Switch.vue.d.ts +2 -0
  250. package/dist/components/ui/tags-input/TagsInput.vue.d.ts +2 -2
  251. package/dist/components/ui/textarea/Textarea.vue.d.ts +3 -0
  252. package/dist/components/ui/toast/Toast.vue.d.ts +5 -2
  253. package/dist/components/ui/toast/use-toast.d.ts +14 -0
  254. package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
  255. package/dist/components/ui/tooltip/TooltipContent.vue.d.ts +3 -0
  256. package/dist/composables/color/index.d.ts +2 -0
  257. package/dist/composables/color/useAccentTone.d.ts +34 -0
  258. package/dist/composables/glass/canvas2d/useCanvas2D.d.ts +13 -6
  259. package/dist/composables/glass/index.d.ts +5 -2
  260. package/dist/composables/glass/useSpecularPointer.d.ts +33 -0
  261. package/dist/composables/glass/useSpecularTracking.d.ts +20 -0
  262. package/dist/composables/glass/useVizChoreography.d.ts +123 -0
  263. package/dist/composables/glass/vSpecular.d.ts +2 -0
  264. package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +10 -0
  265. package/dist/composables/glass/webgl/shaders/flow.glsl.d.ts +1 -0
  266. package/dist/composables/glass/webgl/shaders/flow.wgsl.d.ts +1 -0
  267. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +16 -0
  268. package/dist/composables/glass/webgpu/index.d.ts +2 -0
  269. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +75 -0
  270. package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +85 -0
  271. package/dist/composables/glass/webgpu/webgpuDevice.d.ts +42 -0
  272. package/dist/composables/motion/core/index.d.ts +4 -0
  273. package/dist/composables/motion/index.d.ts +4 -0
  274. package/dist/composables/motion/scrollReader.d.ts +25 -0
  275. package/dist/composables/motion/springPresets.d.ts +20 -1
  276. package/dist/composables/motion/useCharStagger.d.ts +44 -0
  277. package/dist/composables/motion/useDockCtaReceive.d.ts +84 -0
  278. package/dist/composables/motion/useDragMorph.d.ts +77 -0
  279. package/dist/composables/motion/useLiquidFlex.d.ts +11 -0
  280. package/dist/composables/motion/useLiquidPress.d.ts +71 -0
  281. package/dist/composables/motion/useLiquidReveal.d.ts +51 -0
  282. package/dist/composables/motion/useNumericTransition.d.ts +3 -3
  283. package/dist/composables/motion/usePointerVelocityField.d.ts +98 -0
  284. package/dist/composables/motion/useScrollChrome.d.ts +58 -0
  285. package/dist/composables/motion/useScrollTrigger.d.ts +67 -0
  286. package/dist/composables/motion/useSpringPress.d.ts +5 -5
  287. package/dist/composables/motion/useStaggerReveal.d.ts +24 -0
  288. package/dist/composables/sidebar/index.d.ts +4 -1
  289. package/dist/composables/sidebar/types.d.ts +68 -3
  290. package/dist/composables/sidebar/useClickDelegate.d.ts +4 -0
  291. package/dist/composables/sidebar/useLazyLoader.d.ts +5 -0
  292. package/dist/composables/sidebar/useScrollTo.d.ts +5 -0
  293. package/dist/composables/virtual/index.d.ts +4 -0
  294. package/dist/composables/virtual/useVirtualSectionWindow.d.ts +72 -0
  295. package/dist/composables/virtual/useWindowedStore.d.ts +43 -0
  296. package/dist/composables/virtual/virtualSectionLayout.d.ts +103 -0
  297. package/dist/concentric.d.ts +1 -0
  298. package/dist/concentric.js +836 -0
  299. package/dist/configurator.js +3 -2
  300. package/dist/confirm-dialog.js +62 -49
  301. package/dist/constellation.js +635 -235
  302. package/dist/context-menu.js +3 -3
  303. package/dist/controls.js +2 -2
  304. package/dist/createCanvasLifecycle-Gh45Ce-p.js +93 -0
  305. package/dist/dark.js +1 -1
  306. package/dist/data-table.js +1 -1
  307. package/dist/deck.d.ts +1 -0
  308. package/dist/deck.js +105 -0
  309. package/dist/dialog.js +4 -3
  310. package/dist/dock.js +819 -568
  311. package/dist/{dockContext-Bu1Avy-a.js → dockContext-BNfyPLe9.js} +1 -1
  312. package/dist/dom.js +5 -5
  313. package/dist/dot-flow-field.d.ts +1 -0
  314. package/dist/dot-flow-field.js +894 -0
  315. package/dist/dot-matrix.d.ts +1 -0
  316. package/dist/dot-matrix.js +630 -0
  317. package/dist/dotMatrixField-D_x9_1qq.js +48 -0
  318. package/dist/drawer.d.ts +1 -0
  319. package/dist/drawer.js +380 -0
  320. package/dist/{dropdown-menu-BJ7E9js_.js → dropdown-menu-aJmV5SqE.js} +82 -79
  321. package/dist/dropdown-menu.js +1 -1
  322. package/dist/easing.d.ts +1 -0
  323. package/dist/easing.js +475 -0
  324. package/dist/expandable-container.js +46 -21
  325. package/dist/fading-scroll.js +1 -1
  326. package/dist/flow.glsl-B2P7e0MT.js +4 -0
  327. package/dist/focus-scope.d.ts +1 -0
  328. package/dist/focus-scope.js +23 -0
  329. package/dist/forms.js +65 -63
  330. package/dist/fourier-field.js +831 -172
  331. package/dist/fourier-math.js +1 -1
  332. package/dist/glass-panel.js +2 -2
  333. package/dist/glass-ui.css +1 -1
  334. package/dist/glass-ui.js +187 -338
  335. package/dist/goo-blob.js +241 -692
  336. package/dist/goo-dot-matrix.d.ts +1 -0
  337. package/dist/goo-dot-matrix.js +591 -0
  338. package/dist/handmark.js +2 -2
  339. package/dist/header-ribbon.js +1 -1
  340. package/dist/hover-card.js +1 -1
  341. package/dist/hover-popover.js +1 -1
  342. package/dist/icon-chip.js +1 -1
  343. package/dist/icon-tooltip.js +1 -1
  344. package/dist/index.d.ts +3 -1
  345. package/dist/instrument-chassis.js +1 -1
  346. package/dist/keyboard.js +1 -1
  347. package/dist/label.js +1 -1
  348. package/dist/labeled-field.js +70 -60
  349. package/dist/metric-badge.js +1 -1
  350. package/dist/metric-cell.js +1 -1
  351. package/dist/metric-stack.js +14 -9
  352. package/dist/motion-core.js +58 -36
  353. package/dist/motion-curves.js +11 -1
  354. package/dist/motion.js +90 -53
  355. package/dist/notification.js +1 -1
  356. package/dist/number-field.js +1 -1
  357. package/dist/pager-dots.js +2 -91
  358. package/dist/paper-backdrop.js +1 -1
  359. package/dist/paper-grid.d.ts +1 -0
  360. package/dist/paper-grid.js +788 -0
  361. package/dist/popover.js +1 -1
  362. package/dist/{presets-BW2b-fr1.js → presets-CvOUqtdY.js} +3 -3
  363. package/dist/{compile-EXXzEr1q.js → procedural-color.wgsl-m7Zgv35j.js} +2 -156
  364. package/dist/progress.js +1 -1
  365. package/dist/pulse.js +2 -2
  366. package/dist/reactive.js +1 -1
  367. package/dist/resolveCanvasColor-yPyIpJt9.js +93 -0
  368. package/dist/scrollReader-DI1NWxUw.js +42 -0
  369. package/dist/scrolling-text.js +1 -1
  370. package/dist/search.js +162 -308
  371. package/dist/select.js +3 -3
  372. package/dist/selectable-chip.d.ts +1 -0
  373. package/dist/selectable-chip.js +65 -0
  374. package/dist/separator.js +1 -1
  375. package/dist/{sheet-CquRYOAw.js → sheet-B2flBfLH.js} +5 -5
  376. package/dist/sheet.js +1 -1
  377. package/dist/sidebar.js +216 -114
  378. package/dist/{slider-DQ95MET2.js → slider-2A0rPn79.js} +3 -3
  379. package/dist/slider.js +1 -1
  380. package/dist/sortable-list.js +2 -2
  381. package/dist/spa-view.d.ts +1 -0
  382. package/dist/spa-view.js +46 -0
  383. package/dist/spectrum-walk-BVzA7Biz.js +33 -0
  384. package/dist/{springPresets-WXaLbu8u.js → springPresets-Ce7OYCm9.js} +12 -6
  385. package/dist/styles/animations.css +46 -12
  386. package/dist/styles/border-progress.css +109 -0
  387. package/dist/styles/cards.css +145 -0
  388. package/dist/styles/completion-seal.css +131 -0
  389. package/dist/styles/components.css +2 -3
  390. package/dist/styles/configurator.css +55 -0
  391. package/dist/styles/critical-partition.mjs +162 -0
  392. package/dist/styles/critical.css +12 -0
  393. package/dist/styles/deferred.css +33 -0
  394. package/dist/styles/dock/cta-seat.css +87 -0
  395. package/dist/styles/dock/density.css +198 -0
  396. package/dist/styles/dock/layers.css +101 -29
  397. package/dist/styles/dock/morph-bridge.css +54 -18
  398. package/dist/styles/dock/morph.css +132 -7
  399. package/dist/styles/dock/overflow.css +28 -2
  400. package/dist/styles/dock/search.css +68 -0
  401. package/dist/styles/dock/shape.css +124 -0
  402. package/dist/styles/dock/shell.css +77 -21
  403. package/dist/styles/dock/stack-rail.css +264 -0
  404. package/dist/styles/dock-controls/dark-mode-toggle.css +17 -4
  405. package/dist/styles/dock-controls/icon-button.css +14 -0
  406. package/dist/styles/dock.css +43 -1
  407. package/dist/styles/drawer.css +81 -35
  408. package/dist/styles/glass/accent-tone.css +66 -0
  409. package/dist/styles/glass/control-surfaces.css +167 -0
  410. package/dist/styles/glass/deep.css +44 -0
  411. package/dist/styles/glass/ladder.css +147 -41
  412. package/dist/styles/glass/material.css +78 -15
  413. package/dist/styles/glass/reveal.css +136 -0
  414. package/dist/styles/glass/rim.css +110 -0
  415. package/dist/styles/glass/surfaces.css +148 -129
  416. package/dist/styles/glass-refract.css +96 -44
  417. package/dist/styles/glass-specular-track.css +7 -0
  418. package/dist/styles/glass.css +13 -0
  419. package/dist/styles/hover-popover.css +7 -6
  420. package/dist/styles/icon-chip.css +77 -15
  421. package/dist/styles/index.css +36 -9
  422. package/dist/styles/instrument-chassis.css +66 -3
  423. package/dist/styles/scroll-choreography.css +300 -0
  424. package/dist/styles/scroll-chrome.css +123 -0
  425. package/dist/styles/scroll-driven.css +38 -0
  426. package/dist/styles/segmented-tabs.css +81 -14
  427. package/dist/styles/theme/bridges.css +33 -0
  428. package/dist/styles/theme/literals.css +11 -2
  429. package/dist/styles/theme/radius.css +24 -2
  430. package/dist/styles/tokens/color-radius.css +13 -3
  431. package/dist/styles/tokens/dark-arm.css +137 -32
  432. package/dist/styles/tokens/glass-deep.css +100 -0
  433. package/dist/styles/tokens/glass-fx.css +376 -0
  434. package/dist/styles/tokens/glass.css +131 -351
  435. package/dist/styles/tokens/light-dark.css +16 -3
  436. package/dist/styles/tokens/offsets.css +143 -0
  437. package/dist/styles/tokens/on-glass-fg.css +39 -0
  438. package/dist/styles/tokens/property-regs.css +260 -0
  439. package/dist/styles/tokens/scale-paper.css +168 -96
  440. package/dist/styles/tokens/scheme-motion.css +114 -38
  441. package/dist/styles/tokens/scroll-tokens.css +123 -0
  442. package/dist/styles/tokens/sizing-config.css +110 -0
  443. package/{src/styles/tokens/offsets-sizing.css → dist/styles/tokens/sizing.css} +92 -204
  444. package/dist/styles/tokens.css +14 -3
  445. package/dist/styles/typography/semantic.css +26 -13
  446. package/dist/styles/typography/utilities.css +22 -7
  447. package/dist/styles/utilities/a11y-overrides.css +20 -5
  448. package/dist/styles/utilities/animate.css +27 -24
  449. package/dist/styles/utilities/base-misc.css +307 -0
  450. package/dist/styles/utilities/base.css +47 -261
  451. package/dist/styles/utilities/btn.css +17 -4
  452. package/dist/styles/utilities/components.css +31 -6
  453. package/dist/styles/utilities/metal.css +215 -0
  454. package/dist/styles/utilities.css +14 -7
  455. package/dist/switch.js +1 -1
  456. package/dist/tabs.js +220 -107
  457. package/dist/timeline.js +2 -2
  458. package/dist/toast.js +1 -1
  459. package/dist/toggle-chip.js +10 -10
  460. package/dist/toggle-group.js +1 -1
  461. package/dist/tooltip.js +1 -1
  462. package/dist/typewriter.js +2 -2
  463. package/dist/uniformBridgeWGPU-CtAKl45L.js +1204 -0
  464. package/dist/{useAnimatedNumber-C_3wZLx4.js → useAnimatedNumber-CLrxicG9.js} +1 -1
  465. package/dist/useConfiguratorState-4xblKfwd.js +162 -0
  466. package/dist/useControlSize-SH1UmJCi.js +9 -0
  467. package/dist/useDockCtaReceive-DfFkmgL1.js +82 -0
  468. package/dist/useDragMorph-BUgAC-zK.js +102 -0
  469. package/dist/useFuzzySearch-DIhcYtcw.js +177 -0
  470. package/dist/useGpuSubstrate-4pTcp6mX.js +294 -0
  471. package/dist/useLiquidPress-BooG97RY.js +39 -0
  472. package/dist/usePointerVelocityField-QLsy3_kv.js +91 -0
  473. package/dist/useScrollChrome-D66AVP7C.js +258 -0
  474. package/dist/useSpring-C0jyvEJB.js +40 -0
  475. package/dist/useSpringMount-BWDnKIwh.js +71 -0
  476. package/dist/useSpringPress-B1-Czp-V.js +36 -0
  477. package/dist/{useTouchGate-28Tk2-t2.js → useTouchGate-CBZTD4SD.js} +1 -1
  478. package/dist/useViewTransition-CUI1nAgn.js +95 -0
  479. package/dist/vSpecular-EX7loENl.js +68 -0
  480. package/dist/vendor-B2qOlYY3.js +239 -0
  481. package/dist/virtual.d.ts +1 -0
  482. package/dist/virtual.js +225 -0
  483. package/dist/watercolor-dot.js +117 -74
  484. package/package.json +252 -28
  485. package/src/styles/animations.css +46 -12
  486. package/src/styles/border-progress.css +109 -0
  487. package/src/styles/cards.css +145 -0
  488. package/src/styles/completion-seal.css +131 -0
  489. package/src/styles/configurator.css +55 -0
  490. package/src/styles/critical-partition.mjs +162 -0
  491. package/src/styles/dock/cta-seat.css +87 -0
  492. package/src/styles/dock/density.css +198 -0
  493. package/src/styles/dock/layers.css +101 -29
  494. package/src/styles/dock/morph-bridge.css +54 -18
  495. package/src/styles/dock/morph.css +132 -7
  496. package/src/styles/dock/overflow.css +28 -2
  497. package/src/styles/dock/search.css +68 -0
  498. package/src/styles/dock/shape.css +124 -0
  499. package/src/styles/dock/shell.css +77 -21
  500. package/src/styles/dock/stack-rail.css +264 -0
  501. package/src/styles/dock-controls/dark-mode-toggle.css +17 -4
  502. package/src/styles/dock-controls/icon-button.css +14 -0
  503. package/src/styles/dock.css +43 -1
  504. package/src/styles/drawer.css +81 -35
  505. package/src/styles/glass/accent-tone.css +66 -0
  506. package/src/styles/glass/control-surfaces.css +167 -0
  507. package/src/styles/glass/deep.css +44 -0
  508. package/src/styles/glass/ladder.css +147 -41
  509. package/src/styles/glass/material.css +78 -15
  510. package/src/styles/glass/reveal.css +136 -0
  511. package/src/styles/glass/rim.css +110 -0
  512. package/src/styles/glass/surfaces.css +148 -129
  513. package/src/styles/glass-refract.css +96 -44
  514. package/src/styles/glass-specular-track.css +7 -0
  515. package/src/styles/glass.css +13 -0
  516. package/src/styles/hover-popover.css +7 -6
  517. package/src/styles/icon-chip.css +77 -15
  518. package/src/styles/index.css +27 -0
  519. package/src/styles/instrument-chassis.css +66 -3
  520. package/src/styles/scroll-choreography.css +300 -0
  521. package/src/styles/scroll-chrome.css +123 -0
  522. package/src/styles/scroll-driven.css +38 -0
  523. package/src/styles/segmented-tabs.css +81 -14
  524. package/src/styles/theme/bridges.css +33 -0
  525. package/src/styles/theme/literals.css +11 -2
  526. package/src/styles/theme/radius.css +24 -2
  527. package/src/styles/tokens/color-radius.css +13 -3
  528. package/src/styles/tokens/dark-arm.css +137 -32
  529. package/src/styles/tokens/glass-deep.css +100 -0
  530. package/src/styles/tokens/glass-fx.css +376 -0
  531. package/src/styles/tokens/glass.css +131 -351
  532. package/src/styles/tokens/light-dark.css +16 -3
  533. package/src/styles/tokens/offsets.css +143 -0
  534. package/src/styles/tokens/on-glass-fg.css +39 -0
  535. package/src/styles/tokens/property-regs.css +260 -0
  536. package/src/styles/tokens/scale-paper.css +168 -96
  537. package/src/styles/tokens/scheme-motion.css +114 -38
  538. package/src/styles/tokens/scroll-tokens.css +123 -0
  539. package/src/styles/tokens/sizing-config.css +110 -0
  540. package/{dist/styles/tokens/offsets-sizing.css → src/styles/tokens/sizing.css} +92 -204
  541. package/src/styles/tokens.css +14 -3
  542. package/src/styles/typography/semantic.css +26 -13
  543. package/src/styles/typography/utilities.css +22 -7
  544. package/src/styles/utilities/a11y-overrides.css +20 -5
  545. package/src/styles/utilities/animate.css +27 -24
  546. package/src/styles/utilities/base-misc.css +307 -0
  547. package/src/styles/utilities/base.css +47 -261
  548. package/src/styles/utilities/btn.css +17 -4
  549. package/src/styles/utilities/components.css +31 -6
  550. package/src/styles/utilities/metal.css +215 -0
  551. package/src/styles/utilities.css +14 -7
  552. package/dist/CardAction-XH4YBVEK.js +0 -158
  553. package/dist/ContextMenuContent-ON3x7cuk.js +0 -85
  554. package/dist/DialogFooter-8eZbdmPc.js +0 -165
  555. package/dist/HoverCardContent-DkMaQzH5.js +0 -83
  556. package/dist/Input-DVG_J0ne.js +0 -55
  557. package/dist/Notification-DKjKsQq8.js +0 -100
  558. package/dist/NumberFieldContent-1VtwDSgf.js +0 -145
  559. package/dist/Separator-BArl4OaB.js +0 -37
  560. package/dist/Switch-Dr--uLGH.js +0 -47
  561. package/dist/Toaster-Bm_HQSpc.js +0 -263
  562. package/dist/ToggleGroupItem-Dzk9hWsF.js +0 -157
  563. package/dist/TooltipProvider-B3MkB_8P.js +0 -104
  564. package/dist/button-BNDWhAZb.js +0 -81
  565. package/dist/check-njhk-vfu.js +0 -7
  566. package/dist/chevron-down-DKkxb4VV.js +0 -7
  567. package/dist/chevron-right-CPXbqQQz.js +0 -7
  568. package/dist/chevron-up-n_24SqI-.js +0 -7
  569. package/dist/color-DweYl7pE.js +0 -86
  570. package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +0 -35
  571. package/dist/components/custom/constellation/constellationDraw.d.ts +0 -30
  572. package/dist/components/custom/dock/DockRail.vue.d.ts +0 -89
  573. package/dist/createLucideIcon-DydS2qgk.js +0 -43
  574. package/dist/minimize-2-BV31Ob_h.js +0 -38
  575. package/dist/resolveCanvasColor-BBiYfp8g.js +0 -11
  576. package/dist/search-BSGrf2Sk.js +0 -12
  577. package/dist/styles/dock/rail-extend.css +0 -397
  578. package/dist/useCanvas2D-ClrQuZtp.js +0 -96
  579. package/dist/useConfiguratorState-kiIlun8I.js +0 -303
  580. package/dist/useRAFLoop-CdwJ7284.js +0 -109
  581. package/dist/useSpecularTracking-Bo5su68i.js +0 -32
  582. package/dist/useSpringMount-CvopqiFr.js +0 -108
  583. package/dist/useViewTransition-COsPjQVZ.js +0 -47
  584. package/dist/x-BUwTKe50.js +0 -10
  585. package/src/styles/dock/rail-extend.css +0 -397
  586. /package/dist/{CollapsibleContent-C_s6fG7r.js → CollapsibleContent-68dEXIAl.js} +0 -0
  587. /package/dist/{InstrumentChassis-UUJX0-mW.js → InstrumentChassis-CxsHSyMj.js} +0 -0
  588. /package/dist/{Label-Ck9SWEKM.js → Label-C2ejNWeC.js} +0 -0
  589. /package/dist/{ModalOverlay-CkPRRgl_.js → ModalOverlay-D1VrWyoi.js} +0 -0
  590. /package/dist/{PaperBackdrop-nBKe0vkB.js → PaperBackdrop-CqwjnfLv.js} +0 -0
  591. /package/dist/{SelectGroup-Dcczq44n.js → SelectGroup-BFiod7X2.js} +0 -0
  592. /package/dist/{_plugin-vue_export-helper-CBt_VvXa.js → _plugin-vue_export-helper-C1je1s0u.js} +0 -0
  593. /package/dist/{badge-UILT_3pZ.js → badge-D9XWW4GT.js} +0 -0
  594. /package/dist/{constants-BPOqYJAm.js → constants--C2DkLW8.js} +0 -0
  595. /package/dist/{createContext-B2RaZ-b8.js → createContext-CpBNTRMI.js} +0 -0
  596. /package/dist/{math-DeuJwLFx.js → math-Eb0w3LqU.js} +0 -0
  597. /package/dist/{menuItemVariants-DWRQXBxJ.js → menuItemVariants-D8VNHq22.js} +0 -0
  598. /package/dist/{prng-Cg22zv8g.js → prng-B-d9eYX8.js} +0 -0
  599. /package/dist/{useGlobalDark-C28t0VWJ.js → useGlobalDark-CmjB9E32.js} +0 -0
  600. /package/dist/{useIntersectionPause-Bj4sPkMh.js → useIntersectionPause-Dbozzjgm.js} +0 -0
  601. /package/dist/{useKeyboardShortcuts-BXWXOZ-9.js → useKeyboardShortcuts-BPRp33Im.js} +0 -0
  602. /package/dist/{useLiquidFlex-C12hXwOZ.js → useLiquidFlex-UmA6LMZu.js} +0 -0
  603. /package/dist/{useResizeObserver-V6nq5gJb.js → useResizeObserver-Bpoi7tRE.js} +0 -0
  604. /package/dist/{useResolveTokenColor-NUG2zYAW.js → useResolveTokenColor-vAylyR0x.js} +0 -0
  605. /package/dist/{useScrollProgress-D7bYU2RK.js → useScrollProgress-c3yxmH6a.js} +0 -0
  606. /package/dist/{useSurfaceAxis-CMnF2zHb.js → useSurfaceAxis-g0NloYEF.js} +0 -0
  607. /package/dist/{useTimer-B_PAasDL.js → useTimer-BHJOKr35.js} +0 -0
  608. /package/dist/{useUserInvalidAria-CDfJuakL.js → useUserInvalidAria-y5namzeE.js} +0 -0
  609. /package/dist/{useViewportReady-CvBcCYDf.js → useViewportReady-anbac3m6.js} +0 -0
@@ -0,0 +1 @@
1
+ export * from "./components/custom/goo-dot-matrix";
@@ -0,0 +1,591 @@
1
+ import { t as e } from "./_plugin-vue_export-helper-C1je1s0u.js";
2
+ import { t } from "./usePointerVelocityField-QLsy3_kv.js";
3
+ import { a as n, t as r } from "./useGpuSubstrate-4pTcp6mX.js";
4
+ import { n as i, t as a } from "./compile-nZ1xVYTp.js";
5
+ import { s as o, t as s } from "./color-Cs0-oxYL.js";
6
+ import { t as c } from "./useIntersectionPause-Dbozzjgm.js";
7
+ import { u as l } from "./dotMatrixField-D_x9_1qq.js";
8
+ import { a as u, c as d, d as f, i as p, l as m, n as h, o as g, r as _, s as v, t as y, u as b } from "./uniformBridgeWGPU-CtAKl45L.js";
9
+ import { computed as x, createElementBlock as S, createElementVNode as C, defineComponent as w, normalizeStyle as T, onScopeDispose as E, openBlock as D, ref as ee, useTemplateRef as O, watch as k } from "vue";
10
+ //#region src/components/custom/goo-dot-matrix/constants.ts
11
+ var A = 4, j = 96, M = [{
12
+ L: .92,
13
+ C: .03,
14
+ h: 78
15
+ }, {
16
+ L: .84,
17
+ C: .07,
18
+ h: 62
19
+ }], N = {
20
+ variant: "dot-field",
21
+ field: {
22
+ ...f,
23
+ variant: "blob"
24
+ },
25
+ dotPixelSize: 10,
26
+ dotMin: .18,
27
+ dotMax: .42,
28
+ fieldFloor: .06,
29
+ dotBrightFloor: .35,
30
+ cols: 56,
31
+ flowAmt: .35,
32
+ palette: M,
33
+ background: "transparent",
34
+ interactive: !1,
35
+ pointerMode: "repel",
36
+ pointerRadius: .35,
37
+ respectReducedMotion: !0
38
+ }, P = {
39
+ s8: 0,
40
+ s9: 4,
41
+ s10: 8,
42
+ s11: 12
43
+ };
44
+ function F(e) {
45
+ return +(e === "dot-dither");
46
+ }
47
+ function I(e) {
48
+ return e === "attract" ? -1 : 1;
49
+ }
50
+ function L() {
51
+ return {
52
+ x: 0,
53
+ y: 0,
54
+ active: 0,
55
+ bloom: 0
56
+ };
57
+ }
58
+ function R() {
59
+ let e = /* @__PURE__ */ new ArrayBuffer(64);
60
+ return {
61
+ buffer: e,
62
+ f32: new Float32Array(e)
63
+ };
64
+ }
65
+ function z(e, t, n, r, i) {
66
+ let { f32: a } = e;
67
+ return a[P.s8 + 0] = F(t.variant), a[P.s8 + 1] = Math.max(t.dotPixelSize * r, 4), a[P.s8 + 2] = t.fieldFloor, a[P.s8 + 3] = t.dotBrightFloor, a[P.s9 + 0] = t.dotMin, a[P.s9 + 1] = t.dotMax, a[P.s9 + 2] = t.pointerRadius, a[P.s9 + 3] = I(t.pointerMode), a[P.s10 + 0] = n.w, a[P.s10 + 1] = n.h, a[P.s10 + 2] = r, a[P.s10 + 3] = 0, a[P.s11 + 0] = t.interactive ? i.active : 0, a[P.s11 + 1] = i.x, a[P.s11 + 2] = i.y, a[P.s11 + 3] = i.bloom, e;
68
+ }
69
+ //#endregion
70
+ //#region src/components/custom/goo-dot-matrix/shaders/goo-dot.wgsl.ts
71
+ var B = p.indexOf("// ── Full-screen triangle vertex stage"), V = `
72
+ ${B >= 0 ? p.slice(0, B) : p}
73
+
74
+ // ── Dot-grid uniforms (the s8/s9 lanes — see uniformBridgeWGPU.ts; the SoT extend) ──
75
+ struct DotUniforms {
76
+ // s8: (uDotMode, uDotPixelSize, uFieldFloor, uDotBrightFloor)
77
+ s8: vec4<f32>,
78
+ // s9: (uDotMin, uDotMax, uPointerRadius, uPointerMode)
79
+ s9: vec4<f32>,
80
+ // s10: (uResX, uResY, uDpr, _pad) — the device-px resolution the cell grid quantizes to
81
+ s10: vec4<f32>,
82
+ // s11: (uPointerActive, uPointerX, uPointerY, uBloom) — the dot-cursor influence
83
+ s11: vec4<f32>,
84
+ };
85
+ @group(0) @binding(1) var<uniform> dg: DotUniforms;
86
+
87
+ // The classic ordered-dither Bayer macros (Codrops — the §T2 halftone). Bayer8 is the
88
+ // perceptual ceiling ("beyond 8×8 the gain is minimal"). The metaball field already carries
89
+ // the warped-FBM membrane, so the dither inherits the organic edge for free.
90
+ fn bayer2(a0: vec2<f32>) -> f32 {
91
+ let a = floor(a0);
92
+ return fract(a.x / 2.0 + a.y * a.y * 0.75);
93
+ }
94
+ fn bayer4(a: vec2<f32>) -> f32 {
95
+ return bayer2(0.5 * a) * 0.25 + bayer2(a);
96
+ }
97
+ fn bayer8(a: vec2<f32>) -> f32 {
98
+ return bayer4(0.5 * a) * 0.25 + bayer2(a);
99
+ }
100
+
101
+ // ── Register A: the full-screen triangle vertex stage (the metaball idiom — no buffer) ──
102
+ struct DotVSOut {
103
+ @builtin(position) pos: vec4<f32>,
104
+ @location(0) uv: vec2<f32>, // [0,1] across the canvas (the metaball.vert convention)
105
+ };
106
+
107
+ @vertex
108
+ fn vs_main(@builtin(vertex_index) vi: u32) -> DotVSOut {
109
+ var p = vec2<f32>(-1.0, -1.0);
110
+ if (vi == 1u) { p = vec2<f32>(3.0, -1.0); }
111
+ else if (vi == 2u) { p = vec2<f32>(-1.0, 3.0); }
112
+ var out: DotVSOut;
113
+ out.pos = vec4<f32>(p, 0.0, 1.0);
114
+ out.uv = p * 0.5 + 0.5;
115
+ return out;
116
+ }
117
+
118
+ // ── Register A: the dot-stamp fragment (§T1/§T2 — the dot-grid OUTPUT over sceneDistG) ──
119
+ @fragment
120
+ fn fs_main(in: DotVSOut) -> @location(0) vec4<f32> {
121
+ let uDotMode = dg.s8.x; // 0 = smooth field-driven dot, 1 = Bayer dither
122
+ let uDotPixelSize = max(dg.s8.y, 1.0);
123
+ let uFieldFloor = dg.s8.z;
124
+ let uDotBrightFloor = dg.s8.w;
125
+ let uDotMin = dg.s9.x;
126
+ let uDotMax = dg.s9.y;
127
+ let uPointerRadius = max(dg.s9.z, 1e-4);
128
+ let uPointerMode = dg.s9.w; // +1 repel (push out), -1 attract (pull in)
129
+ let uRes = dg.s10.xy;
130
+ let pAct = dg.s11.x;
131
+ let cursor = dg.s11.yz; // NDC-ish [-0.5,0.5] (the field's uv space)
132
+ let uBloom = dg.s11.w;
133
+
134
+ let bodyR = u.s0.y + breath(u.s0.z) * u.s0.w;
135
+
136
+ // 1. Quantize fragCoord to a dot grid (cell = uDotPixelSize device px). The fragment's
137
+ // pixel coordinate is in.pos.xy (device px).
138
+ let fragCoord = in.pos.xy;
139
+ let cell = floor(fragCoord / uDotPixelSize);
140
+ let cellCtr = (cell + 0.5) * uDotPixelSize;
141
+
142
+ // 2. The field AT THE CELL CENTER (so every fragment in a cell agrees on ONE dot). The cell
143
+ // center maps to the field uv = (cellCtr/res - 0.5) — the SAME uv the metaball pass uses.
144
+ let cellCtrUv = cellCtr / uRes - 0.5;
145
+
146
+ // 3. The dot-cursor influence (§T7 — the Metal dotted-bg idiom): dots near the cursor swell
147
+ // + brighten; the cell uv shifts toward/away (attract/repel). The field-lean is carried
148
+ // by the metaball pass's own uPointer deformation inside sceneDistG (KEEP); this is the
149
+ // LOCAL dot influence on TOP.
150
+ let toCursor = cellCtrUv - cursor;
151
+ let cdist = length(toCursor);
152
+ let influence = (1.0 - smoothstep(0.0, uPointerRadius, cdist)) * pAct;
153
+ let sampleUv = cellCtrUv + normalize(toCursor + vec2<f32>(1e-6)) * influence * uPointerMode * 0.03;
154
+
155
+ // 4. The field value at the cell — thickness = clamp(-d/bodyR, 0, 1) (metaball.wgsl line 500,
156
+ // the one-line re-use). 0 at the silhouette → 1 deep in the core — the goo↔dot bridge.
157
+ let scene = sceneDistG(sampleUv);
158
+ let fCell = clamp(-scene.x / max(bodyR, 1e-4), 0.0, 1.0);
159
+
160
+ // 5. The dot radius (px) — field-driven: dense+big inside, small at the rim, 0 outside the
161
+ // floor. The cursor swells the near-cursor dots (mix toward 1.5× + the accel bloom).
162
+ let cellHalf = uDotPixelSize * 0.5;
163
+ let baseR = (uDotMin + (uDotMax - uDotMin) * smoothstep(uFieldFloor, 1.0, fCell)) * cellHalf;
164
+ let dotR = baseR * (1.0 + influence * 0.5 + uBloom * influence);
165
+
166
+ var mask = 1.0;
167
+ if (uDotMode > 0.5) {
168
+ // §T2 Register-A dither: ORDERED-dither the field thickness into ON/OFF dots — denser at
169
+ // the core, sparser at the rim (the classic halftone). The dot still AA-stamps below.
170
+ mask = step(0.5, fCell + bayer8(cell) - 0.5);
171
+ }
172
+
173
+ // 6. The antialiased circle at the cell center (the fwidth-feathered Book-of-Shaders dot —
174
+ // the ONE AA canon, ~1px band at any DPR). fwidth lives in fs_main ONLY.
175
+ let pd = length(fragCoord - cellCtr);
176
+ let aa = max(fwidth(pd), 1e-4);
177
+ let dot = (1.0 - smoothstep(dotR - aa, dotR + aa, pd)) * mask;
178
+
179
+ // 7. The brightness/color ALSO reads fCell (dim outside, bright inside) on the SAME OKLCh
180
+ // ramp the metaball pass samples (the ONE color source). The tone reads DEPTH (the core
181
+ // is the bright cream stop, the rim the amber stop) so the field reads TONALLY on both
182
+ // grounds; the brightness multiplies the sampled stop's luminance.
183
+ let bright = uDotBrightFloor + (1.0 - uDotBrightFloor) * fCell + uBloom * influence * 0.6;
184
+ let tone = clamp(1.0 - fCell, 0.0, 1.0);
185
+ var oklch = samplePaletteOklch(tone);
186
+ oklch.x = clamp(oklch.x * clamp(bright, 0.0, 1.6), 0.0, 1.0);
187
+ let lin = oklabToLinearSrgb(oklchToOklab(gamutClampOklch(oklch)));
188
+ let rgb = clamp(linearToSrgb(lin), vec3<f32>(0.0), vec3<f32>(1.0));
189
+
190
+ // No dot where the field is below the floor (the dots stop at the silhouette band).
191
+ let alpha = dot * step(uFieldFloor, fCell);
192
+ if (alpha < 0.002) { discard; }
193
+
194
+ // Premultiplied-alpha output (the warm-cream dots additive over the clear).
195
+ return vec4<f32>(rgb * alpha, alpha);
196
+ }
197
+ `, H = g.indexOf("void main()"), U = H >= 0 ? g.slice(0, H) : g, W = "#version 300 es\nprecision highp float;\nin vec2 aPosition;\nout vec2 vUv;\nvoid main() {\n vUv = aPosition * 0.5 + 0.5;\n gl_Position = vec4(aPosition, 0.0, 1.0);\n}", G = `${U}
198
+
199
+ // ── Dot-grid uniforms (the s8/s9 lanes — see uniformBridgeWGPU.ts; the SoT extend) ──
200
+ uniform float uDotMode; // 0 = smooth field-driven dot, 1 = Bayer dither
201
+ uniform float uDotPixelSize; // device-px cell size
202
+ uniform float uFieldFloor; // no dot below this field value
203
+ uniform float uDotBrightFloor; // dim-outside brightness floor
204
+ uniform float uDotMin; // rim dot radius (fraction of the cell)
205
+ uniform float uDotMax; // core dot radius (fraction of the cell)
206
+ uniform float uDotPointerRadius;
207
+ uniform float uDotPointerMode; // +1 repel, -1 attract
208
+ uniform float uDotPointerActive;
209
+ uniform vec2 uDotCursor; // field-uv cursor [-0.5,0.5]
210
+ uniform float uDotBloom; // accel-burst bloom
211
+
212
+ // The Codrops Bayer8 ordered-dither macros (the §T2 halftone).
213
+ float bayer2(vec2 a0){ vec2 a = floor(a0); return fract(a.x / 2.0 + a.y * a.y * 0.75); }
214
+ float bayer4(vec2 a){ return bayer2(0.5 * a) * 0.25 + bayer2(a); }
215
+ float bayer8(vec2 a){ return bayer4(0.5 * a) * 0.25 + bayer2(a); }
216
+
217
+ void main() {
218
+ float bodyR = uBodyRadius + breath(uPulsePhase) * uPulseAmp;
219
+
220
+ // 1. Quantize gl_FragCoord (device px) to a dot grid (cell = uDotPixelSize device px).
221
+ vec2 fragCoord = gl_FragCoord.xy;
222
+ float pix = max(uDotPixelSize, 1.0);
223
+ vec2 cell = floor(fragCoord / pix);
224
+ vec2 cellCtr = (cell + 0.5) * pix;
225
+
226
+ // 2. The field uv at the cell center (the SAME uv the metaball pass uses).
227
+ vec2 cellCtrUv = cellCtr / uResolution - 0.5;
228
+
229
+ // 3. The dot-cursor influence (the §T7 local influence on TOP of the field-lean).
230
+ vec2 toCursor = cellCtrUv - uDotCursor;
231
+ float cdist = length(toCursor);
232
+ float influence = (1.0 - smoothstep(0.0, max(uDotPointerRadius, 1e-4), cdist)) * uDotPointerActive;
233
+ vec2 sampleUv = cellCtrUv + normalize(toCursor + vec2(1e-6)) * influence * uDotPointerMode * 0.03;
234
+
235
+ // 4. The field value at the cell — thickness = clamp(-d/bodyR, 0, 1) (the goo↔dot bridge).
236
+ vec3 scene = sceneDistG(sampleUv);
237
+ float fCell = clamp(-scene.x / max(bodyR, 1e-4), 0.0, 1.0);
238
+
239
+ // 5. The field-driven dot radius (px) + the cursor swell + the accel bloom.
240
+ float cellHalf = pix * 0.5;
241
+ float baseR = (uDotMin + (uDotMax - uDotMin) * smoothstep(uFieldFloor, 1.0, fCell)) * cellHalf;
242
+ float dotR = baseR * (1.0 + influence * 0.5 + uDotBloom * influence);
243
+
244
+ float mask = 1.0;
245
+ if (uDotMode > 0.5) {
246
+ mask = step(0.5, fCell + bayer8(cell) - 0.5);
247
+ }
248
+
249
+ // 6. The crisp fwidth-feathered SDF dot (the ONE AA canon, ~1px band at any DPR).
250
+ float pd = length(fragCoord - cellCtr);
251
+ float aa = max(fwidth(pd), 1e-4);
252
+ float dot = (1.0 - smoothstep(dotR - aa, dotR + aa, pd)) * mask;
253
+
254
+ // 7. The brightness/color reads fCell on the SAME OKLCh ramp (the ONE color source).
255
+ float bright = uDotBrightFloor + (1.0 - uDotBrightFloor) * fCell + uDotBloom * influence * 0.6;
256
+ float tone = clamp(1.0 - fCell, 0.0, 1.0);
257
+ vec3 oklch = samplePaletteOklch(tone);
258
+ oklch.x = clamp(oklch.x * clamp(bright, 0.0, 1.6), 0.0, 1.0);
259
+ vec3 lin = oklabToLinearSrgb(oklchToOklab(gamutClampOklch(oklch)));
260
+ vec3 rgb = clamp(linearToSrgb(lin), vec3(0.0), vec3(1.0));
261
+
262
+ float alpha = dot * step(uFieldFloor, fCell);
263
+ if (alpha < 0.002) discard;
264
+
265
+ fragColor = vec4(rgb * alpha, alpha);
266
+ }`, K = 64, q = 8, J = 1, Y = 2, X = "[GooDotMatrix]";
267
+ function Z(e, t) {
268
+ let n = e.createShaderModule({
269
+ label: `${X} goo-dot.wgsl`,
270
+ code: V
271
+ }), r = e.createBuffer({
272
+ label: `${X} field-uniforms`,
273
+ size: y,
274
+ usage: K | q
275
+ }), i = e.createBuffer({
276
+ label: `${X} dot-uniforms`,
277
+ size: 64,
278
+ usage: K | q
279
+ }), a = e.createBindGroupLayout({
280
+ label: `${X} bgl`,
281
+ entries: [{
282
+ binding: 0,
283
+ visibility: J | Y,
284
+ buffer: { type: "uniform" }
285
+ }, {
286
+ binding: 1,
287
+ visibility: Y,
288
+ buffer: { type: "uniform" }
289
+ }]
290
+ });
291
+ return {
292
+ pipeline: e.createRenderPipeline({
293
+ label: `${X} pipeline`,
294
+ layout: e.createPipelineLayout({ bindGroupLayouts: [a] }),
295
+ vertex: {
296
+ module: n,
297
+ entryPoint: "vs_main"
298
+ },
299
+ fragment: {
300
+ module: n,
301
+ entryPoint: "fs_main",
302
+ targets: [{
303
+ format: t,
304
+ blend: {
305
+ color: {
306
+ srcFactor: "one",
307
+ dstFactor: "one-minus-src-alpha",
308
+ operation: "add"
309
+ },
310
+ alpha: {
311
+ srcFactor: "one",
312
+ dstFactor: "one-minus-src-alpha",
313
+ operation: "add"
314
+ }
315
+ }
316
+ }]
317
+ },
318
+ primitive: { topology: "triangle-list" }
319
+ }),
320
+ bindGroup: e.createBindGroup({
321
+ label: `${X} bg`,
322
+ layout: a,
323
+ entries: [{
324
+ binding: 0,
325
+ resource: { buffer: r }
326
+ }, {
327
+ binding: 1,
328
+ resource: { buffer: i }
329
+ }]
330
+ }),
331
+ fieldBuffer: r,
332
+ dotBuffer: i,
333
+ fieldScratch: h(),
334
+ dotScratch: R()
335
+ };
336
+ }
337
+ function Q(e) {
338
+ let t = a(e, e.VERTEX_SHADER, W, X), n = a(e, e.FRAGMENT_SHADER, G, X), r = i(e, t, n, X);
339
+ e.useProgram(r);
340
+ let o = e.createVertexArray();
341
+ e.bindVertexArray(o);
342
+ let s = e.createBuffer();
343
+ e.bindBuffer(e.ARRAY_BUFFER, s), e.bufferData(e.ARRAY_BUFFER, new Float32Array([
344
+ -1,
345
+ -1,
346
+ 1,
347
+ -1,
348
+ -1,
349
+ 1,
350
+ -1,
351
+ 1,
352
+ 1,
353
+ -1,
354
+ 1,
355
+ 1
356
+ ]), e.STATIC_DRAW);
357
+ let c = e.getAttribLocation(r, "aPosition");
358
+ e.enableVertexAttribArray(c), e.vertexAttribPointer(c, 2, e.FLOAT, !1, 0, 0);
359
+ let l = {};
360
+ for (let t of b) l[t] = e.getUniformLocation(r, t);
361
+ let u = [], d = [], f = [];
362
+ for (let t = 0; t < 4; t++) u.push(e.getUniformLocation(r, `uSatPos[${t}]`)), d.push(e.getUniformLocation(r, `uSatRadius[${t}]`)), f.push(e.getUniformLocation(r, `uSatOpacity[${t}]`));
363
+ let p = [], m = [];
364
+ for (let t = 0; t < 15; t++) p.push(e.getUniformLocation(r, `uTrailPos[${t}]`)), m.push(e.getUniformLocation(r, `uTrailRadius[${t}]`));
365
+ let h = [];
366
+ for (let t = 0; t < 4; t++) h.push(e.getUniformLocation(r, `uPalette[${t}]`));
367
+ let g = {
368
+ U: l,
369
+ satPosLocs: u,
370
+ satRadLocs: d,
371
+ satOpLocs: f,
372
+ trailPosLocs: p,
373
+ trailRadLocs: m,
374
+ paletteLocs: h
375
+ }, _ = {
376
+ mode: e.getUniformLocation(r, "uDotMode"),
377
+ pix: e.getUniformLocation(r, "uDotPixelSize"),
378
+ floor: e.getUniformLocation(r, "uFieldFloor"),
379
+ bright: e.getUniformLocation(r, "uDotBrightFloor"),
380
+ min: e.getUniformLocation(r, "uDotMin"),
381
+ max: e.getUniformLocation(r, "uDotMax"),
382
+ pr: e.getUniformLocation(r, "uDotPointerRadius"),
383
+ pm: e.getUniformLocation(r, "uDotPointerMode"),
384
+ pa: e.getUniformLocation(r, "uDotPointerActive"),
385
+ cursor: e.getUniformLocation(r, "uDotCursor"),
386
+ bloom: e.getUniformLocation(r, "uDotBloom")
387
+ };
388
+ return e.enable(e.BLEND), e.blendFunc(e.ONE, e.ONE_MINUS_SRC_ALPHA), {
389
+ prog: r,
390
+ vs: t,
391
+ fs: n,
392
+ buf: s,
393
+ vao: o,
394
+ locs: g,
395
+ dU: _
396
+ };
397
+ }
398
+ //#endregion
399
+ //#region src/components/custom/goo-dot-matrix/composables/useGooDotMatrix.ts
400
+ function $(e, i) {
401
+ let { config: a } = i, l = i.mode ?? "live", f = a.field, p = ee(null), h = m(), g = d(p), y = v(f, "goo-dot"), b = t({ respectReducedMotion: a.respectReducedMotion }), x = L(), S = /* @__PURE__ */ new Map();
402
+ function C(e) {
403
+ let t = S.get(e);
404
+ if (t) return t;
405
+ let n = o(s(e));
406
+ return S.size > 256 && S.clear(), S.set(e, n), n;
407
+ }
408
+ let w = a.palette.map((e) => `oklch(${e.L} ${e.C} ${e.h})`), T = w[w.length - 1] ?? "oklch(0.92 0.03 78)", D = null, O = !1, k = 0, A = 0;
409
+ function j(e) {
410
+ let t = k ? (e - k) * 1e3 : 16;
411
+ k = e;
412
+ let n = Math.max(0, Math.min(t, 50)), r = D?.reducedMotion ?? !1, i = r || O ? 0 : f.tempo, o = i * n;
413
+ if (A += o, i > 0 && g.active.value) {
414
+ let e = g.pointer.value;
415
+ b.setPointer(e.x * .5 + .5, e.y * .5 + .5);
416
+ }
417
+ if (b.tick(i === 0 ? 0 : n), r || h.update({
418
+ pointerActive: g.active.value,
419
+ clicked: g.consumeClick(),
420
+ idleMs: g.idleMs()
421
+ }), h.tick(o), r ? g.rest() : g.tick(o), y.tick(A, h.params.value), a.interactive && g.active.value && i > 0) {
422
+ let e = g.pointer.value;
423
+ x.x = e.x * .5, x.y = e.y * .5, x.active += (1 - x.active) * .2, a.pointerMode, x.bloom = Math.max(x.bloom * .9, b.burst.value);
424
+ } else x.active += (0 - x.active) * .12, x.bloom *= .9;
425
+ return {
426
+ params: h.params.value,
427
+ rgb: C(T),
428
+ simTimeMs: A,
429
+ timeSec: e,
430
+ resolveColor: C,
431
+ rimColor: f.surface.rimColor,
432
+ paletteStops: w
433
+ };
434
+ }
435
+ function M() {
436
+ return O ? !1 : !h.isSettled() || !g.isAtRest() || !y.isQuiescent() || x.active > .001 || x.bloom > .001;
437
+ }
438
+ function N(e) {
439
+ return function(t, r, i) {
440
+ let o = Z(t, i);
441
+ function s() {
442
+ let t = n(), r = e.clientWidth || f.geometry.canvasSize, i = e.clientHeight || f.geometry.canvasSize, a = Math.max(1, Math.round(r * t)), o = Math.max(1, Math.round(i * t));
443
+ (e.width !== a || e.height !== o) && (e.width = a, e.height = o);
444
+ }
445
+ function c(i) {
446
+ let s = j(i);
447
+ _(o.fieldScratch, e, f, g, y, s), t.queue.writeBuffer(o.fieldBuffer, 0, o.fieldScratch.buffer), z(o.dotScratch, a, {
448
+ w: e.width || 1,
449
+ h: e.height || 1
450
+ }, n(), x), t.queue.writeBuffer(o.dotBuffer, 0, o.dotScratch.buffer);
451
+ let c = r.getCurrentTexture().createView(), l = t.createCommandEncoder({ label: `${X} frame` }), u = l.beginRenderPass({ colorAttachments: [{
452
+ view: c,
453
+ clearValue: {
454
+ r: 0,
455
+ g: 0,
456
+ b: 0,
457
+ a: 0
458
+ },
459
+ loadOp: "clear",
460
+ storeOp: "store"
461
+ }] });
462
+ u.setPipeline(o.pipeline), u.setBindGroup(0, o.bindGroup), u.draw(3, 1, 0, 0), u.end(), t.queue.submit([l.finish()]);
463
+ }
464
+ return {
465
+ frame: c,
466
+ shouldContinue: M,
467
+ resize: s,
468
+ teardown: () => {
469
+ o.fieldBuffer.destroy(), o.dotBuffer.destroy();
470
+ }
471
+ };
472
+ };
473
+ }
474
+ function P(e) {
475
+ return function(t) {
476
+ let r = Q(t), { prog: i, vao: o, locs: s, dU: c } = r;
477
+ function l() {
478
+ let r = n(), i = e.clientWidth || f.geometry.canvasSize, a = e.clientHeight || f.geometry.canvasSize, o = Math.max(1, Math.round(i * r)), s = Math.max(1, Math.round(a * r));
479
+ (e.width !== o || e.height !== s) && (e.width = o, e.height = s), t.viewport(0, 0, e.width, e.height);
480
+ }
481
+ function d(r) {
482
+ let l = j(r);
483
+ t.useProgram(i);
484
+ let d = n();
485
+ t.uniform1f(c.mode, +(a.variant === "dot-dither")), t.uniform1f(c.pix, Math.max(a.dotPixelSize * d, 4)), t.uniform1f(c.floor, a.fieldFloor), t.uniform1f(c.bright, a.dotBrightFloor), t.uniform1f(c.min, a.dotMin), t.uniform1f(c.max, a.dotMax), t.uniform1f(c.pr, a.pointerRadius), t.uniform1f(c.pm, I(a.pointerMode)), t.uniform1f(c.pa, a.interactive ? x.active : 0), t.uniform2f(c.cursor, x.x, x.y), t.uniform1f(c.bloom, x.bloom), u(t, i, o, s, e, f, g, y, l);
486
+ }
487
+ return {
488
+ frame: d,
489
+ shouldContinue: M,
490
+ resize: l,
491
+ teardown: () => {
492
+ t.deleteProgram(r.prog), t.deleteShader(r.vs), t.deleteShader(r.fs), t.deleteBuffer(r.buf), t.deleteVertexArray(r.vao);
493
+ }
494
+ };
495
+ };
496
+ }
497
+ c(e, {
498
+ pause: () => D?.suspend("off-screen-io"),
499
+ resume: () => D?.resume("off-screen-io")
500
+ }, {
501
+ rootMargin: "200px",
502
+ pauseWhenHidden: !1
503
+ });
504
+ let F = () => {
505
+ let t = e.value;
506
+ return t ? (D || (p.value = t.parentElement ?? t, D = r(t, {
507
+ mode: l,
508
+ contextAttrs: {
509
+ alpha: !0,
510
+ premultipliedAlpha: !0,
511
+ antialias: !1,
512
+ preserveDrawingBuffer: !1
513
+ },
514
+ respectReducedMotion: a.respectReducedMotion,
515
+ setupWGPU: N(t),
516
+ setupGL: P(t)
517
+ }), D.armAsync()), D) : null;
518
+ };
519
+ queueMicrotask(() => F());
520
+ let R = {
521
+ get backend() {
522
+ return F()?.backend ?? "webgpu";
523
+ },
524
+ pause: () => {
525
+ O = !0, F()?.suspend("manual");
526
+ },
527
+ resume: () => {
528
+ O = !1, F()?.resume("manual");
529
+ },
530
+ wake: () => F()?.wake(),
531
+ renderAt: (e) => F()?.renderAt(e),
532
+ get reducedMotion() {
533
+ return D?.reducedMotion ?? !1;
534
+ },
535
+ dispose: () => {
536
+ b.dispose(), D?.dispose(), D = null;
537
+ }
538
+ };
539
+ return E(() => R.dispose()), R;
540
+ }
541
+ //#endregion
542
+ //#region src/components/custom/goo-dot-matrix/GooDotMatrix.vue
543
+ var te = /* @__PURE__ */ e(/* @__PURE__ */ w({
544
+ __name: "GooDotMatrix",
545
+ props: {
546
+ config: { default: () => N },
547
+ paused: {
548
+ type: Boolean,
549
+ default: !1
550
+ }
551
+ },
552
+ emits: ["update:paused"],
553
+ setup(e, { expose: t }) {
554
+ let n = O("canvasRef"), r = $(n, { config: e.config });
555
+ k(() => e.paused, (e) => e ? r.pause() : r.resume(), { immediate: !0 });
556
+ let i = x(() => {
557
+ let t = e.config.background;
558
+ if (t !== "transparent") return `oklch(${t.L} ${t.C} ${t.h})`;
559
+ });
560
+ return t({
561
+ pause: r.pause,
562
+ resume: r.resume,
563
+ wake: r.wake,
564
+ renderAt: r.renderAt
565
+ }), (e, t) => (D(), S("div", {
566
+ class: "goo-dot-matrix-wrapper",
567
+ style: T(i.value ? { background: i.value } : void 0)
568
+ }, [C("canvas", {
569
+ ref_key: "canvasRef",
570
+ ref: n,
571
+ class: "goo-dot-matrix-canvas",
572
+ "aria-hidden": "true",
573
+ "data-testid": "goo-dot-matrix-canvas"
574
+ }, null, 512)], 4));
575
+ }
576
+ }), [["__scopeId", "data-v-2580c8f0"]]);
577
+ //#endregion
578
+ //#region src/components/custom/goo-dot-matrix/composables/gooDotLattice.ts
579
+ function ne(e, t, n) {
580
+ let r = Math.max(t, 1), i = e % r, a = Math.floor(e / r), o = (r - 1) / 2;
581
+ return {
582
+ x: (i - o) * n,
583
+ y: (a - o) * n
584
+ };
585
+ }
586
+ function re(e) {
587
+ let t = Math.max(e, 1);
588
+ return t * t;
589
+ }
590
+ //#endregion
591
+ export { N as DEFAULT_GOO_DOT_CONFIG, te as GooDotMatrix, j as MAX_LATTICE_COLS, A as MIN_DOT_PIXEL_SIZE, M as WARM_IDENTITY_PALETTE, l as fibonacciDot, ne as gridOrigin, re as latticeInstanceCount, $ as useGooDotMatrix };
package/dist/handmark.js CHANGED
@@ -1,5 +1,5 @@
1
- import { t as e } from "./_plugin-vue_export-helper-CBt_VvXa.js";
2
- import { n as t } from "./prng-Cg22zv8g.js";
1
+ import { t as e } from "./_plugin-vue_export-helper-C1je1s0u.js";
2
+ import { n as t } from "./prng-B-d9eYX8.js";
3
3
  import { Fragment as n, computed as r, createCommentVNode as i, createElementBlock as a, defineComponent as o, normalizeClass as s, normalizeStyle as c, onBeforeUnmount as l, onMounted as u, openBlock as d, ref as f, renderList as p, renderSlot as m, unref as h, useId as g, watch as _ } from "vue";
4
4
  import { catmullRomToBezier as v, ellipsePoints as y, perturbPoints as b, perturbPointsClosed as x, pointsToLinear as S, useLineBoil as C, wobbleLinePoints as w } from "@mkbabb/pencil-boil";
5
5
  //#region src/components/custom/handmark/brush.ts
@@ -1,4 +1,4 @@
1
- import { t as e } from "./_plugin-vue_export-helper-CBt_VvXa.js";
1
+ import { t as e } from "./_plugin-vue_export-helper-C1je1s0u.js";
2
2
  import { computed as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, defineComponent as a, normalizeClass as o, onBeforeUnmount as s, openBlock as c, ref as l, renderSlot as u } from "vue";
3
3
  //#region src/components/custom/header-ribbon/HeaderRibbon.vue?vue&type=script&setup=true&lang.ts
4
4
  var d = {
@@ -1,2 +1,2 @@
1
- import { n as e, r as t, t as n } from "./HoverCardContent-DkMaQzH5.js";
1
+ import { n as e, r as t, t as n } from "./HoverCardContent-Bel1gdLZ.js";
2
2
  export { t as HoverCard, n as HoverCardContent, e as HoverCardTrigger };
@@ -1,2 +1,2 @@
1
- import { t as e } from "./HoverPopover-Dpzwvc4t.js";
1
+ import { t as e } from "./HoverPopover-BcIxvyqZ.js";
2
2
  export { e as HoverPopover };
package/dist/icon-chip.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as e } from "./IconChip-BDw1j5mu.js";
1
+ import { t as e } from "./IconChip-DhbdGdFQ.js";
2
2
  export { e as IconChip };
@@ -1,2 +1,2 @@
1
- import { t as e } from "./IconTooltip-DSjasZIt.js";
1
+ import { t as e } from "./IconTooltip-B0zimd2H.js";
2
2
  export { e as IconTooltip };
package/dist/index.d.ts CHANGED
@@ -10,7 +10,6 @@ export * from "./components/ui/command";
10
10
  export * from "./components/ui/context-menu";
11
11
  export * from "./components/ui/data-table";
12
12
  export * from "./components/ui/dialog";
13
- export * from "./components/ui/drawer";
14
13
  export * from "./components/ui/dropdown-menu";
15
14
  export * from "./components/ui/hover-card";
16
15
  export * from "./components/ui/label";
@@ -39,6 +38,7 @@ export * from "./components/custom/hover-popover";
39
38
  export * from "./components/custom/configurator";
40
39
  export * from "./components/custom/scrolling-text";
41
40
  export * from "./components/custom/icon-chip";
41
+ export * from "./components/custom/split-chars";
42
42
  export * from "./composables/reactive";
43
43
  export * from "./composables/dom";
44
44
  export * from "./composables/glass";
@@ -47,4 +47,6 @@ export { startViewTransition, supportsViewTransitions, navigate, supportsRouteTr
47
47
  export { vReveal } from "./composables/motion/vReveal";
48
48
  export { useTextHighlight, type HighlightMatcher, type UseTextHighlightControls, } from "./composables/motion/useTextHighlight";
49
49
  export { useLiquidFlex, type LiquidFlexAxis, type UseLiquidFlexParams, type UseLiquidFlexReturn, } from "./composables/motion/useLiquidFlex";
50
+ export { usePointerVelocityField, type PointerVec2, type UsePointerVelocityField, type UsePointerVelocityFieldOptions, } from "./composables/motion/usePointerVelocityField";
51
+ export { useCharStagger, type UseCharStaggerOptions, type UseCharStaggerReturn, } from "./composables/motion/useCharStagger";
50
52
  export * from "./utils";
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./InstrumentChassis-UUJX0-mW.js";
1
+ import { n as e, t } from "./InstrumentChassis-CxsHSyMj.js";
2
2
  export { e as ChassisDivider, t as InstrumentChassis };
package/dist/keyboard.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as e, i as t, n, r, t as i } from "./useKeyboardShortcuts-BXWXOZ-9.js";
1
+ import { a as e, i as t, n, r, t as i } from "./useKeyboardShortcuts-BPRp33Im.js";
2
2
  export { i as formatCombo, n as formatComboParts, r as isMac, t as registerShortcut, e as useRegisteredShortcuts };
package/dist/label.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as e } from "./Label-Ck9SWEKM.js";
1
+ import { t as e } from "./Label-C2ejNWeC.js";
2
2
  export { e as Label };