@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.
- package/MIGRATION.md +1024 -1461
- package/README.md +2 -2
- package/dist/DialogContent-DG5kseRQ.js +159 -0
- package/dist/DropdownMenuTrigger-uhSXgEfK.js +76 -0
- package/dist/{Surface-1nPoabc3.js → Surface-C7wq2j0A.js} +3 -0
- package/dist/aurora.css +1 -0
- package/dist/aurora.js +246 -2472
- package/dist/auroraImageSource-xNLDUjcy.js +30 -0
- package/dist/axes.js +8 -8
- package/dist/blob.css +1 -0
- package/dist/blob.js +57 -54
- package/dist/budget-CJfhLIIV.js +13 -0
- package/dist/button-CAKhiOZy.js +113 -0
- package/dist/button.js +1 -1
- package/dist/{card-ByyqRBvK.js → card-D_uXphvL.js} +4 -1
- package/dist/card.js +1 -1
- package/dist/carousel.js +3 -2
- package/dist/{checkbox-B1qn65se.js → checkbox-COLnvULu.js} +1 -0
- package/dist/checkbox.css +1 -0
- package/dist/checkbox.js +1 -1
- package/dist/{collapsible-DFzK29Oh.js → collapsible-Bd4Et730.js} +1 -0
- package/dist/collapsible.css +1 -0
- package/dist/collapsible.js +1 -1
- package/dist/color-HkUaTAJj.js +270 -0
- package/dist/{color.glsl-DTJhdekG.js → color.glsl-bFJm8k5R.js} +4 -16
- package/dist/color.wgsl-B-qDJ_OM.js +4 -0
- package/dist/{command-CatrAsrl.js → command-BsFOGZwB.js} +3 -2
- package/dist/command.css +1 -0
- package/dist/command.js +1 -1
- package/dist/component-styles.css +0 -1
- package/dist/components/_shared/axes.d.ts +7 -0
- package/dist/components/_shared/feedback/dot-ring.css +1 -1
- package/dist/components/_shared/overlay/focus-return.d.ts +9 -0
- package/dist/components/_shared/overlay/index.d.ts +3 -0
- package/dist/components/_shared/overlay/root-scroll-lock.d.ts +4 -0
- package/dist/components/_shared/overlay/sheet-width.d.ts +2 -0
- package/dist/components/_shared/shape/useBarShape.d.ts +4 -0
- package/dist/components/aurora/composables/auroraFallbackGround.d.ts +12 -0
- package/dist/components/aurora/constants/presets.d.ts +21 -0
- package/dist/components/aurora/index.d.ts +2 -2
- package/dist/components/button/styles.css +1 -1
- package/dist/components/dark-mode-toggle/dark-mode-toggle.css +1 -1
- package/dist/components/dialog/DialogContent.vue.d.ts +2 -2
- package/dist/components/dialog/ModalOverlay.vue.d.ts +2 -2
- package/dist/components/dialog/ModalScrim.vue.d.ts +26 -0
- package/dist/components/dialog/styles.css +1 -1
- package/dist/components/dock/GlassDock.vue.d.ts +4 -1
- package/dist/components/dock/composables/useDockClickIntegrity.d.ts +4 -0
- package/dist/components/dock/composables/useDockShellProps.d.ts +34 -2
- package/dist/components/dock/composables/useDockState.d.ts +5 -0
- package/dist/components/dock/index.d.ts +1 -2
- package/dist/components/dock/styles/controls/icon-button.css +1 -1
- package/dist/components/dock/styles/controls/tab-button.css +1 -1
- package/dist/components/dock/styles/morph.css +1 -1
- package/dist/components/dock/styles/run.css +1 -1
- package/dist/components/dock/trigger.d.ts +1 -0
- package/dist/components/expandable-container/ExpandableContainer.vue.d.ts +30 -29
- package/dist/components/menu/ContextMenu.vue.d.ts +27 -0
- package/dist/components/menu/DropdownMenu.vue.d.ts +5 -23
- package/dist/components/menu/context.d.ts +18 -5
- package/dist/components/menu/family-click.d.ts +2 -0
- package/dist/components/menu/family-context.d.ts +2 -0
- package/dist/components/menu/index.d.ts +1 -1
- package/dist/components/sheet/SheetContent.vue.d.ts +2 -2
- package/dist/components/sortable-list/styles.css +1 -0
- package/dist/components/surface/Surface.vue.d.ts +4 -1
- package/dist/components/tabs/composables/useTabDragMorph.d.ts +4 -7
- package/dist/components/tabs/styles/segmented.css +1 -1
- package/dist/components/tabs/types.d.ts +7 -8
- package/dist/composables/glass/fieldPaint.d.ts +4 -0
- package/dist/composables/glass/useGlassBackdropLuminance.d.ts +7 -6
- package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +8 -0
- package/dist/composables/motion/core/motionTempo.d.ts +2 -1
- package/dist/composables/motion/morph/useDragMorph.d.ts +2 -2
- package/dist/composables/motion/morph/useSelectionGroup.d.ts +6 -25
- package/dist/composables/motion/morph/useSelectionIndicator.d.ts +8 -54
- package/dist/composables/motion/spring/useLiquidFlex.d.ts +3 -5
- package/dist/composables/motion/spring/useSpringMount.d.ts +0 -9
- package/dist/{configurator-Dl10mc3L.js → configurator-C1ZKEf1b.js} +7 -5
- package/dist/configurator.css +1 -0
- package/dist/configurator.js +1 -1
- package/dist/constants-DfrO-IaH.js +8 -0
- package/dist/constellation.css +1 -0
- package/dist/constellation.js +2 -1
- package/dist/control.css +1 -0
- 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
- package/dist/{createCanvasLifecycle-hJHobVTn.js → createCanvasLifecycle-DS0vEs_G.js} +76 -75
- package/dist/dark-mode-toggle.js +1 -1
- package/dist/{data-table-DQuWkiwL.js → data-table-lDykVYuo.js} +1 -0
- package/dist/data-table.css +1 -0
- package/dist/data-table.js +1 -1
- package/dist/{deck-Cm_VmyNL.js → deck-Bc-2mEKE.js} +1 -0
- package/dist/deck.js +1 -1
- package/dist/dialog.js +1 -1
- package/dist/dock-trigger.d.ts +1 -0
- package/dist/dock-trigger.js +88 -0
- package/dist/dock.js +677 -689
- package/dist/easing.js +4 -4
- package/dist/expandable-container-wS1awXGd.js +135 -0
- package/dist/expandable-container.css +1 -0
- package/dist/expandable-container.js +1 -1
- package/dist/{fading-scroll-ClCPooXb.js → fading-scroll-D3Y20ibL.js} +1 -1
- package/dist/fading-scroll.js +1 -1
- package/dist/fieldPaint-Ci77oajZ.js +7 -0
- package/dist/fourier-field.css +1 -0
- package/dist/fourier-field.js +15 -13
- package/dist/glSetup-DMaDgrEj.js +577 -0
- package/dist/glass-ui.js +66 -65
- package/dist/handmark.css +1 -0
- package/dist/handmark.js +82 -71
- package/dist/index.css +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/{input-eLZ_AU7l.js → input-BLF2pMHE.js} +1 -1
- package/dist/input.js +1 -1
- package/dist/{label-CE03H1KL.js → label-ryNPL7e6.js} +1 -0
- package/dist/label.css +1 -0
- package/dist/label.js +1 -1
- package/dist/labeled-field.css +1 -0
- package/dist/labeled-field.js +5 -4
- package/dist/{menu-DaYAZiVW.js → menu-C_l2Sslf.js} +162 -112
- package/dist/menu.js +3 -3
- package/dist/metric.js +1 -0
- package/dist/motion-core.js +138 -44
- package/dist/motion-lHDAQHEE.js +91 -0
- package/dist/motion.js +5 -5
- package/dist/motionTempo-DXdVbCWr.js +13 -0
- package/dist/music-staff.js +1 -0
- package/dist/{number-field-RP89046a.js → number-field-BXFUP49Z.js} +3 -2
- package/dist/number-field.css +1 -0
- package/dist/number-field.js +1 -1
- package/dist/pager-dots.css +1 -0
- package/dist/pager-dots.js +3 -2
- package/dist/participation-C5y5VZTN.js +52 -0
- package/dist/{popover-BdpoE4Ar.js → popover-DQUmwuAa.js} +3 -2
- package/dist/popover.js +1 -1
- package/dist/{progress-eVa-mc7J.js → progress-BUn0Bw7Z.js} +1 -0
- package/dist/progress.css +1 -0
- package/dist/progress.js +1 -1
- package/dist/{radio-group-B58Bz16F.js → radio-group-xdEy2tdi.js} +1 -0
- package/dist/radio-group.css +1 -0
- package/dist/radio-group.js +1 -1
- package/dist/root-scroll-lock-DJFrQhMa.js +22 -0
- package/dist/select-Dt5dXm87.js +309 -0
- package/dist/select.js +1 -1
- package/dist/{separator-D4EZM10u.js → separator-C4y9p_ky.js} +1 -0
- package/dist/separator.css +1 -0
- package/dist/separator.js +1 -1
- package/dist/sheet-DLqNUIZl.js +347 -0
- package/dist/sheet-width-DgXgJNa5.js +18 -0
- package/dist/sheet.js +2 -2
- package/dist/{slider-5uoY-cLG.js → slider-CZiKrWGg.js} +8 -8
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +2 -1
- package/dist/{status-dot-W4LFiJps.js → status-dot-BDZKcRxy.js} +2 -1
- package/dist/status-dot.css +1 -0
- package/dist/status-dot.js +1 -1
- package/dist/styles/components.css +1 -1
- package/dist/styles/glass/glass-capsule.css +1 -1
- package/dist/styles/glass/glass-chip.css +1 -1
- package/dist/styles/glass/mark.css +1 -1
- package/dist/styles/glass/overlay-plate.css +1 -1
- package/dist/styles/glass/surface-axis.css +1 -1
- package/dist/styles/index.css +1 -1
- package/dist/styles/theme/radius.css +1 -1
- package/dist/styles/tokens/color-radius.css +1 -1
- package/dist/styles/tokens/manifest.d.ts +1 -1
- package/dist/styles/tokens/scale-paper.css +1 -1
- package/dist/styles/utilities/base-misc.css +1 -1
- package/dist/surface.js +1 -1
- package/dist/{switch-BYUZ6g9G.js → switch-DLfGYU35.js} +1 -0
- package/dist/switch.css +1 -0
- package/dist/switch.js +1 -1
- package/dist/tabs-NgTRPGZx.js +229 -0
- package/dist/tabs.js +1 -1
- package/dist/textarea.js +1 -1
- package/dist/timeline.css +1 -0
- package/dist/timeline.js +4 -3
- package/dist/toggle-group-DgXcJGD6.js +129 -0
- package/dist/toggle-group.css +1 -0
- package/dist/toggle-group.js +1 -1
- package/dist/tokens.js +2 -0
- package/dist/{tooltip-CZVubnJf.js → tooltip-Do3qCw0r.js} +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/typewriter.css +1 -0
- package/dist/typewriter.js +1 -0
- package/dist/uniformBridge-CJyy7NOn.js +150 -0
- package/dist/useBarShape-CmP35Z8o.js +24 -0
- package/dist/{useCanvas2D-CQRElMyE.js → useCanvas2D-Bhpwua98.js} +1 -1
- package/dist/{useDockCtaReceive-BSSgD6mu.js → useDockCtaReceive-Dn_-paqP.js} +1 -1
- package/dist/{useDragMorph-B363RUbF.js → useDragMorph-BEI74U0t.js} +51 -40
- package/dist/{color.wgsl-BTszLY39.js → useGpuSubstrate-Y5XAdU8d.js} +7 -7
- package/dist/{useLiquidPress-h1scrPtP.js → useLiquidPress-D5mjZC6U.js} +2 -2
- package/dist/useScrollChrome-DMP6kDI9.js +67 -0
- package/dist/useSelectionGroup-DAQv5Lb5.js +186 -0
- package/dist/{useSpring-9u2_shxV.js → useSpring-Aof0nTRt.js} +1 -1
- package/dist/useSpringMount-jgNkymRl.js +73 -0
- package/dist/wgpuSetup-CFuqd_RP.js +1278 -0
- package/package.json +8 -1
- package/dist/DialogContent-CwIBvou_.js +0 -157
- package/dist/DropdownMenuTrigger-CKRnhDSQ.js +0 -93
- package/dist/button-BOFTUPyU.js +0 -110
- package/dist/composables/motion/morph/eyeglass.d.ts +0 -141
- package/dist/expandable-container-CZUj9BzY.js +0 -142
- package/dist/glass-ui.css +0 -2
- package/dist/motion-BvV1_24p.js +0 -61
- package/dist/motionTempo-tscp92Nm.js +0 -7
- package/dist/participation-B7UFdgXB.js +0 -55
- package/dist/select-BiF0FCZf.js +0 -292
- package/dist/sheet-DmJxgAHc.js +0 -345
- package/dist/tabs-C5sC0fBE.js +0 -269
- package/dist/toggle-group-CC5b3o1R.js +0 -125
- package/dist/useScrollChrome-BJbWV32F.js +0 -162
- package/dist/useSelectionGroup-zsEwitF6.js +0 -291
- package/dist/useSpringMount-OA-0mTNv.js +0 -73
package/dist/easing.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { t as e } from "./class-names-FlXcvRRT.js";
|
|
2
2
|
import { t } from "./DotRing-Blh4Mc3Q.js";
|
|
3
3
|
import { n } from "./useReducedMotion-vCXA_vyM.js";
|
|
4
|
-
import { t as r } from "./button-
|
|
4
|
+
import { t as r } from "./button-CAKhiOZy.js";
|
|
5
5
|
import { t as i } from "./useClipboard-D36OTaeT.js";
|
|
6
|
-
import { a, c as o, l as s, r as c, s as l } from "./select-
|
|
7
|
-
import { t as u } from "./slider-
|
|
8
|
-
import { t as d } from "./tabs-
|
|
6
|
+
import { a, c as o, l as s, r as c, s as l } from "./select-Dt5dXm87.js";
|
|
7
|
+
import { t as u } from "./slider-CZiKrWGg.js";
|
|
8
|
+
import { t as d } from "./tabs-NgTRPGZx.js";
|
|
9
9
|
import { Fragment as f, computed as p, createBlock as m, createCommentVNode as h, createElementBlock as g, createElementVNode as _, createTextVNode as v, createVNode as y, defineComponent as b, mergeModels as x, normalizeClass as S, onScopeDispose as C, onUnmounted as ee, openBlock as w, ref as T, renderList as E, toDisplayString as D, unref as O, useId as k, useModel as te, useTemplateRef as A, watch as ne, withCtx as j } from "vue";
|
|
10
10
|
import { Check as re, Copy as ie, Play as ae, RotateCcw as oe, Square as se } from "@lucide/vue";
|
|
11
11
|
import { parseTimingFunction as M } from "@mkbabb/value.js/css";
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import "./expandable-container.css";
|
|
2
|
+
import { n as e, t } from "./root-scroll-lock-DJFrQhMa.js";
|
|
3
|
+
import { registerShortcut as n } from "./keyboard.js";
|
|
4
|
+
import { t as r } from "./focus-Duf7EpUu.js";
|
|
5
|
+
import { Teleport as i, createBlock as a, createElementVNode as o, createVNode as s, defineComponent as c, mergeModels as l, mergeProps as u, nextTick as d, onUnmounted as f, openBlock as p, ref as m, renderSlot as h, unref as g, useModel as _, watch as v, withCtx as y } from "vue";
|
|
6
|
+
import { FocusScope as b } from "reka-ui";
|
|
7
|
+
import { Maximize2 as x, Minimize2 as S } from "@lucide/vue";
|
|
8
|
+
//#region src/components/expandable-container/ExpandableContainer.vue?vue&type=script&setup=true&lang.ts
|
|
9
|
+
var C = [
|
|
10
|
+
"data-state",
|
|
11
|
+
"data-surface",
|
|
12
|
+
"role",
|
|
13
|
+
"aria-label",
|
|
14
|
+
"aria-modal"
|
|
15
|
+
], w = ["hidden"], T = ["data-position", "aria-label"], E = ["hidden"], D = ["data-position", "aria-label"], O = { "data-part": "panel" }, k = /* @__PURE__ */ c({
|
|
16
|
+
inheritAttrs: !1,
|
|
17
|
+
__name: "ExpandableContainer",
|
|
18
|
+
props: /*@__PURE__*/ l({
|
|
19
|
+
buttonPosition: { default: "right" },
|
|
20
|
+
expandLabel: { default: "Fullscreen" },
|
|
21
|
+
collapseLabel: { default: "Exit fullscreen" },
|
|
22
|
+
surface: { default: "glass" }
|
|
23
|
+
}, {
|
|
24
|
+
open: {
|
|
25
|
+
type: Boolean,
|
|
26
|
+
default: !1
|
|
27
|
+
},
|
|
28
|
+
openModifiers: {}
|
|
29
|
+
}),
|
|
30
|
+
emits: ["update:open"],
|
|
31
|
+
setup(c) {
|
|
32
|
+
let l = _(c, "open"), k = m(null);
|
|
33
|
+
function A() {
|
|
34
|
+
let e = k.value?.$el;
|
|
35
|
+
return e instanceof HTMLElement ? e : null;
|
|
36
|
+
}
|
|
37
|
+
function j() {
|
|
38
|
+
l.value = !0;
|
|
39
|
+
}
|
|
40
|
+
function M() {
|
|
41
|
+
l.value = !1;
|
|
42
|
+
}
|
|
43
|
+
let N = !1, P = null, F = null;
|
|
44
|
+
function I(n) {
|
|
45
|
+
n && !N ? N = t() : !n && N && (e(), N = !1);
|
|
46
|
+
}
|
|
47
|
+
function L() {
|
|
48
|
+
(A()?.querySelector("[autofocus]") ?? A()?.querySelector("[data-mode=\"collapse\"]") ?? A()?.querySelector(r) ?? A())?.focus();
|
|
49
|
+
}
|
|
50
|
+
async function R() {
|
|
51
|
+
await d(), await d(), L();
|
|
52
|
+
}
|
|
53
|
+
let z = ["[data-mode=\"expand\"]", ...r.split(", ").map((e) => `.expandable-container__chrome:not([hidden]) ${e}`)].join(", ");
|
|
54
|
+
function B() {
|
|
55
|
+
let e = F?.isConnected ? F : A()?.querySelector(z);
|
|
56
|
+
F = null, e?.focus();
|
|
57
|
+
}
|
|
58
|
+
function V(e) {
|
|
59
|
+
e.preventDefault();
|
|
60
|
+
}
|
|
61
|
+
return v(l, (e, t) => {
|
|
62
|
+
if (I(e), e && !t) {
|
|
63
|
+
let e = typeof document < "u" ? document.activeElement : null;
|
|
64
|
+
F = e instanceof HTMLElement ? e : null, P = n("Escape", M, {
|
|
65
|
+
label: "Exit fullscreen",
|
|
66
|
+
group: "UI",
|
|
67
|
+
allowInInput: !0
|
|
68
|
+
}), R();
|
|
69
|
+
} else !e && t && (P?.(), P = null, d(B));
|
|
70
|
+
}, { immediate: !0 }), f(() => {
|
|
71
|
+
P?.(), P = null, I(!1);
|
|
72
|
+
}), (e, t) => (p(), a(i, {
|
|
73
|
+
to: "body",
|
|
74
|
+
disabled: !l.value
|
|
75
|
+
}, [s(g(b), {
|
|
76
|
+
ref_key: "scope",
|
|
77
|
+
ref: k,
|
|
78
|
+
"as-child": "",
|
|
79
|
+
loop: l.value,
|
|
80
|
+
trapped: l.value,
|
|
81
|
+
onMountAutoFocus: V
|
|
82
|
+
}, {
|
|
83
|
+
default: y(() => [o("div", u({
|
|
84
|
+
class: "expandable-container",
|
|
85
|
+
"data-state": l.value ? "expanded" : "collapsed",
|
|
86
|
+
"data-surface": l.value ? c.surface : void 0,
|
|
87
|
+
role: l.value ? "dialog" : void 0,
|
|
88
|
+
"aria-label": l.value ? c.expandLabel : void 0,
|
|
89
|
+
"aria-modal": l.value || void 0
|
|
90
|
+
}, e.$attrs), [
|
|
91
|
+
o("div", {
|
|
92
|
+
class: "expandable-container__chrome",
|
|
93
|
+
hidden: l.value
|
|
94
|
+
}, [h(e.$slots, "expand-trigger", {
|
|
95
|
+
expand: j,
|
|
96
|
+
label: c.expandLabel
|
|
97
|
+
}, () => [o("button", {
|
|
98
|
+
type: "button",
|
|
99
|
+
"data-part": "trigger",
|
|
100
|
+
"data-control-target": "",
|
|
101
|
+
"data-mode": "expand",
|
|
102
|
+
"data-position": c.buttonPosition,
|
|
103
|
+
"aria-label": c.expandLabel,
|
|
104
|
+
onClick: j
|
|
105
|
+
}, [s(g(x), {
|
|
106
|
+
class: "expandable-container__icon",
|
|
107
|
+
"aria-hidden": "true"
|
|
108
|
+
})], 8, T)])], 8, w),
|
|
109
|
+
o("div", {
|
|
110
|
+
class: "expandable-container__chrome",
|
|
111
|
+
hidden: !l.value
|
|
112
|
+
}, [h(e.$slots, "fullscreen-chrome", {
|
|
113
|
+
collapse: M,
|
|
114
|
+
label: c.collapseLabel,
|
|
115
|
+
fullscreen: !0
|
|
116
|
+
}, () => [o("button", {
|
|
117
|
+
type: "button",
|
|
118
|
+
"data-part": "trigger",
|
|
119
|
+
"data-control-target": "",
|
|
120
|
+
"data-mode": "collapse",
|
|
121
|
+
"data-position": c.buttonPosition,
|
|
122
|
+
"aria-label": c.collapseLabel,
|
|
123
|
+
onClick: M
|
|
124
|
+
}, [s(g(S), {
|
|
125
|
+
class: "expandable-container__icon",
|
|
126
|
+
"aria-hidden": "true"
|
|
127
|
+
})], 8, D)])], 8, E),
|
|
128
|
+
o("div", O, [h(e.$slots, "default", { fullscreen: l.value })])
|
|
129
|
+
], 16, C)]),
|
|
130
|
+
_: 3
|
|
131
|
+
}, 8, ["loop", "trapped"])], 8, ["disabled"]));
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
//#endregion
|
|
135
|
+
export { k as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer theme, base, components, utilities;@layer components{.expandable-container{position:relative}.expandable-container[data-state=expanded]{z-index:var(--z-modal);background:var(--overlay-scrim);-webkit-backdrop-filter:none;backdrop-filter:none;flex-direction:column;display:flex;position:fixed;inset:0}.expandable-container[data-state=expanded]>[data-part=panel]{animation:expandable-container-birth var(--spring-dock-duration) var(--spring-dock) both}.expandable-container__chrome{display:contents}.expandable-container__chrome[hidden]{display:none}.expandable-container [data-part=trigger]{z-index:1;min-inline-size:var(--control-h-md);min-block-size:var(--control-h-md);border:1px solid color-mix(in srgb, var(--border) 40%, transparent);border-radius:var(--radius-circle);background:color-mix(in srgb, var(--card) 70%, transparent);color:var(--muted-foreground);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:var(--glass-blur-wash);backdrop-filter:var(--glass-blur-wash);transition:color var(--duration-fast) var(--ease-standard);place-items:center;display:inline-grid;position:absolute;inset-block-start:.5rem}.expandable-container [data-part=trigger][data-position=left]{inset-inline-start:.5rem}.expandable-container [data-part=trigger][data-position=right]{inset-inline-end:.5rem}.expandable-container [data-part=trigger]:hover{color:var(--foreground)}.expandable-container [data-part=trigger]:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.expandable-container[data-state=expanded] [data-part=panel]{block-size:100%;min-block-size:0;inline-size:100%}.expandable-container__icon{inline-size:var(--icon-sm);block-size:var(--icon-sm)}@media (prefers-reduced-motion:reduce){.expandable-container [data-part=trigger]{transition:none}.expandable-container[data-state=expanded]>[data-part=panel]{animation:.12s linear both expandable-container-arrive}}}@keyframes expandable-container-birth{0%{opacity:0;scale:.78}to{opacity:1;scale:1}}@keyframes expandable-container-arrive{0%{opacity:0}to{opacity:1}}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "./expandable-container-
|
|
1
|
+
import { t as e } from "./expandable-container-wS1awXGd.js";
|
|
2
2
|
export { e as ExpandableContainer };
|
|
@@ -6,7 +6,7 @@ var m;
|
|
|
6
6
|
function h() {
|
|
7
7
|
if (m || typeof document > "u") return m ?? "negative";
|
|
8
8
|
let e = document.createElement("div"), t = document.createElement("div");
|
|
9
|
-
return e.dir = "rtl", e.style.cssText = "position:absolute;inset
|
|
9
|
+
return e.dir = "rtl", e.style.cssText = "position:absolute;inset:0 auto auto 0;visibility:hidden;width:4px;height:1px;overflow:scroll", t.style.width = "8px", e.append(t), document.body.append(e), e.scrollLeft > 0 ? m = "positive-descending" : (e.scrollLeft = 1, m = e.scrollLeft === 0 ? "negative" : "positive-ascending"), e.remove(), m;
|
|
10
10
|
}
|
|
11
11
|
function g(e, t, n, r) {
|
|
12
12
|
let i = r ?? (n === "rtl" ? h() : void 0), a = n === "rtl" ? i === "negative" ? -e : i === "positive-descending" ? t - e : e : e;
|
package/dist/fading-scroll.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "./fading-scroll-
|
|
1
|
+
import { n as e, t } from "./fading-scroll-D3Y20ibL.js";
|
|
2
2
|
export { t as FadingScroll, e as useFadingScroll };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer theme, base, components, utilities;@layer components{.fourier-field[data-v-017224a9]{z-index:0;pointer-events:none;contain:layout style;content-visibility:auto;contain-intrinsic-size:auto none;position:absolute;inset:0}.fourier-field--interactive[data-v-017224a9]{pointer-events:auto}.fourier-field-canvas[data-v-017224a9]{pointer-events:none;width:100%;height:100%;display:block}}
|
package/dist/fourier-field.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import "./fourier-field.css";
|
|
1
2
|
import { n as e } from "./springPresets-Cbe0Voqg.js";
|
|
2
3
|
import { n as t } from "./useResolveTokenColor-B2FfJnd9.js";
|
|
3
4
|
import { t as n } from "./_plugin-vue_export-helper-B3ysoDQm.js";
|
|
@@ -5,9 +6,10 @@ import { t as r } from "./usePointerVelocityField-Lx26_Yap.js";
|
|
|
5
6
|
import { i } from "./dark-pONY3x93.js";
|
|
6
7
|
import { cssToOklch as a, gamutMapStop as o, oklchToLinear as s } from "./color.js";
|
|
7
8
|
import { FOURIER_FIGURES as c, FOURIER_FIGURE_KEYS as l, comp as u, dftFromPoints as d, makeEllipticSpectrum as f, makeHarmonicFigure as p, partialSumAt as m, positionsAt as h } from "./fourier-math.js";
|
|
8
|
-
import {
|
|
9
|
-
import { a as
|
|
10
|
-
import { n as
|
|
9
|
+
import { t as g } from "./useGpuSubstrate-Y5XAdU8d.js";
|
|
10
|
+
import { a as _ } from "./rendererStatus-BxUlBLVy.js";
|
|
11
|
+
import { n as v, t as y } from "./prng-2uS6J_A1.js";
|
|
12
|
+
import { n as b, r as x } from "./color.wgsl-B-qDJ_OM.js";
|
|
11
13
|
import { computed as S, createElementBlock as C, createElementVNode as w, defineComponent as T, normalizeClass as E, onMounted as D, onScopeDispose as O, openBlock as k, readonly as A, shallowRef as j, useTemplateRef as M, watch as N } from "vue";
|
|
12
14
|
var P = .5, F = 720;
|
|
13
15
|
function I(e) {
|
|
@@ -149,8 +151,8 @@ struct RenderUniforms {
|
|
|
149
151
|
@group(0) @binding(1) var<storage, read> curveSamples: array<vec4<f32>>;
|
|
150
152
|
@group(0) @binding(2) var<storage, read> chainTips: array<vec4<f32>>;
|
|
151
153
|
|
|
152
|
-
${
|
|
153
|
-
${
|
|
154
|
+
${b}
|
|
155
|
+
${x}
|
|
154
156
|
|
|
155
157
|
// Read the CPU-resolved ramp. No colour-space conversion happens here — the LUT already
|
|
156
158
|
// carries the chroma floor and the gamut map.
|
|
@@ -720,20 +722,20 @@ function ke(e, t) {
|
|
|
720
722
|
}
|
|
721
723
|
let h = (e) => {
|
|
722
724
|
f.onPointerMove(e), s() && C?.wake();
|
|
723
|
-
}, _ = () => {
|
|
724
|
-
f.onPointerEnter(), s() && C?.wake();
|
|
725
725
|
}, v = () => {
|
|
726
|
+
f.onPointerEnter(), s() && C?.wake();
|
|
727
|
+
}, y = () => {
|
|
726
728
|
f.onPointerLeave();
|
|
727
729
|
}, b = (e) => e.parentElement ?? e;
|
|
728
730
|
function x(e) {
|
|
729
731
|
let t = b(e);
|
|
730
|
-
t.addEventListener("pointermove", h), t.addEventListener("pointerenter",
|
|
732
|
+
t.addEventListener("pointermove", h), t.addEventListener("pointerenter", v), t.addEventListener("pointerleave", y);
|
|
731
733
|
}
|
|
732
734
|
function S(e) {
|
|
733
735
|
let t = b(e);
|
|
734
|
-
t.removeEventListener("pointermove", h), t.removeEventListener("pointerenter",
|
|
736
|
+
t.removeEventListener("pointermove", h), t.removeEventListener("pointerenter", v), t.removeEventListener("pointerleave", y);
|
|
735
737
|
}
|
|
736
|
-
let C = null, w = j(
|
|
738
|
+
let C = null, w = j(_("webgpu")), T = (e) => e.engine === "webgpu" ? e : {
|
|
737
739
|
...e,
|
|
738
740
|
engine: "webgpu",
|
|
739
741
|
adapter: "WebGPU unavailable"
|
|
@@ -823,8 +825,8 @@ var Ae = [
|
|
|
823
825
|
if (s.spectrum && s.spectrum.length > 0) return L(s.spectrum);
|
|
824
826
|
let e = m.value.source;
|
|
825
827
|
if (e !== "elliptic" && !(e in c)) throw Error(`[FourierField] unknown source "${String(e)}". Pass "elliptic", a key of FOURIER_FIGURES, or an explicit \`spectrum\`.`);
|
|
826
|
-
return L(e === "elliptic" ? f(
|
|
827
|
-
}), g = () => h.value, _ = S(() => h.value.terms.length),
|
|
828
|
+
return L(e === "elliptic" ? f(v(y(`fourier-field/${s.seed}`)), m.value.richness) : p(c[e]));
|
|
829
|
+
}), g = () => h.value, _ = S(() => h.value.terms.length), b = S(() => Math.max(1, Math.min(Math.round(m.value.harmonics), _.value))), x = S(() => `N ${b.value}/${_.value}`);
|
|
828
830
|
function T(e) {
|
|
829
831
|
if (!e.includes("var(") && !e.includes("light-dark(")) return e;
|
|
830
832
|
let n = l.value;
|
|
@@ -875,7 +877,7 @@ var Ae = [
|
|
|
875
877
|
() => s.getPalette,
|
|
876
878
|
d
|
|
877
879
|
], A, { immediate: !0 }), D(A), N(d, () => P.wake()), N(() => s.freeze, () => P.wake());
|
|
878
|
-
let F = j(!1), I = S(() => Number(P.headTLive.value.toFixed(3))), R = S(() => `${
|
|
880
|
+
let F = j(!1), I = S(() => Number(P.headTLive.value.toFixed(3))), R = S(() => `${x.value} · ${Math.round(P.headTLive.value * 100)}% through the period`);
|
|
879
881
|
function z(e) {
|
|
880
882
|
P.setHeadT(P.headT + e);
|
|
881
883
|
}
|