@mkbabb/glass-ui 3.10.0 → 3.10.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 (269) hide show
  1. package/dist/{CardAction-DuArVky-.js → CardAction-DrAcAV4d.js} +2 -2
  2. package/dist/{CommandShortcut-CefCj5mt.js → CommandShortcut-mV2e1aG6.js} +2 -2
  3. package/dist/{DataTable-CUHMukiQ.js → DataTable-C3E6jZ5B.js} +2 -2
  4. package/dist/{DialogContent-BRkT1cjP.js → DialogContent-BxaaafFi.js} +1 -1
  5. package/dist/{HoverPopover-2LOIW34a.js → HoverPopover-CDA_SaCe.js} +1 -1
  6. package/dist/{MetricBadge-BZVWIxNy.js → MetricBadge-idgrkqoP.js} +5 -7
  7. package/dist/{Notification-DLMhblXR.js → Notification-Cu0nN17_.js} +1 -1
  8. package/dist/{NumberFieldContent-BbLOh8RU.js → NumberFieldContent-CHEWghnY.js} +2 -2
  9. package/dist/{PopoverContent-BId6ggf_.js → PopoverContent-DpUvdYY-.js} +1 -1
  10. package/dist/{Progress-iEuD9pxG.js → Progress-BW-StFw2.js} +1 -1
  11. package/dist/{ScrollingText-BPP84wKo.js → ScrollingText-DruYCni_.js} +1 -1
  12. package/dist/{SelectScrollDownButton-T32cVFeM.js → SelectScrollDownButton-pirzjm--.js} +3 -3
  13. package/dist/{Switch-Ch-k3Rv-.js → Switch-DeAqg6pi.js} +1 -1
  14. package/dist/{TabsList-B8CVOQPC.js → TabsList-BAVzOZpg.js} +2 -2
  15. package/dist/{Toaster-1rYWrmAm.js → Toaster-CvuuW_y9.js} +49 -46
  16. package/dist/{ToggleGroupItem-Cev4pOVK.js → ToggleGroupItem-DtD37b4G.js} +4 -4
  17. package/dist/animated-digit.js +2 -2
  18. package/dist/api/index.d.ts +3 -4
  19. package/dist/api.js +1 -1
  20. package/dist/aurora.js +66 -66
  21. package/dist/{badge-CaoFJzRb.js → badge-NdCQMvvB.js} +1 -1
  22. package/dist/badge.js +1 -1
  23. package/dist/{button-DN39cGqL.js → button-DyiWFAOE.js} +12 -12
  24. package/dist/button.js +1 -1
  25. package/dist/canvas.js +2 -2
  26. package/dist/card.js +1 -1
  27. package/dist/carousel.js +5 -5
  28. package/dist/collapsible.js +1 -1
  29. package/dist/{color-C5ls_QF7.js → color-B65wWyQz.js} +9 -7
  30. package/dist/color.js +1 -1
  31. package/dist/command.js +1 -1
  32. package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +1 -1
  33. package/dist/components/custom/aurora/constants/shaders/vangogh-medium.glsl.d.ts +1 -0
  34. package/dist/components/custom/constellation/Constellation.vue.d.ts +12 -0
  35. package/dist/components/custom/constellation/composables/createConstellationField.d.ts +35 -0
  36. package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +35 -0
  37. package/dist/components/custom/constellation/constants.d.ts +36 -0
  38. package/dist/components/custom/constellation/constellationDraw.d.ts +18 -0
  39. package/dist/components/custom/constellation/constellationField.d.ts +10 -151
  40. package/dist/components/custom/constellation/constellationInteraction.d.ts +102 -0
  41. package/dist/components/custom/constellation/index.d.ts +3 -1
  42. package/dist/components/custom/controls/DarkModeToggle.vue.d.ts +11 -0
  43. package/dist/components/custom/dock/DockTabButton.vue.d.ts +3 -4
  44. package/dist/components/custom/dock/GlassDock.vue.d.ts +2 -110
  45. package/dist/components/custom/dock/composables/dockMorphContext.d.ts +36 -0
  46. package/dist/components/custom/dock/composables/useDockMorphWindow.d.ts +15 -0
  47. package/dist/components/custom/dock/composables/useDockShellProps.d.ts +131 -0
  48. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +44 -0
  49. package/dist/components/custom/dock/constants.d.ts +23 -0
  50. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +0 -29
  51. package/dist/components/custom/fourier-field/index.d.ts +1 -1
  52. package/dist/components/custom/fourier-field/math.d.ts +17 -0
  53. package/dist/components/custom/fourier-field/presets.d.ts +54 -0
  54. package/dist/components/custom/goo-blob/composables/buildMetaballProgram.d.ts +18 -0
  55. package/dist/components/custom/goo-blob/composables/uploadBlobUniforms.d.ts +41 -0
  56. package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +4 -3
  57. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +11 -8
  58. package/dist/components/custom/goo-blob/constants.d.ts +52 -0
  59. package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -0
  60. package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +2 -2
  61. package/dist/components/custom/metric-badge/MetricBadge.vue.d.ts +0 -8
  62. package/dist/components/custom/tabs/constants.d.ts +12 -0
  63. package/dist/components/custom/underline/GlassUnderline.vue.d.ts +84 -0
  64. package/dist/components/custom/underline/index.d.ts +2 -0
  65. package/dist/components/custom/underline/types.d.ts +56 -0
  66. package/dist/components/ui/drawer/Drawer.vue.d.ts +1 -0
  67. package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +2 -2
  68. package/dist/components/ui/slider/index.d.ts +22 -19
  69. package/dist/components/ui/toast/use-toast.d.ts +2 -2
  70. package/dist/composables/color/index.d.ts +12 -0
  71. package/dist/composables/glass/useSpecularTracking.d.ts +12 -3
  72. package/dist/composables/motion/core/index.d.ts +0 -1
  73. package/dist/composables/motion/curves.d.ts +48 -0
  74. package/dist/composables/motion/index.d.ts +2 -0
  75. package/dist/composables/motion/springPresets.d.ts +33 -0
  76. package/dist/composables/motion/suite.d.ts +2 -0
  77. package/dist/composables/motion/useSpringMount.d.ts +1 -1
  78. package/dist/configurator.js +1 -1
  79. package/dist/confirm-dialog.js +2 -2
  80. package/dist/constellation.js +260 -225
  81. package/dist/controls.js +48 -14
  82. package/dist/dark.js +1 -1
  83. package/dist/data-table.js +1 -1
  84. package/dist/dialog.js +2 -2
  85. package/dist/dock.js +339 -327
  86. package/dist/dockContext-bho8B1A4.js +17 -0
  87. package/dist/{dropdown-menu-D77jX6Df.js → dropdown-menu-DVnQcA0E.js} +7 -4
  88. package/dist/dropdown-menu.js +1 -1
  89. package/dist/expandable-container.js +38 -61
  90. package/dist/forms.js +2 -2
  91. package/dist/fourier-field.js +137 -102
  92. package/dist/fourier-math.js +2 -2
  93. package/dist/glass-ui.css +1 -1
  94. package/dist/glass-ui.js +287 -209
  95. package/dist/goo-blob.js +243 -212
  96. package/dist/hover-popover.js +1 -1
  97. package/dist/icon-tooltip.js +1 -1
  98. package/dist/index.d.ts +0 -3
  99. package/dist/keyboard.js +1 -1
  100. package/dist/labeled-field.js +5 -5
  101. package/dist/{math-DTpRVC0e.js → math-BUU9hHID.js} +18 -2
  102. package/dist/metric-badge.js +1 -1
  103. package/dist/metric-stack.js +1 -1
  104. package/dist/motion-core.js +69 -70
  105. package/dist/motion-curves.d.ts +1 -0
  106. package/dist/motion-curves.js +130 -0
  107. package/dist/motion.js +38 -37
  108. package/dist/notification.js +1 -1
  109. package/dist/number-field.js +1 -1
  110. package/dist/popover.js +1 -1
  111. package/dist/progress.js +1 -1
  112. package/dist/pulse.js +1 -1
  113. package/dist/reactive.js +1 -1
  114. package/dist/scrolling-text.js +1 -1
  115. package/dist/search.js +6 -6
  116. package/dist/select.js +1 -1
  117. package/dist/{sheet-VZEtNFvO.js → sheet-ChSXcJpU.js} +1 -1
  118. package/dist/sheet.js +1 -1
  119. package/dist/{slider-CyzcxBoh.js → slider-sfl8gFDD.js} +4 -4
  120. package/dist/slider.js +1 -1
  121. package/dist/sortable-list.js +2 -2
  122. package/dist/springPresets-aRSm-4_k.js +40 -0
  123. package/dist/stacked-icons.js +6 -6
  124. package/dist/styles/animations.css +18 -74
  125. package/dist/styles/components.css +1 -1
  126. package/dist/styles/dock/layer-group.css +22 -0
  127. package/dist/styles/dock/layers.css +11 -1
  128. package/dist/styles/dock/morph.css +95 -19
  129. package/dist/styles/dock/shell.css +12 -0
  130. package/dist/styles/dock-controls.css +28 -31
  131. package/dist/styles/drawer.css +2 -0
  132. package/dist/styles/floating-panel.css +2 -0
  133. package/dist/styles/glass/a11y-fallback.css +245 -0
  134. package/dist/styles/glass/ladder.css +304 -0
  135. package/dist/styles/glass/material.css +238 -0
  136. package/dist/styles/glass/progress-rail.css +78 -0
  137. package/dist/styles/glass/squircle.css +66 -0
  138. package/dist/styles/glass/surfaces.css +306 -0
  139. package/dist/styles/glass-refract.css +2 -0
  140. package/dist/styles/glass.css +31 -1188
  141. package/dist/styles/hover-popover.css +2 -0
  142. package/dist/styles/index.css +24 -6
  143. package/dist/styles/instrument-chassis.css +4 -0
  144. package/dist/styles/paper.css +2 -68
  145. package/dist/styles/theme.css +13 -20
  146. package/dist/styles/tokens/color-radius.css +250 -0
  147. package/dist/styles/tokens/dark-arm.css +194 -0
  148. package/dist/styles/tokens/glass.css +413 -0
  149. package/dist/styles/tokens/light-dark.css +158 -0
  150. package/dist/styles/tokens/offsets-sizing.css +406 -0
  151. package/dist/styles/tokens/property-regs.css +169 -0
  152. package/dist/styles/tokens/scale-paper.css +361 -0
  153. package/dist/styles/tokens/scheme-motion.css +334 -0
  154. package/dist/styles/tokens/shadow.css +132 -0
  155. package/dist/styles/tokens.css +22 -2355
  156. package/dist/styles/typography.css +18 -6
  157. package/dist/styles/utilities/a11y-overrides.css +140 -0
  158. package/dist/styles/utilities/animate.css +26 -0
  159. package/dist/styles/utilities/base.css +365 -0
  160. package/dist/styles/utilities/btn.css +399 -0
  161. package/dist/styles/utilities/components.css +317 -0
  162. package/dist/styles/utilities.css +19 -1260
  163. package/dist/styles/view-transition.css +0 -51
  164. package/dist/switch.js +1 -1
  165. package/dist/tabs.js +98 -98
  166. package/dist/timeline.js +2 -2
  167. package/dist/toast.js +1 -1
  168. package/dist/toggle-group.js +1 -1
  169. package/dist/typewriter.js +1 -1
  170. package/dist/underline.d.ts +1 -0
  171. package/dist/underline.js +85 -0
  172. package/dist/{useAnimatedNumber-Bcpy5Etf.js → useAnimatedNumber-DfVgP4te.js} +1 -1
  173. package/dist/{useConfiguratorState-DxAqksK6.js → useConfiguratorState-BdQXh9ie.js} +1 -1
  174. package/dist/useSpecularTracking-DFK_fhpG.js +32 -0
  175. package/dist/useSpringMount-DXUzxBjV.js +108 -0
  176. package/dist/vReveal-CqaCz_mC.js +44 -0
  177. package/dist/watercolor-dot.js +2 -2
  178. package/package.json +34 -52
  179. package/src/styles/animations.css +18 -74
  180. package/src/styles/dock/layer-group.css +22 -0
  181. package/src/styles/dock/layers.css +11 -1
  182. package/src/styles/dock/morph.css +95 -19
  183. package/src/styles/dock/shell.css +12 -0
  184. package/src/styles/dock-controls.css +28 -31
  185. package/src/styles/glass/a11y-fallback.css +245 -0
  186. package/src/styles/glass/ladder.css +304 -0
  187. package/src/styles/glass/material.css +238 -0
  188. package/src/styles/glass/progress-rail.css +78 -0
  189. package/src/styles/glass/squircle.css +66 -0
  190. package/src/styles/glass/surfaces.css +306 -0
  191. package/src/styles/glass.css +31 -1188
  192. package/src/styles/index.css +24 -6
  193. package/src/styles/paper.css +2 -68
  194. package/src/styles/theme.css +13 -20
  195. package/src/styles/tokens/color-radius.css +250 -0
  196. package/src/styles/tokens/dark-arm.css +194 -0
  197. package/src/styles/tokens/glass.css +413 -0
  198. package/src/styles/tokens/light-dark.css +158 -0
  199. package/src/styles/tokens/offsets-sizing.css +406 -0
  200. package/src/styles/tokens/property-regs.css +169 -0
  201. package/src/styles/tokens/scale-paper.css +361 -0
  202. package/src/styles/tokens/scheme-motion.css +334 -0
  203. package/src/styles/tokens/shadow.css +132 -0
  204. package/src/styles/tokens.css +22 -2355
  205. package/src/styles/typography.css +18 -6
  206. package/src/styles/utilities/a11y-overrides.css +140 -0
  207. package/src/styles/utilities/animate.css +26 -0
  208. package/src/styles/utilities/base.css +365 -0
  209. package/src/styles/utilities/btn.css +399 -0
  210. package/src/styles/utilities/components.css +317 -0
  211. package/src/styles/utilities.css +19 -1260
  212. package/src/styles/view-transition.css +0 -51
  213. package/dist/DeckProgress-Dmk4_AKN.js +0 -23
  214. package/dist/InstrumentRail-CUJ05YVG.js +0 -44
  215. package/dist/components/custom/deck-progress/DeckProgress.vue.d.ts +0 -27
  216. package/dist/components/custom/deck-progress/index.d.ts +0 -2
  217. package/dist/components/custom/dialog-native/GlassDialogNative.vue.d.ts +0 -57
  218. package/dist/components/custom/dialog-native/index.d.ts +0 -1
  219. package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +0 -41
  220. package/dist/components/custom/glass-panel/index.d.ts +0 -2
  221. package/dist/components/custom/handmark/HandMark.vue.d.ts +0 -29
  222. package/dist/components/custom/handmark/brush.d.ts +0 -219
  223. package/dist/components/custom/handmark/freehand.d.ts +0 -69
  224. package/dist/components/custom/handmark/geometry.d.ts +0 -32
  225. package/dist/components/custom/handmark/index.d.ts +0 -21
  226. package/dist/components/custom/handmark/ink.d.ts +0 -11
  227. package/dist/components/custom/handmark/texture.d.ts +0 -39
  228. package/dist/components/custom/handmark/types.d.ts +0 -53
  229. package/dist/components/custom/handmark/useHandMark.d.ts +0 -66
  230. package/dist/components/custom/header-ribbon/HeaderRibbon.vue.d.ts +0 -31
  231. package/dist/components/custom/header-ribbon/index.d.ts +0 -2
  232. package/dist/components/custom/header-ribbon/types.d.ts +0 -7
  233. package/dist/components/custom/instrument-rail/InstrumentRail.vue.d.ts +0 -91
  234. package/dist/components/custom/instrument-rail/index.d.ts +0 -2
  235. package/dist/composables/motion/useRouteTransition.d.ts +0 -42
  236. package/dist/deck-progress.d.ts +0 -1
  237. package/dist/deck-progress.js +0 -2
  238. package/dist/dockContext-BKeIMmNk.js +0 -9
  239. package/dist/glass-panel.d.ts +0 -1
  240. package/dist/glass-panel.js +0 -44
  241. package/dist/handmark.d.ts +0 -1
  242. package/dist/handmark.js +0 -609
  243. package/dist/header-ribbon.d.ts +0 -1
  244. package/dist/header-ribbon.js +0 -63
  245. package/dist/instrument-rail.d.ts +0 -1
  246. package/dist/instrument-rail.js +0 -2
  247. package/dist/useGlassRenderer-D7YGOYiM.js +0 -69
  248. package/dist/useSpecularTracking-BVRZsRHA.js +0 -26
  249. package/dist/useSpringMount-BJSHcLl3.js +0 -113
  250. package/dist/useViewTransition-DaN5Zrox.js +0 -21
  251. package/dist/vReveal-zUIQk-rJ.js +0 -53
  252. /package/dist/{CollapsibleContent-CP9qF1v4.js → CollapsibleContent-Drow5WkV.js} +0 -0
  253. /package/dist/{DialogFooter-Gprw8H_A.js → DialogFooter-DufLHi0y.js} +0 -0
  254. /package/dist/{IconTooltip-Cus0fvK0.js → IconTooltip-BrQ5p181.js} +0 -0
  255. /package/dist/{Input-xuDwALQR.js → Input-B-F818RU.js} +0 -0
  256. /package/dist/{_plugin-vue_export-helper-ok8pgSl5.js → _plugin-vue_export-helper-DWghtRt7.js} +0 -0
  257. /package/dist/{compile-BOXjLUxu.js → compile-Ce_V55zi.js} +0 -0
  258. /package/dist/{constants-yKeKnE84.js → constants-C8NMonuo.js} +0 -0
  259. /package/dist/{presets-Dkdv55Gt.js → presets-1OhFpaIC.js} +0 -0
  260. /package/dist/{prng-D27-B3tK.js → prng-CjVgzjQT.js} +0 -0
  261. /package/dist/{resolveCanvasColor-BBiYfp8g.js → resolveCanvasColor-CRvVzOvP.js} +0 -0
  262. /package/dist/{useCanvas2D-ClrQuZtp.js → useCanvas2D-CSeH8h16.js} +0 -0
  263. /package/dist/{useGlobalDark-d6waty-X.js → useGlobalDark-D7R9OypB.js} +0 -0
  264. /package/dist/{useIntersectionPause-Cck5Uxk8.js → useIntersectionPause-DAdVPVp4.js} +0 -0
  265. /package/dist/{useInterval-Dsmqwi03.js → useInterval-D3USn0yc.js} +0 -0
  266. /package/dist/{useKeyboardShortcuts-CyIYrndH.js → useKeyboardShortcuts-i8tHd5WO.js} +0 -0
  267. /package/dist/{useScrollProgress-CffFGLa5.js → useScrollProgress-CcgmgMQt.js} +0 -0
  268. /package/dist/{useSortable-C8ReQ50P.js → useSortable-DnyGXKKY.js} +0 -0
  269. /package/dist/{useTextHighlight-CWEi25hf.js → useTextHighlight-B3b10W6r.js} +0 -0
