@mkbabb/glass-ui 3.6.0 → 3.7.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/dist/CardAction-D8nSE62a.js +163 -0
- package/dist/CollapsibleContent-D7UNsXQr.js +63 -0
- package/dist/{CommandShortcut-BiVyqipe.js → CommandShortcut-CY0aQTz5.js} +4 -4
- package/dist/{ContextMenuContent-De01_83g.js → ContextMenuContent-DGKZX1Du.js} +1 -1
- package/dist/{ContextMenuSubContent-DrWkXKQP.js → ContextMenuSubContent-BeDz7G6f.js} +4 -4
- package/dist/{DataTable-BGVXx0Ww.js → DataTable-gtPOLZvl.js} +14 -7
- package/dist/{DialogContent-IQ8_BRrC.js → DialogContent-DG1YMR-P.js} +24 -24
- package/dist/{DialogFooter-Er0wA3K6.js → DialogFooter-BCIaDP15.js} +2 -2
- package/dist/{DiscoGlyph-BaZ8OawK.js → DiscoGlyph-ZoBYpoxI.js} +1 -1
- package/dist/{GlyphFace-B_7vOmYn.js → GlyphFace-Ce_oe3tM.js} +1 -1
- package/dist/{HoverCardContent-ICfIMZX1.js → HoverCardContent-Bn0UBMY9.js} +1 -1
- package/dist/{HoverPopover-DTSYkJtw.js → HoverPopover-DXpOEw1P.js} +1 -1
- package/dist/{IconTooltip-DZlCkU-0.js → IconTooltip-Cu86JR4e.js} +1 -1
- package/dist/{Input-CRJ2owjN.js → Input-DWQQIOC4.js} +4 -1
- package/dist/{Label-CZk-3nTc.js → Label-DBc7bKzZ.js} +1 -1
- package/dist/{MetricBadge-BlrdbOGN.js → MetricBadge-D-bRaQUD.js} +1 -1
- package/dist/{Notification-DP_ApJLo.js → Notification-B5WHP3_1.js} +5 -4
- package/dist/{NumberFieldContent-Bhhmk95p.js → NumberFieldContent-CLNVR1iY.js} +5 -5
- package/dist/{PopoverContent-B8WtJECb.js → PopoverContent-F1bWnYoh.js} +2 -2
- package/dist/{Progress-DjM86vfb.js → Progress-c4vo4ALi.js} +6 -6
- package/dist/{ScrollingText-P9o_DuMn.js → ScrollingText-BEp377U5.js} +2 -2
- package/dist/{SelectScrollDownButton-BGn3rjs9.js → SelectScrollDownButton-DAo5NmY_.js} +8 -7
- package/dist/{Separator-C2XtAXRp.js → Separator-DZyqsCum.js} +1 -1
- package/dist/{Switch-x8n6husW.js → Switch-2rsAtDfA.js} +8 -2
- package/dist/TabsList-COqIdW7i.js +101 -0
- package/dist/{Toaster-DdhMKfus.js → Toaster-BMaeziJJ.js} +54 -60
- package/dist/{ToggleGroupItem-gyXj998A.js → ToggleGroupItem-C-AIkBUw.js} +13 -5
- package/dist/{TooltipProvider-D-JrSqDu.js → TooltipProvider-CD2IXfRv.js} +1 -1
- package/dist/{UnderlineTabs-CuIK16JI.js → UnderlineTabs-D_c1iYo-.js} +1 -1
- package/dist/animated-digit.js +2 -2
- package/dist/api/index.d.ts +1 -1
- package/dist/api.js +1 -1
- package/dist/aurora.js +690 -227
- package/dist/{badge-Cl6JZ1B7.js → badge-DHQrc_GQ.js} +13 -9
- package/dist/badge.js +1 -1
- package/dist/{button-BcMzVrqs.js → button-CAywcrhO.js} +6 -3
- package/dist/button.js +1 -1
- package/dist/card.js +2 -2
- package/dist/carousel.js +5 -5
- package/dist/{check-CdkxGxXJ.js → check-BBKKKSTf.js} +1 -1
- package/dist/{chevron-down-pBY8sYfV.js → chevron-down-BSkTP2aL.js} +1 -1
- package/dist/{chevron-right-BjeKC22V.js → chevron-right-sDM0Yvrf.js} +1 -1
- package/dist/{chevron-up-DBeNHUm1.js → chevron-up-CCOD_FTz.js} +1 -1
- package/dist/collapsible.js +1 -1
- package/dist/color-DjJCAQ6f.js +76 -0
- package/dist/color.js +2 -2
- package/dist/command.js +1 -1
- package/dist/compile-iM4IUB66.js +158 -0
- package/dist/components/custom/aurora/Aurora.vue.d.ts +1 -0
- package/dist/components/custom/aurora/composables/atoms.d.ts +60 -0
- package/dist/components/custom/aurora/composables/color.d.ts +7 -13
- package/dist/components/custom/aurora/composables/cursorModel.d.ts +35 -2
- package/dist/components/custom/aurora/composables/glSetup.d.ts +1 -1
- package/dist/components/custom/aurora/composables/gpuRuntime.d.ts +16 -0
- package/dist/components/custom/aurora/composables/runtime.d.ts +18 -0
- package/dist/components/custom/aurora/composables/uniformBridge.d.ts +23 -0
- package/dist/components/custom/aurora/composables/useAurora.d.ts +6 -0
- package/dist/components/custom/aurora/composables/useCursorInteraction.d.ts +8 -0
- package/dist/components/custom/aurora/constants/presets.d.ts +55 -2
- package/dist/components/custom/aurora/constants/renderMode.d.ts +10 -0
- package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +7 -0
- package/dist/components/custom/aurora/constants/shaders/brush.glsl.d.ts +1 -1
- package/dist/components/custom/aurora/constants/shaders/flow.glsl.d.ts +1 -1
- package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +2 -2
- package/dist/components/custom/aurora/constants/shaders/painterly.wgsl.d.ts +7 -0
- package/dist/components/custom/aurora/constants/shaders/wake.wgsl.d.ts +4 -0
- package/dist/components/custom/aurora/index.d.ts +2 -1
- package/dist/components/custom/fourier-field/FourierField.vue.d.ts +38 -0
- package/dist/components/custom/fourier-field/index.d.ts +2 -0
- package/dist/components/custom/fourier-field/math.d.ts +57 -0
- package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +2 -0
- package/dist/components/custom/goo-blob/composables/useBlobMood.d.ts +14 -2
- package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +45 -4
- package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +1 -1
- package/dist/components/custom/goo-blob/index.d.ts +1 -1
- package/dist/components/custom/goo-blob/shaders/sdf-body.glsl.d.ts +1 -1
- package/dist/components/custom/goo-blob/shaders/watercolor-edges.glsl.d.ts +2 -2
- package/dist/components/custom/goo-blob/types.d.ts +40 -0
- package/dist/components/custom/metric-cell/MetricCell.vue.d.ts +1 -1
- package/dist/components/custom/metric-stack/MetricStack.vue.d.ts +1 -1
- package/dist/components/ui/_shared/ModalOverlay.vue.d.ts +1 -1
- package/dist/components/ui/alert/index.d.ts +1 -1
- package/dist/components/ui/card/Card.vue.d.ts +10 -3
- package/dist/components/ui/card/CardAction.vue.d.ts +24 -0
- package/dist/components/ui/card/index.d.ts +1 -0
- package/dist/components/ui/collapsible/CollapsibleTrigger.vue.d.ts +5 -1
- package/dist/components/ui/tabs/TabsList.vue.d.ts +13 -3
- package/dist/components/ui/toast/Toast.vue.d.ts +5 -5
- package/dist/components/ui/toast/use-toast.d.ts +1 -1
- package/dist/composables/color/index.d.ts +50 -0
- package/dist/composables/glass/createGPUCanvas.d.ts +40 -0
- package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +45 -0
- package/dist/composables/glass/webgl/shaders/procedural-color.glsl.d.ts +3 -0
- package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +4 -4
- package/dist/configurator.js +1 -1
- package/dist/confirm-dialog.js +3 -3
- package/dist/constellation.js +3 -3
- package/dist/context-menu.js +2 -2
- package/dist/controls.js +2 -2
- package/dist/dark.js +1 -1
- package/dist/data-table.js +1 -1
- package/dist/dialog.js +2 -2
- package/dist/disco-glyph.js +1 -1
- package/dist/dock.js +9 -9
- package/dist/{dockContext-spUj_-E5.js → dockContext-DLgrVWsU.js} +1 -1
- package/dist/dom.js +5 -5
- package/dist/{dropdown-menu-EFjl5iKo.js → dropdown-menu-BWpwutt0.js} +5 -5
- package/dist/dropdown-menu.js +1 -1
- package/dist/expandable-container.js +2 -2
- package/dist/forms.js +10 -7
- package/dist/fourier-field.d.ts +1 -0
- package/dist/fourier-field.js +166 -0
- package/dist/glass-carousel.js +1 -1
- package/dist/glass-panel.js +2 -2
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +207 -192
- package/dist/glyph-face.js +2 -2
- package/dist/goo-blob.js +336 -234
- package/dist/header-ribbon.js +1 -1
- package/dist/hover-card.js +1 -1
- package/dist/hover-popover.js +1 -1
- package/dist/icon-tooltip.js +1 -1
- package/dist/instrument-chassis.js +1 -1
- package/dist/instrument-rail.js +1 -1
- package/dist/keyboard.js +1 -1
- package/dist/{keys-BFoma9vm.js → keys-Dyf_uTs5.js} +1 -1
- package/dist/label.js +1 -1
- package/dist/labeled-field.js +6 -6
- package/dist/metric-badge.js +1 -1
- package/dist/metric-stack.js +1 -1
- package/dist/{minimize-2-BP27-qBY.js → minimize-2-lcXOuc6V.js} +1 -1
- package/dist/motion-core.js +76 -106
- package/dist/motion.js +3 -3
- package/dist/notification.js +1 -1
- package/dist/number-field.js +1 -1
- package/dist/paper-backdrop.js +1 -1
- package/dist/popover.js +1 -1
- package/dist/progress.js +1 -1
- package/dist/pulse.js +1 -1
- package/dist/reactive.js +2 -2
- package/dist/responsive-tabs.js +2 -2
- package/dist/scrolling-text.js +1 -1
- package/dist/{search-DBG8qaRs.js → search-nbkvr2dC.js} +1 -1
- package/dist/search.js +8 -8
- package/dist/select.js +3 -3
- package/dist/separator.js +1 -1
- package/dist/{sheet-CQYYrkr9.js → sheet-Cv1uO-Gq.js} +4 -4
- package/dist/sheet.js +1 -1
- package/dist/{slider-CgNzRSh6.js → slider-BA9wIs5e.js} +5 -4
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +3 -3
- package/dist/styles/components.css +1 -1
- package/dist/styles/theme.css +49 -0
- package/dist/styles/typography.css +3 -3
- package/dist/styles/utilities.css +17 -13
- package/dist/supportsCssTimeline-C5oe0lnD.js +12 -0
- package/dist/switch.js +1 -1
- package/dist/tabs.js +3 -3
- package/dist/timeline.js +2 -2
- package/dist/toast.js +1 -1
- package/dist/toggle-group.js +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{useAnimatedNumber-DfVgP4te.js → useAnimatedNumber-C5I3wWd8.js} +1 -1
- package/dist/{useConfiguratorState-DUtC1jxr.js → useConfiguratorState-B24TcgIn.js} +5 -5
- package/dist/useScrollProgress-CAH8Ofwt.js +35 -0
- package/dist/{useTouchGate-CS5Csc2h.js → useTouchGate-YQRwyUGU.js} +1 -1
- package/dist/{vReveal-u2wSG2El.js → vReveal-BE2TsPoR.js} +6 -17
- package/dist/watercolor-dot.js +2 -2
- package/dist/{x-C4pz9nbD.js → x-Dfsegz9Y.js} +1 -1
- package/package.json +29 -1
- package/src/styles/theme.css +49 -0
- package/src/styles/typography.css +3 -3
- package/src/styles/utilities.css +17 -13
- package/dist/CardFooter-C390imy7.js +0 -129
- package/dist/CollapsibleContent-cauTbZEM.js +0 -52
- package/dist/TabsIndicator-DA0x9gPr.js +0 -97
- package/dist/color-DS-iLRVM.js +0 -33
- package/dist/compile-C62K_FpC.js +0 -106
- /package/dist/{InstrumentChassis-DaHIZCqy.js → InstrumentChassis-BLJBl1BW.js} +0 -0
- /package/dist/{InstrumentRail-B0qqLFN0.js → InstrumentRail-BElFwKyt.js} +0 -0
- /package/dist/{ModalOverlay-B_CBtqcE.js → ModalOverlay-D1VrWyoi.js} +0 -0
- /package/dist/{PaperBackdrop-D_YZW47j.js → PaperBackdrop-DCGoGatv.js} +0 -0
- /package/dist/{SelectGroup-CMdoCjRE.js → SelectGroup-BcaFjvP4.js} +0 -0
- /package/dist/{SelectSeparator-CaJnPF3_.js → SelectSeparator-COFMJGng.js} +0 -0
- /package/dist/{_plugin-vue_export-helper-C1je1s0u.js → _plugin-vue_export-helper-gLzyemvl.js} +0 -0
- /package/dist/{constants-C8NMonuo.js → constants-CS75AWHG.js} +0 -0
- /package/dist/{createContext-DBMGRlx4.js → createContext-CvNyBk4o.js} +0 -0
- /package/dist/{createLucideIcon-DuDoe_ra.js → createLucideIcon-B6uNAU9G.js} +0 -0
- /package/dist/{menuItemVariants-C2QlXqT3.js → menuItemVariants-B4eFR5Ix.js} +0 -0
- /package/dist/{presets-Dyv9Zl7W.js → presets-BKVyQfbt.js} +0 -0
- /package/dist/{prng-CjVgzjQT.js → prng-wHuHlNHE.js} +0 -0
- /package/dist/{useCanvas2D-BeNJqqIS.js → useCanvas2D-C31yfUGY.js} +0 -0
- /package/dist/{useGlassRenderer-Dn3WpfG-.js → useGlassRenderer-HebgSEgN.js} +0 -0
- /package/dist/{useGlobalDark-D7R9OypB.js → useGlobalDark-yhL4Wp-s.js} +0 -0
- /package/dist/{useIntersectionPause-DsQYGc8V.js → useIntersectionPause-Cc-H9ees.js} +0 -0
- /package/dist/{useInterval-CHVYFpXV.js → useInterval-D3USn0yc.js} +0 -0
- /package/dist/{useKeyboardShortcuts-i8tHd5WO.js → useKeyboardShortcuts-Be3w_Rwk.js} +0 -0
- /package/dist/{useResizeObserver-DX-STszm.js → useResizeObserver-CSyxGxIX.js} +0 -0
- /package/dist/{useSortable-muI29agz.js → useSortable-C8ReQ50P.js} +0 -0
- /package/dist/{useSpringMount-CnizvZGm.js → useSpringMount-LRZqJTaF.js} +0 -0
- /package/dist/{useTextHighlight-Dmtofpk2.js → useTextHighlight-aMPdEpkq.js} +0 -0
- /package/dist/{useTimer-DGgoxTXL.js → useTimer-DEJonOZa.js} +0 -0
- /package/dist/{useUserInvalidAria-DmvZ_6Dx.js → useUserInvalidAria-CQKjEfwP.js} +0 -0
- /package/dist/{useViewTransition-DI0Rs2rV.js → useViewTransition-DaN5Zrox.js} +0 -0
- /package/dist/{useViewportReady-Dcvf0c4p.js → useViewportReady-K96m-Mdv.js} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const METABALL_EDGE_NOISE_PRE_GLSL = "// --- Noise ---\n\nfloat hash21(vec2 p) {\n vec3 p3 = fract(vec3(p.xyx) * 0.1031);\n p3 += dot(p3, p3.yzx + 33.33);\n return fract((p3.x + p3.y) * p3.z);\n}\n\
|
|
2
|
-
export declare const METABALL_EDGE_NOISE_POST_GLSL = "float fbm(vec2 p, int octaves) {\n float value = 0.0;\n float amp = 0.5;\n float freq = 1.0;\n for (int i = 0; i < 4; i++) {\n if (i >= octaves) break;\n value += amp *
|
|
1
|
+
export declare const METABALL_EDGE_NOISE_PRE_GLSL = "// --- Noise ---\n\nfloat hash21(vec2 p) {\n vec3 p3 = fract(vec3(p.xyx) * 0.1031);\n p3 += dot(p3, p3.yzx + 33.33);\n return fract((p3.x + p3.y) * p3.z);\n}\n\n// IQ analytic-derivative gradient noise \u2014 value in .x, ANALYTIC gradient\n// (d/dx, d/dy) in .yz, from one eval. The quintic fade has a continuous 2nd\n// derivative so the gradient is smooth (a cubic smoothstep fade would crease it).\n// (Inigo Quilez, https://iquilezles.org/articles/gradientnoise/.)\nvec3 noised(vec2 p) {\n vec2 i = floor(p);\n vec2 f = fract(p);\n\n // Quintic fade + its derivative.\n vec2 u = f * f * f * (f * (f * 6.0 - 15.0) + 10.0);\n vec2 du = 30.0 * f * f * (f * (f - 2.0) + 1.0);\n\n // Per-corner gradient vectors from the hash (centred to [-1, 1]).\n vec2 ga = -1.0 + 2.0 * vec2(hash21(i + vec2(0.0, 0.0)), hash21(i + vec2(7.3, 0.0)));\n vec2 gb = -1.0 + 2.0 * vec2(hash21(i + vec2(1.0, 0.0)), hash21(i + vec2(8.3, 0.0)));\n vec2 gc = -1.0 + 2.0 * vec2(hash21(i + vec2(0.0, 1.0)), hash21(i + vec2(7.3, 1.0)));\n vec2 gd = -1.0 + 2.0 * vec2(hash21(i + vec2(1.0, 1.0)), hash21(i + vec2(8.3, 1.0)));\n\n float va = dot(ga, f - vec2(0.0, 0.0));\n float vb = dot(gb, f - vec2(1.0, 0.0));\n float vc = dot(gc, f - vec2(0.0, 1.0));\n float vd = dot(gd, f - vec2(1.0, 1.0));\n\n // Value, remapped to [0,1] so it drops in for the prior valueNoise.\n float n = va + u.x * (vb - va) + u.y * (vc - va) + u.x * u.y * (va - vb - vc + vd);\n float value = 0.5 + 0.5 * n;\n\n // Analytic gradient (chain rule through the bilinear blend + the fade).\n vec2 grad =\n ga + u.x * (gb - ga) + u.y * (gc - ga) + u.x * u.y * (ga - gb - gc + gd) +\n du * (vec2(u.y, u.x) * (va - vb - vc + vd) + vec2(vb, vc) - va);\n return vec3(value, 0.5 * grad);\n}\n\n// Rotated-octave FBM over the analytic gradient noise: a fixed ~0.5 rad 2x2\n// rotation between octaves breaks the axis-aligned banding. The rotation CONSTANT\n// is spliced from the shared chunk (AV.W2 \u2014 the one FBM_ROT); the loops below\n// stay blob-local (param octaves + 2.0 lacunarity, per \u00A73a).";
|
|
2
|
+
export declare const METABALL_EDGE_NOISE_POST_GLSL = "float fbm(vec2 p, int octaves) {\n float value = 0.0;\n float amp = 0.5;\n float freq = 1.0;\n for (int i = 0; i < 4; i++) {\n if (i >= octaves) break;\n value += amp * noised(p * freq).x;\n p = FBM_ROT * p;\n freq *= 2.0;\n amp *= 0.5;\n }\n return value;\n}\n\n// One domain-warp pass: offset the sample point by a low-frequency FBM of itself\n// (the IQ fbm(p + W*fbm(p)) marbling). warpAmp (uniform-driven) is the warp\n// strength; warpAmp == 0.0 degrades to plain fbm (the pre-warp look).\nfloat fbmWarped(vec2 p, int octaves, float warpAmp) {\n if (warpAmp <= 0.0) return fbm(p, octaves);\n vec2 q = vec2(fbm(p + vec2(0.0, 0.0), octaves), fbm(p + vec2(5.2, 1.3), octaves));\n return fbm(p + warpAmp * (q - 0.5), octaves);\n}\n";
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { InjectionKey } from "vue";
|
|
2
2
|
export type BlobMood = "idle" | "happy" | "curious" | "sleepy" | "excited";
|
|
3
|
+
/** Smin merge variant — `quadratic` (cheap, creased) | `circular` (rounder menisci). */
|
|
4
|
+
export type BlobMerge = "quadratic" | "circular";
|
|
3
5
|
export interface MoodParams {
|
|
4
6
|
orbitSpeedScale: number;
|
|
5
7
|
wobbleScale: number;
|
|
@@ -12,6 +14,8 @@ export interface MoodParams {
|
|
|
12
14
|
smoothK: number;
|
|
13
15
|
pointerAttraction: number;
|
|
14
16
|
mergeRate: number;
|
|
17
|
+
/** Mood-driven iridescence/SSS intensity multiplier (excited > 1, sleepy < 1). */
|
|
18
|
+
iridScale: number;
|
|
15
19
|
}
|
|
16
20
|
export interface MetaballSource {
|
|
17
21
|
x: number;
|
|
@@ -51,10 +55,18 @@ export interface BlobConfig {
|
|
|
51
55
|
satelliteCount: number;
|
|
52
56
|
satelliteRadius: number;
|
|
53
57
|
orbitRadius: number;
|
|
58
|
+
tempo: number;
|
|
54
59
|
smoothK: number;
|
|
60
|
+
/** Smin merge variant — `quadratic` (default) | `circular` (rounder menisci). */
|
|
61
|
+
merge: BlobMerge;
|
|
55
62
|
noiseAmp: number;
|
|
56
63
|
noiseFreq: number;
|
|
57
64
|
noiseSpeed: number;
|
|
65
|
+
/**
|
|
66
|
+
* Domain-warp strength on the FBM edge displacement (0 = plain fbm, the
|
|
67
|
+
* pre-warp look; ~0.6 = a marbled organic membrane). Taste-first low default.
|
|
68
|
+
*/
|
|
69
|
+
warpAmp: number;
|
|
58
70
|
pulseFreq: number;
|
|
59
71
|
pulseAmp: number;
|
|
60
72
|
hueRange: number;
|
|
@@ -62,8 +74,36 @@ export interface BlobConfig {
|
|
|
62
74
|
brightnessShift: number;
|
|
63
75
|
colorNoiseFreq: number;
|
|
64
76
|
colorNoiseSpeed: number;
|
|
77
|
+
paletteStops: string[];
|
|
78
|
+
/** Warm-pearl rim sheen weight (0 = off). */
|
|
79
|
+
iridescence: number;
|
|
80
|
+
/** Base hue (degrees) the warm-biased cosine palette centres on. */
|
|
81
|
+
iridHue: number;
|
|
82
|
+
/** Animated-thickness scroll speed for the iridescent shimmer. */
|
|
83
|
+
iridSpeed: number;
|
|
84
|
+
/** Fast-SSS back-light weight. */
|
|
85
|
+
sssScale: number;
|
|
86
|
+
/** Fast-SSS exponent. */
|
|
87
|
+
sssPower: number;
|
|
88
|
+
/** Thickness-driven inner-luminosity (core glow) lift. */
|
|
89
|
+
coreGlow: number;
|
|
90
|
+
lit: boolean;
|
|
91
|
+
/** CSS color for the Fresnel rim tint (resolved through the ColorResolver). */
|
|
92
|
+
rimColor: string;
|
|
93
|
+
/** Light direction [x, y, z] (normalized in-shader). */
|
|
94
|
+
lightDir: [number, number, number];
|
|
95
|
+
specStrength: number;
|
|
96
|
+
/** Specular exponent (16-64 — a tight glint). */
|
|
97
|
+
specShininess: number;
|
|
98
|
+
/** Fresnel/Schlick exponent (~2-3). */
|
|
99
|
+
rimPower: number;
|
|
100
|
+
rimStrength: number;
|
|
65
101
|
pointerAttraction: number;
|
|
66
102
|
pointerStrength: number;
|
|
103
|
+
/** Velocity-driven volume-preserving squash-and-stretch magnitude (0 = off). */
|
|
104
|
+
stretch: number;
|
|
105
|
+
/** Click spring-impulse amplitude (a one-shot bouncy pulse on the body radius). */
|
|
106
|
+
clickImpulse: number;
|
|
67
107
|
eccentricity: number;
|
|
68
108
|
orbitSpeedScale: number;
|
|
69
109
|
wobbleScale: number;
|
|
@@ -83,9 +83,9 @@ type __VLS_Slots = {} & {
|
|
|
83
83
|
};
|
|
84
84
|
declare const __VLS_base: import("vue").DefineComponent<MetricCellProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MetricCellProps> & Readonly<{}>, {
|
|
85
85
|
placeholder: string;
|
|
86
|
+
appearance: MetricCellAppearance;
|
|
86
87
|
iconStrokeWidth: number;
|
|
87
88
|
iconSize: number;
|
|
88
|
-
appearance: MetricCellAppearance;
|
|
89
89
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
90
90
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
91
91
|
declare const _default: typeof __VLS_export;
|
|
@@ -78,8 +78,8 @@ type __VLS_Slots = {} & {
|
|
|
78
78
|
};
|
|
79
79
|
declare const __VLS_base: import("vue").DefineComponent<MetricStackProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MetricStackProps> & Readonly<{}>, {
|
|
80
80
|
as: string | Component;
|
|
81
|
-
rows: number;
|
|
82
81
|
containerName: string;
|
|
82
|
+
rows: number;
|
|
83
83
|
register: "audacious" | "result";
|
|
84
84
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
85
85
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -77,8 +77,8 @@ type __VLS_Slots = {} & {
|
|
|
77
77
|
};
|
|
78
78
|
declare const __VLS_base: import("vue").DefineComponent<ModalOverlayProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ModalOverlayProps> & Readonly<{}>, {
|
|
79
79
|
animate: "fade" | "scale" | "slide" | "none";
|
|
80
|
-
scrim: "glass" | "clear" | "dim";
|
|
81
80
|
layout: "centered" | "edge" | "scroll";
|
|
81
|
+
scrim: "glass" | "clear" | "dim";
|
|
82
82
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
83
83
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
84
84
|
declare const _default: typeof __VLS_export;
|
|
@@ -3,6 +3,6 @@ export { default as Alert } from './Alert.vue';
|
|
|
3
3
|
export { default as AlertDescription } from './AlertDescription.vue';
|
|
4
4
|
export { default as AlertTitle } from './AlertTitle.vue';
|
|
5
5
|
export declare const alertVariants: (props?: ({
|
|
6
|
-
variant?: "default" | "destructive" | null | undefined;
|
|
6
|
+
variant?: "default" | "destructive" | "success" | "warning" | "info" | null | undefined;
|
|
7
7
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
8
|
export type AlertVariants = VariantProps<typeof alertVariants>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type HTMLAttributes } from "vue";
|
|
2
2
|
import { type PrimitiveProps } from "reka-ui";
|
|
3
3
|
/**
|
|
4
4
|
* The five-tier glass surface ladder. Maps 1:1 to `.glass-{tier}` in glass.css
|
|
@@ -33,11 +33,17 @@ interface Props extends PrimitiveProps {
|
|
|
33
33
|
/** `::after` paper-grain overlay. Off for scroll panes (the grain conflicts
|
|
34
34
|
* with overflow:auto repaints). */
|
|
35
35
|
grain?: boolean;
|
|
36
|
+
/** Opt-in interactive register (AW.W24). A glass card with `hover` wakes the
|
|
37
|
+
* dormant pointer-anchored specular catch-light: it tracks the cursor across
|
|
38
|
+
* the surface (the AV.W15 moving-glass illuminate) instead of the centred
|
|
39
|
+
* var() floor. Static cards (default) keep the centred catch-light and never
|
|
40
|
+
* attach the listener. `cartoon` surfaces own their own sticker lift. */
|
|
41
|
+
hover?: boolean;
|
|
36
42
|
class?: HTMLAttributes["class"];
|
|
37
43
|
}
|
|
38
|
-
declare var
|
|
44
|
+
declare var __VLS_10: {};
|
|
39
45
|
type __VLS_Slots = {} & {
|
|
40
|
-
default?: (props: typeof
|
|
46
|
+
default?: (props: typeof __VLS_10) => any;
|
|
41
47
|
};
|
|
42
48
|
declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
43
49
|
shadow: boolean;
|
|
@@ -45,6 +51,7 @@ declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, i
|
|
|
45
51
|
tier: CardTier;
|
|
46
52
|
surface: CardSurface;
|
|
47
53
|
grain: boolean;
|
|
54
|
+
hover: boolean;
|
|
48
55
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
49
56
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
50
57
|
declare const _default: typeof __VLS_export;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { HTMLAttributes } from "vue";
|
|
2
|
+
/**
|
|
3
|
+
* <CardAction> — the shadcn-2025 top-right action slot of the Card family.
|
|
4
|
+
* When present inside a <CardHeader>, the header reflows to a two-column grid
|
|
5
|
+
* (title/description column + this action column) via the `@container/card-header`
|
|
6
|
+
* `has-data-[slot=card-action]` query on CardHeader. Self-aligns to the start of
|
|
7
|
+
* the header's first two rows, justified to the end.
|
|
8
|
+
*/
|
|
9
|
+
type __VLS_Props = {
|
|
10
|
+
class?: HTMLAttributes["class"];
|
|
11
|
+
};
|
|
12
|
+
declare var __VLS_1: {};
|
|
13
|
+
type __VLS_Slots = {} & {
|
|
14
|
+
default?: (props: typeof __VLS_1) => any;
|
|
15
|
+
};
|
|
16
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
17
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
18
|
+
declare const _default: typeof __VLS_export;
|
|
19
|
+
export default _default;
|
|
20
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
21
|
+
new (): {
|
|
22
|
+
$slots: S;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
@@ -4,3 +4,4 @@ export { default as CardTitle } from "./CardTitle.vue";
|
|
|
4
4
|
export { default as CardDescription } from "./CardDescription.vue";
|
|
5
5
|
export { default as CardContent } from "./CardContent.vue";
|
|
6
6
|
export { default as CardFooter } from "./CardFooter.vue";
|
|
7
|
+
export { default as CardAction } from "./CardAction.vue";
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
+
import { type HTMLAttributes } from 'vue';
|
|
1
2
|
import { type CollapsibleTriggerProps } from 'reka-ui';
|
|
3
|
+
type __VLS_Props = CollapsibleTriggerProps & {
|
|
4
|
+
class?: HTMLAttributes['class'];
|
|
5
|
+
};
|
|
2
6
|
declare var __VLS_8: {};
|
|
3
7
|
type __VLS_Slots = {} & {
|
|
4
8
|
default?: (props: typeof __VLS_8) => any;
|
|
5
9
|
};
|
|
6
|
-
declare const __VLS_base: import("vue").DefineComponent<
|
|
10
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
7
11
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
8
12
|
declare const _default: typeof __VLS_export;
|
|
9
13
|
export default _default;
|
|
@@ -2,12 +2,22 @@ import { type HTMLAttributes } from 'vue';
|
|
|
2
2
|
import { type TabsListProps } from 'reka-ui';
|
|
3
3
|
type __VLS_Props = TabsListProps & {
|
|
4
4
|
class?: HTMLAttributes['class'];
|
|
5
|
+
/**
|
|
6
|
+
* AW.W25 — render the spring `TabsIndicator` pill behind the triggers so
|
|
7
|
+
* the base default `<Tabs>` matches its own indicator primitive (the
|
|
8
|
+
* polished pill previously lived only in custom BouncyTabs; the base
|
|
9
|
+
* under-delivered vs its own `TabsIndicator.vue`). Default `true`. Set
|
|
10
|
+
* `:indicator="false"` for a list that drives its own active-state vocab.
|
|
11
|
+
*/
|
|
12
|
+
indicator?: boolean;
|
|
5
13
|
};
|
|
6
|
-
declare var
|
|
14
|
+
declare var __VLS_13: {};
|
|
7
15
|
type __VLS_Slots = {} & {
|
|
8
|
-
default?: (props: typeof
|
|
16
|
+
default?: (props: typeof __VLS_13) => any;
|
|
9
17
|
};
|
|
10
|
-
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
18
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
19
|
+
indicator: boolean;
|
|
20
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
11
21
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
12
22
|
declare const _default: typeof __VLS_export;
|
|
13
23
|
export default _default;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { type HTMLAttributes } from 'vue';
|
|
2
2
|
import { type ToastRootProps } from 'reka-ui';
|
|
3
|
+
import type { ToastVariant } from './use-toast';
|
|
3
4
|
interface ToastProps extends ToastRootProps {
|
|
4
5
|
class?: HTMLAttributes['class'];
|
|
5
|
-
variant?:
|
|
6
|
-
onOpenChange?: ((value: boolean) => void) | undefined;
|
|
6
|
+
variant?: ToastVariant;
|
|
7
7
|
}
|
|
8
|
-
declare var
|
|
8
|
+
declare var __VLS_8: {};
|
|
9
9
|
type __VLS_Slots = {} & {
|
|
10
|
-
default?: (props: typeof
|
|
10
|
+
default?: (props: typeof __VLS_8) => any;
|
|
11
11
|
};
|
|
12
12
|
declare const __VLS_base: import("vue").DefineComponent<ToastProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
13
13
|
"update:open": (value: boolean) => any;
|
|
@@ -92,7 +92,7 @@ declare const __VLS_base: import("vue").DefineComponent<ToastProps, {}, {}, {},
|
|
|
92
92
|
};
|
|
93
93
|
}>, "currentTarget">) => any) | undefined;
|
|
94
94
|
}>, {
|
|
95
|
-
variant:
|
|
95
|
+
variant: ToastVariant;
|
|
96
96
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
97
97
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
98
98
|
declare const _default: typeof __VLS_export;
|
|
@@ -47,3 +47,53 @@ export declare function oklchStopToHex(s: OklchStop): string;
|
|
|
47
47
|
* gray default); value.js supplies its own, the demo story uses this one.
|
|
48
48
|
*/
|
|
49
49
|
export declare const defaultBlobColorResolver: ColorResolver;
|
|
50
|
+
/**
|
|
51
|
+
* Harmony schemes for the OKLCh palette derivers. Each maps the seed hue onto the
|
|
52
|
+
* derived stops differently:
|
|
53
|
+
* - `analogous` — neighbouring hues (seed ± a small spread).
|
|
54
|
+
* - `complementary` — seed → +180° along the LONG arc (stays saturated; the short
|
|
55
|
+
* arc cuts through grey on a warm→cool pair).
|
|
56
|
+
* - `split-complementary` — the two hues flanking the complement (±150/210).
|
|
57
|
+
* - `triad` — seed + its two 120° partners.
|
|
58
|
+
* - `tetradic` — seed + the three 90° partners.
|
|
59
|
+
* - `monochrome` — every stop holds the seed hue; only L and C travel.
|
|
60
|
+
*/
|
|
61
|
+
export type ColorHarmony = "analogous" | "complementary" | "split-complementary" | "triad" | "tetradic" | "monochrome";
|
|
62
|
+
/**
|
|
63
|
+
* Hue per harmony, walked across the ramp parameter `t` (0..1) THROUGH value.js's
|
|
64
|
+
* `interpolateHue` in the NORMALIZED-TURNS domain (`/360` in, `*360` out — value.js
|
|
65
|
+
* takes turns [0,1], NOT degrees; the `.5` short-arc threshold is a half-TURN). The
|
|
66
|
+
* single canonical hue-walk both backdrops consume.
|
|
67
|
+
*/
|
|
68
|
+
export declare function deriveHue(anchorHue: number, harmony: ColorHarmony, hueSpread: number, t: number): number;
|
|
69
|
+
/**
|
|
70
|
+
* Gamut-map one OklchStop through value.js's Ottosson core
|
|
71
|
+
* (`rawOklchToOklab → gamutMapOKLab → rawOklabToOklch`) with a bounded inward-chroma
|
|
72
|
+
* nudge for the over-1 hull-placement escape. Hue is preserved exactly; the result
|
|
73
|
+
* is in-sRGB to the pipeline's tolerance. The single gamut-mapper both backdrops use.
|
|
74
|
+
*/
|
|
75
|
+
export declare function gamutMapStop(stop: OklchStop): OklchStop;
|
|
76
|
+
/** Tuning for {@link deriveBlobPalette}. */
|
|
77
|
+
export interface DeriveBlobPaletteOptions {
|
|
78
|
+
/** Number of stops to produce. Default 3; clamped to [2, 4]. */
|
|
79
|
+
stopCount?: number;
|
|
80
|
+
/** Hue scheme across the stops. Default `analogous`. */
|
|
81
|
+
harmony?: ColorHarmony;
|
|
82
|
+
/** Total L travel across the stops, in OKLCh L units. Default ~0.18. */
|
|
83
|
+
lightnessSpread?: number;
|
|
84
|
+
/** Hue walk in degrees for analogous; ignored by monochrome. Default ~24. */
|
|
85
|
+
hueSpread?: number;
|
|
86
|
+
/** Midpoint chroma-bump (keeps a vivid pair off the grey midpoint). Default ~0.03. */
|
|
87
|
+
chromaBump?: number;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Seed ONE color into a harmonious, gamut-safe 2-4-stop OKLCh palette for the blob
|
|
91
|
+
* — the blob-side twin of `deriveAurora`, consuming the SHARED `ColorHarmony`
|
|
92
|
+
* vocabulary (no forked `deriveHue`). The body takes the deepest/most-saturated
|
|
93
|
+
* stop; satellites take the lighter in-family stops. Every stop is gamut-mapped.
|
|
94
|
+
* Deterministic + DOM-free (SSR-safe; `cssToOklch` parses via value.js).
|
|
95
|
+
*
|
|
96
|
+
* @param seed any CSS color string OR an `OklchStop` anchor.
|
|
97
|
+
* @param options stop count, harmony, spreads.
|
|
98
|
+
*/
|
|
99
|
+
export declare function deriveBlobPalette(seed: string | OklchStop, options?: DeriveBlobPaletteOptions): OklchStop[];
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/** The per-frame hooks a consumer's WebGPU `setup` returns (mirrors WebGLCanvasFrame). */
|
|
2
|
+
export interface GPUCanvasFrame {
|
|
3
|
+
frame: (timeSec: number) => void;
|
|
4
|
+
shouldContinue: () => boolean;
|
|
5
|
+
resize: () => void;
|
|
6
|
+
time?: (elapsedSec: number) => number;
|
|
7
|
+
teardown?: () => void;
|
|
8
|
+
}
|
|
9
|
+
export interface GPUCanvasSetupArgs {
|
|
10
|
+
device: GPUDevice;
|
|
11
|
+
context: GPUCanvasContext;
|
|
12
|
+
/** The swapchain format (`navigator.gpu.getPreferredCanvasFormat()`). */
|
|
13
|
+
format: GPUTextureFormat;
|
|
14
|
+
}
|
|
15
|
+
export interface GPUCanvasOptions {
|
|
16
|
+
/** The pre-acquired `GPUDevice` (from `resolveRenderModeAsync`'s adapter→device). */
|
|
17
|
+
device: GPUDevice;
|
|
18
|
+
/** Alpha mode for the swapchain (premultiplied to match the WebGL2 premultiply). */
|
|
19
|
+
alphaMode?: GPUCanvasAlphaMode;
|
|
20
|
+
mode?: "live" | "capture";
|
|
21
|
+
respectReducedMotion?: boolean;
|
|
22
|
+
/** Build the pipeline + bind group on the configured context. Returns frame hooks. */
|
|
23
|
+
setup: (args: GPUCanvasSetupArgs) => GPUCanvasFrame;
|
|
24
|
+
}
|
|
25
|
+
export interface GPUCanvasHandle {
|
|
26
|
+
arm: () => void;
|
|
27
|
+
suspend: (reason?: "tab-hidden" | "off-screen" | "manual") => void;
|
|
28
|
+
resume: (reason?: "tab-hidden" | "off-screen" | "manual") => void;
|
|
29
|
+
wake: () => void;
|
|
30
|
+
renderAt: (timeSec: number) => void;
|
|
31
|
+
dispose: () => void;
|
|
32
|
+
readonly device: GPUDevice | null;
|
|
33
|
+
readonly reducedMotion: boolean;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Build a WebGPU canvas over the shared lifecycle core. The `GPUDevice` is acquired
|
|
37
|
+
* by `resolveRenderModeAsync` (the probe) and passed in — `createGPUCanvas` configures
|
|
38
|
+
* the canvas context + threads the consumer `setup` through the agnostic schedule.
|
|
39
|
+
*/
|
|
40
|
+
export declare function createGPUCanvas(canvas: HTMLCanvasElement, options: GPUCanvasOptions): GPUCanvasHandle;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export type CanvasSuspendReason = "tab-hidden" | "off-screen" | "manual";
|
|
2
|
+
/** The per-frame hooks a backend's `buildContext` returns to the lifecycle core. */
|
|
3
|
+
export interface CanvasFrameHooks {
|
|
4
|
+
/** Draw one frame at `timeSec`. */
|
|
5
|
+
frame: (timeSec: number) => void;
|
|
6
|
+
/** Demand-gate: is there live motion to render next frame? `false` → park. */
|
|
7
|
+
shouldContinue: () => boolean;
|
|
8
|
+
/** Frame time from elapsed seconds — the consumer owns frozen/reduced-motion. */
|
|
9
|
+
time?: (elapsedSec: number) => number;
|
|
10
|
+
/** Release backend resources (program/buffers/pipelines). */
|
|
11
|
+
teardown?: () => void;
|
|
12
|
+
}
|
|
13
|
+
export interface CanvasLifecycleOptions {
|
|
14
|
+
canvas: HTMLCanvasElement;
|
|
15
|
+
mode?: "live" | "capture";
|
|
16
|
+
respectReducedMotion?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Acquire the backend context + build the per-frame hooks. Called on `arm()` AND
|
|
19
|
+
* on a backend context-restore. Throws on backend-unavailable / setup failure.
|
|
20
|
+
*/
|
|
21
|
+
buildContext: () => CanvasFrameHooks;
|
|
22
|
+
/** Resize the backing store + viewport. The consumer owns its DPR policy. */
|
|
23
|
+
resize: () => void;
|
|
24
|
+
/**
|
|
25
|
+
* Bind/unbind backend-specific context-loss/restore listeners. `rebuild` re-runs
|
|
26
|
+
* `buildContext` on a fresh context + resumes the loop (the self-heal); the backend
|
|
27
|
+
* calls `markContextLost` on loss so the lifecycle NULLS its hooks + cancels the
|
|
28
|
+
* rAF (the loop parks while the surface is blank — no frame attaches to a dead gl).
|
|
29
|
+
*/
|
|
30
|
+
bindContextEvents?: (rebuild: () => void, markContextLost: () => void) => void;
|
|
31
|
+
unbindContextEvents?: () => void;
|
|
32
|
+
}
|
|
33
|
+
export interface CanvasLifecycleHandle {
|
|
34
|
+
arm: () => void;
|
|
35
|
+
suspend: (reason?: CanvasSuspendReason) => void;
|
|
36
|
+
resume: (reason?: CanvasSuspendReason) => void;
|
|
37
|
+
wake: () => void;
|
|
38
|
+
renderAt: (timeSec: number) => void;
|
|
39
|
+
dispose: () => void;
|
|
40
|
+
readonly armed: boolean;
|
|
41
|
+
readonly disposed: boolean;
|
|
42
|
+
readonly running: boolean;
|
|
43
|
+
readonly reducedMotion: boolean;
|
|
44
|
+
}
|
|
45
|
+
export declare function createCanvasLifecycle(options: CanvasLifecycleOptions): CanvasLifecycleHandle;
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
export declare const OETF_GLSL = "\nfloat srgbToLinearCh(float c) {\n return c <= 0.04045 ? c / 12.92 : pow((c + 0.055) / 1.055, 2.4);\n}\nvec3 srgbToLinear(vec3 c) {\n return vec3(srgbToLinearCh(c.r), srgbToLinearCh(c.g), srgbToLinearCh(c.b));\n}\n\nfloat linearToSrgbCh(float c) {\n return c <= 0.0031308 ? c * 12.92 : 1.055 * pow(c, 1.0 / 2.4) - 0.055;\n}\nvec3 linearToSrgb(vec3 c) {\n return vec3(linearToSrgbCh(c.r), linearToSrgbCh(c.g), linearToSrgbCh(c.b));\n}";
|
|
2
2
|
export declare const FBM_ROT_GLSL = "const mat2 FBM_ROT = mat2(0.8, 0.6, -0.6, 0.8);";
|
|
3
3
|
export declare const OKLCH_MATRICES_GLSL = "\n// value.js LINEAR_SRGB_TO_LMS (constants.ts), row-major; written here as GLSL\n// columns (= the transpose) so mat3 * vec3 evaluates the row-major M\u00B7v.\nconst mat3 LINEAR_SRGB_TO_LMS = mat3(\n 0.4122214708, 0.2119034982, 0.0883024619,\n 0.5363325363, 0.6806995451, 0.2817188376,\n 0.0514459929, 0.1073969566, 0.6299787005\n);\n\n// value.js srgbToOKLab's INLINE LMS\u2192OKLab coefficients (gamut.ts lines 295-297 \u2014\n// these differ at the ~1e-9 digit from LMS_TO_OKLAB_MATRIX; use the inline ones to\n// mirror the exact value.js path), row-major \u2192 GLSL columns.\nconst mat3 LMS_TO_OKLAB = mat3(\n 0.2104542553, 1.9779984951, 0.0259040371,\n 0.7936177850, -2.4285922050, 0.7827717662,\n -0.0040720468, 0.4505937099, -0.8086757660\n);\n\n// value.js OKLAB_TO_LMS_COEFF (constants.ts), row-major \u2192 GLSL columns. Rows:\n// l = [1, 0.3963377774, 0.2158037573], m = [1, -0.1055613458, -0.0638541728],\n// s = [1, -0.0894841775, -1.2914855480].\nconst mat3 OKLAB_TO_LMS = mat3(\n 1.0, 1.0, 1.0,\n 0.3963377774, -0.1055613458, -0.0894841775,\n 0.2158037573, -0.0638541728, -1.2914855480\n);\n\n// value.js LMS_TO_LINEAR_SRGB (constants.ts), row-major \u2192 GLSL columns.\nconst mat3 LMS_TO_LINEAR_SRGB = mat3(\n 4.0767416621, -1.2684380046, -0.0041960863,\n -3.3077115913, 2.6097574011, -0.7034186147,\n 0.2309699292, -0.3413193965, 1.7076147010\n);\n\n// Gamma sRGB \u2192 raw OKLab (L, a, b). Mirrors value.js srgbToOKLab.\nvec3 srgbToOklab(vec3 c) {\n vec3 lin = srgbToLinear(c);\n vec3 lms = LINEAR_SRGB_TO_LMS * lin;\n vec3 lmsCbrt = sign(lms) * pow(abs(lms), vec3(1.0 / 3.0));\n return LMS_TO_OKLAB * lmsCbrt;\n}\n\n// Raw OKLab (L, a, b) \u2192 linear sRGB. Mirrors value.js oklabToLinearSRGB.\nvec3 oklabToLinearSrgb(vec3 lab) {\n vec3 lms_ = OKLAB_TO_LMS * lab;\n vec3 lms = lms_ * lms_ * lms_;\n return LMS_TO_LINEAR_SRGB * lms;\n}\n\n// OKLab \u2192 OKLCh: H in RADIANS. Mirrors value.js rawOklabToOklch (which returns\n// degrees; we stay in radians and only fold to [0, 2pi)).\nvec3 oklabToOklch(vec3 lab) {\n float C = length(lab.yz);\n float H = atan(lab.z, lab.y);\n if (H < 0.0) H += 2.0 * PI;\n return vec3(lab.x, C, H);\n}\n\n// OKLCh (H radians) \u2192 OKLab. Mirrors value.js rawOklchToOklab.\nvec3 oklchToOklab(vec3 lch) {\n return vec3(lch.x, lch.y * cos(lch.z), lch.y * sin(lch.z));\n}";
|
|
4
|
+
export declare const OETF_WGSL = "\nfn srgbToLinearCh(c: f32) -> f32 {\n return select(pow((c + 0.055) / 1.055, 2.4), c / 12.92, c <= 0.04045);\n}\nfn srgbToLinear(c: vec3f) -> vec3f {\n return vec3f(srgbToLinearCh(c.r), srgbToLinearCh(c.g), srgbToLinearCh(c.b));\n}\nfn linearToSrgbCh(c: f32) -> f32 {\n return select(1.055 * pow(c, 1.0 / 2.4) - 0.055, c * 12.92, c <= 0.0031308);\n}\nfn linearToSrgb(c: vec3f) -> vec3f {\n return vec3f(linearToSrgbCh(c.r), linearToSrgbCh(c.g), linearToSrgbCh(c.b));\n}";
|
|
5
|
+
export declare const FBM_ROT_WGSL = "const FBM_ROT: mat2x2f = mat2x2f(0.8, 0.6, -0.6, 0.8);";
|
|
6
|
+
export declare const OKLCH_MATRICES_WGSL = "\nconst LINEAR_SRGB_TO_LMS: mat3x3f = mat3x3f(\n 0.4122214708, 0.2119034982, 0.0883024619,\n 0.5363325363, 0.6806995451, 0.2817188376,\n 0.0514459929, 0.1073969566, 0.6299787005\n);\nconst LMS_TO_OKLAB: mat3x3f = mat3x3f(\n 0.2104542553, 1.9779984951, 0.0259040371,\n 0.7936177850, -2.4285922050, 0.7827717662,\n -0.0040720468, 0.4505937099, -0.8086757660\n);\nconst OKLAB_TO_LMS: mat3x3f = mat3x3f(\n 1.0, 1.0, 1.0,\n 0.3963377774, -0.1055613458, -0.0894841775,\n 0.2158037573, -0.0638541728, -1.2914855480\n);\nconst LMS_TO_LINEAR_SRGB: mat3x3f = mat3x3f(\n 4.0767416621, -1.2684380046, -0.0041960863,\n -3.3077115913, 2.6097574011, -0.7034186147,\n 0.2309699292, -0.3413193965, 1.7076147010\n);\n\nfn srgbToOklab(c: vec3f) -> vec3f {\n let lin = srgbToLinear(c);\n let lms = LINEAR_SRGB_TO_LMS * lin;\n let lmsCbrt = sign(lms) * pow(abs(lms), vec3f(1.0 / 3.0));\n return LMS_TO_OKLAB * lmsCbrt;\n}\nfn oklabToLinearSrgb(lab: vec3f) -> vec3f {\n let lms_ = OKLAB_TO_LMS * lab;\n let lms = lms_ * lms_ * lms_;\n return LMS_TO_LINEAR_SRGB * lms;\n}\nfn oklabToOklch(lab: vec3f) -> vec3f {\n let C = length(lab.yz);\n var H = atan2(lab.z, lab.y);\n if (H < 0.0) { H = H + 2.0 * PI; }\n return vec3f(lab.x, C, H);\n}\nfn oklchToOklab(lch: vec3f) -> vec3f {\n return vec3f(lch.x, lch.y * cos(lch.z), lch.y * sin(lch.z));\n}";
|
|
@@ -19,7 +19,7 @@ export interface WebGLCanvasOptions {
|
|
|
19
19
|
mode?: "live" | "capture";
|
|
20
20
|
/**
|
|
21
21
|
* Honor `prefers-reduced-motion: reduce` by painting ONE static frame then
|
|
22
|
-
* parking the loop
|
|
22
|
+
* parking the loop. The shared lifecycle core live-monitors the query via a
|
|
23
23
|
* `matchMedia` `change` listener and re-arms (one static frame) on un-reduce.
|
|
24
24
|
* Default `true` for live mode, `false` for capture mode (a capture runtime
|
|
25
25
|
* draws deterministic frames via `renderAt`, never the live loop). A consumer
|
|
@@ -45,9 +45,9 @@ export interface WebGLCanvasHandle {
|
|
|
45
45
|
/** The live context (null before arm / after dispose / mid-loss). */
|
|
46
46
|
readonly gl: WebGL2RenderingContext | null;
|
|
47
47
|
/**
|
|
48
|
-
* The live `prefers-reduced-motion: reduce` state
|
|
49
|
-
* owns + re-monitors it; consumers read it (e.g. aurora freezes its frame
|
|
50
|
-
*
|
|
48
|
+
* The live `prefers-reduced-motion: reduce` state. The shared lifecycle core
|
|
49
|
+
* owns + re-monitors it; consumers read it (e.g. aurora freezes its frame time
|
|
50
|
+
* at the authored offset while this is `true`). `false` when
|
|
51
51
|
* `respectReducedMotion` is off.
|
|
52
52
|
*/
|
|
53
53
|
readonly reducedMotion: boolean;
|
package/dist/configurator.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./useConfiguratorState-
|
|
1
|
+
import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./useConfiguratorState-B24TcgIn.js";
|
|
2
2
|
export { e as CONFIGURATOR_DENSITY_KEY, t as Configurator, i as ConfiguratorLayer, n as ConfiguratorRow, r as provideConfiguratorDensity, o as useConfiguratorState, a as useOptionalConfiguratorDensity };
|
package/dist/confirm-dialog.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as e } from "./createLucideIcon-
|
|
2
|
-
import { n as t } from "./button-
|
|
3
|
-
import { t as n } from "./_plugin-vue_export-helper-
|
|
1
|
+
import { t as e } from "./createLucideIcon-B6uNAU9G.js";
|
|
2
|
+
import { n as t } from "./button-CAywcrhO.js";
|
|
3
|
+
import { t as n } from "./_plugin-vue_export-helper-gLzyemvl.js";
|
|
4
4
|
import { Transition as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createTextVNode as c, createVNode as l, defineComponent as u, mergeModels as d, openBlock as f, renderSlot as p, toDisplayString as m, unref as h, useModel as g, withCtx as _, withKeys as v, withModifiers as y } from "vue";
|
|
5
5
|
var b = e("loader-circle", [["path", {
|
|
6
6
|
d: "M21 12a9 9 0 1 1-6.219-8.56",
|
package/dist/constellation.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as e } from "./cn-DJXf4yaB.js";
|
|
2
|
-
import { t } from "./_plugin-vue_export-helper-
|
|
3
|
-
import { t as n } from "./useCanvas2D-
|
|
4
|
-
import { n as r, t as i } from "./prng-
|
|
2
|
+
import { t } from "./_plugin-vue_export-helper-gLzyemvl.js";
|
|
3
|
+
import { t as n } from "./useCanvas2D-C31yfUGY.js";
|
|
4
|
+
import { n as r, t as i } from "./prng-wHuHlNHE.js";
|
|
5
5
|
import { computed as a, createElementBlock as o, createElementVNode as s, defineComponent as c, normalizeClass as l, onMounted as u, openBlock as d, unref as f, useTemplateRef as p } from "vue";
|
|
6
6
|
//#region src/components/custom/constellation/constellationField.ts
|
|
7
7
|
var m = 1280, h = {
|
package/dist/context-menu.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "./ContextMenuSubContent-
|
|
2
|
-
import { n as l, r as u, t as d } from "./ContextMenuContent-
|
|
1
|
+
import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "./ContextMenuSubContent-BeDz7G6f.js";
|
|
2
|
+
import { n as l, r as u, t as d } from "./ContextMenuContent-DGKZX1Du.js";
|
|
3
3
|
export { u as ContextMenu, s as ContextMenuCheckboxItem, d as ContextMenuContent, t as ContextMenuItem, o as ContextMenuLabel, r as ContextMenuRadioGroup, a as ContextMenuRadioItem, n as ContextMenuSeparator, e as ContextMenuShortcut, c as ContextMenuSubContent, i as ContextMenuSubTrigger, l as ContextMenuTrigger };
|
package/dist/controls.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./cn-DJXf4yaB.js";
|
|
2
|
-
import { t } from "./_plugin-vue_export-helper-
|
|
3
|
-
import { t as n } from "./useGlobalDark-
|
|
2
|
+
import { t } from "./_plugin-vue_export-helper-gLzyemvl.js";
|
|
3
|
+
import { t as n } from "./useGlobalDark-yhL4Wp-s.js";
|
|
4
4
|
import { computed as r, createBlock as i, createElementVNode as a, defineComponent as o, mergeProps as s, openBlock as c, resolveDynamicComponent as l, unref as u, useAttrs as d, watchEffect as f, withCtx as p } from "vue";
|
|
5
5
|
//#endregion
|
|
6
6
|
//#region src/components/custom/controls/DarkModeToggle.vue
|
package/dist/dark.js
CHANGED
package/dist/data-table.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "./DataTable-
|
|
1
|
+
import { n as e, t } from "./DataTable-gtPOLZvl.js";
|
|
2
2
|
export { t as DataTable, e as DataTablePagination };
|
package/dist/dialog.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { n as e, t } from "./DialogContent-
|
|
2
|
-
import { a as n, i as r, n as i, o as a, r as o, s, t as c } from "./DialogFooter-
|
|
1
|
+
import { n as e, t } from "./DialogContent-DG1YMR-P.js";
|
|
2
|
+
import { a as n, i as r, n as i, o as a, r as o, s, t as c } from "./DialogFooter-BCIaDP15.js";
|
|
3
3
|
export { e as Dialog, s as DialogClose, t as DialogContent, o as DialogDescription, c as DialogFooter, n as DialogHeader, i as DialogScrollContent, r as DialogTitle, a as DialogTrigger };
|
package/dist/disco-glyph.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "./DiscoGlyph-
|
|
1
|
+
import { t as e } from "./DiscoGlyph-ZoBYpoxI.js";
|
|
2
2
|
export { e as DiscoGlyph };
|
package/dist/dock.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { t as e } from "./cn-DJXf4yaB.js";
|
|
2
|
-
import { t } from "./createLucideIcon-
|
|
3
|
-
import { t as n } from "./chevron-down-
|
|
4
|
-
import { t as r } from "./useTouchGate-
|
|
5
|
-
import { n as i } from "./createContext-
|
|
6
|
-
import { i as a, n as o, r as s, t as c } from "./dockContext-
|
|
7
|
-
import { i as l, n as u, r as d, t as f } from "./
|
|
8
|
-
import { t as p } from "./useViewTransition-
|
|
2
|
+
import { t } from "./createLucideIcon-B6uNAU9G.js";
|
|
3
|
+
import { t as n } from "./chevron-down-BSkTP2aL.js";
|
|
4
|
+
import { t as r } from "./useTouchGate-YQRwyUGU.js";
|
|
5
|
+
import { n as i } from "./createContext-CvNyBk4o.js";
|
|
6
|
+
import { i as a, n as o, r as s, t as c } from "./dockContext-DLgrVWsU.js";
|
|
7
|
+
import { i as l, n as u, r as d, t as f } from "./TabsList-COqIdW7i.js";
|
|
8
|
+
import { t as p } from "./useViewTransition-DaN5Zrox.js";
|
|
9
9
|
import { Fragment as m, computed as h, createBlock as g, createCommentVNode as _, createElementBlock as v, createElementVNode as y, createVNode as b, defineComponent as x, mergeModels as S, mergeProps as C, nextTick as w, normalizeClass as T, normalizeStyle as E, onBeforeUnmount as D, onMounted as O, onUnmounted as k, openBlock as A, readonly as j, ref as M, renderList as N, renderSlot as P, resolveDynamicComponent as F, toDisplayString as I, unref as L, useAttrs as R, useId as ee, useModel as z, useTemplateRef as B, watch as V, withCtx as H } from "vue";
|
|
10
10
|
import { DropdownMenuTrigger as U, Primitive as W, SelectIcon as G, SelectTrigger as K, useForwardProps as q } from "reka-ui";
|
|
11
11
|
import { SpringProgress as te } from "@mkbabb/keyframes.js";
|
|
@@ -500,7 +500,7 @@ var le = { key: 1 }, ue = { key: 2 }, de = /* @__PURE__ */ x({
|
|
|
500
500
|
orientation: "horizontal",
|
|
501
501
|
"as-child": !0
|
|
502
502
|
}, {
|
|
503
|
-
default: H(() => [b(L(
|
|
503
|
+
default: H(() => [b(L(f), {
|
|
504
504
|
class: T(["dock-layer-rail", e.railPosition]),
|
|
505
505
|
onFocusin: V,
|
|
506
506
|
onFocusout: U
|
|
@@ -521,7 +521,7 @@ var le = { key: 1 }, ue = { key: 2 }, de = /* @__PURE__ */ x({
|
|
|
521
521
|
"value",
|
|
522
522
|
"title",
|
|
523
523
|
"aria-label"
|
|
524
|
-
]))), 128)), b(L(
|
|
524
|
+
]))), 128)), b(L(u), { class: "dock-layer-tab-indicator" })]),
|
|
525
525
|
_: 1
|
|
526
526
|
}, 8, ["class"])]),
|
|
527
527
|
_: 1
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as e } from "./createContext-
|
|
1
|
+
import { n as e } from "./createContext-CvNyBk4o.js";
|
|
2
2
|
//#region src/components/custom/dock/composables/dockContext.ts
|
|
3
3
|
var t = e("glass-ui:dock-context", "[glass-ui:dock] useDockContext() called outside <GlassDock>; use useOptionalDockContext() if the primitive may render outside a dock."), n = t.KEY;
|
|
4
4
|
function r(e) {
|
package/dist/dom.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as e } from "./useResizeObserver-
|
|
2
|
-
import { t } from "./useTouchGate-
|
|
3
|
-
import { a as n, i as r, n as i, o as a, r as o, t as s } from "./useViewportReady-
|
|
4
|
-
import { t as c } from "./useUserInvalidAria-
|
|
5
|
-
import { t as l } from "./useTextHighlight-
|
|
1
|
+
import { t as e } from "./useResizeObserver-CSyxGxIX.js";
|
|
2
|
+
import { t } from "./useTouchGate-YQRwyUGU.js";
|
|
3
|
+
import { a as n, i as r, n as i, o as a, r as o, t as s } from "./useViewportReady-K96m-Mdv.js";
|
|
4
|
+
import { t as c } from "./useUserInvalidAria-CQKjEfwP.js";
|
|
5
|
+
import { t as l } from "./useTextHighlight-aMPdEpkq.js";
|
|
6
6
|
export { r as copyToClipboard, o as useBreakpoint, n as useClipboard, i as useIdleReady, e as useResizeObserver, l as useTextHighlight, a as useTokenColor, t as useTouchGate, c as useUserInvalidAria, s as useViewportReady };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as e } from "./cn-DJXf4yaB.js";
|
|
2
|
-
import { t } from "./check-
|
|
3
|
-
import { t as n } from "./chevron-right-
|
|
4
|
-
import { t as r } from "./menuItemVariants-
|
|
5
|
-
import { i } from "./dockContext-
|
|
2
|
+
import { t } from "./check-BBKKKSTf.js";
|
|
3
|
+
import { t as n } from "./chevron-right-sDM0Yvrf.js";
|
|
4
|
+
import { t as r } from "./menuItemVariants-B4eFR5Ix.js";
|
|
5
|
+
import { i } from "./dockContext-DLgrVWsU.js";
|
|
6
6
|
import { computed as a, createBlock as o, createElementBlock as s, createElementVNode as c, createVNode as l, defineComponent as u, guardReactiveProps as d, mergeProps as f, normalizeClass as p, normalizeProps as m, openBlock as h, renderSlot as g, unref as _, withCtx as v } from "vue";
|
|
7
7
|
import { DropdownMenuCheckboxItem as y, DropdownMenuContent as b, DropdownMenuGroup as x, DropdownMenuItem as S, DropdownMenuItemIndicator as C, DropdownMenuLabel as w, DropdownMenuPortal as T, DropdownMenuPortal as E, DropdownMenuRadioGroup as D, DropdownMenuRadioItem as O, DropdownMenuRoot as k, DropdownMenuSeparator as A, DropdownMenuSub as j, DropdownMenuSubContent as M, DropdownMenuSubTrigger as N, DropdownMenuTrigger as P, useForwardProps as F, useForwardPropsEmits as I } from "reka-ui";
|
|
8
8
|
//#endregion
|
|
@@ -18,7 +18,7 @@ var L = /* @__PURE__ */ u({
|
|
|
18
18
|
emits: ["update:open"],
|
|
19
19
|
setup(e, { emit: t }) {
|
|
20
20
|
let n = I(e, t);
|
|
21
|
-
return (e, t) => (h(), o(_(k),
|
|
21
|
+
return (e, t) => (h(), o(_(k), f({ "data-slot": "dropdown-menu" }, _(n)), {
|
|
22
22
|
default: v(() => [g(e.$slots, "default")]),
|
|
23
23
|
_: 3
|
|
24
24
|
}, 16));
|
package/dist/dropdown-menu.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as e, c as t, d as n, f as r, h as i, i as a, l as o, m as s, n as c, o as l, p as u, r as d, s as f, t as p, u as m } from "./dropdown-menu-
|
|
1
|
+
import { a as e, c as t, d as n, f as r, h as i, i as a, l as o, m as s, n as c, o as l, p as u, r as d, s as f, t as p, u as m } from "./dropdown-menu-BWpwutt0.js";
|
|
2
2
|
export { i as DropdownMenu, o as DropdownMenuCheckboxItem, u as DropdownMenuContent, r as DropdownMenuGroup, m as DropdownMenuItem, e as DropdownMenuLabel, p as DropdownMenuPortal, n as DropdownMenuRadioGroup, t as DropdownMenuRadioItem, l as DropdownMenuSeparator, f as DropdownMenuShortcut, a as DropdownMenuSub, c as DropdownMenuSubContent, d as DropdownMenuSubTrigger, s as DropdownMenuTrigger };
|