@mkbabb/glass-ui 10.1.4 → 11.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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/useDockClickIntegrity.d.ts +4 -0
  49. package/dist/components/dock/composables/useDockShellProps.d.ts +34 -2
  50. package/dist/components/dock/composables/useDockState.d.ts +5 -0
  51. package/dist/components/dock/index.d.ts +1 -2
  52. package/dist/components/dock/styles/controls/icon-button.css +1 -1
  53. package/dist/components/dock/styles/controls/tab-button.css +1 -1
  54. package/dist/components/dock/styles/morph.css +1 -1
  55. package/dist/components/dock/styles/run.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-DQuWkiwL.js → data-table-lDykVYuo.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 +677 -689
  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-5uoY-cLG.js → slider-CZiKrWGg.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
@@ -2,19 +2,19 @@ import { n as e, t } from "./useReducedMotion-vCXA_vyM.js";
2
2
  import { t as n } from "./useLiquidFlex-TJZmRqyY.js";
3
3
  import { n as r, r as i, t as a } from "./writeVelocityWeight-DoGOCW3e.js";
4
4
  import { t as o } from "./useScrollTrigger-Abe5dEeO.js";
5
- import { t as s } from "./useIntersectionPause-CzKR3EyP.js";
6
- import { i as c, n as l, r as u, t as d } from "./useSelectionGroup-zsEwitF6.js";
7
- import { n as f, r as p, t as m } from "./vReveal-B5WYGofz.js";
8
- import { t as h } from "./usePointerVelocityField-Lx26_Yap.js";
9
- import { t as g } from "./useRoutePointer-B8itM7Ka.js";
10
- import { a as _, c as v, i as y, n as b, o as x, r as S, s as C, t as w } from "./pointerFieldMappings-DXwlU5uj.js";
11
- import { n as T, r as E, t as ee } from "./constants-Dk96HZHu.js";
12
- import { t as te } from "./useScrollProgress-Bq-KPaKM.js";
13
- import { i as ne, n as D, r as O, t as k } from "./useScrollChrome-BJbWV32F.js";
14
- import { onScopeDispose as A, ref as j, watch as M } from "vue";
5
+ import { n as s, t as c } from "./useIntersectionPause-CzKR3EyP.js";
6
+ import { n as l, t as u } from "./useSelectionGroup-DAQv5Lb5.js";
7
+ import { n as d, r as f, t as p } from "./vReveal-B5WYGofz.js";
8
+ import { t as m } from "./usePointerVelocityField-Lx26_Yap.js";
9
+ import { t as h } from "./useRoutePointer-B8itM7Ka.js";
10
+ import { a as g, c as _, i as v, n as y, o as b, r as x, s as S, t as C } from "./pointerFieldMappings-DXwlU5uj.js";
11
+ import { n as w, r as T, t as E } from "./constants-Dk96HZHu.js";
12
+ import { t as D } from "./useScrollProgress-Bq-KPaKM.js";
13
+ import { t as O } from "./useScrollChrome-DMP6kDI9.js";
14
+ import { computed as k, getCurrentScope as ee, onScopeDispose as A, readonly as j, ref as M, watch as N } from "vue";
15
15
  //#region src/composables/motion/reveal/useStagger.ts