@@ -0,0 +1,17 @@
1
+ import { n as e } from "./createContext-B44Sah_H.js";
2
+ //#region src/components/custom/dock/constants.ts
3
+ var t = {
4
+ response: .32,
5
+ dampingFraction: .7
6
+ }, n = new Set([
7
+ "width",
8
+ "height",
9
+ "padding",
10
+ "transform"
11
+ ]), r = "glass-ui:dock-context", i = "glass-ui:dock-layer-group", a = "glass-ui:dock-morph-context", o = e(r, "[glass-ui:dock] useDockContext() called outside <GlassDock>; use useOptionalDockContext() if the primitive may render outside a dock."), { KEY: s } = o;
12
+ function c(e) {
13
+ o.provide(e);
14
+ }
15
+ var l = o.use, u = o.useOptional;
16
+ //#endregion
17
+ export { i as a, n as c, u as i, c as n, a as o, l as r, t as s, s as t };
@@ -2,7 +2,7 @@ import { t as e } from "./cn-DJXf4yaB.js";
2
2
  import { t } from "./check-BBKKKSTf.js";
3
3
  import { t as n } from "./chevron-right-sDM0Yvrf.js";
4
4
  import { t as r } from "./menuItemVariants-CCoBNkU5.js";
5
- import { i } from "./dockContext-BKeIMmNk.js";
5
+ import { i } from "./dockContext-bho8B1A4.js";
6
6
  import { computed as a, createBlock as o, createElementBlock as s, createElementVNode as c, createVNode as l, defineComponent as u, guardReactiveProps as d, mergeProps as f, normalizeClass as p, normalizeProps as m, openBlock as h, renderSlot as g, unref as _, withCtx as v } from "vue";
