@mkbabb/glass-ui 10.1.5 → 11.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 (214) hide show
  1. package/MIGRATION.md +1024 -1461
  2. package/README.md +2 -2
  3. package/dist/DialogContent-DG5kseRQ.js +159 -0
  4. package/dist/DropdownMenuTrigger-uhSXgEfK.js +76 -0
  5. package/dist/{Surface-1nPoabc3.js → Surface-C7wq2j0A.js} +3 -0
  6. package/dist/aurora.css +1 -0
  7. package/dist/aurora.js +246 -2472
  8. package/dist/auroraImageSource-xNLDUjcy.js +30 -0
  9. package/dist/axes.js +8 -8
  10. package/dist/blob.css +1 -0
  11. package/dist/blob.js +57 -54
  12. package/dist/budget-CJfhLIIV.js +13 -0
  13. package/dist/button-CAKhiOZy.js +113 -0
  14. package/dist/button.js +1 -1
  15. package/dist/{card-ByyqRBvK.js → card-D_uXphvL.js} +4 -1
  16. package/dist/card.js +1 -1
  17. package/dist/carousel.js +3 -2
  18. package/dist/{checkbox-B1qn65se.js → checkbox-COLnvULu.js} +1 -0
  19. package/dist/checkbox.css +1 -0
  20. package/dist/checkbox.js +1 -1
  21. package/dist/{collapsible-DFzK29Oh.js → collapsible-Bd4Et730.js} +1 -0
  22. package/dist/collapsible.css +1 -0
  23. package/dist/collapsible.js +1 -1
  24. package/dist/color-HkUaTAJj.js +270 -0
  25. package/dist/{color.glsl-DTJhdekG.js → color.glsl-bFJm8k5R.js} +4 -16
  26. package/dist/color.wgsl-B-qDJ_OM.js +4 -0
  27. package/dist/{command-CatrAsrl.js → command-BsFOGZwB.js} +3 -2
  28. package/dist/command.css +1 -0
  29. package/dist/command.js +1 -1
  30. package/dist/component-styles.css +0 -1
  31. package/dist/components/_shared/axes.d.ts +7 -0
  32. package/dist/components/_shared/feedback/dot-ring.css +1 -1
  33. package/dist/components/_shared/overlay/focus-return.d.ts +9 -0
  34. package/dist/components/_shared/overlay/index.d.ts +3 -0
  35. package/dist/components/_shared/overlay/root-scroll-lock.d.ts +4 -0
  36. package/dist/components/_shared/overlay/sheet-width.d.ts +2 -0
  37. package/dist/components/_shared/shape/useBarShape.d.ts +4 -0
  38. package/dist/components/aurora/composables/auroraFallbackGround.d.ts +12 -0
  39. package/dist/components/aurora/constants/presets.d.ts +21 -0
  40. package/dist/components/aurora/index.d.ts +2 -2
  41. package/dist/components/button/styles.css +1 -1
  42. package/dist/components/dark-mode-toggle/dark-mode-toggle.css +1 -1
  43. package/dist/components/dialog/DialogContent.vue.d.ts +2 -2
  44. package/dist/components/dialog/ModalOverlay.vue.d.ts +2 -2
  45. package/dist/components/dialog/ModalScrim.vue.d.ts +26 -0
  46. package/dist/components/dialog/styles.css +1 -1
  47. package/dist/components/dock/GlassDock.vue.d.ts +4 -1
  48. package/dist/components/dock/composables/useDockShellProps.d.ts +34 -2
  49. package/dist/components/dock/composables/useDockState.d.ts +5 -0
  50. package/dist/components/dock/index.d.ts +1 -2
  51. package/dist/components/dock/styles/controls/icon-button.css +1 -1
  52. package/dist/components/dock/styles/controls/tab-button.css +1 -1
  53. package/dist/components/dock/styles/morph.css +1 -1
  54. package/dist/components/dock/styles/run.css +1 -1
  55. package/dist/components/dock/styles/shell.css +1 -1
  56. package/dist/components/dock/trigger.d.ts +1 -0
  57. package/dist/components/expandable-container/ExpandableContainer.vue.d.ts +30 -29
  58. package/dist/components/menu/ContextMenu.vue.d.ts +27 -0
  59. package/dist/components/menu/DropdownMenu.vue.d.ts +5 -23
  60. package/dist/components/menu/context.d.ts +18 -5
  61. package/dist/components/menu/family-click.d.ts +2 -0
  62. package/dist/components/menu/family-context.d.ts +2 -0
  63. package/dist/components/menu/index.d.ts +1 -1
  64. package/dist/components/sheet/SheetContent.vue.d.ts +2 -2
  65. package/dist/components/sortable-list/styles.css +1 -0
  66. package/dist/components/surface/Surface.vue.d.ts +4 -1
  67. package/dist/components/tabs/composables/useTabDragMorph.d.ts +4 -7
  68. package/dist/components/tabs/styles/segmented.css +1 -1
  69. package/dist/components/tabs/types.d.ts +7 -8
  70. package/dist/composables/glass/fieldPaint.d.ts +4 -0
  71. package/dist/composables/glass/useGlassBackdropLuminance.d.ts +7 -6
  72. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +8 -0
  73. package/dist/composables/motion/core/motionTempo.d.ts +2 -1
  74. package/dist/composables/motion/morph/useDragMorph.d.ts +2 -2
  75. package/dist/composables/motion/morph/useSelectionGroup.d.ts +6 -25
  76. package/dist/composables/motion/morph/useSelectionIndicator.d.ts +8 -54
  77. package/dist/composables/motion/spring/useLiquidFlex.d.ts +3 -5
  78. package/dist/composables/motion/spring/useSpringMount.d.ts +0 -9
  79. package/dist/{configurator-Dl10mc3L.js → configurator-C1ZKEf1b.js} +7 -5
  80. package/dist/configurator.css +1 -0
  81. package/dist/configurator.js +1 -1
  82. package/dist/constants-DfrO-IaH.js +8 -0
  83. package/dist/constellation.css +1 -0
  84. package/dist/constellation.js +2 -1
  85. package/dist/control.css +1 -0
  86. package/dist/{control.css_vue_type_style_index_0_src_true_lang-BIdufaDG.js → control.css_vue_type_style_index_0_src_true_lang-D2hdtjs4.js} +1 -0
  87. package/dist/{createCanvasLifecycle-hJHobVTn.js → createCanvasLifecycle-DS0vEs_G.js} +76 -75
  88. package/dist/dark-mode-toggle.js +1 -1
  89. package/dist/{data-table-8y6fbyOB.js → data-table-CunuMkZ3.js} +1 -0
  90. package/dist/data-table.css +1 -0
  91. package/dist/data-table.js +1 -1
  92. package/dist/{deck-Cm_VmyNL.js → deck-Bc-2mEKE.js} +1 -0
  93. package/dist/deck.js +1 -1
  94. package/dist/dialog.js +1 -1
  95. package/dist/dock-trigger.d.ts +1 -0
  96. package/dist/dock-trigger.js +88 -0
  97. package/dist/dock.js +685 -729
  98. package/dist/easing.js +4 -4
  99. package/dist/expandable-container-wS1awXGd.js +135 -0
  100. package/dist/expandable-container.css +1 -0
  101. package/dist/expandable-container.js +1 -1
  102. package/dist/{fading-scroll-ClCPooXb.js → fading-scroll-D3Y20ibL.js} +1 -1
  103. package/dist/fading-scroll.js +1 -1
  104. package/dist/fieldPaint-Ci77oajZ.js +7 -0
  105. package/dist/fourier-field.css +1 -0
  106. package/dist/fourier-field.js +15 -13
  107. package/dist/glSetup-DMaDgrEj.js +577 -0
  108. package/dist/glass-ui.js +66 -65
  109. package/dist/handmark.css +1 -0
  110. package/dist/handmark.js +82 -71
  111. package/dist/index.css +1 -0
  112. package/dist/index.d.ts +1 -1
  113. package/dist/{input-eLZ_AU7l.js → input-BLF2pMHE.js} +1 -1
  114. package/dist/input.js +1 -1
  115. package/dist/{label-CE03H1KL.js → label-ryNPL7e6.js} +1 -0
  116. package/dist/label.css +1 -0
  117. package/dist/label.js +1 -1
  118. package/dist/labeled-field.css +1 -0
  119. package/dist/labeled-field.js +5 -4
  120. package/dist/{menu-DaYAZiVW.js → menu-C_l2Sslf.js} +162 -112
  121. package/dist/menu.js +3 -3
  122. package/dist/metric.js +1 -0
  123. package/dist/motion-core.js +138 -44
  124. package/dist/motion-lHDAQHEE.js +91 -0
  125. package/dist/motion.js +5 -5
  126. package/dist/motionTempo-DXdVbCWr.js +13 -0
  127. package/dist/music-staff.js +1 -0
  128. package/dist/{number-field-RP89046a.js → number-field-BXFUP49Z.js} +3 -2
  129. package/dist/number-field.css +1 -0
  130. package/dist/number-field.js +1 -1
  131. package/dist/pager-dots.css +1 -0
  132. package/dist/pager-dots.js +3 -2
  133. package/dist/participation-C5y5VZTN.js +52 -0
  134. package/dist/{popover-BdpoE4Ar.js → popover-DQUmwuAa.js} +3 -2
  135. package/dist/popover.js +1 -1
  136. package/dist/{progress-eVa-mc7J.js → progress-BUn0Bw7Z.js} +1 -0
  137. package/dist/progress.css +1 -0
  138. package/dist/progress.js +1 -1
  139. package/dist/{radio-group-B58Bz16F.js → radio-group-xdEy2tdi.js} +1 -0
  140. package/dist/radio-group.css +1 -0
  141. package/dist/radio-group.js +1 -1
  142. package/dist/root-scroll-lock-DJFrQhMa.js +22 -0
  143. package/dist/select-Dt5dXm87.js +309 -0
  144. package/dist/select.js +1 -1
  145. package/dist/{separator-D4EZM10u.js → separator-C4y9p_ky.js} +1 -0
  146. package/dist/separator.css +1 -0
  147. package/dist/separator.js +1 -1
  148. package/dist/sheet-DLqNUIZl.js +347 -0
  149. package/dist/sheet-width-DgXgJNa5.js +18 -0
  150. package/dist/sheet.js +2 -2
  151. package/dist/{slider-Dg3Qqdyo.js → slider-B4w12E_u.js} +8 -8
  152. package/dist/slider.js +1 -1
  153. package/dist/sortable-list.js +2 -1
  154. package/dist/{status-dot-W4LFiJps.js → status-dot-BDZKcRxy.js} +2 -1
  155. package/dist/status-dot.css +1 -0
  156. package/dist/status-dot.js +1 -1
  157. package/dist/styles/components.css +1 -1
  158. package/dist/styles/glass/glass-capsule.css +1 -1
  159. package/dist/styles/glass/glass-chip.css +1 -1
  160. package/dist/styles/glass/mark.css +1 -1
  161. package/dist/styles/glass/overlay-plate.css +1 -1
  162. package/dist/styles/glass/surface-axis.css +1 -1
  163. package/dist/styles/index.css +1 -1
  164. package/dist/styles/theme/radius.css +1 -1
  165. package/dist/styles/tokens/color-radius.css +1 -1
  166. package/dist/styles/tokens/manifest.d.ts +1 -1
  167. package/dist/styles/tokens/scale-paper.css +1 -1
  168. package/dist/styles/utilities/base-misc.css +1 -1
  169. package/dist/surface.js +1 -1
  170. package/dist/{switch-BYUZ6g9G.js → switch-DLfGYU35.js} +1 -0
  171. package/dist/switch.css +1 -0
  172. package/dist/switch.js +1 -1
  173. package/dist/tabs-NgTRPGZx.js +229 -0
  174. package/dist/tabs.js +1 -1
  175. package/dist/textarea.js +1 -1
  176. package/dist/timeline.css +1 -0
  177. package/dist/timeline.js +4 -3
  178. package/dist/toggle-group-DgXcJGD6.js +129 -0
  179. package/dist/toggle-group.css +1 -0
  180. package/dist/toggle-group.js +1 -1
  181. package/dist/tokens.js +2 -0
  182. package/dist/{tooltip-CZVubnJf.js → tooltip-Do3qCw0r.js} +1 -1
  183. package/dist/tooltip.js +1 -1
  184. package/dist/typewriter.css +1 -0
  185. package/dist/typewriter.js +1 -0
  186. package/dist/uniformBridge-CJyy7NOn.js +150 -0
  187. package/dist/useBarShape-CmP35Z8o.js +24 -0
  188. package/dist/{useCanvas2D-CQRElMyE.js → useCanvas2D-Bhpwua98.js} +1 -1
  189. package/dist/{useDockCtaReceive-BSSgD6mu.js → useDockCtaReceive-Dn_-paqP.js} +1 -1
  190. package/dist/{useDragMorph-B363RUbF.js → useDragMorph-BEI74U0t.js} +51 -40
  191. package/dist/{color.wgsl-BTszLY39.js → useGpuSubstrate-Y5XAdU8d.js} +7 -7
  192. package/dist/{useLiquidPress-h1scrPtP.js → useLiquidPress-D5mjZC6U.js} +2 -2
  193. package/dist/useScrollChrome-DMP6kDI9.js +67 -0
  194. package/dist/useSelectionGroup-DAQv5Lb5.js +186 -0
  195. package/dist/{useSpring-9u2_shxV.js → useSpring-Aof0nTRt.js} +1 -1
  196. package/dist/useSpringMount-jgNkymRl.js +73 -0
  197. package/dist/wgpuSetup-CFuqd_RP.js +1278 -0
  198. package/package.json +8 -1
  199. package/dist/DialogContent-CwIBvou_.js +0 -157
  200. package/dist/DropdownMenuTrigger-CKRnhDSQ.js +0 -93
  201. package/dist/button-BOFTUPyU.js +0 -110
  202. package/dist/composables/motion/morph/eyeglass.d.ts +0 -141
  203. package/dist/expandable-container-CZUj9BzY.js +0 -142
  204. package/dist/glass-ui.css +0 -2
  205. package/dist/motion-BvV1_24p.js +0 -61
  206. package/dist/motionTempo-tscp92Nm.js +0 -7
  207. package/dist/participation-B7UFdgXB.js +0 -55
  208. package/dist/select-BiF0FCZf.js +0 -292
  209. package/dist/sheet-DmJxgAHc.js +0 -345
  210. package/dist/tabs-C5sC0fBE.js +0 -269
  211. package/dist/toggle-group-CC5b3o1R.js +0 -125
  212. package/dist/useScrollChrome-BJbWV32F.js +0 -162
  213. package/dist/useSelectionGroup-zsEwitF6.js +0 -291
  214. package/dist/useSpringMount-OA-0mTNv.js +0 -73