16
- function N(t) {
17
- let n = Math.max(0, Math.floor(t.items)), r = t.delayMs ?? 80, i = t.initialDelayMs ?? 0, a = t.immediate !== !1, o = t.respectReducedMotion === !1 ? j(!1) : e(), s = j(Array(n).fill(!1)), c = j(n === 0), l = /* @__PURE__ */ new Set(), u = !1;
16
+ function P(t) {
17
+ let n = Math.max(0, Math.floor(t.items)), r = t.delayMs ?? 80, i = t.initialDelayMs ?? 0, a = t.immediate !== !1, o = t.respectReducedMotion === !1 ? M(!1) : e(), s = M(Array(n).fill(!1)), c = M(n === 0), l = /* @__PURE__ */ new Set(), u = !1;
18
18
  function d() {
19
19
  for (let e of l) clearTimeout(e);
20
20
  l.clear();
@@ -42,7 +42,7 @@ function N(t) {
42
42
  l.add(a);
43
43
  }
44
44
  }
45
- let h = M(o, (e) => {
45
+ let h = N(o, (e) => {
46
46
  !e || !u || (d(), p());
47
47
  }, { flush: "sync" });
48
48
  return a && m(), A(() => {
@@ -55,8 +55,102 @@ function N(t) {
55
55
  };
56
56
  }
57
57
  //#endregion
58
+ //#region src/composables/motion/core/useYieldToMain.ts
59
+ function F() {
60
+ let e = globalThis.scheduler;
61
+ return typeof e?.yield == "function" ? e.yield.bind(e) : null;
62
+ }
63
+ function I() {
64
+ let e = F();
65
+ return e ? e() : typeof MessageChannel == "function" ? new Promise((e) => {
66
+ let t = new MessageChannel();
67
+ t.port1.onmessage = () => {
68
+ t.port1.onmessage = null, e();
69
+ }, t.port2.postMessage(void 0);
70
+ }) : new Promise((e) => setTimeout(e, 0));
71
+ }
72
+ function L() {
73
+ return {
74
+ hasNativeYield: F() !== null,
75
+ yield: I
76
+ };
77
+ }
78
+ //#endregion
79
+ //#region src/composables/motion/core/useRAFLoop.ts
80
+ function R() {
81
+ return typeof globalThis.requestAnimationFrame == "function" ? globalThis.requestAnimationFrame.bind(globalThis) : null;
82
+ }
83
+ function te() {
84
+ return typeof globalThis.cancelAnimationFrame == "function" ? globalThis.cancelAnimationFrame.bind(globalThis) : null;
85
+ }
86
+ function ne(t, n = {}) {
87
+ let { immediate: r = !0, pauseWhenHidden: i = !0, respectReducedMotion: a = !0 } = n, o = M(!1), c = a ? e() : M(!1), l = k(() => c.value), u = M(!1), d = M(!1), f = M(!1), p = k(() => d.value && !o.value && (f.value || u.value || l.value || !R())), m = null, h = null, g = 0, _ = 0, v = !1, y = null, b = null, x = null;
88
+ function S() {
89
+ return !v && d.value && !f.value && !u.value && !l.value && !!R();
90
+ }
91
+ function C() {
92
+ m !== null && (te()?.(m), m = null), o.value = !1, h = null;
93
+ }
94
+ function w() {
95
+ if (m !== null || !S()) return;
96
+ let e = R();
97
+ e && (o.value = !0, m = e((e) => {
98
+ if (m = null, !S()) {
99
+ C();
100
+ return;
101
+ }
102
+ let n = h === null ? 0 : Math.max(0, e - h);
103
+ h = e, g += n, t({
104
+ now: e,
105
+ delta: n,
106
+ elapsed: g,
107
+ frame: _++
108
+ }), S() ? w() : C();
109
+ }));
110
+ }
111
+ function T() {
112
+ S() ? w() : C();
113
+ }
114
+ function E() {
115
+ h = null, g = 0, _ = 0;
116
+ }
117
+ function D() {
118
+ v || (E(), d.value = !0, f.value = !1, T());
119
+ }
120
+ function O() {
121
+ d.value = !1, f.value = !1, E(), C();
122
+ }
123
+ function P() {
124
+ d.value && (f.value = !0, T());
125
+ }
126
+ function F() {
127
+ v || (f.value = !1, T());
128
+ }
129
+ if (i) {
130
+ let e = s(), { hidden: t } = e;
131
+ x = e.dispose, u.value = t.value, b = N(t, (e) => {
132
+ u.value = e, T();
133
+ }, { flush: "sync" });
134
+ }
135
+ y = N(l, T, { flush: "sync" });
136
+ function L() {
137
+ v || (v = !0, O(), b?.(), b = null, x?.(), x = null, y?.(), y = null);
138
+ }
139
+ return ee() && A(L), r && D(), {
140
+ isActive: j(o),
141
+ isPaused: j(p),
142
+ isReducedMotion: l,
143
+ start: D,
144
+ stop: O,
145
+ pause: P,
146
+ resume: F,
147
+ dispose: L,
148
+ yieldToMain: I
149
+ };
150
+ }
151
+ //#endregion
58
152
  //#region src/composables/motion/route/routeGrammar.ts
59
- var P = [
153
+ var z = [
60
154
  {
61
155
  nav: "route",
62
156
  foreground: "present",
@@ -93,63 +187,63 @@ var P = [
93
187
  worldWaitsForForeground: !0,
94
188
  comment: "Back, out of the window — a violent ease-in with the opacity held then cut at the last tenth, and the world recovering only once the window is gone."
95
189
  }
96
- ], F = {
190
+ ], B = {
97
191
  inhaleScale: 1.57,
98
192
  inhaleMs: 42,
99
193
  parallax: 1 / 8,
100
194
  opacityCutAt: .9
101
195
  };
102
- function I(e) {
103
- let t = P.find((t) => t.nav === e);
196
+ function V(e) {
197
+ let t = z.find((t) => t.nav === e);
104
198
  if (!t) throw Error(`Unknown route nav class: ${e}`);
105
199
  return t;
106
200
  }
107
- function L(e) {
201
+ function H(e) {
108
202
  return e.foreground ? `--spring-${e.foreground}` : e.ease;
109
203
  }
110
- function R(e) {
111
- return `--spring-${e.foreground ?? I("zoom").foreground}-${e.clock}`;
204
+ function U(e) {
205
+ return `--spring-${e.foreground ?? V("zoom").foreground}-${e.clock}`;
112
206
  }
113
- function z(e) {
207
+ function W(e) {
114
208
  return e.world ? `--spring-${e.world}-${e.clock}` : null;
115
209
  }
116
210
  //#endregion
117
211
  //#region src/composables/motion/route/useRouteTransition.ts
118
- var B = "gl-route-window", V = "gl-route-label", H = "data-route-window", U = "data-route-label", W = "--route-direction", G = "view-transition-name";
119
- function K(e, t) {
212
+ var G = "gl-route-window", K = "gl-route-label", re = "data-route-window", ie = "data-route-label", q = "--route-direction", J = "view-transition-name";
213
+ function Y(e, t) {
120
214
  if (!e) return [];
121
- let n = e.style.getPropertyValue(G);
122
- return e.style.setProperty(G, t), [{
215
+ let n = e.style.getPropertyValue(J);
216
+ return e.style.setProperty(J, t), [{
123
217
  el: e,
124
218
  previous: n
125
219
  }];
126
220
  }
127
- function q(e) {
221
+ function ae(e) {
128
222
  return e?.querySelector("[data-route-label]") ?? null;
129
223
  }
130
- function J(e) {
224
+ function oe(e) {
131
225
  let { nav: t, mutate: n, source: r, target: i, direction: a } = e, o = typeof document > "u" ? null : document.documentElement;
132
- Y();
226
+ se();
133
227
  let s = [], c = !1;
134
228
  if (t !== "route") {
135
- let e = K(r, B);
136
- c = e.length > 0, s.push(...e), s.push(...K(q(r), V));
229
+ let e = Y(r, G);
230
+ c = e.length > 0, s.push(...e), s.push(...Y(ae(r), K));
137
231
  }
138
- o && a !== void 0 && o.style.setProperty(W, String(Math.sign(a)));
139
- let { finished: l } = f(async () => {
140
- await n(), t !== "route" && c && s.push(...K(i?.() ?? null, B));
232
+ o && a !== void 0 && o.style.setProperty(q, String(Math.sign(a)));
233
+ let { finished: l } = d(async () => {
234
+ await n(), t !== "route" && c && s.push(...Y(i?.() ?? null, G));
141
235
  }, { types: [t] });
142
236
  return { finished: l.then(() => {
143
- for (let { el: e, previous: t } of s) t ? e.style.setProperty(G, t) : e.style.removeProperty(G);
144
- o?.style.removeProperty(W);
237
+ for (let { el: e, previous: t } of s) t ? e.style.setProperty(J, t) : e.style.removeProperty(J);
238
+ o?.style.removeProperty(q);
145
239
  }) };
146
240
  }
147
- function Y() {
241
+ function se() {
148
242
  if (typeof document > "u") return;
149
- let e = document.querySelectorAll(`[style*="${G}"]`);
243
+ let e = document.querySelectorAll(`[style*="${J}"]`);
150
244
  for (let t of e) {
151
- let e = t.style.getPropertyValue(G);
152
- (e === "gl-route-window" || e === "gl-route-label") && t.style.removeProperty(G);
245
+ let e = t.style.getPropertyValue(J);
246
+ (e === "gl-route-window" || e === "gl-route-label") && t.style.removeProperty(J);
153
247
  }
154
248
  }
155
249
  //#endregion
@@ -191,7 +285,7 @@ var X = [
191
285
  comment: "The backdrop filter releases in three channels on three clocks while the ink drops first — for a beat you see colour with no form. The owner's ask, and the only dialect that reaches every backdrop-bearing dismissal rather than one component's exit."
192
286
  }
193
287
  ];
194
- function re(e) {
288
+ function ce(e) {
195
289
  let t = X.find((t) => t.dialect === e);
196
290
  if (!t) throw Error(`Unknown dissolve dialect: ${e}`);
197
291
  return t;
@@ -210,18 +304,18 @@ function Q(e) {
210
304
  let { channelRatio: t } = Z;
211
305
  return t[e] / t.blur;
212
306
  }
213
- function ie() {
307
+ function le() {
214
308
  return Z.inkCollapseFraction / Z.channelRatio.blur;
215
309
  }
216
- function ae(e) {
310
+ function ue(e) {
217
311
  return e * (1 - Q("dim"));
218
312
  }
219
313
  var $ = {
220
314
  edgeRatio: .42,
221
315
  inwardNudge: .065
222
316
  };
223
- function oe() {
317
+ function de() {
224
318
  return $.inwardNudge - .5;
225
319
  }
226
320
  //#endregion
227
- export { w as AURORA_CURSOR_RADIUS, b as BLOB_LEAD_K, S as BLOB_STRETCH_GAIN, y as BLOB_STRETCH_MAX, $ as CORNER_AFFORDANCE, ee as DAMPING, l as DEFAULT_INDICATOR_MAX_STRETCH, X as DISSOLVE_DIALECTS, T as FRAME_MS, u as INDICATOR_RELEASE_AT_ARRIVAL, a as MOTION_WEIGHT_REST, F as ROUTE_CONSTANTS, W as ROUTE_DIRECTION_PROP, P as ROUTE_GRAMMAR, U as ROUTE_LABEL_ATTR, V as ROUTE_LABEL_NAME, H as ROUTE_WINDOW_ATTR, B as ROUTE_WINDOW_NAME, E as SNAP_THRESHOLD, Z as VAPORIZE_CONSTANTS, _ as auroraCursorMapping, ae as backdropOutlivesPanel, x as blobPullMapping, Q as channelFraction, C as constellationWellMapping, oe as cornerAffordanceOffset, re as dissolveDialect, r as effectiveCap, R as foregroundClockToken, L as foregroundCurveToken, ie as inkBlurFraction, t as readReducedMotion, I as routeNav, J as routeTransition, v as snapshotField, f as startViewTransition, p as supportsViewTransitions, s as useIntersectionPause, n as useLiquidFlex, h as usePointerVelocityField, D as useRAFLoop, e as useReducedMotion, g as useRoutePointer, k as useScrollChrome, te as useScrollProgress, o as useScrollTrigger, d as useSelectionGroup, c as useSelectionIndicator, N as useStagger, O as useYieldToMain, m as vReveal, z as worldClockToken, i as writeVelocityWeight, ne as yieldToMain };
321
+ export { C as AURORA_CURSOR_RADIUS, y as BLOB_LEAD_K, x as BLOB_STRETCH_GAIN, v as BLOB_STRETCH_MAX, $ as CORNER_AFFORDANCE, E as DAMPING, X as DISSOLVE_DIALECTS, w as FRAME_MS, a as MOTION_WEIGHT_REST, B as ROUTE_CONSTANTS, q as ROUTE_DIRECTION_PROP, z as ROUTE_GRAMMAR, ie as ROUTE_LABEL_ATTR, K as ROUTE_LABEL_NAME, re as ROUTE_WINDOW_ATTR, G as ROUTE_WINDOW_NAME, T as SNAP_THRESHOLD, Z as VAPORIZE_CONSTANTS, g as auroraCursorMapping, ue as backdropOutlivesPanel, b as blobPullMapping, Q as channelFraction, S as constellationWellMapping, de as cornerAffordanceOffset, ce as dissolveDialect, r as effectiveCap, U as foregroundClockToken, H as foregroundCurveToken, le as inkBlurFraction, t as readReducedMotion, V as routeNav, oe as routeTransition, _ as snapshotField, d as startViewTransition, f as supportsViewTransitions, c as useIntersectionPause, n as useLiquidFlex, m as usePointerVelocityField, ne as useRAFLoop, e as useReducedMotion, h as useRoutePointer, O as useScrollChrome, D as useScrollProgress, o as useScrollTrigger, u as useSelectionGroup, l as useSelectionIndicator, P as useStagger, L as useYieldToMain, p as vReveal, W as worldClockToken, i as writeVelocityWeight, I as yieldToMain };
@@ -0,0 +1,91 @@
1
+ import { t as e } from "./class-names-FlXcvRRT.js";
2
+ import { r as t } from "./root-scroll-lock-DJFrQhMa.js";
3
+ import { createBlock as n, createCommentVNode as r, createElementBlock as i, createVNode as a, defineComponent as o, normalizeClass as s, normalizeStyle as c, openBlock as l, renderSlot as u, unref as d, vShow as f, withCtx as p, withDirectives as m, withModifiers as h } from "vue";
4
+ import { Presence as g, injectDialogRootContext as _ } from "reka-ui";
5
+ //#region src/components/_shared/overlay/focus-return.ts
6
+ function v(e) {
7
+ return (t) => {
8
+ t.defaultPrevented || (t.preventDefault(), e()?.focus({ preventScroll: !0 }));
9
+ };
10
+ }
11
+ //#endregion
12
+ //#region src/components/dialog/ModalScrim.vue?vue&type=script&setup=true&lang.ts
13
+ var y = ["data-state"], b = /* @__PURE__ */ o({
14
+ __name: "ModalScrim",
15
+ props: { present: { type: Boolean } },
16
+ setup(e) {
17
+ let n = e, r = _();
18
+ return t(() => n.present), (e, t) => (l(), i("div", {
19
+ "data-state": d(r).open.value ? "open" : "closed",
20
+ style: { "pointer-events": "auto" },
21
+ onPointerdown: t[0] ||= h(() => {}, [
22
+ "left",
23
+ "self",
24
+ "prevent"
25
+ ])
26
+ }, [u(e.$slots, "default")], 40, y));
27
+ }
28
+ }), x = {
29
+ key: 0,
30
+ class: "glass-focus-veil",
31
+ "data-engaged": "",
32
+ "aria-hidden": "true"
33
+ }, S = /* @__PURE__ */ o({
34
+ __name: "ModalOverlay",
35
+ props: {
36
+ class: { type: [
37
+ Boolean,
38
+ null,
39
+ String,
40
+ Object,
41
+ Array
42
+ ] },
43
+ opacity: { default: null },
44
+ forceMount: { type: Boolean },
45
+ veil: {
46
+ type: Boolean,
47
+ default: !1
48
+ }
49
+ },
50
+ setup(t) {
51
+ let o = t, h = _();
52
+ return (t, _) => d(h).modal.value ? (l(), n(d(g), {
53
+ key: 0,
54
+ present: o.forceMount || d(h).open.value,
55
+ "force-mount": o.forceMount || !d(h).unmountOnHide.value
56
+ }, {
57
+ default: p(({ present: n }) => [m(a(b, {
58
+ present: d(h).unmountOnHide.value || n,
59
+ class: s(d(e)("fixed inset-0 z-overlay bg-overlay-scrim", o.opacity == null ? "sheet-animate" : "", o.class)),
60
+ style: c(o.opacity == null ? void 0 : { opacity: o.opacity })
61
+ }, {
62
+ default: p(() => [o.veil ? (l(), i("span", x)) : r("", !0), u(t.$slots, "default")]),
63
+ _: 3
64
+ }, 8, [
65
+ "present",
66
+ "class",
67
+ "style"
68
+ ]), [[f, d(h).unmountOnHide.value || n]])]),
69
+ _: 3
70
+ }, 8, ["present", "force-mount"])) : r("", !0);
71
+ }
72
+ });
73
+ //#endregion
74
+ //#region src/components/sheet/motion.ts
75
+ function C(e, t) {
76
+ switch (e) {
77
+ case "right": return `${t * 100}% 0`;
78
+ case "left": return `${-t * 100}% 0`;
79
+ case "bottom": return `0 ${t * 100}%`;
80
+ case "top": return `0 ${-t * 100}%`;
81
+ }
82
+ }
83
+ function w(e) {
84
+ return Math.min(1, Math.max(0, 1 - e));
85
+ }
86
+ var T = .28, E = .44;
87
+ function D(e) {
88
+ return T + E * Math.min(1, Math.max(0, e));
89
+ }
90
+ //#endregion
91
+ export { v as a, S as i, w as n, C as r, D as t };
package/dist/motion.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import { t as e } from "./asElement-CRnm6A2v.js";
2
- import { t } from "./useSpring-9u2_shxV.js";
2
+ import { t } from "./useSpring-Aof0nTRt.js";
3
3
  import { n, t as r } from "./springPresets-Cbe0Voqg.js";
4
- import { t as i } from "./useLiquidPress-h1scrPtP.js";
5
- import { t as a } from "./useSpringMount-OA-0mTNv.js";
4
+ import { t as i } from "./useLiquidPress-D5mjZC6U.js";
5
+ import { t as a } from "./useSpringMount-jgNkymRl.js";
6
6
  import { n as o, r as s, t as c } from "./constants-Dk96HZHu.js";
7
- import { i as l, n as u, r as d, t as f } from "./useDragMorph-B363RUbF.js";
8
- import { n as p, t as m } from "./useDockCtaReceive-BSSgD6mu.js";
7
+ import { i as l, n as u, r as d, t as f } from "./useDragMorph-BEI74U0t.js";
8
+ import { n as p, t as m } from "./useDockCtaReceive-Dn_-paqP.js";
9
9
  import { computed as h, getCurrentScope as g, onScopeDispose as _, readonly as v, ref as y, shallowRef as b, toValue as x, watch as S } from "vue";
10
10
  import { SmoothProgress as C } from "@mkbabb/keyframes.js";
11
11
  //#region src/composables/motion/reveal/useLiquidReveal.ts
@@ -0,0 +1,13 @@
1
+ //#region src/composables/motion/core/motionTempo.ts
2
+ var e = null;
3
+ function t(e) {
4
+ let t = getComputedStyle(e).getPropertyValue("--motion-tempo").trim(), n = Number.parseFloat(t);
5
+ return Number.isFinite(n) && n > 0 ? n : 1;
6
+ }
7
+ function n(n) {
8
+ return typeof window > "u" || typeof getComputedStyle != "function" ? 1 : n ? t(n) : (e === null && (e = t(document.documentElement), queueMicrotask(() => {
9
+ e = null;
10
+ })), e);
11
+ }
12
+ //#endregion
13
+ export { n as t };
@@ -1,4 +1,5 @@
1
1
  import { Fragment as e, computed as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, defineComponent as a, mergeProps as o, normalizeClass as s, normalizeStyle as c, openBlock as l, renderList as u, unref as d, useId as f, watchEffect as p } from "vue";
2
+ import "./components/music-staff/styles.css";
2
3
  //#region src/components/music-staff/glyphs.ts
3
4
  var m = "M0.68 2.58L0.84 2.44L1 2.29L1.15 2.13L1.28 1.95L1.37 1.74L1.43 1.52L1.48 1.29L1.52 1.07L1.54 0.85L1.56 0.63L1.58 0.41L1.59 0.19L1.61 -0.03L1.62 -0.25L1.63 -0.47L1.63 -0.69L1.64 -0.91L1.64 -1.13L1.65 -1.35L1.65 -1.57L1.66 -1.79L1.66 -2.01L1.66 -2.23L1.66 -2.45L1.66 -2.67L1.65 -2.89L1.65 -3.11L1.64 -3.34L1.63 -3.56L1.6 -3.79L1.55 -4.03L1.43 -4.27L1.17 -4.39L0.91 -4.28L0.76 -4.07L0.68 -3.84L0.62 -3.62L0.59 -3.4L0.56 -3.18L0.53 -2.96L0.49 -2.74L0.45 -2.53L0.41 -2.31L0.37 -2.1L0.34 -1.88L0.3 -1.66L0.26 -1.45L0.23 -1.23L0.19 -1.02L0.15 -0.8L0.12 -0.58L0.08 -0.36L0.04 -0.14L0.02 0.08L0 0.31L0 0.55L0.02 0.78L0.07 1.03L0.17 1.27L0.32 1.48L0.53 1.64L0.76 1.74L1 1.78L1.24 1.77L1.47 1.73L1.68 1.66L1.89 1.56L2.09 1.43L2.27 1.27L2.43 1.07L2.54 0.84L2.61 0.61L2.66 0.37L2.68 0.12L2.66 -0.13L2.59 -0.37L2.48 -0.6L2.34 -0.79L2.15 -0.96L1.93 -1.06L1.71 -1.12L1.47 -1.12L1.24 -1.07L1.03 -0.96L0.86 -0.78L0.73 -0.58L0.66 -0.34L0.64 -0.09L0.69 0.16L0.81 0.38L1.01 0.53L1.27 0.58L1.51 0.47L1.67 0.2L1.54 -0.05L1.34 0.09L1.43 0.2L1.36 0.28L1.24 0.35L1.09 0.33L0.96 0.24L0.88 0.08L0.85 -0.1L0.86 -0.29L0.93 -0.47L1.03 -0.62L1.16 -0.74L1.32 -0.81L1.5 -0.85L1.67 -0.85L1.84 -0.79L1.99 -0.7L2.11 -0.58L2.2 -0.42L2.27 -0.24L2.31 -0.07L2.32 0.12L2.3 0.31L2.26 0.5L2.19 0.68L2.11 0.84L2 0.97L1.87 1.08L1.71 1.18L1.54 1.26L1.37 1.32L1.2 1.36L1.02 1.37L0.85 1.35L0.7 1.29L0.58 1.2L0.48 1.07L0.41 0.9L0.37 0.72L0.35 0.52L0.33 0.31L0.33 0.11L0.35 -0.1L0.37 -0.32L0.39 -0.54L0.42 -0.75L0.45 -0.97L0.48 -1.19L0.51 -1.4L0.54 -1.62L0.56 -1.84L0.59 -2.06L0.61 -2.28L0.63 -2.5L0.66 -2.71L0.69 -2.93L0.73 -3.15L0.76 -3.36L0.81 -3.57L0.87 -3.77L0.95 -3.95L1.05 -4.08L1.16 -4.14L1.27 -4.08L1.33 -3.94L1.37 -3.75L1.39 -3.54L1.4 -3.33L1.4 -3.11L1.4 -2.89L1.4 -2.67L1.4 -2.45L1.39 -2.24L1.39 -2.02L1.38 -1.8L1.37 -1.58L1.37 -1.36L1.36 -1.14L1.35 -0.92L1.34 -0.7L1.34 -0.48L1.33 -0.26L1.32 -0.04L1.32 0.18L1.32 0.4L1.32 0.62L1.32 0.83L1.31 1.05L1.28 1.26L1.25 1.47L1.2 1.67L1.13 1.86L1.03 2.04L0.91 2.21L0.78 2.38L0.63 2.52ZM1.33 -0.23C1.21 -0.23 1.11 -0.13 1.11 0C1.11 0.13 1.21 0.23 1.33 0.23C1.45 0.23 1.55 0.13 1.55 0C1.55 -0.13 1.45 -0.23 1.33 -0.23Z", h = "M0.12 2.54L0.21 2.51L0.31 2.49L0.4 2.48L0.5 2.47L0.6 2.45L0.69 2.42L0.79 2.39L0.88 2.35L0.97 2.32L1.07 2.28L1.16 2.25L1.26 2.21L1.35 2.17L1.44 2.13L1.53 2.08L1.61 2.03L1.7 1.97L1.78 1.92L1.86 1.86L1.95 1.8L2.03 1.75L2.11 1.69L2.19 1.62L2.27 1.55L2.35 1.47L2.42 1.39L2.48 1.29L2.54 1.19L2.59 1.09L2.63 0.98L2.67 0.88L2.7 0.77L2.72 0.66L2.73 0.55L2.74 0.44L2.74 0.33L2.73 0.23L2.71 0.11L2.69 0L2.66 -0.12L2.61 -0.25L2.54 -0.38L2.45 -0.49L2.37 -0.58L2.27 -0.65L2.18 -0.73L2.07 -0.8L1.95 -0.87L1.82 -0.93L1.65 -0.98L1.46 -1L1.25 -0.97L1.08 -0.91L0.95 -0.84L0.84 -0.77L0.75 -0.7L0.66 -0.64L0.57 -0.58L0.48 -0.52L0.4 -0.46L0.32 -0.41L0.25 -0.36L0.19 -0.31L0.98 0.51L1.06 0.44L1.13 0.36L1.19 0.28L1.24 0.21L1.3 0.14L1.35 0.08L1.4 0.02L1.45 -0.04L1.5 -0.07L1.54 -0.1L1.54 -0.11L1.52 -0.12L1.52 -0.13L1.54 -0.13L1.59 -0.13L1.64 -0.11L1.7 -0.08L1.75 -0.04L1.81 0L1.86 0.03L1.9 0.06L1.93 0.09L1.96 0.13L1.99 0.18L2.01 0.25L2.03 0.31L2.04 0.39L2.05 0.46L2.05 0.54L2.06 0.61L2.06 0.68L2.05 0.76L2.04 0.83L2.03 0.9L2.01 0.97L1.98 1.03L1.94 1.09L1.9 1.15L1.85 1.21L1.8 1.28L1.75 1.35L1.7 1.41L1.64 1.48L1.57 1.54L1.51 1.61L1.44 1.67L1.37 1.72L1.3 1.77L1.23 1.82L1.15 1.88L1.08 1.93L1.01 1.99L0.93 2.04L0.85 2.09L0.77 2.14L0.69 2.18L0.61 2.22L0.52 2.26L0.44 2.3L0.35 2.35L0.27 2.4L0.18 2.45L0.1 2.48ZM0.58 -0.45C0.26 -0.45 0 -0.2 0 0.1C0 0.41 0.26 0.65 0.58 0.65C0.91 0.65 1.17 0.41 1.17 0.1C1.17 -0.2 0.91 -0.45 0.58 -0.45Z", g = [{
4
5
  x: 3.15,
@@ -1,6 +1,7 @@
1
+ import "./number-field.css";
1
2
  import { t as e } from "./class-names-FlXcvRRT.js";
2
- import { t } from "./button-BOFTUPyU.js";
3
- import { n, t as r } from "./control.css_vue_type_style_index_0_src_true_lang-BIdufaDG.js";
3
+ import { t } from "./button-CAKhiOZy.js";
4
+ import { n, t as r } from "./control.css_vue_type_style_index_0_src_true_lang-D2hdtjs4.js";
4
5
  import { computed as i, createBlock as a, createVNode as o, defineComponent as s, inject as c, mergeProps as l, normalizeClass as u, openBlock as d, provide as f, renderSlot as p, resolveDynamicComponent as m, unref as h, useAttrs as g, withCtx as _ } from "vue";
5
6
  import { NumberFieldDecrement as v, NumberFieldIncrement as y, NumberFieldInput as b, NumberFieldRoot as x, injectNumberFieldRootContext as S, useForwardPropsEmits as C } from "reka-ui";
6
7
  import { Minus as w, Plus as T } from "@lucide/vue";
@@ -0,0 +1 @@
1
+ @layer theme, base, components, utilities;@layer components{.number-field{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.number-field>*{grid-row:1}.number-field__input{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:center;grid-column:1/-1}.number-field:has(>.number-field__step--decrement)>.number-field__input{padding-inline-start:calc(var(--field-control-height) + .25rem)}.number-field:has(>.number-field__step--increment)>.number-field__input{padding-inline-end:calc(var(--field-control-height) + .25rem)}.number-field__step{z-index:1;align-self:stretch}.number-field__step--decrement{grid-column:1}.number-field__step--increment{grid-column:3}}
@@ -1,2 +1,2 @@
1
- import { n as e, r as t, t as n } from "./number-field-RP89046a.js";
1
+ import { n as e, r as t, t as n } from "./number-field-BXFUP49Z.js";
2
2
  export { t as NumberField, e as NumberFieldInput, n as NumberFieldStep };
@@ -0,0 +1 @@
1
+ @layer theme, base, components, utilities;@layer components{.pager-dots[data-v-ce2e0bfc]{--pager-rail-gap:var(--space-residue);--pager-hit-cell:1.5rem;--pager-dot-size:var(--space-body);--pager-dot-active:var(--foreground);--pager-dot-inactive:color-mix(in srgb, var(--foreground) 52%, transparent);--pager-dot-hover:color-mix(in srgb, var(--foreground) 72%, transparent);--pager-worm-layer-opacity:1;--stretch:1;--pager-flip-stagger:calc(var(--motion-stagger-default) * .15);gap:var(--pager-rail-gap);position:relative}.pager-bed-layer[data-v-ce2e0bfc]{justify-content:center;align-items:center;gap:var(--pager-rail-gap);pointer-events:none;color:var(--pager-dot-active);display:flex;position:absolute;inset:0}.pager-dots[data-orientation=vertical] .pager-bed-layer[data-v-ce2e0bfc]{flex-direction:column}.goo-dot[data-v-ce2e0bfc]{flex:0 0 var(--pager-hit-cell);width:var(--pager-hit-cell);height:var(--pager-hit-cell);translate:var(--pip-flip,0px) 0;transition:translate var(--spring-dock-duration) var(--spring-dock);transition-delay:calc(var(--pip-rank,0) * var(--pager-flip-stagger));place-items:center;display:grid}.pager-dots[data-orientation=vertical] .goo-dot[data-v-ce2e0bfc]{translate:0 var(--pip-flip,0px)}.goo-dot[data-flip][data-v-ce2e0bfc]{transition:none}.goo-dot[data-v-ce2e0bfc]:before{content:"";width:var(--pager-dot-size);height:var(--pager-dot-size);border-radius:var(--radius-circle);background:var(--pager-dot-inactive);transition:background-color var(--duration-fast) var(--ease-standard), scale var(--spring-press-duration) var(--spring-press)}.goo-dot[data-edge][data-v-ce2e0bfc]:before{width:calc(var(--pager-dot-size) * .5);height:calc(var(--pager-dot-size) * .5);opacity:.6}.pager-worm-layer[data-v-ce2e0bfc]{pointer-events:none;opacity:var(--pager-worm-layer-opacity,1);color:var(--pager-dot-active);contain:layout paint;isolation:isolate;position:absolute;inset:0}.goo-body[data-v-ce2e0bfc],.goo-neck[data-v-ce2e0bfc]{width:var(--pager-dot-size);height:var(--pager-dot-size);margin-top:calc(var(--pager-dot-size) / -2);margin-left:calc(var(--pager-dot-size) / -2);transform-origin:50%;will-change:auto;background:currentColor;position:absolute;top:50%;left:0}.pager-dots[data-orientation=vertical] .goo-body[data-v-ce2e0bfc],.pager-dots[data-orientation=vertical] .goo-neck[data-v-ce2e0bfc]{top:0;left:50%}.goo-body[data-v-ce2e0bfc]{border-radius:var(--radius-pill);scale:var(--stretch,1) calc(1 / var(--stretch,1))}.pager-dots[data-orientation=vertical] .goo-body[data-v-ce2e0bfc]{scale:calc(1 / var(--stretch,1)) var(--stretch,1)}.goo-neck[data-v-ce2e0bfc]{opacity:0;border-radius:0}.pager-dot[data-v-ce2e0bfc]{z-index:1;width:var(--pager-hit-cell);height:var(--pager-hit-cell);cursor:pointer;background:0 0;border:0;padding:0;position:relative}@media (hover:hover){.goo-dot[data-hover][data-v-ce2e0bfc]:before{background:var(--pager-dot-hover);scale:1.14}}.goo-dot[data-press][data-v-ce2e0bfc]:before{scale:.97}@media (pointer:coarse){.pager-dots[data-v-ce2e0bfc]{--pager-hit-cell:var(--touch-target)}}@media (prefers-reduced-motion:reduce){.goo-body[data-v-ce2e0bfc],.goo-neck[data-v-ce2e0bfc]{scale:1}.goo-dot[data-v-ce2e0bfc]{transition:none}}}
@@ -1,8 +1,9 @@
1
+ import "./pager-dots.css";
1
2
  import { t as e } from "./class-names-FlXcvRRT.js";
2
3
  import { t } from "./useLiquidFlex-TJZmRqyY.js";
3
4
  import { t as n } from "./useResizeObserver-Bv3nN46q.js";
4
5
  import { t as r } from "./_plugin-vue_export-helper-B3ysoDQm.js";
5
- import { s as i } from "./deck-Cm_VmyNL.js";
6
+ import { s as i } from "./deck-Bc-2mEKE.js";
6
7
  import { n as a } from "./useLeadTrail-DQWdpFN1.js";
7
8
  import { Fragment as o, computed as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, defineComponent as d, mergeModels as f, nextTick as p, normalizeClass as m, normalizeStyle as h, onMounted as g, openBlock as _, ref as v, renderList as y, toDisplayString as b, unref as x, useModel as S, watch as C } from "vue";
8
9
  //#region src/components/pager-dots/worm.ts
@@ -357,6 +358,6 @@ var k = [
357
358
  t.announce ? (_(), l("span", N, b(ie.value), 1)) : c("", !0)
358
359
  ], 42, k));
359
360
  }
360
- }), [["__scopeId", "data-v-592b0f41"]]);
361
+ }), [["__scopeId", "data-v-ce2e0bfc"]]);
361
362
  //#endregion
362
363
  export { w as DEFAULT_DOT_PX, E as DEFAULT_MAX_STRETCH, T as DEFAULT_PITCH_PX, P as PagerDots, D as elongationCeil };
@@ -0,0 +1,52 @@
1
+ import { n as e } from "./createContext-BhkE9mLH.js";
2
+ import { n as t } from "./constants-DfrO-IaH.js";
3
+ import { computed as n, defineComponent as r, inject as i, onScopeDispose as a, provide as o, ref as s, toValue as c, watch as l } from "vue";
4
+ //#region src/components/dock/composables/dockContext.ts
5
+ var u = e(t, "[glass-ui:dock] useDockContext() called outside <GlassDock>; use useOptionalDockContext() if the primitive may render outside a dock."), { KEY: d } = u;
6
+ function f(e) {
7
+ u.provide(e);
8
+ }
9
+ var p = u.use, m = u.useOptional, h = Symbol("glass-dock-face"), g = r({
10
+ name: "DockFace",
11
+ setup(e, { slots: t }) {
12
+ return o(h, !0), () => t.default?.();
13
+ }
14
+ });
15
+ function _() {
16
+ return i(h, !1);
17
+ }
18
+ //#endregion
19
+ //#region src/components/_shared/overlay/participation.ts
20
+ function v(e, t) {
21
+ let n = s(!1);
22
+ function r() {
23
+ n.value || (n.value = !0, e()?.keepOpen(t));
24
+ }
25
+ function i() {
26
+ n.value && (n.value = !1, e()?.release(t));
27
+ }
28
+ return a(i), {
29
+ isHeld: n,
30
+ acquire: r,
31
+ release: i
32
+ };
33
+ }
34
+ function y(e) {
35
+ let t = m(), r = v(() => t, e?.kind), i = !!t && _(), a = e?.close;
36
+ t && i && a && l(t.expanded, (e, t) => {
37
+ t && !e && a();
38
+ });
39
+ let o = n(() => t?.id ? {
40
+ "data-glass-dock-portal": "",
41
+ "data-glass-dock-owner": t.id,
42
+ ...i ? { "data-glass-dock-face": "" } : {}
43
+ } : {});
44
+ return e?.hold !== void 0 && l(() => c(e.hold), (e) => e ? r.acquire() : r.release(), { immediate: !0 }), {
45
+ portalAttrs: o,
46
+ isHeld: r.isHeld,
47
+ hold: r.acquire,
48
+ release: r.release
49
+ };
50
+ }
51
+ //#endregion
52
+ export { f as a, g as i, v as n, p as o, d as r, m as s, y as t };
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./content-BhcJH1bI.js";
2
2
  import { t } from "./createContext-BhkE9mLH.js";
3
- import { t as n } from "./participation-B7UFdgXB.js";
3
+ import { t as n } from "./participation-C5y5VZTN.js";
4
4
  import { t as r } from "./shortcuts-DGGWNRNe.js";
5
5
  import { computed as i, createBlock as a, defineComponent as o, mergeProps as s, openBlock as c, ref as l, renderSlot as u, resolveDynamicComponent as d, unref as f, useAttrs as p, watch as m, withCtx as h } from "vue";
6
6
  import { HoverCardContent as g, HoverCardPortal as _, HoverCardRoot as v, HoverCardTrigger as y, PopoverContent as b, PopoverPortal as x, PopoverRoot as S, PopoverTrigger as C, injectPopoverRootContext as w } from "reka-ui";
@@ -151,7 +151,8 @@ var T = t("glass-ui:popover-union"), E = T.provide, D = T.use, O = /* @__PURE__
151
151
  sideOffset: l.sideOffset,
152
152
  align: l.align,
153
153
  alignOffset: l.alignOffset,
154
- avoidCollisions: !0
154
+ avoidCollisions: !0,
155
+ collisionPadding: 16
155
156
  })), S = (e, { slots: t }) => t.default?.(), C = D(), T = i(() => C?.usesHoverRoot.value ?? !1), E = i(() => l.portal ? T.value ? _ : x : S), O = i(() => T.value ? g : b), k = i(() => (C?.modal.value ?? !1) && !T.value), A = i(() => ({
156
157
  "aria-label": l.ariaLabel,
157
158
  ...T.value ? { role: "group" } : {},
package/dist/popover.js CHANGED
@@ -1,2 +1,2 @@
1
- import { n as e, r as t, t as n } from "./popover-BdpoE4Ar.js";
1
+ import { n as e, r as t, t as n } from "./popover-DQUmwuAa.js";
2
2
  export { t as Popover, n as PopoverContent, e as PopoverTrigger };
@@ -1,3 +1,4 @@
1
+ import "./progress.css";
1
2
  import { t as e } from "./_plugin-vue_export-helper-B3ysoDQm.js";
2
3
  import { n as t, t as n } from "./valueDomain-DXRzfc8l.js";
3
4
  import { Fragment as r, computed as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createVNode as c, defineComponent as l, mergeProps as u, normalizeClass as d, normalizeStyle as f, openBlock as p, renderList as m, unref as h, withCtx as g } from "vue";
@@ -0,0 +1 @@
1
+ @layer theme, base, components, utilities;@layer components{.progress-rail[data-v-0fd1fae9]{inline-size:100%;block-size:var(--progress-rung);background:var(--glass-progress-track-background,var(--track-well-recess));display:block}.progress-rail[data-size=sm][data-v-0fd1fae9]{--progress-rung:.5rem}.progress-rail[data-size=md][data-v-0fd1fae9]{--progress-rung:.75rem}.progress-rail[data-size=lg][data-v-0fd1fae9]{--progress-rung:1.25rem}@media (width<=768px){.progress-rail[data-size=md][data-v-0fd1fae9]{--progress-rung:.5rem}.progress-rail[data-size=lg][data-v-0fd1fae9]{--progress-rung:.75rem}}.progress-rail[data-orientation=vertical][data-v-0fd1fae9]{inline-size:var(--progress-rung);block-size:12rem}.progress-rail[data-status=error][data-v-0fd1fae9]{--progress-fill:var(--destructive);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--destructive) 48%, transparent)}.progress-value-fill[data-v-0fd1fae9]{z-index:1;border-radius:inherit;background:var(--progress-fill,var(--primary));block-size:100%;inline-size:100%;transform:translateX(calc(-100% + var(--progress-value-percent)));transition:transform var(--spring-dock-duration) var(--spring-dock);display:block;position:relative}.progress-rail:dir(rtl) .progress-value-fill[data-v-0fd1fae9]{transform:translateX(calc(100% - var(--progress-value-percent)))}.progress-rail[data-orientation=vertical] .progress-value-fill[data-v-0fd1fae9]{transform:translateY(calc(100% - var(--progress-value-percent)))}.progress-liquid-fill[data-v-0fd1fae9]{--liquid-fill-tint:var(--progress-fill,var(--primary))}.progress-rail[data-state=complete] .progress-value-fill[data-v-0fd1fae9]{animation:progress-discharge-0fd1fae9 var(--duration-normal) var(--ease-standard) 1}@media (prefers-reduced-motion:reduce){.progress-value-fill[data-v-0fd1fae9]{transition:none}.progress-rail[data-state=complete] .progress-value-fill[data-v-0fd1fae9]{animation:none}}}@keyframes progress-discharge-0fd1fae9{0%{box-shadow:inset 0 0 .5rem oklch(100% 0 0/0)}50%{box-shadow:inset 0 0 .75rem oklch(100% 0 0/.12)}to{box-shadow:inset 0 0 .5rem oklch(100% 0 0/0)}}
package/dist/progress.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as e } from "./progress-eVa-mc7J.js";
1
+ import { t as e } from "./progress-BUn0Bw7Z.js";
2
2
  export { e as Progress };
@@ -1,3 +1,4 @@
1
+ import "./radio-group.css";
1
2
  import { t as e } from "./class-names-FlXcvRRT.js";
2
3
  import { t } from "./control-DJp15L4U.js";
3
4
  import { computed as n, createBlock as r, createElementVNode as i, createVNode as a, defineComponent as o, mergeProps as s, openBlock as c, renderSlot as l, unref as u, withCtx as d } from "vue";
@@ -0,0 +1 @@
1
+ @layer theme, base, components, utilities;@layer components{.radio-group{flex-direction:column;align-items:flex-start;gap:0;display:flex}.radio-group[data-orientation=horizontal]{flex-flow:wrap}.radio-group__dot{border-radius:var(--radius-circle);background-color:currentColor;block-size:.5rem;inline-size:.5rem}}
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./radio-group-B58Bz16F.js";
1
+ import { n as e, t } from "./radio-group-xdEy2tdi.js";
2
2
  export { e as RadioGroup, t as RadioGroupItem };
@@ -0,0 +1,22 @@
1
+ import { onScopeDispose as e, watch as t } from "vue";
2
+ //#region src/components/_shared/overlay/root-scroll-lock.ts
3
+ var n = 0, r = null;
4
+ function i() {
5
+ if (typeof document > "u") return !1;
6
+ let e = document.documentElement;
7
+ return n === 0 && (r = e.style.overflow, e.style.overflow = "hidden"), n += 1, !0;
8
+ }
9
+ function a() {
10
+ typeof document > "u" || n === 0 || (--n, n === 0 && (document.documentElement.style.overflow = r ?? "", r = null));
11
+ }
12
+ function o(n) {
13
+ let r = !1, o = (e) => {
14
+ e !== r && (r = e, e ? i() : a());
15
+ };
16
+ t(n, o, {
17
+ immediate: !0,
18
+ flush: "sync"
19
+ }), e(() => o(!1));
20
+ }
21
+ //#endregion
22
+ export { a as n, o as r, i as t };