7
7
  import { DropdownMenuCheckboxItem as y, DropdownMenuContent as b, DropdownMenuGroup as x, DropdownMenuItem as S, DropdownMenuItemIndicator as C, DropdownMenuLabel as w, DropdownMenuPortal as T, DropdownMenuPortal as E, DropdownMenuRadioGroup as D, DropdownMenuRadioItem as O, DropdownMenuRoot as k, DropdownMenuSeparator as A, DropdownMenuSub as j, DropdownMenuSubContent as M, DropdownMenuSubTrigger as N, DropdownMenuTrigger as P, useForwardProps as F, useForwardPropsEmits as I } from "reka-ui";
8
8
  //#endregion
@@ -353,10 +353,13 @@ var L = /* @__PURE__ */ u({
353
353
  let { class: e, ...t } = r;
354
354
  return t;
355
355
  }), i);
356
- return (t, n) => (h(), o(_(M), f(_(s), { class: _(e)("dropdown-sub-content z-popover min-w-32 overflow-hidden rounded-panel border glass-floating p-1 text-popover-foreground popover-animate slide-in-from-side", r.class) }), {
357
- default: v(() => [g(t.$slots, "default")]),
356
+ return (t, n) => (h(), o(_(T), null, {
357
+ default: v(() => [l(_(M), f(_(s), { class: _(e)("dropdown-sub-content z-popover min-w-32 overflow-hidden rounded-panel border glass-floating p-1 text-popover-foreground popover-animate slide-in-from-side", r.class) }), {
358
+ default: v(() => [g(t.$slots, "default")]),
359
+ _: 3
360
+ }, 16, ["class"])]),
358
361
  _: 3
359
- }, 16, ["class"]));
362
+ }));
360
363
  }