@@ -0,0 +1,229 @@
1
+ import { t as e } from "./class-names-FlXcvRRT.js";
2
+ import { t } from "./useBarShape-CmP35Z8o.js";
3
+ import { t as n } from "./useMotionAxis-D-rtIhca.js";
4
+ import { a as r, c as i, l as a, r as o, s } from "./select-Dt5dXm87.js";
5
+ import { t as c } from "./useSelectionGroup-DAQv5Lb5.js";
6
+ import { t as l } from "./useDragMorph-BEI74U0t.js";
7
+ import { Fragment as u, computed as d, createBlock as f, createElementBlock as p, createElementVNode as m, createTextVNode as h, createVNode as g, defineComponent as _, mergeModels as v, mergeProps as y, nextTick as b, normalizeClass as x, normalizeStyle as S, onBeforeUnmount as C, onBeforeUpdate as w, onMounted as T, openBlock as E, ref as D, renderList as O, renderSlot as k, toDisplayString as A, unref as j, useModel as M, watch as N, withCtx as P } from "vue";
8
+ //#region src/components/tabs/composables/useTabDragMorph.ts
9
+ function F(e) {
10
+ let { indicatorRef: t, isVertical: n, isUnderline: r, draggable: i, stripOptions: a, buttonRefs: o, model: s } = e, c = d(() => i() && !r.value);
11
+ function u() {
12
+ return a.value.map((e, t) => {
13
+ let r = o.value[t]?.getBoundingClientRect(), i = r ? n.value ? r.top + r.height / 2 : r.left + r.width / 2 : 0;
14
+ return {
15
+ value: e.value,
16
+ center: i
17
+ };
18
+ });
19
+ }
20
+ let f = l({
21
+ handle: t,
22
+ axis: () => n.value ? "y" : "x",
23
+ snapTargets: u,
24
+ onSnap: (e) => {
25
+ s.value !== e && (s.value = e);
26
+ }
27
+ });
28
+ return N(() => [
29
+ t.value,
30
+ a.value.length,
31
+ n.value,
32
+ c.value
33
+ ], () => {
34
+ c.value && t.value && b(() => f.refresh());
35
+ }, { immediate: !0 }), {
36
+ dragEnabled: c,
37
+ drag: f
38
+ };
39
+ }
40
+ //#endregion
41
+ //#region src/components/tabs/composables/useTabResponsive.ts
42
+ function I(e) {
43
+ let { responsive: t, options: n, model: r } = e, i = d(() => {
44
+ let e = t();
45
+ return e === !1 ? null : e === !0 ? {} : e;
46
+ }), a = d(() => i.value?.breakpoint ?? "640px"), o = d(() => i.value?.desktopOptions ?? n.value), s = D(!0), c = null;
47
+ function l(e) {
48
+ "currentTarget" in e && e.currentTarget && e.currentTarget !== c || (s.value = e.matches);
49
+ }
50
+ let u = d(() => {
51
+ if (!i.value) return r.value;
52
+ let e = o.value;
53
+ return e.some((e) => e.value === r.value) ? r.value : e.find((e) => !e.disabled)?.value;
54
+ }), f = d(() => i.value ? o.value : n.value), p = d(() => i.value?.ariaLabel ?? n.value.find((e) => e.value === r.value)?.label ?? "Select"), m = d(() => !!i.value && !s.value), h = !1;
55
+ function g() {
56
+ if (c?.removeEventListener("change", l), c = null, !h || !i.value || typeof window > "u" || !window.matchMedia) {
57
+ s.value = !0;
58
+ return;
59
+ }
60
+ c = window.matchMedia(`(min-width: ${a.value})`), s.value = c.matches, c.addEventListener("change", l);
61
+ }
62
+ return N([i, a], g), T(() => {
63
+ h = !0, g();
64
+ }), C(() => {
65
+ h = !1, c?.removeEventListener("change", l), c = null;
66
+ }), {
67
+ responsiveCfg: i,
68
+ breakpoint: a,
69
+ desktopOptions: o,
70
+ isDesktop: s,
71
+ stripValue: u,
72
+ stripOptions: f,
73
+ mobileAriaLabel: p,
74
+ showMobileSelect: m
75
+ };
76
+ }
77
+ //#endregion
78
+ //#region src/components/tabs/SegmentedTabs.vue?vue&type=script&setup=true&lang.ts
79
+ var L = [
80
+ "role",
81
+ "aria-label",
82
+ "aria-orientation",
83
+ "data-motion",
84
+ "data-shape"
85
+ ], R = [
86
+ "role",
87
+ "tabindex",
88
+ "disabled",
89
+ "onClick"
90
+ ], z = /* @__PURE__ */ _({
91
+ __name: "SegmentedTabs",
92
+ props: /*@__PURE__*/ v({
93
+ options: {},
94
+ ariaLabel: {},
95
+ variant: { default: "pill" },
96
+ semantics: {},
97
+ activation: { default: "automatic" },
98
+ orientation: { default: "horizontal" },
99
+ responsive: {
100
+ type: [Boolean, Object],
101
+ default: !1
102
+ },
103
+ motion: {},
104
+ class: { type: [
105
+ Boolean,
106
+ null,
107
+ String,
108
+ Object,
109
+ Array
110
+ ] }
111
+ }, {
112
+ modelValue: { required: !0 },
113
+ modelModifiers: {}
114
+ }),
115
+ emits: ["update:modelValue"],
116
+ setup(l) {
117
+ let _ = l, v = n(() => _.motion), b = M(l, "modelValue"), C = D(null), T = t(C), N = D(null), z = D([]), B = d(() => _.variant === "underline"), V = d(() => _.orientation === "vertical"), H = d(() => _.semantics === "tabs" || !_.semantics && B.value), { responsiveCfg: U, stripValue: W, stripOptions: G, mobileAriaLabel: K, showMobileSelect: q } = I({
118
+ responsive: () => _.responsive,
119
+ options: d(() => _.options),
120
+ model: b
121
+ }), J = c({
122
+ options: G,
123
+ model: d({
124
+ get: () => W.value ?? void 0,
125
+ set: (e) => {
126
+ e != null && (b.value = e);
127
+ }
128
+ }),
129
+ role: d(() => H.value ? "tablist" : "group"),
130
+ vertical: V,
131
+ activation: d(() => _.activation),
132
+ containerRef: C,
133
+ indicatorRef: N,
134
+ buttonRefs: z
135
+ }), { select: Y, rovingTabindex: X, singleSliderStyle: ee } = J, Z = J.onKeydown, Q = (e) => J.isSelected(e);
136
+ w(() => {
137
+ z.value = [];
138
+ });
139
+ let { dragEnabled: $, drag: te } = F({
140
+ indicatorRef: N,
141
+ isVertical: V,
142
+ isUnderline: B,
143
+ draggable: () => v.armed.value,
144
+ stripOptions: G,
145
+ buttonRefs: z,
146
+ model: b
147
+ });
148
+ function ne(e) {
149
+ let t = _.options.find((t) => t.value === e);
150
+ t && (b.value = t.value);
151
+ }
152
+ return (t, n) => j(q) ? (E(), p("div", {
153
+ key: 0,
154
+ class: x(j(e)("segmented-tabs__mobile w-fit", _.class))
155
+ }, [g(j(a), {
156
+ "model-value": b.value,
157
+ "onUpdate:modelValue": ne
158
+ }, {
159
+ default: P(() => [g(j(s), {
160
+ "aria-label": _.ariaLabel ?? j(K),
161
+ "data-control-target": "",
162
+ class: x(j(e)("segmented-tabs__trigger text-small w-auto min-w-input-sm", j(U)?.triggerClass))
163
+ }, {
164
+ default: P(() => [g(j(i))]),
165
+ _: 1
166
+ }, 8, ["aria-label", "class"]), g(j(r), null, {
167
+ default: P(() => [(E(!0), p(u, null, O(l.options, (e) => (E(), f(j(o), {
168
+ key: e.value,
169
+ value: e.value,
170
+ disabled: e.disabled
171
+ }, {
172
+ default: P(() => [h(A(e.label), 1)]),
173
+ _: 2
174
+ }, 1032, ["value", "disabled"]))), 128))]),
175
+ _: 1
176
+ })]),
177
+ _: 1
178
+ }, 8, ["model-value"])], 2)) : (E(), p("div", {
179
+ key: 1,
180
+ ref_key: "containerRef",
181
+ ref: C,
182
+ role: H.value ? "tablist" : "group",
183
+ "aria-label": _.ariaLabel,
184
+ "aria-orientation": H.value ? V.value ? "vertical" : "horizontal" : void 0,
185
+ "data-motion": j(v).dataMotion.value,
186
+ "data-shape": j(T),
187
+ style: S(j(v).hostStyle.value),
188
+ class: x(j(e)("segmented-tabs", `segmented-tabs--${l.variant}`, V.value && "segmented-tabs--vertical", !B.value && "glass-capsule-track", _.class)),
189
+ onKeydown: n[0] ||= (...e) => j(Z) && j(Z)(...e)
190
+ }, [m("div", {
191
+ ref_key: "indicatorRef",
192
+ ref: N,
193
+ "aria-hidden": "true",
194
+ class: x([
195
+ "segmented-indicator",
196
+ "segmented-indicator--js",
197
+ B.value ? "paper-ink-mark" : "glass-capsule",
198
+ j($) && "glass-drag-grabbable",
199
+ j($) && j(te).dragging.value && "glass-drag-lift"
200
+ ]),
201
+ style: S(j(ee))
202
+ }, null, 6), (E(!0), p(u, null, O(j(G), (e, n) => (E(), p("button", y({
203
+ key: e.value,
204
+ type: "button",
205
+ ref_for: !0,
206
+ ref: (e) => {
207
+ e && (z.value[n] = e);
208
+ },
209
+ class: "segmented-tab",
210
+ role: H.value ? "tab" : void 0,
211
+ tabindex: j(X)(n)
212
+ }, { ref_for: !0 }, {
213
+ ...Q(e.value) ? { "data-active": "" } : {},
214
+ ...H.value ? {
215
+ "aria-selected": Q(e.value) ? "true" : "false",
216
+ "aria-controls": e.controls || void 0
217
+ } : { "aria-pressed": Q(e.value) ? "true" : "false" }
218
+ }, {
219
+ disabled: e.disabled,
220
+ class: [e.disabled && "is-disabled"],
221
+ onClick: (t) => j(Y)(e.value, n)
222
+ }), [k(t.$slots, "option", {
223
+ option: e,
224
+ active: Q(e.value)
225
+ }, () => [h(A(e.label), 1)])], 16, R))), 128))], 46, L));
226
+ }
227
+ });
228
+ //#endregion
229
+ export { z as t };
package/dist/tabs.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as e } from "./tabs-C5sC0fBE.js";
1
+ import { t as e } from "./tabs-NgTRPGZx.js";
2
2
  export { e as SegmentedTabs };
