@mkbabb/glass-ui 4.0.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/README.md +3 -1
  2. package/dist/CardAction-CW7a0m8M.js +253 -0
  3. package/dist/{CommandShortcut-DdtWXxOK.js → CommandShortcut-DvZNQ_HF.js} +4 -4
  4. package/dist/ConfiguratorRow-BR4l-ixA.js +143 -0
  5. package/dist/{ContextMenuContent-ON3x7cuk.js → ContextMenuContent-uWnVxDab.js} +1 -1
  6. package/dist/{ContextMenuSubContent-B0Vs6atR.js → ContextMenuSubContent-xol4sD2q.js} +32 -37
  7. package/dist/{DataTable-C464Zbqd.js → DataTable-CuKwF7wr.js} +4 -4
  8. package/dist/{DialogContent-DDE6pQBU.js → DialogContent-DcKK8k9i.js} +5 -5
  9. package/dist/{DialogFooter-8eZbdmPc.js → DialogFooter-BZNX5aVr.js} +3 -3
  10. package/dist/{FadingScroll-DwNnvKMs.js → FadingScroll-DI6hQhT9.js} +1 -1
  11. package/dist/{HoverCardContent-DkMaQzH5.js → HoverCardContent-b2uaAMRR.js} +1 -1
  12. package/dist/{HoverPopover-Dpzwvc4t.js → HoverPopover-CbqbNwgU.js} +2 -2
  13. package/dist/{IconChip-BDw1j5mu.js → IconChip-BTD-nay5.js} +3 -2
  14. package/dist/{IconTooltip-DSjasZIt.js → IconTooltip-Bl8gFZ8d.js} +1 -1
  15. package/dist/{Input-DVG_J0ne.js → Input-h9v5LeXf.js} +1 -1
  16. package/dist/{MetricBadge-BpC0R_Ec.js → MetricBadge-RHdBP72w.js} +1 -1
  17. package/dist/Notification-VUwexFUf.js +43 -0
  18. package/dist/NumberFieldContent-Cq7EzX-U.js +138 -0
  19. package/dist/{PopoverContent-BTorlp--.js → PopoverContent-DL7E6vJP.js} +4 -4
  20. package/dist/{Progress-hAT4gqGH.js → Progress-DctG61iZ.js} +4 -4
  21. package/dist/{ScrollingText-CUVFTWk2.js → ScrollingText-yOpBzFYq.js} +2 -2
  22. package/dist/{SelectScrollDownButton-C1jb3b3K.js → SelectScrollDownButton-CrA8F0iV.js} +18 -19
  23. package/dist/Toaster-Bw4xR8xV.js +274 -0
  24. package/dist/{ToggleGroupItem-Dzk9hWsF.js → ToggleGroupItem-pEM9vIhs.js} +50 -37
  25. package/dist/{TooltipProvider-B3MkB_8P.js → TooltipProvider-rzvnXz60.js} +1 -1
  26. package/dist/animated-digit.js +2 -2
  27. package/dist/api/index.d.ts +8 -3
  28. package/dist/api/types-extra.d.ts +6 -0
  29. package/dist/aurora.js +885 -242
  30. package/dist/badge.js +1 -1
  31. package/dist/border-progress.d.ts +1 -0
  32. package/dist/border-progress.js +106 -0
  33. package/dist/{button-BNDWhAZb.js → button-DYCUa-tH.js} +71 -26
  34. package/dist/button.js +1 -1
  35. package/dist/canvas.js +2 -2
  36. package/dist/card.js +2 -2
  37. package/dist/carousel.js +93 -110
  38. package/dist/collapsible.js +1 -1
  39. package/dist/command.js +1 -1
  40. package/dist/compile-CQEFRTmx.js +19 -0
  41. package/dist/components/custom/aurora/composables/atoms-fields.d.ts +39 -0
  42. package/dist/components/custom/aurora/composables/auroraFallbackGround.d.ts +108 -0
  43. package/dist/components/custom/aurora/composables/runtime.d.ts +19 -0
  44. package/dist/components/custom/aurora/composables/uniformBridge.d.ts +5 -1
  45. package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +51 -0
  46. package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +29 -0
  47. package/dist/components/custom/aurora/constants/budget.d.ts +21 -0
  48. package/dist/components/custom/aurora/constants/presets.d.ts +2 -2
  49. package/dist/components/custom/aurora/constants/renderMode.d.ts +63 -12
  50. package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +1 -0
  51. package/dist/components/custom/aurora/constants/shaders/oil-modes.glsl.d.ts +1 -0
  52. package/dist/components/custom/aurora/constants/shaders/procedural-color.wgsl.d.ts +4 -0
  53. package/dist/components/custom/aurora/index.d.ts +2 -1
  54. package/dist/components/custom/border-progress/BorderProgress.vue.d.ts +46 -0
  55. package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +22 -0
  56. package/dist/components/custom/border-progress/constants.d.ts +59 -0
  57. package/dist/components/custom/border-progress/index.d.ts +4 -0
  58. package/dist/components/custom/concentric/Concentric.vue.d.ts +39 -0
  59. package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +11 -0
  60. package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +13 -0
  61. package/dist/components/custom/concentric/composables/ringField.d.ts +44 -0
  62. package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +13 -0
  63. package/dist/components/custom/concentric/composables/useConcentric.d.ts +35 -0
  64. package/dist/components/custom/concentric/constants.d.ts +43 -0
  65. package/dist/components/custom/concentric/index.d.ts +5 -0
  66. package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +4 -0
  67. package/dist/components/custom/concentric/shaders/concentric.wgsl.d.ts +1 -0
  68. package/dist/components/custom/dock/DockIconButton.vue.d.ts +13 -4
  69. package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +10 -2
  70. package/dist/components/custom/dock/composables/dockMorphMeasure.d.ts +75 -0
  71. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +13 -0
  72. package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +38 -0
  73. package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +41 -0
  74. package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +24 -0
  75. package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +34 -0
  76. package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +18 -0
  77. package/dist/components/custom/dot-flow-field/constants.d.ts +48 -0
  78. package/dist/components/custom/dot-flow-field/index.d.ts +5 -0
  79. package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +1 -0
  80. package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +20 -0
  81. package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +1 -0
  82. package/dist/components/custom/easing/EasingConfigurator.vue.d.ts +33 -0
  83. package/dist/components/custom/easing/EasingPicker.vue.d.ts +49 -0
  84. package/dist/components/custom/easing/composables/useEasingPicker.d.ts +75 -0
  85. package/dist/components/custom/easing/constants.d.ts +28 -0
  86. package/dist/components/custom/easing/index.d.ts +3 -0
  87. package/dist/components/custom/fourier-field/FourierField.vue.d.ts +12 -2
  88. package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +39 -0
  89. package/dist/components/custom/fourier-field/constants.d.ts +7 -0
  90. package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +1 -1
  91. package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +4 -2
  92. package/dist/components/custom/goo-blob/composables/uniformBridgeWGPU.d.ts +24 -0
  93. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +18 -11
  94. package/dist/components/custom/goo-blob/composables/wgpuSetup.d.ts +23 -0
  95. package/dist/components/custom/goo-blob/shaders/metaball.wgsl.d.ts +1 -0
  96. package/dist/components/custom/handmark/HandMark.vue.d.ts +1 -1
  97. package/dist/components/custom/icon-chip/types.d.ts +11 -1
  98. package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +3 -1
  99. package/dist/components/custom/metric-stack/MetricStack.vue.d.ts +1 -1
  100. package/dist/components/custom/spa-view/SpaView.vue.d.ts +50 -0
  101. package/dist/components/custom/spa-view/index.d.ts +2 -0
  102. package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +10 -0
  103. package/dist/components/custom/tabs/composables/useTabDragMorph.d.ts +42 -0
  104. package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +1 -1
  105. package/dist/components/ui/_shared/menuItemVariants.d.ts +1 -1
  106. package/dist/components/ui/badge/index.d.ts +1 -1
  107. package/dist/components/ui/button/Button.vue.d.ts +5 -2
  108. package/dist/components/ui/button/index.d.ts +2 -2
  109. package/dist/components/ui/card/Card.vue.d.ts +34 -4
  110. package/dist/components/ui/card/CardHeader.vue.d.ts +42 -16
  111. package/dist/components/ui/card/ScrollCard.vue.d.ts +33 -0
  112. package/dist/components/ui/card/ScrollCardHeader.vue.d.ts +17 -0
  113. package/dist/components/ui/card/index.d.ts +2 -0
  114. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +2 -2
  115. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +2 -2
  116. package/dist/components/ui/carousel/GlassCarouselPager.vue.d.ts +2 -2
  117. package/dist/components/ui/command/Command.vue.d.ts +1 -1
  118. package/dist/components/ui/drawer/Drawer.vue.d.ts +46 -33
  119. package/dist/components/ui/drawer/DrawerContent.vue.d.ts +7 -8
  120. package/dist/components/ui/drawer/DrawerDescription.vue.d.ts +2 -2
  121. package/dist/components/ui/drawer/DrawerOverlay.vue.d.ts +1 -1
  122. package/dist/components/ui/drawer/DrawerTitle.vue.d.ts +2 -2
  123. package/dist/components/ui/drawer/composables/drawerSnapContext.d.ts +26 -0
  124. package/dist/components/ui/drawer/composables/useDrawerSnap.d.ts +17 -0
  125. package/dist/components/ui/drawer/constants.d.ts +45 -0
  126. package/dist/components/ui/drawer/index.d.ts +23 -15
  127. package/dist/components/ui/focus-scope/FocusScope.vue.d.ts +20 -0
  128. package/dist/components/ui/focus-scope/index.d.ts +2 -0
  129. package/dist/components/ui/index.d.ts +1 -0
  130. package/dist/components/ui/progress/ProgressDefault.vue.d.ts +3 -2
  131. package/dist/components/ui/select/SelectContent.vue.d.ts +1 -1
  132. package/dist/components/ui/sheet/index.d.ts +1 -1
  133. package/dist/components/ui/tags-input/TagsInput.vue.d.ts +2 -2
  134. package/dist/components/ui/toast/Toast.vue.d.ts +5 -2
  135. package/dist/components/ui/toast/use-toast.d.ts +14 -0
  136. package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
  137. package/dist/composables/glass/canvas2d/useCanvas2D.d.ts +13 -6
  138. package/dist/composables/glass/index.d.ts +5 -2
  139. package/dist/composables/glass/useSpecularPointer.d.ts +33 -0
  140. package/dist/composables/glass/useSpecularTracking.d.ts +20 -0
  141. package/dist/composables/glass/vSpecular.d.ts +2 -0
  142. package/dist/composables/glass/webgl/shaders/flow.glsl.d.ts +1 -0
  143. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +16 -0
  144. package/dist/composables/glass/webgpu/index.d.ts +2 -0
  145. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +54 -0
  146. package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +84 -0
  147. package/dist/composables/motion/core/index.d.ts +1 -0
  148. package/dist/composables/motion/index.d.ts +4 -0
  149. package/dist/composables/motion/useDockCtaReceive.d.ts +59 -0
  150. package/dist/composables/motion/useDragMorph.d.ts +77 -0
  151. package/dist/composables/motion/useLiquidFlex.d.ts +11 -0
  152. package/dist/composables/motion/useLiquidPress.d.ts +71 -0
  153. package/dist/composables/motion/useLiquidReveal.d.ts +51 -0
  154. package/dist/composables/motion/useNumericTransition.d.ts +3 -3
  155. package/dist/composables/motion/usePointerVelocityField.d.ts +98 -0
  156. package/dist/concentric.d.ts +1 -0
  157. package/dist/concentric.js +562 -0
  158. package/dist/configurator.js +3 -2
  159. package/dist/confirm-dialog.js +22 -24
  160. package/dist/constellation.js +11 -11
  161. package/dist/context-menu.js +3 -3
  162. package/dist/controls.js +1 -1
  163. package/dist/createCanvasLifecycle-CHD5XrDW.js +82 -0
  164. package/dist/data-table.js +1 -1
  165. package/dist/dialog.js +2 -2
  166. package/dist/dock.js +564 -457
  167. package/dist/{dockContext-Bu1Avy-a.js → dockContext-BNfyPLe9.js} +1 -1
  168. package/dist/dom.js +5 -5
  169. package/dist/dot-flow-field.d.ts +1 -0
  170. package/dist/dot-flow-field.js +604 -0
  171. package/dist/drawer.d.ts +1 -0
  172. package/dist/drawer.js +380 -0
  173. package/dist/{dropdown-menu-BJ7E9js_.js → dropdown-menu-CofSZuk8.js} +14 -15
  174. package/dist/dropdown-menu.js +1 -1
  175. package/dist/easing.d.ts +1 -0
  176. package/dist/easing.js +463 -0
  177. package/dist/expandable-container.js +7 -4
  178. package/dist/fading-scroll.js +1 -1
  179. package/dist/focus-scope.d.ts +1 -0
  180. package/dist/focus-scope.js +23 -0
  181. package/dist/forms.js +7 -7
  182. package/dist/fourier-field.js +128 -116
  183. package/dist/fourier-math.js +1 -1
  184. package/dist/glass-panel.js +2 -2
  185. package/dist/glass-ui.css +1 -1
  186. package/dist/glass-ui.js +149 -341
  187. package/dist/goo-blob.js +830 -224
  188. package/dist/handmark.js +2 -2
  189. package/dist/header-ribbon.js +1 -1
  190. package/dist/hover-card.js +1 -1
  191. package/dist/hover-popover.js +1 -1
  192. package/dist/icon-chip.js +1 -1
  193. package/dist/icon-tooltip.js +1 -1
  194. package/dist/index.d.ts +1 -1
  195. package/dist/instrument-chassis.js +1 -1
  196. package/dist/label.js +1 -1
  197. package/dist/labeled-field.js +6 -6
  198. package/dist/metric-badge.js +1 -1
  199. package/dist/metric-cell.js +1 -1
  200. package/dist/metric-stack.js +4 -8
  201. package/dist/motion-core.js +36 -36
  202. package/dist/motion-curves.js +1 -1
  203. package/dist/motion.js +157 -55
  204. package/dist/notification.js +1 -1
  205. package/dist/number-field.js +1 -1
  206. package/dist/pager-dots.js +1 -1
  207. package/dist/paper-backdrop.js +1 -1
  208. package/dist/popover.js +1 -1
  209. package/dist/{compile-EXXzEr1q.js → procedural-color.glsl-CIFsJhwI.js} +1 -155
  210. package/dist/procedural-color.wgsl-CToRHugY.js +224 -0
  211. package/dist/progress.js +1 -1
  212. package/dist/pulse.js +1 -1
  213. package/dist/reactive.js +2 -2
  214. package/dist/scrolling-text.js +1 -1
  215. package/dist/search.js +9 -11
  216. package/dist/select.js +3 -3
  217. package/dist/separator.js +1 -1
  218. package/dist/{sheet-CquRYOAw.js → sheet-tZMg0E0w.js} +5 -5
  219. package/dist/sheet.js +1 -1
  220. package/dist/{slider-DQ95MET2.js → slider-DVb4HXU-.js} +3 -3
  221. package/dist/slider.js +1 -1
  222. package/dist/sortable-list.js +3 -3
  223. package/dist/spa-view.d.ts +1 -0
  224. package/dist/spa-view.js +46 -0
  225. package/dist/styles/animations.css +33 -9
  226. package/dist/styles/border-progress.css +109 -0
  227. package/dist/styles/cards.css +76 -0
  228. package/dist/styles/components.css +1 -1
  229. package/dist/styles/critical-partition.mjs +140 -0
  230. package/dist/styles/critical.css +12 -0
  231. package/dist/styles/deferred.css +31 -0
  232. package/dist/styles/dock/density.css +45 -0
  233. package/dist/styles/dock/layers.css +54 -30
  234. package/dist/styles/dock/morph.css +124 -7
  235. package/dist/styles/dock/overflow.css +16 -2
  236. package/dist/styles/dock/shell.css +54 -16
  237. package/dist/styles/dock.css +32 -0
  238. package/dist/styles/drawer.css +81 -35
  239. package/dist/styles/glass/deep.css +44 -0
  240. package/dist/styles/glass/ladder.css +87 -31
  241. package/dist/styles/glass/material.css +78 -15
  242. package/dist/styles/glass/reveal.css +136 -0
  243. package/dist/styles/glass/rim.css +100 -0
  244. package/dist/styles/glass/surfaces.css +101 -3
  245. package/dist/styles/glass-refract.css +96 -44
  246. package/dist/styles/glass-specular-track.css +7 -0
  247. package/dist/styles/glass.css +3 -0
  248. package/dist/styles/hover-popover.css +7 -6
  249. package/dist/styles/icon-chip.css +77 -15
  250. package/dist/styles/index.css +21 -9
  251. package/dist/styles/instrument-chassis.css +66 -3
  252. package/dist/styles/scroll-choreography.css +300 -0
  253. package/dist/styles/segmented-tabs.css +31 -0
  254. package/dist/styles/theme/bridges.css +11 -0
  255. package/dist/styles/theme/literals.css +11 -2
  256. package/dist/styles/theme/radius.css +6 -1
  257. package/dist/styles/tokens/dark-arm.css +98 -26
  258. package/dist/styles/tokens/glass-deep.css +75 -0
  259. package/dist/styles/tokens/glass-fx.css +333 -0
  260. package/dist/styles/tokens/glass.css +39 -319
  261. package/dist/styles/tokens/light-dark.css +15 -2
  262. package/dist/styles/tokens/offsets.css +116 -0
  263. package/dist/styles/tokens/on-glass-fg.css +39 -0
  264. package/dist/styles/tokens/property-regs.css +127 -0
  265. package/dist/styles/tokens/scale-paper.css +117 -89
  266. package/dist/styles/tokens/scheme-motion.css +70 -32
  267. package/dist/styles/tokens/scroll-tokens.css +123 -0
  268. package/dist/styles/tokens/{offsets-sizing.css → sizing.css} +37 -100
  269. package/dist/styles/tokens.css +9 -3
  270. package/dist/styles/typography/semantic.css +8 -8
  271. package/dist/styles/typography/utilities.css +22 -7
  272. package/dist/styles/utilities/animate.css +27 -24
  273. package/dist/styles/utilities/base-misc.css +255 -0
  274. package/dist/styles/utilities/base.css +47 -261
  275. package/dist/styles/utilities/btn.css +3 -1
  276. package/dist/styles/utilities/metal.css +189 -0
  277. package/dist/styles/utilities.css +14 -7
  278. package/dist/switch.js +1 -1
  279. package/dist/tabs.js +220 -107
  280. package/dist/timeline.js +2 -2
  281. package/dist/toast.js +1 -1
  282. package/dist/toggle-group.js +1 -1
  283. package/dist/tooltip.js +1 -1
  284. package/dist/typewriter.js +1 -1
  285. package/dist/useCanvas2D-B8w_E3Rr.js +83 -0
  286. package/dist/useConfiguratorState-DNlOh6c8.js +161 -0
  287. package/dist/useDragMorph-DgxnsVJz.js +102 -0
  288. package/dist/useLiquidPress-kfb4KX79.js +39 -0
  289. package/dist/usePointerVelocityField-JbRd5CrM.js +137 -0
  290. package/dist/useSpring-C0jyvEJB.js +40 -0
  291. package/dist/useSpringMount-q1amq1SJ.js +71 -0
  292. package/dist/useSpringPress-BsqPr7FJ.js +34 -0
  293. package/dist/{useTouchGate-28Tk2-t2.js → useTouchGate-CBZTD4SD.js} +1 -1
  294. package/dist/vSpecular-CQFmLNzA.js +68 -0
  295. package/dist/vendor-CKmzio-i.js +226 -0
  296. package/dist/watercolor-dot.js +2 -2
  297. package/package.json +126 -22
  298. package/src/styles/animations.css +33 -9
  299. package/src/styles/border-progress.css +109 -0
  300. package/src/styles/cards.css +76 -0
  301. package/src/styles/critical-partition.mjs +140 -0
  302. package/src/styles/dock/density.css +45 -0
  303. package/src/styles/dock/layers.css +54 -30
  304. package/src/styles/dock/morph.css +124 -7
  305. package/src/styles/dock/overflow.css +16 -2
  306. package/src/styles/dock/shell.css +54 -16
  307. package/src/styles/dock.css +32 -0
  308. package/src/styles/drawer.css +81 -35
  309. package/src/styles/glass/deep.css +44 -0
  310. package/src/styles/glass/ladder.css +87 -31
  311. package/src/styles/glass/material.css +78 -15
  312. package/src/styles/glass/reveal.css +136 -0
  313. package/src/styles/glass/rim.css +100 -0
  314. package/src/styles/glass/surfaces.css +101 -3
  315. package/src/styles/glass-refract.css +96 -44
  316. package/src/styles/glass-specular-track.css +7 -0
  317. package/src/styles/glass.css +3 -0
  318. package/src/styles/hover-popover.css +7 -6
  319. package/src/styles/icon-chip.css +77 -15
  320. package/src/styles/index.css +12 -0
  321. package/src/styles/instrument-chassis.css +66 -3
  322. package/src/styles/scroll-choreography.css +300 -0
  323. package/src/styles/segmented-tabs.css +31 -0
  324. package/src/styles/theme/bridges.css +11 -0
  325. package/src/styles/theme/literals.css +11 -2
  326. package/src/styles/theme/radius.css +6 -1
  327. package/src/styles/tokens/dark-arm.css +98 -26
  328. package/src/styles/tokens/glass-deep.css +75 -0
  329. package/src/styles/tokens/glass-fx.css +333 -0
  330. package/src/styles/tokens/glass.css +39 -319
  331. package/src/styles/tokens/light-dark.css +15 -2
  332. package/src/styles/tokens/offsets.css +116 -0
  333. package/src/styles/tokens/on-glass-fg.css +39 -0
  334. package/src/styles/tokens/property-regs.css +127 -0
  335. package/src/styles/tokens/scale-paper.css +117 -89
  336. package/src/styles/tokens/scheme-motion.css +70 -32
  337. package/src/styles/tokens/scroll-tokens.css +123 -0
  338. package/src/styles/tokens/{offsets-sizing.css → sizing.css} +37 -100
  339. package/src/styles/tokens.css +9 -3
  340. package/src/styles/typography/semantic.css +8 -8
  341. package/src/styles/typography/utilities.css +22 -7
  342. package/src/styles/utilities/animate.css +27 -24
  343. package/src/styles/utilities/base-misc.css +255 -0
  344. package/src/styles/utilities/base.css +47 -261
  345. package/src/styles/utilities/btn.css +3 -1
  346. package/src/styles/utilities/metal.css +189 -0
  347. package/src/styles/utilities.css +14 -7
  348. package/dist/CardAction-XH4YBVEK.js +0 -158
  349. package/dist/Notification-DKjKsQq8.js +0 -100
  350. package/dist/NumberFieldContent-1VtwDSgf.js +0 -145
  351. package/dist/Toaster-Bm_HQSpc.js +0 -263
  352. package/dist/check-njhk-vfu.js +0 -7
  353. package/dist/chevron-down-DKkxb4VV.js +0 -7
  354. package/dist/chevron-right-CPXbqQQz.js +0 -7
  355. package/dist/chevron-up-n_24SqI-.js +0 -7
  356. package/dist/createLucideIcon-DydS2qgk.js +0 -43
  357. package/dist/minimize-2-BV31Ob_h.js +0 -38
  358. package/dist/search-BSGrf2Sk.js +0 -12
  359. package/dist/useCanvas2D-ClrQuZtp.js +0 -96
  360. package/dist/useConfiguratorState-kiIlun8I.js +0 -303
  361. package/dist/useSpecularTracking-Bo5su68i.js +0 -32
  362. package/dist/useSpringMount-CvopqiFr.js +0 -108
  363. package/dist/useViewTransition-COsPjQVZ.js +0 -47
  364. package/dist/x-BUwTKe50.js +0 -10
  365. /package/dist/{CollapsibleContent-C_s6fG7r.js → CollapsibleContent-68dEXIAl.js} +0 -0
  366. /package/dist/{InstrumentChassis-UUJX0-mW.js → InstrumentChassis-Bx0F_q5g.js} +0 -0
  367. /package/dist/{Label-Ck9SWEKM.js → Label-C2ejNWeC.js} +0 -0
  368. /package/dist/{ModalOverlay-CkPRRgl_.js → ModalOverlay-D1VrWyoi.js} +0 -0
  369. /package/dist/{PaperBackdrop-nBKe0vkB.js → PaperBackdrop-Vf3tlpvd.js} +0 -0
  370. /package/dist/{SelectGroup-Dcczq44n.js → SelectGroup-DwwjicPY.js} +0 -0
  371. /package/dist/{SelectSeparator-DK2y1Bun.js → SelectSeparator-DXswVdRz.js} +0 -0
  372. /package/dist/{Separator-BArl4OaB.js → Separator-pKF0oA4M.js} +0 -0
  373. /package/dist/{Switch-Dr--uLGH.js → Switch-CwYNf8bo.js} +0 -0
  374. /package/dist/{_plugin-vue_export-helper-CBt_VvXa.js → _plugin-vue_export-helper-C1je1s0u.js} +0 -0
  375. /package/dist/{badge-UILT_3pZ.js → badge-D9XWW4GT.js} +0 -0
  376. /package/dist/{createContext-B2RaZ-b8.js → createContext-CpBNTRMI.js} +0 -0
  377. /package/dist/{math-DeuJwLFx.js → math-BINYmg5z.js} +0 -0
  378. /package/dist/{menuItemVariants-DWRQXBxJ.js → menuItemVariants-D8VNHq22.js} +0 -0
  379. /package/dist/{prng-Cg22zv8g.js → prng-Za0Rmgag.js} +0 -0
  380. /package/dist/{resolveCanvasColor-BBiYfp8g.js → resolveCanvasColor-CUyHr5Uu.js} +0 -0
  381. /package/dist/{springPresets-WXaLbu8u.js → springPresets-CFQGQfdl.js} +0 -0
  382. /package/dist/{useAnimatedNumber-C_3wZLx4.js → useAnimatedNumber-BfUq2bUM.js} +0 -0
  383. /package/dist/{useInterval-CNdua40W.js → useInterval-CvK1mL92.js} +0 -0
  384. /package/dist/{useLiquidFlex-C12hXwOZ.js → useLiquidFlex-mZPMiNXh.js} +0 -0
  385. /package/dist/{useRAFLoop-CdwJ7284.js → useRAFLoop-UYa4zoiN.js} +0 -0
  386. /package/dist/{useResizeObserver-V6nq5gJb.js → useResizeObserver-Bpoi7tRE.js} +0 -0
  387. /package/dist/{useResolveTokenColor-NUG2zYAW.js → useResolveTokenColor-vAylyR0x.js} +0 -0
  388. /package/dist/{useSortable-BVqlJRBR.js → useSortable-DHjtZSEd.js} +0 -0
  389. /package/dist/{useSurfaceAxis-CMnF2zHb.js → useSurfaceAxis-g0NloYEF.js} +0 -0
  390. /package/dist/{useTextHighlight-NmBM5V_4.js → useTextHighlight-CWEi25hf.js} +0 -0
  391. /package/dist/{useTimer-B_PAasDL.js → useTimer-BHJOKr35.js} +0 -0
  392. /package/dist/{useUserInvalidAria-CDfJuakL.js → useUserInvalidAria-y5namzeE.js} +0 -0
  393. /package/dist/{useViewportReady-CvBcCYDf.js → useViewportReady-anbac3m6.js} +0 -0
  394. /package/dist/{vReveal-D9k0jADx.js → vReveal-Czsb7zQC.js} +0 -0