361
364
  });
362
365
  //#endregion
@@ -1,2 +1,2 @@
1
- import { a as e, c as t, d as n, f as r, h as i, i as a, l as o, m as s, n as c, o as l, p as u, r as d, s as f, t as p, u as m } from "./dropdown-menu-D77jX6Df.js";
1
+ import { a as e, c as t, d as n, f as r, h as i, i as a, l as o, m as s, n as c, o as l, p as u, r as d, s as f, t as p, u as m } from "./dropdown-menu-DVnQcA0E.js";
2
2
  export { i as DropdownMenu, o as DropdownMenuCheckboxItem, u as DropdownMenuContent, r as DropdownMenuGroup, m as DropdownMenuItem, e as DropdownMenuLabel, p as DropdownMenuPortal, n as DropdownMenuRadioGroup, t as DropdownMenuRadioItem, l as DropdownMenuSeparator, f as DropdownMenuShortcut, a as DropdownMenuSub, c as DropdownMenuSubContent, d as DropdownMenuSubTrigger, s as DropdownMenuTrigger };
@@ -1,25 +1,26 @@
1
1
  import { n as e, t } from "./minimize-2-lcXOuc6V.js";
2
- import { t as n } from "./useViewTransition-DaN5Zrox.js";
3
- import { i as r } from "./useKeyboardShortcuts-CyIYrndH.js";
4
- import { Fragment as i, Teleport as a, computed as o, createBlock as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, createVNode as d, defineComponent as f, mergeModels as p, mergeProps as m, normalizeClass as h, normalizeStyle as g, onMounted as _, onUnmounted as v, openBlock as y, renderSlot as b, unref as x, useId as S, useModel as C, watch as w } from "vue";
2
+ import { i as n } from "./useKeyboardShortcuts-i8tHd5WO.js";
3
+ import { Fragment as r, Teleport as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createVNode as l, defineComponent as u, mergeModels as d, mergeProps as f, normalizeClass as p, onMounted as m, onUnmounted as h, openBlock as g, renderSlot as _, unref as v, useModel as y, watch as b } from "vue";
5
4
  //#region src/components/custom/expandable-container/ExpandableContainer.vue?vue&type=script&setup=true&lang.ts