package/dist/textarea.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./class-names-FlXcvRRT.js";
2
- import { n as t } from "./control.css_vue_type_style_index_0_src_true_lang-BIdufaDG.js";
2
+ import { n as t } from "./control.css_vue_type_style_index_0_src_true_lang-D2hdtjs4.js";
3
3
  import { computed as n, createElementBlock as r, defineComponent as i, mergeModels as a, mergeProps as o, openBlock as s, unref as c, useAttrs as l, useModel as u, vModelText as d, withDirectives as f } from "vue";
4
4
  //#region src/components/textarea/Textarea.vue?vue&type=script&setup=true&lang.ts
5
5
  var p = [
@@ -0,0 +1 @@
1
+ @layer theme, base, components, utilities;@layer components{.tl[data-v-85f5a464]{row-gap:var(--space-body);grid-template-columns:100%;display:grid;position:relative}.tl__track[data-v-85f5a464],.tl__marks[data-v-85f5a464]{grid-area:1/1;align-self:center}.tl__track[data-v-85f5a464]{block-size:var(--timeline-track-h);background:oklch(from var(--card) calc(l - .04) c h)}.tl__marks[data-v-85f5a464]{pointer-events:none;min-block-size:1.5rem;margin:0;padding:0;list-style:none;position:relative}.tl__mark-seat[data-v-85f5a464]{top:50%;left:calc(var(--tl-at) * 100%);pointer-events:none;line-height:0;display:flex;position:absolute;translate:-50% -50%}.tl__mark-seat[data-v-85f5a464]>*{pointer-events:auto}.tl__span[data-v-85f5a464]{inset-block:0;left:calc(var(--tl-l) * 100%);width:calc(var(--tl-w) * 100%);position:absolute;overflow:hidden}.tl__fill[data-v-85f5a464]{background:var(--tl-accent);transform:translateX(calc((var(--tl-f) - 1) * 100%));position:absolute;inset:0}.tl__track[data-advancing] .tl__fill[data-v-85f5a464]{will-change:transform}.tl__cap[data-v-85f5a464]{inset-block:0;inline-size:var(--timeline-track-h);border-radius:var(--radius-pill);background:var(--tl-accent);box-shadow:var(--glass-rim-top);transform:scaleX(var(--stretch,1)) scaleY(calc(1 / var(--stretch,1)));pointer-events:none;position:absolute;right:0}.tl .track-flow[data-v-85f5a464]{--track-flow-peak:var(--fill-selected)}.tl__mark[data-v-85f5a464]{cursor:pointer;background:0 0;border:0;place-items:center;min-block-size:1.5rem;min-inline-size:1.5rem;padding:0;display:grid}@media (pointer:coarse){.tl__marks[data-v-85f5a464]{min-block-size:var(--touch-target)}.tl__mark[data-v-85f5a464]{min-inline-size:var(--touch-target);min-block-size:var(--touch-target)}}.tl__mark[data-v-85f5a464]:focus-visible{box-shadow:var(--focus-ring-shadow);border-radius:var(--radius-pill);outline:none}.tl__disc[data-v-85f5a464]{inline-size:var(--space-family);block-size:var(--space-family);background:var(--card);border:1px solid color-mix(in oklab, var(--foreground) calc(var(--ink-perimeter) * 100%), oklch(0% 0 0/0));transform:scaleX(var(--stretch,1)) scaleY(calc(1 / var(--stretch,1)));border-radius:50%;place-items:center;display:grid}.tl__mark[data-crossing] .tl__disc[data-v-85f5a464]{will-change:transform}.tl__mark[data-state=active] .tl__disc[data-v-85f5a464]{border-color:var(--tl-accent);border-width:2px}.tl__mark[data-state=completed] .tl__disc[data-v-85f5a464]{background:var(--tl-accent);border-color:var(--tl-accent)}.tl__mark[aria-current=step] .tl__disc[data-v-85f5a464]{box-shadow:0 0 0 2px color-mix(in oklab, var(--foreground) calc(var(--ink-perimeter) / 2 * 100%), oklch(0% 0 0/0))}.tl__check[data-v-85f5a464]{block-size:100%;inline-size:100%;overflow:visible}.tl__check path[data-v-85f5a464]{fill:none;stroke:contrast-color(var(--tl-accent));stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:32;stroke-dashoffset:0;animation:tl-check-85f5a464 var(--spring-dock-duration) var(--spring-dock) both}@media (hover:hover){.tl__mark:hover .tl__disc[data-v-85f5a464]{scale:var(--scale-hover);background:color-mix(in oklab, var(--tl-accent) calc(var(--fill-hover) * 100%), var(--card))}.tl__mark[data-state=completed]:hover .tl__disc[data-v-85f5a464]{background:var(--tl-accent)}}.tl__detail[data-v-85f5a464]{animation:tl-detail-85f5a464 var(--spring-dock-duration) var(--spring-dock) both;grid-area:2/1}@media (prefers-reduced-motion:reduce){.tl__check path[data-v-85f5a464]{animation:none}.tl__detail[data-v-85f5a464]{animation-duration:.01ms}.tl__mark:hover .tl__disc[data-v-85f5a464]{scale:1}}}@keyframes tl-check-85f5a464{0%{stroke-dashoffset:32px}to{stroke-dashoffset:0}}@keyframes tl-detail-85f5a464{0%{opacity:0;translate:calc(var(--tl-dir) * var(--space-atom)) 0}to{opacity:1;translate:0}}
package/dist/timeline.js CHANGED
@@ -1,6 +1,7 @@
1
- import { t as e } from "./useSpring-9u2_shxV.js";
1
+ import "./timeline.css";
2
+ import { t as e } from "./useSpring-Aof0nTRt.js";
2
3
  import { n as t } from "./springPresets-Cbe0Voqg.js";
3
- import { t as n } from "./useLiquidPress-h1scrPtP.js";
4
+ import { t as n } from "./useLiquidPress-D5mjZC6U.js";
4
5
  import { t as r } from "./useLiquidFlex-TJZmRqyY.js";
5
6
  import { t as i } from "./_plugin-vue_export-helper-B3ysoDQm.js";
6
7
  import { Fragment as a, computed as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, defineComponent as u, normalizeClass as d, normalizeStyle as f, openBlock as p, ref as m, renderList as h, renderSlot as ee, unref as g, watch as _ } from "vue";
@@ -284,6 +285,6 @@ var E = [
284
285
  }, void 0, !0)])) : s("", !0)