@@ -1,263 +0,0 @@
1
- import { t as e } from "./cn-DJXf4yaB.js";
2
- import { t } from "./x-BUwTKe50.js";
3
- import { Fragment as n, computed as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createTextVNode as c, createVNode as l, defineComponent as u, mergeProps as d, normalizeClass as f, openBlock as p, ref as m, renderList as h, renderSlot as g, toDisplayString as _, unref as v, withCtx as y } from "vue";
4
- import { ToastAction as b, ToastClose as x, ToastDescription as S, ToastPortal as C, ToastProvider as w, ToastRoot as T, ToastTitle as E, ToastViewport as D, useForwardPropsEmits as O } from "reka-ui";
5
- //#endregion
6
- //#region src/components/ui/toast/Toast.vue
7
- var k = /* @__PURE__ */ u({
8
- __name: "Toast",
9
- props: {
10
- class: { type: [
11
- Boolean,
12
- null,
13
- String,
14
- Object,
15
- Array
16
- ] },
17
- variant: { default: "default" },
18
- defaultOpen: { type: Boolean },
19
- forceMount: { type: Boolean },
20
- type: {},
21
- open: { type: Boolean },
22
- duration: {},
23
- asChild: { type: Boolean },
24
- as: {}
25
- },
26
- emits: [
27
- "escapeKeyDown",
28
- "pause",
29
- "resume",
30
- "swipeStart",
31
- "swipeMove",
32
- "swipeCancel",
33
- "swipeEnd",
34
- "update:open"
35
- ],
36
- setup(t, { emit: n }) {
37
- let a = t, o = n, s = O(r(() => {
38
- let { class: e, variant: t, ...n } = a;
39
- return n;
40
- }), o);
41
- return (n, r) => (p(), i(v(T), d({
42
- "data-slot": "toast",
43
- "data-variant": t.variant
44
- }, v(s), { class: v(e)("glass-floating group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-panel p-6 pr-8 transition-[opacity,transform] data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-(--reka-toast-swipe-end-x) data-[swipe=move]:translate-x-(--reka-toast-swipe-move-x) data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full", "text-foreground", {
45
- "feedback-tone [&_svg]:text-(--tone)": t.variant !== "default",
46
- "feedback-tone-destructive": t.variant === "destructive",
47
- "feedback-tone-success": t.variant === "success",
48
- "feedback-tone-warning": t.variant === "warning",
49
- "feedback-tone-info": t.variant === "info"
50
- }, a.class) }), {
51
- default: y(() => [g(n.$slots, "default")]),
52
- _: 3
53
- }, 16, ["data-variant", "class"]));
54
- }
55
- }), A = /* @__PURE__ */ u({
56
- __name: "ToastAction",
57
- props: {
58
- class: { type: [
59
- Boolean,
60
- null,
61
- String,
62
- Object,
63
- Array
64
- ] },
65
- altText: {},
66
- asChild: { type: Boolean },
67
- as: {}
68
- },
69
- setup(t) {
70
- let n = t, a = r(() => {
71
- let { class: e, ...t } = n;
72
- return t;
73
- });
74
- return (t, r) => (p(), i(v(b), d(a.value, { class: v(e)("focus-ring inline-flex h-[calc(2rem*var(--ui-scale))] shrink-0 items-center justify-center rounded-button border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary disabled:pointer-events-none disabled:opacity-disabled group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground", n.class) }), {
75
- default: y(() => [g(t.$slots, "default")]),
76
- _: 3
77
- }, 16, ["class"]));
78
- }
79
- }), j = /* @__PURE__ */ u({
80
- __name: "ToastClose",
81
- props: {
82
- class: { type: [
83
- Boolean,
84
- null,
85
- String,
86
- Object,
87
- Array
88
- ] },
89
- asChild: { type: Boolean },
90
- as: {}
91
- },
92
- setup(n) {
93
- let a = n, o = r(() => {
94
- let { class: e, ...t } = a;
95
- return t;
96
- });
97
- return (n, r) => (p(), i(v(x), d(o.value, { class: v(e)("focus-ring absolute right-2 top-2 rounded-button p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50", a.class) }), {
98
- default: y(() => [l(v(t), { class: "h-4 w-4" })]),
99
- _: 1
100
- }, 16, ["class"]));
101
- }
102
- }), M = /* @__PURE__ */ u({
103
- __name: "ToastDescription",
104
- props: {
105
- class: { type: [
106
- Boolean,
107
- null,
108
- String,
109
- Object,
110
- Array
111
- ] },
112
- asChild: { type: Boolean },
113
- as: {}
114
- },
115
- setup(t) {
116
- let n = t, a = r(() => {
117
- let { class: e, ...t } = n;
118
- return t;
119
- });
120
- return (t, r) => (p(), i(v(S), d(a.value, { class: v(e)("text-sm opacity-90", n.class) }), {
121
- default: y(() => [g(t.$slots, "default")]),
122
- _: 3
123
- }, 16, ["class"]));
124
- }
125
- }), N = /* @__PURE__ */ u({
126
- __name: "ToastTitle",
127
- props: {
128
- class: { type: [
129
- Boolean,
130
- null,
131
- String,
132
- Object,
133
- Array
134
- ] },
135
- asChild: { type: Boolean },
136
- as: {}
137
- },
138
- setup(t) {
139
- let n = t, a = r(() => {
140
- let { class: e, ...t } = n;
141
- return t;
142
- });
143
- return (t, r) => (p(), i(v(E), d(a.value, { class: v(e)("text-sm font-semibold", n.class) }), {
144
- default: y(() => [g(t.$slots, "default")]),
145
- _: 3
146
- }, 16, ["class"]));
147
- }
148
- }), P = 5, F = 1e6, I = /* @__PURE__ */ new Map();
149
- function L(e) {
150
- if (I.has(e)) return;
151
- let t = setTimeout(() => {
152
- I.delete(e), z({
153
- type: "REMOVE_TOAST",
154
- toastId: e
155
- });
156
- }, F);
157
- I.set(e, t);
158
- }
159
- var R = m([]);
160
- function z(e) {
161
- switch (e.type) {
162
- case "ADD_TOAST":
163
- R.value = [e.toast, ...R.value].slice(0, P);
164
- break;
165
- case "UPDATE_TOAST":
166
- R.value = R.value.map((t) => t.id === e.toast.id ? {
167
- ...t,
168
- ...e.toast
169
- } : t);
170
- break;
171
- case "DISMISS_TOAST": {
172
- let { toastId: t } = e;
173
- t ? L(t) : R.value.forEach((e) => {
174
- L(e.id);
175
- }), R.value = R.value.map((e) => e.id === t || t === void 0 ? {
176
- ...e,
177
- open: !1
178
- } : e);
179
- break;
180
- }
181
- case "REMOVE_TOAST":
182
- e.toastId === void 0 ? R.value = [] : R.value = R.value.filter((t) => t.id !== e.toastId);
183
- break;
184
- }
185
- }
186
- var B = 0;
187
- function V() {
188
- return B = (B + 1) % Number.MAX_VALUE, B.toString();
189
- }
190
- function H(e) {
191
- let t = V(), n = (e) => z({
192
- type: "UPDATE_TOAST",
193
- toast: {
194
- ...e,
195
- id: t
196
- }
197
- }), r = () => z({
198
- type: "DISMISS_TOAST",
199
- toastId: t
200
- });
201
- return z({
202
- type: "ADD_TOAST",
203
- toast: {
204
- ...e,
205
- id: t,
206
- open: !0,
207
- "onUpdate:open": (e) => {
208
- e || r();
209
- }
210
- }
211
- }), {
212
- id: t,
213
- dismiss: r,
214
- update: n
215
- };
216
- }
217
- function U() {
218
- return {
219
- toasts: r(() => R.value),
220
- toast: H,
221
- dismiss: (e) => z({
222
- type: "DISMISS_TOAST",
223
- toastId: e
224
- })
225
- };
226
- }
227
- //#endregion
228
- //#region src/components/ui/toast/Toaster.vue?vue&type=script&setup=true&lang.ts
229
- var W = { class: "grid gap-1" }, G = "fixed top-0 z-toast flex max-h-screen w-full", K = "p-4", q = "md:max-w-[420px]", J = /* @__PURE__ */ u({
230
- __name: "Toaster",
231
- props: { position: { default: "bottom-right" } },
232
- setup(t) {
233
- let u = t, { toasts: m } = U(), g = {
234
- "bottom-right": ["flex-col-reverse", "sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col"],
235
- "bottom-left": ["flex-col-reverse", "sm:bottom-0 sm:left-0 sm:top-auto sm:flex-col"],
236
- "bottom-center": ["flex-col-reverse", "sm:bottom-0 sm:left-1/2 sm:top-auto sm:-translate-x-1/2 sm:flex-col"],
237
- "top-right": ["right-0 flex-col", ""],
238
- "top-left": ["left-0 flex-col", ""],
239
- "top-center": ["left-1/2 -translate-x-1/2 flex-col", ""]
240
- }, b = r(() => {
241
- let [t, n] = g[u.position];
242
- return e(G, t, K, n, q);
243
- });
244
- return (e, t) => (p(), i(v(w), null, {
245
- default: y(() => [(p(!0), o(n, null, h(v(m), (e) => (p(), i(k, d({ key: e.id }, { ref_for: !0 }, e), {
246
- default: y(() => [s("div", W, [e.title ? (p(), i(N, { key: 0 }, {
247
- default: y(() => [c(_(e.title), 1)]),
248
- _: 2
249
- }, 1024)) : a("", !0), e.description ? (p(), i(M, { key: 1 }, {
250
- default: y(() => [c(_(e.description), 1)]),
251
- _: 2
252
- }, 1024)) : a("", !0)]), l(j)]),
253
- _: 2
254
- }, 1040))), 128)), l(v(C), null, {
255
- default: y(() => [l(v(D), { class: f(b.value) }, null, 8, ["class"])]),
256
- _: 1
257
- })]),
258
- _: 1
259
- }));
260
- }
261
- });
262
- //#endregion
263
- export { M as a, k as c, N as i, H as n, j as o, U as r, A as s, J as t };
@@ -1,7 +0,0 @@
1
- import { t as e } from "./createLucideIcon-DydS2qgk.js";
2
- var t = e("check", [["path", {
3
- d: "M20 6 9 17l-5-5",
4
- key: "1gmf2c"
5
- }]]);
6
- //#endregion
7
- export { t };
@@ -1,7 +0,0 @@
1
- import { t as e } from "./createLucideIcon-DydS2qgk.js";
2
- var t = e("chevron-down", [["path", {
3
- d: "m6 9 6 6 6-6",
4
- key: "qrunsl"
5
- }]]);
6
- //#endregion
7
- export { t };
@@ -1,7 +0,0 @@
1
- import { t as e } from "./createLucideIcon-DydS2qgk.js";
2
- var t = e("chevron-right", [["path", {
3
- d: "m9 18 6-6-6-6",
4
- key: "mthhwq"
5
- }]]);
6
- //#endregion
7
- export { t };
@@ -1,7 +0,0 @@
1
- import { t as e } from "./createLucideIcon-DydS2qgk.js";
2
- var t = e("chevron-up", [["path", {
3
- d: "m18 15-6-6-6 6",
4
- key: "153udz"
5
- }]]);
6
- //#endregion
7
- export { t };
@@ -1,43 +0,0 @@
1
- import { computed as e, h as t, inject as n } from "vue";
2
- //#region node_modules/@lucide/vue/dist/esm/shared/src/utils/isEmptyString.mjs
3
- var r = (e) => e === "", i = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), a = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), o = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), s = (e) => {
4
- let t = o(e);
5
- return t.charAt(0).toUpperCase() + t.slice(1);
6
- }, c = {
7
- xmlns: "http://www.w3.org/2000/svg",
8
- width: 24,
9
- height: 24,
10
- viewBox: "0 0 24 24",
11
- fill: "none",
12
- stroke: "currentColor",
13
- "stroke-width": 2,
14
- "stroke-linecap": "round",
15
- "stroke-linejoin": "round"
16
- }, l = Symbol("lucide-icons");
17
- function u() {
18
- return n(l, {});
19
- }
20
- //#endregion
21
- //#region node_modules/@lucide/vue/dist/esm/Icon.mjs
22
- var d = ({ name: n, iconNode: o, absoluteStrokeWidth: l, "absolute-stroke-width": d, strokeWidth: f, "stroke-width": p, size: m, color: h, ...g }, { slots: _ }) => {
23
- let { size: v, color: y, strokeWidth: b = 2, absoluteStrokeWidth: x = !1, class: S = "" } = u(), C = e(() => {
24
- let e = r(l) || r(d) || l === !0 || d === !0 || x === !0, t = f || p || b || c["stroke-width"];
25
- return e ? Number(t) * 24 / Number(m ?? v ?? c.width) : t;
26
- });
27
- return t("svg", {
28
- ...c,
29
- ...g,
30
- width: m ?? v ?? c.width,
31
- height: m ?? v ?? c.height,
32
- stroke: h ?? y ?? c.stroke,
33
- "stroke-width": C.value,
34
- class: i("lucide", S, ...n ? [`lucide-${a(s(n))}-icon`, `lucide-${a(n)}`] : ["lucide-icon"])
35
- }, [...o.map((e) => t(...e)), ..._.default ? [_.default()] : []]);
36
- }, f = (e, n) => (r, { slots: i, attrs: a }) => t(d, {
37
- ...a,
38
- ...r,
39
- iconNode: n,
40
- name: e
41
- }, i.default ? { default: i.default } : void 0);
42
- //#endregion
43
- export { f as t };
@@ -1,38 +0,0 @@
1
- import { t as e } from "./createLucideIcon-DydS2qgk.js";
2
- var t = e("maximize-2", [
3
- ["path", {
4
- d: "M15 3h6v6",
5
- key: "1q9fwt"
6
- }],
7
- ["path", {
8
- d: "m21 3-7 7",
9
- key: "1l2asr"
10
- }],
11
- ["path", {
12
- d: "m3 21 7-7",
13
- key: "tjx5ai"
14
- }],
15
- ["path", {
16
- d: "M9 21H3v-6",
17
- key: "wtvkvv"
18
- }]
19
- ]), n = e("minimize-2", [
20
- ["path", {
21
- d: "m14 10 7-7",
22
- key: "oa77jy"
23
- }],
24
- ["path", {
25
- d: "M20 10h-6V4",
26
- key: "mjg0md"
27
- }],
28
- ["path", {
29
- d: "m3 21 7-7",
30
- key: "tjx5ai"
31
- }],
32
- ["path", {
33
- d: "M4 14h6v6",
34
- key: "rmj7iw"
35
- }]
36
- ]);
37
- //#endregion
38
- export { t as n, n as t };
@@ -1,12 +0,0 @@
1
- import { t as e } from "./createLucideIcon-DydS2qgk.js";
2
- var t = e("search", [["path", {
3
- d: "m21 21-4.34-4.34",
4
- key: "14j7rj"
5
- }], ["circle", {
6
- cx: "11",
7
- cy: "11",
8
- r: "8",
9
- key: "4ej97u"
10
- }]]);
11
- //#endregion
12
- export { t };
@@ -1,96 +0,0 @@
1
- import { getCurrentScope as e, onScopeDispose as t, toValue as n } from "vue";
2
- //#region src/composables/glass/canvas2d/useCanvas2D.ts
3
- var r = "200px";
4
- function i(i) {
5
- let { setup: a, autoStart: o = !0, contextAttrs: s, rootMargin: c = r } = i, l = i.respectReducedMotion ?? !0, u = () => n(i.canvas), d = /* @__PURE__ */ new Set(), f = () => d.size === 0, p = 0, m = null, h = null, g = !1, _ = !1, v = typeof window < "u", y = typeof document < "u", b = l && v && window.matchMedia ? window.matchMedia("(prefers-reduced-motion: reduce)") : null, x = b?.matches ?? !1;
6
- function S() {
7
- if (!f() || !h || !m) {
8
- p = 0;
9
- return;
10
- }
11
- h.render(m, v ? performance.now() : 0), p = x ? 0 : requestAnimationFrame(S);
12
- }
13
- function C() {
14
- g && f() && !p && h && m && (p = requestAnimationFrame(S));
15
- }
16
- function w() {
17
- g && h && m && h.render(m, v ? performance.now() : 0);
18
- }
19
- function T() {
20
- let e = b?.matches ?? !1;
21
- e !== x && (x = e, C());
22
- }
23
- b?.addEventListener("change", T);
24
- function E(e = "manual") {
25
- let t = f();
26
- d.add(e), t && !f() && (cancelAnimationFrame(p), p = 0);
27
- }
28
- function D(e = "manual") {
29
- let t = !f();
30
- d.delete(e), t && f() && g && h && (x ? w() : C());
31
- }
32
- function O() {
33
- document.hidden ? E("tab-hidden") : D("tab-hidden");
34
- }
35
- y && document.addEventListener("visibilitychange", O), y && document.hidden && d.add("tab-hidden");
36
- let k = null;
37
- function A(e) {
38
- e.skipped ? E("off-screen") : D("off-screen");
39
- }
40
- function j(e) {
41
- if (k) return;
42
- let t = e.parentElement;
43
- t && (k = t, t.addEventListener("contentvisibilityautostatechange", A));
44
- }
45
- function M() {
46
- k?.removeEventListener("contentvisibilityautostatechange", A), k = null;
47
- }
48
- let N = null;
49
- function P(e) {
50
- N || typeof IntersectionObserver > "u" || (N = new IntersectionObserver((e) => {
51
- for (let t of e) t.isIntersecting || t.intersectionRatio > 0 ? D("off-screen") : E("off-screen");
52
- }, { rootMargin: c }), N.observe(e));
53
- }
54
- let F = null, I = !1;
55
- function L(e) {
56
- if (!m) return;
57
- let t = e.clientWidth || e.offsetWidth || 0, n = e.clientHeight || e.offsetHeight || 0;
58
- if (!t || !n) return;
59
- let r = Math.min(v && window.devicePixelRatio || 1, 2);
60
- e.width = Math.round(t * r), e.height = Math.round(n * r), m.setTransform(r, 0, 0, r, 0, 0), !I && !p && w();
61
- }
62
- function R(e) {
63
- F || typeof ResizeObserver > "u" || (F = new ResizeObserver(() => {
64
- let e = u();
65
- e && L(e);
66
- }), F.observe(e));
67
- }
68
- function z() {
69
- if (g || _) return;
70
- let e = u();
71
- if (!e) return;
72
- let t = e.getContext("2d", s);
73
- if (!t) throw Error("[useCanvas2D] 2D context unavailable");
74
- m = t, h = a(m), g = !0, R(e), j(e), P(e), I = !0, L(e), I = !1, x ? w() : f() && (p = requestAnimationFrame(S));
75
- }
76
- function B() {
77
- _ || (_ = !0, cancelAnimationFrame(p), p = 0, y && document.removeEventListener("visibilitychange", O), b?.removeEventListener("change", T), M(), N?.disconnect(), N = null, F?.disconnect(), F = null, h?.teardown?.(), h = null, m = null, d.clear());
78
- }
79
- return o && z(), e() && t(B), {
80
- arm: z,
81
- suspend: E,
82
- resume: D,
83
- wake: C,
84
- dispose: B,
85
- isRunning: f,
86
- get ctx() {
87
- return m;
88
- },
89
- get reducedMotion() {
90
- return x;
91
- }
92
- };
93
- }
94
- var a = i;
95
- //#endregion
96
- export { a as n, i as t };