6
- var T = ["aria-label"], E = ["aria-label"], D = { class: "h-full w-full" }, O = 0, k = null;
7
- function A() {
8
- return typeof document > "u" ? !1 : (O === 0 && (k = document.body.style.overflow, document.body.style.overflow = "hidden"), O += 1, !0);
5
+ var x = ["aria-label"], S = {
6
+ key: 0,
7
+ class: "fixed inset-0 z-modal flex flex-col bg-background"
8
+ }, C = ["aria-label"], w = { class: "h-full w-full" }, T = 0, E = null;
9
+ function D() {
10
+ return typeof document > "u" ? !1 : (T === 0 && (E = document.body.style.overflow, document.body.style.overflow = "hidden"), T += 1, !0);
9
11
  }
10
- function j() {
11
- typeof document > "u" || O === 0 || (--O, O === 0 && (document.body.style.overflow = k ?? "", k = null));
12
+ function O() {
13
+ typeof document > "u" || T === 0 || (--T, T === 0 && (document.body.style.overflow = E ?? "", E = null));
12
14
  }
13
15
  //#endregion
14
16
  //#region src/components/custom/expandable-container/ExpandableContainer.vue
15
- var M = /* @__PURE__ */ f({
17
+ var k = /* @__PURE__ */ u({
16
18
  inheritAttrs: !1,
17
19
  __name: "ExpandableContainer",
18
- props: /* @__PURE__ */ p({
20
+ props: /* @__PURE__ */ d({
19
21
  buttonPosition: { default: "right" },
20
22
  expandLabel: { default: "Fullscreen" },
21
- collapseLabel: { default: "Exit fullscreen" },
22
- viewTransitionName: { default: void 0 }
23
+ collapseLabel: { default: "Exit fullscreen" }
23
24
  }, {
24
25
  open: {
25
26
  type: Boolean,
@@ -28,66 +29,42 @@ var M = /* @__PURE__ */ f({
28
29
  openModifiers: {}
29
30
  }),
30
31
  emits: ["update:open"],
31
- setup(f) {
32
- let p = f, O = C(f, "open"), k = S(), M = o(() => p.viewTransitionName === void 0 ? void 0 : `gl-expand-${p.viewTransitionName}-${k}`), N = o(() => M.value === void 0 ? void 0 : { "view-transition-name": M.value });
33
- function P() {
34
- if (M.value === void 0) {
35
- O.value = !0;
32
+ setup(u) {
33
+ let d = y(u, "open"), T = !1;
34
+ function E(e) {
35
+ if (e && !T) {
36
+ T = D();
36
37
  return;
37
38
  }
38
- n(() => {
39
- O.value = !0;
40
- });
41
- }
42
- function F() {
43
- if (M.value === void 0) {
44
- O.value = !1;
45
- return;
46
- }
47
- n(() => {
48
- O.value = !1;
49
- });
39
+ !e && T && (O(), T = !1);
50
40
  }
51
- let I = !1;
52
- function L(e) {
53
- if (e && !I) {
54
- I = A();
55
- return;
56
- }
57
- !e && I && (j(), I = !1);
58
- }
59
- w(O, L, { immediate: !0 });
60
- let R = null;
61
- return _(() => {
62
- R = r("Escape", () => {
63
- O.value && F();
41
+ b(d, E, { immediate: !0 });
42
+ let k = null;
43
+ return m(() => {
44
+ k = n("Escape", () => {
45
+ d.value &&= !1;
64
46
  }, {
65
47
  label: "Exit fullscreen",
66
48
  group: "UI",
67
49
  allowInInput: !0
68
50
  });
69
- }), v(() => {
70
- R?.(), L(!1);
71
- }), (n, r) => (y(), l(i, null, [O.value ? c("", !0) : (y(), l("div", m({
51
+ }), h(() => {
52
+ k?.(), E(!1);
53
+ }), (n, m) => (g(), s(r, null, [d.value ? o("", !0) : (g(), s("div", f({
72
54
  key: 0,
73
- class: ["relative", { "gl-expand": M.value !== void 0 }],
74
- style: N.value
75
- }, n.$attrs), [u("button", {
76
- class: h(["expandable-container__trigger absolute z-10 rounded-button bg-card/70 [backdrop-filter:var(--glass-blur-wash)] p-1.5 text-muted-foreground hover:text-foreground transition-colors shadow-sm border border-border/40", f.buttonPosition === "left" ? "left-2 top-2" : "right-2 top-2"]),
55
+ class: "relative"
56
+ }, n.$attrs), [c("button", {
57
+ class: p(["expandable-container__trigger absolute z-10 rounded-button bg-card/70 [backdrop-filter:var(--glass-blur-wash)] p-1.5 text-muted-foreground hover:text-foreground transition-colors shadow-sm border border-border/40", u.buttonPosition === "left" ? "left-2 top-2" : "right-2 top-2"]),
77
58
  title: "Fullscreen",
78
- "aria-label": f.expandLabel,
79
- onClick: P
80
- }, [d(x(e), { class: "h-4 w-4" })], 10, T), b(n.$slots, "default", { fullscreen: !1 })], 16)), (y(), s(a, { to: "body" }, [O.value ? (y(), l("div", {
81
- key: 0,
82
- class: h(["fixed inset-0 z-modal flex flex-col bg-background", { "gl-expand": M.value !== void 0 }]),
83
- style: g(N.value)
84
- }, [u("button", {
85
- class: h(["expandable-container__trigger absolute z-10 rounded-button bg-card/70 [backdrop-filter:var(--glass-blur-wash)] p-2 text-muted-foreground hover:text-foreground transition-colors shadow-sm border border-border/40", f.buttonPosition === "left" ? "left-3 top-3" : "right-3 top-3"]),
59
+ "aria-label": u.expandLabel,
60
+ onClick: m[0] ||= (e) => d.value = !0
61
+ }, [l(v(e), { class: "h-4 w-4" })], 10, x), _(n.$slots, "default", { fullscreen: !1 })], 16)), (g(), a(i, { to: "body" }, [d.value ? (g(), s("div", S, [c("button", {
62
+ class: p(["expandable-container__trigger absolute z-10 rounded-button bg-card/70 [backdrop-filter:var(--glass-blur-wash)] p-2 text-muted-foreground hover:text-foreground transition-colors shadow-sm border border-border/40", u.buttonPosition === "left" ? "left-3 top-3" : "right-3 top-3"]),
86
63
  title: "Exit fullscreen",
87
- "aria-label": f.collapseLabel,
88
- onClick: F
89
- }, [d(x(t), { class: "h-4 w-4" })], 10, E), u("div", D, [b(n.$slots, "default", { fullscreen: !0 })])], 6)) : c("", !0)]))], 64));
64
+ "aria-label": u.collapseLabel,
65
+ onClick: m[1] ||= (e) => d.value = !1
66
+ }, [l(v(t), { class: "h-4 w-4" })], 10, C), c("div", w, [_(n.$slots, "default", { fullscreen: !0 })])])) : o("", !0)]))], 64));
90
67
  }
91
68
  });
92
69
  //#endregion
93
- export { M as ExpandableContainer };
70
+ export { k as ExpandableContainer };
package/dist/forms.js CHANGED
@@ -2,7 +2,7 @@ import { t as e } from "./cn-DJXf4yaB.js";
2
2
  import { t } from "./search-nbkvr2dC.js";
3
3
  import { t as n } from "./menuItemVariants-CCoBNkU5.js";
4
4
  import { t as r } from "./useUserInvalidAria-DoJKMZ3s.js";
5
- import { t as i } from "./Input-xuDwALQR.js";
5
+ import { t as i } from "./Input-B-F818RU.js";
6
6
  import { computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createTextVNode as l, createVNode as u, defineComponent as d, isRef as f, mergeProps as p, openBlock as m, renderSlot as h, toDisplayString as g, unref as _, vModelText as v, withCtx as y, withDirectives as b } from "vue";
7
7
  import { ComboboxAnchor as x, ComboboxCancel as S, ComboboxContent as C, ComboboxEmpty as w, ComboboxGroup as T, ComboboxInput as E, ComboboxItem as D, ComboboxItemIndicator as O, ComboboxLabel as k, ComboboxPortal as A, ComboboxRoot as j, ComboboxSeparator as M, ComboboxTrigger as N, ComboboxViewport as P, useForwardProps as F, useForwardPropsEmits as I } from "reka-ui";
8
8
  import { reactiveOmit as L, useVModel as R } from "@vueuse/core";
@@ -177,7 +177,7 @@ var z = ["data-autosize"], B = /* @__PURE__ */ d({
177
177
  let i = n, a = r, o = I(L(i, "class"), a);
178
178
  return (n, r) => (m(), c("div", G, [u(_(t), { class: "size-4 shrink-0 opacity-50" }), u(_(E), p({
179
179
  "data-slot": "command-input",
180
- class: _(e)("placeholder:text-muted-foreground flex h-[var(--dropdown-input-height)] w-full rounded-input bg-transparent py-3 text-dropdown outline-hidden disabled:cursor-not-allowed disabled:opacity-disabled aria-invalid:text-destructive aria-invalid:placeholder:text-[color-mix(in_srgb,var(--destructive)_60%,transparent)]", i.class)
180
+ class: _(e)("placeholder:text-muted-foreground flex h-(--dropdown-input-height) w-full rounded-input bg-transparent py-3 text-dropdown outline-hidden disabled:cursor-not-allowed disabled:opacity-disabled aria-invalid:text-destructive aria-invalid:placeholder:text-[color-mix(in_srgb,var(--destructive)_60%,transparent)]", i.class)
181
181
  }, {
182
182
  ..._(o),
183
183
  ...n.$attrs
@@ -1,13 +1,65 @@
1
- import { t as e } from "./useCanvas2D-ClrQuZtp.js";
2
- import { t } from "./_plugin-vue_export-helper-ok8pgSl5.js";
3
- import { i as n, s as r, t as i } from "./color-C5ls_QF7.js";
4
- import { t as a } from "./useGlobalDark-d6waty-X.js";
5
- import { n as o, t as s } from "./prng-D27-B3tK.js";
6
- import { n as c, r as l, t as u } from "./math-DTpRVC0e.js";
7
- import { createElementBlock as d, createElementVNode as f, defineComponent as p, onMounted as m, openBlock as h, ref as g, useTemplateRef as _, watch as v } from "vue";
8
- //#endregion
9
- //#region src/components/custom/fourier-field/FourierField.vue
10
- var y = /* @__PURE__ */ t(/* @__PURE__ */ p({
1
+ import { t as e } from "./useCanvas2D-CSeH8h16.js";
2
+ import { t } from "./_plugin-vue_export-helper-DWghtRt7.js";
3
+ import { i as n, s as r, t as i } from "./color-B65wWyQz.js";
4
+ import { t as a } from "./useGlobalDark-D7R9OypB.js";
5
+ import { n as o, t as s } from "./prng-CjVgzjQT.js";
6
+ import { i as c, n as l, r as u, t as d } from "./math-BUU9hHID.js";
7
+ import { createElementBlock as f, createElementVNode as p, defineComponent as m, onMounted as h, openBlock as g, ref as _, useTemplateRef as v, watch as y } from "vue";
8
+ //#region src/components/custom/fourier-field/presets.ts
9
+ var b = {
10
+ hero: {
11
+ harmonics: 5,
12
+ harmonicScale: .24,
13
+ epicycles: !0,
14
+ trailLength: 260,
15
+ epicycleHueShift: 42,
16
+ durationMs: 16e3,
17
+ frozenSeed: "fourier-field/hero",
18
+ frozenT: .34,
19
+ peakAlpha: .92,
20
+ trailWidth: 3,
21
+ headGlowAlpha: .95,
22
+ headGlowBlur: 18,
23
+ headDotRadius: 5,
24
+ epicycleRatios: {
25
+ circle: .5,
26
+ arm: .72
27
+ },
28
+ epicycleWidths: {
29
+ circle: 2.4,
30
+ arm: 2
31
+ },
32
+ epicycleRainbow: !0,
33
+ trailFadeExp: 1.35,
34
+ trailFloor: .34
35
+ },
36
+ final: {
37
+ harmonics: 11,
38
+ harmonicScale: .17,
39
+ epicycles: !1,
40
+ trailLength: 360,
41
+ epicycleHueShift: 36,
42
+ durationMs: 21e3,
43
+ frozenSeed: "fourier-field/final",
44
+ frozenT: .42,
45
+ peakAlpha: .88,
46
+ trailWidth: 3.2,
47
+ headGlowAlpha: .92,
48
+ headGlowBlur: 16,
49
+ headDotRadius: 4.5,
50
+ epicycleRatios: {
51
+ circle: 0,
52
+ arm: 0
53
+ },
54
+ epicycleWidths: {
55
+ circle: 0,
56
+ arm: 0
57
+ },
58
+ epicycleRainbow: !1,
59
+ trailFadeExp: 1.45,
60
+ trailFloor: .36
61
+ }
62
+ }, x = /* @__PURE__ */ t(/* @__PURE__ */ m({
11
63
  __name: "FourierField",
12
64
  props: {
13
65
  variant: { default: "hero" },
@@ -21,138 +73,121 @@ var y = /* @__PURE__ */ t(/* @__PURE__ */ p({
21
73
  intensity: { default: 1 }
22
74
  },
23
75
  setup(t) {
24
- let u = Math.max(0, Math.min(2, t.intensity)), p = {
25
- hero: {
26
- harmonics: 4,
27
- harmonicScale: .22,
28
- epicycles: !0,
29
- trailLength: 170,
30
- epicycleHueShift: 42,
31
- durationMs: 16e3,
32
- frozenSeed: "fourier-field/hero",
33
- frozenT: .18,
34
- peakAlpha: .55,
35
- headGlowAlpha: .62,
36
- headGlowBlur: 16,
37
- epicycleRatios: {
38
- circle: .18,
39
- arm: .3
40
- },
41
- trailFadeExp: 1.4,
42
- trailFloor: .1
43
- },
44
- final: {
45
- harmonics: 9,
46
- harmonicScale: .16,
47
- epicycles: !1,
48
- trailLength: 200,
49
- epicycleHueShift: 36,
50
- durationMs: 21e3,
51
- frozenSeed: "fourier-field/final",
52
- frozenT: .33,
53
- peakAlpha: .45,
54
- headGlowAlpha: .5,
55
- headGlowBlur: 14,
56
- epicycleRatios: {
57
- circle: 0,
58
- arm: 0
59
- },
60
- trailFadeExp: 1.5,
61
- trailFloor: .08
62
- }
63
- }, y = _("hostRef"), b = _("canvasRef"), x = g(t.color), S = g("rgb(0, 0, 0)"), C = g("rgb(0, 0, 0)");
64
- function w(e) {
76
+ let l = Math.max(0, Math.min(2, t.intensity)), d = v("hostRef"), m = v("canvasRef"), x = _(t.color), S = _("rgb(0, 0, 0)"), C = _("rgb(0, 0, 0)"), w = _([]);
77
+ function T(e) {
65
78
  if (!e.includes("var(") && !e.includes("light-dark(")) return e;
66
- let t = y.value;
79
+ let t = d.value;
67
80
  if (typeof window > "u" || !t) return e;
68
81
  let n = t.style.color;
69
82
  t.style.color = e;
70
83
  let r = getComputedStyle(t).color;
71
84
  return t.style.color = n, r || e;
72
85
  }
73
- let T = p[t.variant];
74
- function E() {
75
- x.value = w(t.color);
86
+ let E = b[t.variant], D = 0;
87
+ function O() {
88
+ x.value = T(t.color);
76
89
  let [e, a, o] = t.colorResolver(x.value).map((e) => Math.round(e * 255));
77
90
  S.value = `rgb(${e}, ${a}, ${o})`;
78
91
  let s = i(x.value), [c, l, u] = r({
79
92
  L: s.L,
80
93
  C: s.C,
81
- h: n(s.h, "analogous", T.epicycleHueShift, 1)
94
+ h: n(s.h, "analogous", E.epicycleHueShift, 1)
82
95
  }).map((e) => Math.round(e * 255));
83
- C.value = `rgb(${c}, ${l}, ${u})`;
96
+ if (C.value = `rgb(${c}, ${l}, ${u})`, E.epicycleRainbow && D > 0) {
97
+ let e = [];
98
+ for (let t = 0; t < D; t++) {
99
+ let n = D > 1 ? t / (D - 1) : 0, [i, a, o] = r({
100
+ L: .62,
101
+ C: .17,
102
+ h: s.h - 150 + n * 2 * 150
103
+ }).map((e) => Math.round(e * 255));
104
+ e.push(`rgb(${i}, ${a}, ${o})`);
105
+ }
106
+ w.value = e;
107
+ } else w.value = [];
84
108
  }
85
- function D(e) {
86
- return c(o(s((t.freeze ? e.frozenSeed : `${Math.random()}`) + t.seed)), {
109
+ function k(e) {
110
+ return u(o(s((t.freeze ? e.frozenSeed : `${Math.random()}`) + t.seed)), {
87
111
  harmonics: e.harmonics,
88
112
  harmonicScale: e.harmonicScale
89
113
  });
90
114
  }
91
- let { isDark: O } = a();
92
- return m(() => {
93
- let n = b.value;
115
+ let { isDark: A } = a();
116
+ return h(() => {
117
+ let n = m.value;
94
118
  if (!n) return;
95
- let r = p[t.variant], i = D(r), a = [...i].sort((e, t) => t.amplitude - e.amplitude), o = Infinity, s = Infinity, c = -Infinity, d = -Infinity;
119
+ let r = b[t.variant], i = k(r), a = [...i].sort((e, t) => t.amplitude - e.amplitude);
120
+ D = a.length, O();
121
+ let o = Infinity, s = Infinity, u = -Infinity, f = -Infinity;
96
122
  for (let e = 0; e < 720; e++) {
97
- let t = l(i, e / 720), [n, r] = t[t.length - 1];
98
- n < o && (o = n), r < s && (s = r), n > c && (c = n), r > d && (d = r);
123
+ let t = c(i, e / 720), [n, r] = t[t.length - 1];
124
+ n < o && (o = n), r < s && (s = r), n > u && (u = n), r > f && (f = r);
99
125
  }
100
- let f = Math.max(.001, c - o), m = Math.max(.001, d - s), h = (o + c) / 2, g = (s + d) / 2, _ = [], x = e({
101
- canvas: b,
126
+ let p = Math.max(.001, u - o), h = Math.max(.001, f - s), g = (o + u) / 2, _ = (s + f) / 2, v = [], x = e({
127
+ canvas: m,
102
128
  setup: () => ({ render(e, o) {
103
- let s = n.clientWidth || n.offsetWidth || 0, c = n.clientHeight || n.offsetHeight || 0;
104
- if (!s || !c) return;
105
- let d = .82, p = Math.min(s / f * d, c / m * d), v = s / 2, y = c / 2, b = (e, t) => [v + (e - h) * p, y + (t - g) * p], w = t.freeze || x.reducedMotion ? r.frozenT : o / r.durationMs % 1, T = S.value, E = C.value, D = r.peakAlpha * u, k = r.headGlowAlpha * u;
106
- if (e.clearRect(0, 0, s, c), r.epicycleRatios.arm > 0) {
107
- let t = l(a, w);
108
- e.lineWidth = 1, e.strokeStyle = E;
109
- for (let n = 1; n < t.length; n++) {
110
- let [i, a] = b(t[n - 1][0], t[n - 1][1]), [o, s] = b(t[n][0], t[n][1]), c = Math.hypot(o - i, s - a);
111
- e.globalAlpha = D * r.epicycleRatios.circle, e.beginPath(), e.arc(i, a, c, 0, Math.PI * 2), e.stroke(), e.globalAlpha = D * r.epicycleRatios.arm, e.beginPath(), e.moveTo(i, a), e.lineTo(o, s), e.stroke();
129
+ let s = n.clientWidth || n.offsetWidth || 0, u = n.clientHeight || n.offsetHeight || 0;
130
+ if (!s || !u) return;
131
+ let d = .82, f = Math.min(s / p * d, u / h * d), m = s / 2, y = u / 2, b = (e, t) => [m + (e - g) * f, y + (t - _) * f], T = t.freeze || x.reducedMotion ? r.frozenT : o / r.durationMs % 1, E = S.value, D = C.value, O = w.value, k = A.value, j = r.peakAlpha * l, M = r.headGlowAlpha * l;
132
+ if (e.clearRect(0, 0, s, u), r.epicycleRatios.arm > 0) {
133
+ let t = c(a, T);
134
+ e.lineCap = "round", e.lineJoin = "round";
135
+ let n = Math.min(1, j * r.epicycleRatios.circle), i = Math.min(1, j * r.epicycleRatios.arm);
136
+ for (let a = 1; a < t.length; a++) {
137
+ let [o, s] = b(t[a - 1][0], t[a - 1][1]), [c, l] = b(t[a][0], t[a][1]), u = Math.hypot(c - o, l - s), d = O.length > 0 ? O[Math.min(a - 1, O.length - 1)] : D;
138
+ e.strokeStyle = d, e.lineWidth = r.epicycleWidths.circle, e.globalAlpha = n, e.beginPath(), e.arc(o, s, u, 0, Math.PI * 2), e.stroke(), e.lineWidth = r.epicycleWidths.arm, e.globalAlpha = i, e.beginPath(), e.moveTo(o, s), e.lineTo(c, l), e.stroke(), e.fillStyle = d, e.globalAlpha = Math.min(1, i * .9), e.beginPath(), e.arc(o, s, Math.max(2, r.epicycleWidths.arm * .9), 0, Math.PI * 2), e.fill();
112
139
  }
113
140
  e.globalAlpha = 1;
114
141
  }
115
- let A = l(i, w), [j, M] = A[A.length - 1], N = b(j, M);
116
- if (t.freeze || x.reducedMotion) {
117
- if (_.length === 0) {
118
- let e = Math.min(r.trailLength, 48);
119
- for (let t = e; t >= 0; t--) {
120
- let n = l(i, (w - t / e * .06 + 1) % 1);
121
- _.push(b(n[n.length - 1][0], n[n.length - 1][1]));
122
- }
142
+ let N = r.trailLength / 600, P = r.trailLength;
143
+ v.length = 0;
144
+ for (let e = P; e >= 0; e--) {
145
+ let t = c(i, (T - e / P * N + 1) % 1);
146
+ v.push(b(t[t.length - 1][0], t[t.length - 1][1]));
147
+ }
148
+ e.globalCompositeOperation = "source-over", e.strokeStyle = E, e.lineCap = "round", e.lineJoin = "round", e.lineWidth = r.trailWidth;
149
+ for (let t = 1; t < v.length; t++) {
150
+ let n = j * (t / (v.length - 1)) ** r.trailFadeExp;
151
+ n = Math.max(n, j * r.trailFloor), e.globalAlpha = Math.min(1, n), e.beginPath(), e.moveTo(v[t - 1][0], v[t - 1][1]), e.lineTo(v[t][0], v[t][1]), e.stroke();
152
+ }
153
+ if (e.globalCompositeOperation = A.value ? "lighter" : "source-over", k && v.length >= 4) {
154
+ e.strokeStyle = E, e.lineWidth = r.trailWidth;
155
+ let t = Math.max(1, Math.floor(v.length * .66));
156
+ for (let n = t; n < v.length; n++) {
157
+ let r = (n - t) / Math.max(1, v.length - 1 - t);
158
+ e.globalAlpha = Math.min(1, .18 * r * l), e.beginPath(), e.moveTo(v[n - 1][0], v[n - 1][1]), e.lineTo(v[n][0], v[n][1]), e.stroke();
123
159
  }
124
- } else for (_.push(N); _.length > r.trailLength;) _.shift();
125
- e.globalCompositeOperation = O.value ? "lighter" : "source-over", e.strokeStyle = T, e.lineCap = "round", e.lineJoin = "round", e.lineWidth = 1.6;
126
- for (let t = 1; t < _.length; t++) {
127
- let n = D * (t / (_.length - 1)) ** r.trailFadeExp;
128
- n = Math.max(n, D * r.trailFloor), e.globalAlpha = n, e.beginPath(), e.moveTo(_[t - 1][0], _[t - 1][1]), e.lineTo(_[t][0], _[t][1]), e.stroke();
129
160
  }
130
- if (_.length >= 2) {
131
- e.save(), e.shadowColor = T, e.shadowBlur = r.headGlowBlur, e.globalAlpha = k, e.lineWidth = 2;
132
- let t = _.slice(-4);
161
+ if (v.length >= 2) {
162
+ e.save(), e.globalCompositeOperation = "source-over", e.shadowColor = E, e.shadowBlur = r.headGlowBlur, e.globalAlpha = Math.min(1, M), e.strokeStyle = E, e.lineWidth = r.trailWidth + .6;
163
+ let t = v.slice(-6);
133
164
  e.beginPath(), e.moveTo(t[0][0], t[0][1]);
134
165
  for (let n = 1; n < t.length; n++) e.lineTo(t[n][0], t[n][1]);
135
166
  e.stroke(), e.restore();
136
167
  }
168
+ if (r.headDotRadius > 0 && v.length >= 1) {
169
+ let [t, n] = v[v.length - 1];
170
+ e.globalCompositeOperation = "source-over", e.globalAlpha = Math.min(1, M * .4), e.fillStyle = E, e.beginPath(), e.arc(t, n, r.headDotRadius * 2.6, 0, Math.PI * 2), e.fill(), e.globalAlpha = Math.min(1, M), e.beginPath(), e.arc(t, n, r.headDotRadius, 0, Math.PI * 2), e.fill(), e.globalAlpha = Math.min(1, M * .95), e.fillStyle = "rgb(255, 255, 255)", e.beginPath(), e.arc(t, n, Math.max(1.2, r.headDotRadius * .38), 0, Math.PI * 2), e.fill();
171
+ }
137
172
  e.shadowBlur = 0, e.globalCompositeOperation = "source-over", e.globalAlpha = 1;
138
173
  } })
139
174
  });
140
- v(y, E, { immediate: !0 }), v(() => t.color, () => {
141
- E(), x.wake();
142
- }), v(O, () => {
143
- E(), x.wake();
175
+ y(d, O, { immediate: !0 }), y(() => t.color, () => {
176
+ O(), x.wake();
177
+ }), y(A, () => {
178
+ O(), x.wake();
144
179
  });
145
- }), (e, t) => (h(), d("div", {
180
+ }), (e, t) => (g(), f("div", {
146
181
  ref_key: "hostRef",
147
- ref: y,
182
+ ref: d,
148
183
  class: "fourier-field"
149
- }, [f("canvas", {
184
+ }, [p("canvas", {
150
185
  ref_key: "canvasRef",
151
- ref: b,
186
+ ref: m,
152
187
  class: "fourier-field-canvas",
153
188
  "aria-hidden": "true"
154
189
  }, null, 512)], 512));
155
190
  }
156
- }), [["__scopeId", "data-v-d56269df"]]);
191
+ }), [["__scopeId", "data-v-71a17062"]]);
157
192
  //#endregion
158
- export { y as FourierField, u as comp, c as makeEllipticSpectrum, l as positionsAt };
193
+ export { x as FourierField, d as comp, l as dftFromPoints, u as makeEllipticSpectrum, c as positionsAt };
@@ -1,2 +1,2 @@
1
- import { n as e, r as t, t as n } from "./math-DTpRVC0e.js";
2
- export { n as comp, e as makeEllipticSpectrum, t as positionsAt };
1
+ import { i as e, n as t, r as n, t as r } from "./math-BUU9hHID.js";
2
+ export { r as comp, t as dftFromPoints, n as makeEllipticSpectrum, e as positionsAt };