285
286
  ], 4));
286
287
  }
287
- }), [["__scopeId", "data-v-4c4ed383"]]);
288
+ }), [["__scopeId", "data-v-85f5a464"]]);
288
289
  //#endregion
289
290
  export { v as HUE_OFFSET, b as HUE_STOPS, y as HUE_STRIDE, k as Timeline, T as accentFor };
@@ -0,0 +1,129 @@
1
+ import "./toggle-group.css";
2
+ import { t as e } from "./class-names-FlXcvRRT.js";
3
+ import { t } from "./useBarShape-CmP35Z8o.js";
4
+ import { t as n } from "./control-DJp15L4U.js";
5
+ import { t as r } from "./createContext-BhkE9mLH.js";
6
+ import { t as i } from "./useSelectionGroup-DAQv5Lb5.js";
7
+ import { computed as a, createElementBlock as o, defineComponent as s, mergeModels as c, mergeProps as l, onBeforeUnmount as u, onMounted as d, openBlock as f, ref as p, renderSlot as m, shallowRef as h, triggerRef as g, unref as _, useModel as v } from "vue";
8
+ //#region src/components/toggle-group/context.ts
9
+ var y = r("glass-ui:toggle-group");
10
+ function b(e) {
11
+ y.provide(e);
12
+ }
13
+ var x = y.use, S = [
14
+ "role",
15
+ "data-type",
16
+ "data-size",
17
+ "data-orientation"
18
+ ], C = /* @__PURE__ */ s({
19
+ name: "ToggleGroup",
20
+ __name: "ToggleGroup",
21
+ props: /*@__PURE__*/ c({
22
+ type: {},
23
+ orientation: { default: "horizontal" },
24
+ size: { default: "md" },
25
+ class: { type: [
26
+ Boolean,
27
+ null,
28
+ String,
29
+ Object,
30
+ Array
31
+ ] },
32
+ invalid: { type: Boolean },
33
+ disabled: { type: Boolean }
34
+ }, {
35
+ modelValue: {},
36
+ modelModifiers: {}
37
+ }),
38
+ emits: ["update:modelValue"],
39
+ setup(t) {
40
+ let r = t, s = v(t, "modelValue"), c = p(null), u = h([]);
41
+ function d(e) {
42
+ return [...e].sort((e, t) => {
43
+ if (!e.el || !t.el) return 0;
44
+ let n = e.el.compareDocumentPosition(t.el);
45
+ return n & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : n & Node.DOCUMENT_POSITION_PRECEDING ? 1 : 0;
46
+ });
47
+ }
48
+ let y = a(() => d(u.value)), x = a(() => y.value.map((e) => ({
49
+ value: e.value,
50
+ disabled: e.disabled()
51
+ }))), C = a(() => y.value.map((e) => e.el).filter((e) => !!e)), w = i({
52
+ options: x,
53
+ model: s,
54
+ mode: a(() => r.type),
55
+ vertical: a(() => r.orientation === "vertical"),
56
+ activation: a(() => r.type === "single" ? "automatic" : "manual"),
57
+ containerRef: c,
58
+ buttonRefs: C
59
+ });
60
+ return b({
61
+ register(e) {
62
+ u.value.push(e), g(u);
63
+ },
64
+ unregister(e) {
65
+ let t = u.value.indexOf(e);
66
+ t >= 0 && u.value.splice(t, 1), g(u);
67
+ },
68
+ isSelected: (e) => w.isSelected(e),
69
+ itemAttrs: (e) => w.itemAttrs(e),
70
+ tabindex: (e) => w.rovingTabindex(y.value.indexOf(e)),
71
+ select: (e) => w.select(e.value, y.value.indexOf(e)),
72
+ disabled: a(() => r.disabled ?? !1)
73
+ }), (t, i) => (f(), o("div", l({
74
+ ref_key: "containerRef",
75
+ ref: c,
76
+ "data-slot": "toggle-group",
77
+ class: _(e)("toggle-group", r.class),
78
+ role: _(w).groupRole.value,
79
+ "data-type": r.type,
80
+ "data-size": r.size,
81
+ "data-orientation": r.orientation
82
+ }, _(n)(r.invalid), { onKeydown: i[0] ||= (...e) => _(w).onKeydown && _(w).onKeydown(...e) }), [m(t.$slots, "default")], 16, S));
83
+ }
84
+ }), w = [
85
+ "data-state",
86
+ "data-shape",
87
+ "disabled",
88
+ "tabindex"
89
+ ], T = /* @__PURE__ */ s({
90
+ name: "ToggleGroupItem",
91
+ __name: "ToggleGroupItem",
92
+ props: {
93
+ value: {},
94
+ disabled: { type: Boolean },
95
+ class: { type: [
96
+ Boolean,
97
+ null,
98
+ String,
99
+ Object,
100
+ Array
101
+ ] }
102
+ },
103
+ setup(n) {
104
+ let r = n, i = p(null), s = t(i), c = x(), h = {
105
+ get value() {
106
+ return r.value;
107
+ },
108
+ disabled: () => r.disabled === !0 || (c?.disabled.value ?? !1),
109
+ el: null
110
+ };
111
+ d(() => {
112
+ h.el = i.value, c?.register(h);
113
+ }), u(() => c?.unregister(h));
114
+ let g = a(() => c?.isSelected(r.value) ?? !1), v = a(() => h.disabled());
115
+ return (t, n) => (f(), o("button", l({
116
+ ref_key: "el",
117
+ ref: i,
118
+ type: "button",
119
+ "data-slot": "toggle-group-item",
120
+ class: _(e)("toggle-group__item control-surface glass-control-edge glass-capsule-hover focus-ring", r.class),
121
+ "data-state": g.value ? "on" : "off",
122
+ "data-shape": _(s),
123
+ disabled: v.value || void 0,
124
+ tabindex: _(c)?.tabindex(h) ?? 0
125
+ }, _(c)?.itemAttrs(r.value), { onClick: n[0] ||= (e) => _(c)?.select(h) }), [m(t.$slots, "indicator", { selected: g.value }), m(t.$slots, "default")], 16, w));
126
+ }
127
+ });
128
+ //#endregion
129
+ export { C as n, T as t };
@@ -0,0 +1 @@
1
+ @layer theme, base, components, utilities;@layer components{.toggle-group{flex-wrap:wrap;align-items:center;gap:8px;inline-size:fit-content;max-inline-size:100%;display:flex}@media (width<=768px){.toggle-group{gap:4px}}.toggle-group[data-orientation=vertical]{flex-direction:column;align-items:stretch}.toggle-group__item{--toggle-group-item-size:var(--control-h-md);min-inline-size:var(--toggle-group-item-size);min-block-size:var(--toggle-group-item-size);border-radius:calc(var(--toggle-group-item-size) / 2);color:var(--muted-foreground);font:inherit;font-size:var(--control-text);cursor:pointer;appearance:none;touch-action:manipulation;-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;gap:.5rem;padding-inline:.75rem;font-weight:500;line-height:1;display:inline-flex}.toggle-group__item[data-shape=bar]{border-radius:var(--radius-bar)}.toggle-group[data-size=sm] .toggle-group__item{--toggle-group-item-size:var(--control-h-sm);font-size:var(--control-text-sm);padding-inline:.5rem}.toggle-group[data-size=lg] .toggle-group__item{--toggle-group-item-size:var(--control-h-lg);padding-inline:1.25rem}.toggle-group__item[data-state=on]{background-color:color-mix(in oklab, var(--foreground) 12%, transparent);color:var(--foreground);font-weight:600}.toggle-group__item[data-state=on]:hover:not(:disabled){background-color:color-mix(in oklab, var(--foreground) 16%, transparent)}.toggle-group__item:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;pointer-events:none}.toggle-group[data-invalid] .toggle-group__item{border-color:var(--destructive)}.toggle-group__item>svg{pointer-events:none;flex:none}@media (forced-colors:active){.toggle-group__item{box-shadow:none;background:canvas;border:1px solid buttontext}.toggle-group__item[data-state=on]{color:highlighttext;background:highlight;border-color:highlight}}}
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./toggle-group-CC5b3o1R.js";
1
+ import { n as e, t } from "./toggle-group-DgXcJGD6.js";
2
2
  export { e as ToggleGroup, t as ToggleGroupItem };
package/dist/tokens.js CHANGED
@@ -54,6 +54,8 @@ var e = [
54
54
  "--radius-xl",
55
55
  "--radius-2xl",
56
56
  "--radius-pill",
57
+ "--radius-circle",
58
+ "--radius-bar",
57
59
  "--radius-card",
58
60
  "--radius-media",
59
61
  "--radius-button"
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./content-BhcJH1bI.js";
2
- import { t } from "./participation-B7UFdgXB.js";
2
+ import { t } from "./participation-C5y5VZTN.js";
3
3
  import { computed as n, createBlock as r, createVNode as i, defineComponent as a, mergeProps as o, openBlock as s, renderSlot as c, unref as l, useAttrs as u, withCtx as d } from "vue";
4
4
  import { TooltipContent as f, TooltipPortal as p, TooltipProvider as m, TooltipRoot as h, TooltipTrigger as g } from "reka-ui";
5
5
  //#endregion
package/dist/tooltip.js CHANGED
@@ -1,2 +1,2 @@
1
- import { i as e, n as t, r as n, t as r } from "./tooltip-CZVubnJf.js";
1
+ import { i as e, n as t, r as n, t as r } from "./tooltip-Do3qCw0r.js";
2
2
  export { e as Tooltip, n as TooltipContent, r as TooltipProvider, t as TooltipTrigger };
@@ -0,0 +1 @@
1
+ @layer theme, base, components, utilities;@layer components{.tw-root[data-v-e8359620]{vertical-align:baseline;max-width:100%;display:inline-grid;position:relative}.tw-reserve[data-v-e8359620]{visibility:hidden;white-space:pre-wrap;overflow-wrap:anywhere;pointer-events:none;grid-area:1/1;min-width:0}.tw-visual[data-v-e8359620]{white-space:pre-wrap;overflow-wrap:anywhere;position:absolute;inset:0}.tw-tail[data-v-e8359620]{white-space:nowrap}.tw-cursor[data-v-e8359620]{font-weight:100;display:inline-block}.tw-cursor--blink[data-v-e8359620]{animation:1.06s step-end infinite typewriter-blink}@media (prefers-reduced-motion:reduce){.tw-cursor--blink[data-v-e8359620]{animation:none}}}
@@ -1,3 +1,4 @@
1
+ import "./typewriter.css";
1
2
  import { n as e } from "./useReducedMotion-vCXA_vyM.js";
2
3
  import { t } from "./_plugin-vue_export-helper-B3ysoDQm.js";
3
4
  import { Fragment as n, computed as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, createTextVNode as s, defineComponent as c, normalizeClass as l, onMounted as u, onScopeDispose as d, onUnmounted as f, openBlock as p, ref as m, renderList as h, toDisplayString as g, unref as _, watch as v } from "vue";
@@ -0,0 +1,150 @@
1
+ import { a as e, c as t } from "./pointerFieldMappings-DXwlU5uj.js";
2
+ import { warmCatchLight as n } from "./color.js";
3
+ import { m as r, n as i } from "./color-HkUaTAJj.js";
4
+ //#region src/components/aurora/composables/frameLoop.ts
5
+ var a = .001, o = 1e-4;
6
+ function s(n, r, i) {
7
+ let a = t(n);
8
+ if (i > 0) {
9
+ let e = n.acceleration.value, t = n.velocity.value, r = -(e.x * t.x + e.y * t.y);
10
+ r > 0 && (a.burst = Math.min(1, a.burst + r * 3));
11
+ }
12
+ let o = e(a, r);
13
+ return {
14
+ x: o.cx,
15
+ y: o.cy,
16
+ strength: o.strength,
17
+ radius: o.radius
18
+ };
19
+ }
20
+ function c(e) {
21
+ let t = e.attractorVelocity.value;
22
+ return e.engagement.value > a || e.speed.value > a || e.burst.value > a || Math.hypot(t.x, t.y) > o;
23
+ }
24
+ function l(e) {
25
+ let { gl: t, prog: n, uniforms: i, pointerField: a, getCursorScalars: o, getConfig: l, getReducedMotion: u, getRenderTime: d } = e, f = (e) => 1 - e, p = null, m = {
26
+ x: .5,
27
+ y: .5,
28
+ strength: 0,
29
+ radius: .25
30
+ };
31
+ function h() {
32
+ return +!u();
33
+ }
34
+ function g(e) {
35
+ let r = d(e);
36
+ if (t.useProgram(n), t.uniform2f(i.uCursor, m.x, f(m.y)), t.uniform1f(i.uCursorStrength, m.strength), t.uniform1f(i.uCursorRadius, m.radius), t.uniform1f(i.uTime, r), l().interactivity?.light) {
37
+ let e = h(), n = r * .25, a = Math.cos(n) * .5, o = Math.sin(n) * .5, s = (m.x - .5) * 2, c = (.5 - m.y) * 2, l = m.strength * e;
38
+ a = a * (1 - l) + s * l, o = o * (1 - l) + c * l, t.uniform3f(i.uLightDir, a * e + (1 - e) * -.5, o * e + (1 - e) * .6, .62);
39
+ }
40
+ t.clear(t.COLOR_BUFFER_BIT), t.drawArrays(t.TRIANGLES, 0, 3);
41
+ }
42
+ function _() {
43
+ return u() ? !1 : r(l()) ? !0 : c(a);
44
+ }
45
+ return {
46
+ frame: (e) => {
47
+ let t = h(), n = p === null ? 0 : Math.max(0, (e - p) * 1e3);
48
+ p = e, a.tick(t === 0 ? 0 : n), m = s(a, o(), t), g(e);
49
+ },
50
+ needsAnimation: _
51
+ };
52
+ }
53
+ //#endregion
54
+ //#region src/components/aurora/composables/uniformBridge.ts
55
+ var u = {
56
+ x: .5,
57
+ y: .5,
58
+ strength: 0,
59
+ radius: .25
60
+ }, d = {
61
+ smooth: 0,
62
+ pastel: 1,
63
+ watercolor: 2,
64
+ oil: 3,
65
+ crayon: 4,
66
+ vangogh: 5,
67
+ "oil-pastel": 6,
68
+ kuwahara: 7,
69
+ metal: 8,
70
+ "metal-gradient": 9
71
+ }, f = {
72
+ shorter: 0,
73
+ longer: 1,
74
+ increasing: 2,
75
+ decreasing: 3
76
+ }, p = {
77
+ none: 0,
78
+ radial: 1,
79
+ swirl: 2,
80
+ diagonal: 3,
81
+ multi: 4,
82
+ tensor: 5
83
+ }, m = {
84
+ flow: 0,
85
+ tensor: 1
86
+ }, h = {
87
+ fbm: 0,
88
+ cellular: 1,
89
+ hybrid: 2,
90
+ curl: 3
91
+ }, g = {
92
+ oil: 0,
93
+ knife: 1,
94
+ chunky: 3
95
+ }, _ = {
96
+ L: .985,
97
+ C: .0125,
98
+ h: 77.5
99
+ };
100
+ function v(e) {
101
+ return e === void 0 ? n(_.L, _.C, _.h) : Array.isArray(e) ? e : n(e.L, e.C, e.h);
102
+ }
103
+ function y(e) {
104
+ return d[e.medium];
105
+ }
106
+ function b(e) {
107
+ return g[e.strokeMode];
108
+ }
109
+ function x(e) {
110
+ return e.medium === "vangogh" || e.medium === "oil-pastel" || e.medium === "crayon" || e.medium === "kuwahara" ? m.tensor : m[e.strokeOrient ?? "flow"];
111
+ }
112
+ function S(e, t, n, r = !1) {
113
+ let a = (e) => 1 - e, o = {
114
+ palette: /* @__PURE__ */ new Float32Array(24),
115
+ pos: /* @__PURE__ */ new Float32Array(16),
116
+ rad: /* @__PURE__ */ new Float32Array(8),
117
+ pb: /* @__PURE__ */ new Float32Array(8),
118
+ vb: /* @__PURE__ */ new Float32Array(8),
119
+ dr: /* @__PURE__ */ new Float32Array(8),
120
+ dp: /* @__PURE__ */ new Float32Array(8),
121
+ elong: /* @__PURE__ */ new Float32Array(8),
122
+ angle: /* @__PURE__ */ new Float32Array(8)
123
+ };
124
+ return function(s) {
125
+ e.useProgram(t), i(s.palette, 8, o.palette), e.uniform3fv(n.uPalette, o.palette), e.uniform1i(n.uStopCount, Math.min(s.palette.length, 8));
126
+ let c = Math.min(s.nuclei.length, 8);
127
+ e.uniform1i(n.uNucleiCount, c);
128
+ for (let e = 0; e < c; e++) {
129
+ let t = s.nuclei[e];
130
+ o.pos[e * 2 + 0] = t.x, o.pos[e * 2 + 1] = a(t.y), o.rad[e] = t.radius, o.pb[e] = t.paletteBias, o.vb[e] = t.valueBias, o.dr[e] = t.driftRadius, o.dp[e] = t.driftPhase, o.elong[e] = t.elongation ?? 1, o.angle[e] = -(t.angle ?? 0) * Math.PI / 180;
131
+ }
132
+ for (let e = c; e < 8; e++) o.pos[e * 2 + 0] = 0, o.pos[e * 2 + 1] = 0, o.rad[e] = 0, o.pb[e] = 0, o.vb[e] = 0, o.dr[e] = 0, o.dp[e] = 0, o.elong[e] = 1, o.angle[e] = 0;
133
+ e.uniform2fv(n.uNucleiPos, o.pos), e.uniform1fv(n.uNucleiRadius, o.rad), e.uniform1fv(n.uNucleiPaletteBias, o.pb), e.uniform1fv(n.uNucleiValueBias, o.vb), e.uniform1fv(n.uNucleiDriftRadius, o.dr), e.uniform1fv(n.uNucleiDriftPhase, o.dp), e.uniform1fv(n.uNucleiElong, o.elong), e.uniform1fv(n.uNucleiAngle, o.angle), e.uniform1f(n.uSoftmaxBeta, s.softmaxBeta), e.uniform1f(n.uValueVariance, s.valueVariance), e.uniform1f(n.uWarpAmount, s.warpAmount), e.uniform1f(n.uWarpScale, s.warpScale), e.uniform1f(n.uWarpDrift, s.warpDrift), e.uniform1i(n.uWarpMode, h[s.warpMode]), e.uniform1i(n.uNoiseOctaves, s.noiseOctaves), e.uniform1i(n.uMedium, y(s)), e.uniform1i(n.uHuePath, f[s.huePath ?? "shorter"]), e.uniform1i(n.uFlowPattern, p[s.flow.pattern]), e.uniform2f(n.uFlowFocal, s.flow.focalX, a(s.flow.focalY)), e.uniform1f(n.uFlowAngle, s.flow.angle), e.uniform1f(n.uFlowCurl, s.flow.curl);
134
+ let l = u;
135
+ e.uniform2f(n.uCursor, l.x, a(l.y)), e.uniform1f(n.uCursorStrength, l.strength), e.uniform1f(n.uCursorRadius, l.radius), e.uniform1f(n.uStrokeAmount, s.strokeAmount), e.uniform1f(n.uStrokeScale, s.strokeScale), e.uniform1f(n.uStrokeAnisotropy, s.strokeAnisotropy), e.uniform1i(n.uStrokeLayers, s.strokeLayers), e.uniform1i(n.uStrokeMode, b(s)), e.uniform1i(n.uStrokeOrient, x(s));
136
+ {
137
+ let t = s.lightDir ?? [
138
+ -.5,
139
+ .6,
140
+ .62
141
+ ], r = v(s.lightColor);
142
+ e.uniform3f(n.uLightDir, t[0], t[1], t[2]), e.uniform3f(n.uLightColor, r[0], r[1], r[2]);
143
+ }
144
+ e.uniform1f(n.uWetEdge, s.wetEdge), e.uniform1f(n.uGranulation, s.granulation), e.uniform1f(n.uImpasto, s.impasto), e.uniform1f(n.uBrokenColor, s.brokenColor), e.uniform1f(n.uCanvasGrain, s.canvasGrain), e.uniform1f(n.uMetalPolish, s.metalPolish ?? 1), e.uniform1f(n.uMetalHeightScale, s.metalHeightScale ?? 1), e.uniform1f(n.uNucleiDrift, s.nucleiDrift), e.uniform1f(n.uPaletteDrift, s.paletteDrift), e.uniform1f(n.uBreathDepth, s.breathDepth), e.uniform1f(n.uBreathPeriod, s.breathPeriod), e.uniform1f(n.uSaturation, s.saturation), e.uniform1f(n.uPaperGrain, s.paperGrain), e.uniform1f(n.uAlpha, r ? 1 : s.alpha), e.uniform1f(n.uVividness, s.vividness ?? 1), e.uniform1i(n.uImage, 0), e.uniform1f(n.uBlurMin, s.imageBlur?.min ?? .004), e.uniform1f(n.uBlurMax, s.imageBlur?.max ?? .06);
145
+ let d = e.drawingBufferHeight > 0 ? e.drawingBufferWidth / e.drawingBufferHeight : 1;
146
+ e.uniform1f(n.uImageAspect, d);
147
+ };
148
+ }
149
+ //#endregion
150
+ export { c as a, S as i, d as n, l as o, h as r, s, f as t };
@@ -0,0 +1,24 @@
1
+ import { onBeforeUnmount as e, shallowRef as t, watch as n } from "vue";
2
+ //#region src/components/_shared/shape/useBarShape.ts
3
+ var r = 20;
4
+ function i(e) {
5
+ let t = getComputedStyle(e), n = e.getBoundingClientRect(), i = parseFloat(getComputedStyle(e.ownerDocument.documentElement).fontSize) || 16;
6
+ if (n.width > r * i + .5) return !0;
7
+ let a = parseFloat(t.minBlockSize);
8
+ return Number.isFinite(a) && a > 0 && n.height > a + .5;
9
+ }
10
+ function a(r) {
11
+ let a = t(void 0), o = null, s = (e) => {
12
+ a.value = i(e) ? "bar" : void 0;
13
+ };
14
+ return n(r, (e) => {
15
+ o?.disconnect(), o = null, !(!e || typeof ResizeObserver > "u") && (o = new ResizeObserver(() => s(e)), o.observe(e));
16
+ }, {
17
+ flush: "post",
18
+ immediate: !0
19
+ }), e(() => {
20
+ o?.disconnect(), o = null;
21
+ }), a;
22
+ }
23
+ //#endregion
24
+ export { a as t };
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createCanvasLifecycle-hJHobVTn.js";
1
+ import { t as e } from "./createCanvasLifecycle-DS0vEs_G.js";
2
2
  import { getCurrentScope as t, onScopeDispose as n, toValue as r } from "vue";
3
3
  //#region src/composables/glass/canvas2d/useCanvas2D.ts
4
4
  var i = "200px";
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./asElement-CRnm6A2v.js";
2
- import { i as t, r as n } from "./useDragMorph-B363RUbF.js";
2
+ import { i as t, r as n } from "./useDragMorph-BEI74U0t.js";
3
3
  import { readonly as r, ref as i } from "vue";
4
4
  //#region src/composables/motion/morph/useDockCtaReceive.ts
5
5
  var a = {