aeon-ui-engine 1.0.1 → 1.0.3
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/CHANGELOG.md +51 -0
- package/CONSUMER.md +86 -0
- package/INTEGRATION.md +2 -0
- package/README.md +15 -4
- package/package.json +17 -1
- package/packages/core/dist/index.d.ts +257 -0
- package/packages/core/dist/index.js +378 -0
- package/packages/core/node_modules/.bin/esbuild +21 -0
- package/packages/core/node_modules/.bin/jiti +21 -0
- package/packages/core/node_modules/.bin/tsc +21 -0
- package/packages/core/node_modules/.bin/tsserver +21 -0
- package/packages/core/node_modules/.bin/tsup +21 -0
- package/packages/core/node_modules/.bin/tsup-node +21 -0
- package/packages/core/node_modules/.bin/tsx +21 -0
- package/packages/core/node_modules/.bin/vite +21 -0
- package/packages/core/node_modules/.bin/vitest +21 -0
- package/packages/core/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/geometry/dist/index.d.ts +50 -0
- package/packages/geometry/dist/index.js +88 -0
- package/packages/geometry/node_modules/.bin/esbuild +21 -0
- package/packages/geometry/node_modules/.bin/jiti +21 -0
- package/packages/geometry/node_modules/.bin/tsc +21 -0
- package/packages/geometry/node_modules/.bin/tsserver +21 -0
- package/packages/geometry/node_modules/.bin/tsup +21 -0
- package/packages/geometry/node_modules/.bin/tsup-node +21 -0
- package/packages/geometry/node_modules/.bin/tsx +21 -0
- package/packages/panda/src/recipes/button.ts +4 -4
- package/packages/panda/src/recipes/combobox.ts +1 -1
- package/packages/panda/src/recipes/select.ts +1 -1
- package/packages/panda/src/theme/tokens.ts +5 -0
- package/packages/panda/styled-system/styles.css +10 -6
- package/packages/panda/styled-system/tokens/index.mjs +32 -0
- package/packages/panda/styled-system/tokens/tokens.d.ts +2 -2
- package/packages/primitives/dist/chunk-5S4DIRL4.js +42 -0
- package/packages/primitives/dist/chunk-H4KOEPYC.js +52 -0
- package/packages/primitives/dist/chunk-HONROWUG.js +41 -0
- package/packages/primitives/dist/chunk-J6JHKMVM.js +90 -0
- package/packages/primitives/dist/chunk-JBAG5E6W.js +46 -0
- package/packages/primitives/dist/chunk-LVNCD5F2.js +43 -0
- package/packages/primitives/dist/chunk-PB3LFHXU.js +72 -0
- package/packages/primitives/dist/chunk-SZV6KGXN.js +49 -0
- package/packages/primitives/dist/chunk-WVICCOQH.js +56 -0
- package/packages/primitives/dist/chunk-ZMGRX64G.js +74 -0
- package/packages/primitives/dist/index.d.ts +11 -0
- package/packages/primitives/dist/index.js +60 -0
- package/packages/primitives/dist/machines/accordion.d.ts +34 -0
- package/packages/primitives/dist/machines/accordion.js +6 -0
- package/packages/primitives/dist/machines/async.d.ts +111 -0
- package/packages/primitives/dist/machines/async.js +12 -0
- package/packages/primitives/dist/machines/button.d.ts +45 -0
- package/packages/primitives/dist/machines/button.js +8 -0
- package/packages/primitives/dist/machines/dialog.d.ts +57 -0
- package/packages/primitives/dist/machines/dialog.js +6 -0
- package/packages/primitives/dist/machines/field.d.ts +72 -0
- package/packages/primitives/dist/machines/field.js +12 -0
- package/packages/primitives/dist/machines/popover.d.ts +54 -0
- package/packages/primitives/dist/machines/popover.js +6 -0
- package/packages/primitives/dist/machines/slider.d.ts +71 -0
- package/packages/primitives/dist/machines/slider.js +10 -0
- package/packages/primitives/dist/machines/tabs.d.ts +39 -0
- package/packages/primitives/dist/machines/tabs.js +6 -0
- package/packages/primitives/dist/machines/toast.d.ts +31 -0
- package/packages/primitives/dist/machines/toast.js +6 -0
- package/packages/primitives/dist/machines/toggle.d.ts +54 -0
- package/packages/primitives/dist/machines/toggle.js +6 -0
- package/packages/primitives/node_modules/.bin/jiti +21 -0
- package/packages/primitives/node_modules/.bin/tsc +21 -0
- package/packages/primitives/node_modules/.bin/tsserver +21 -0
- package/packages/primitives/node_modules/.bin/tsup +21 -0
- package/packages/primitives/node_modules/.bin/tsup-node +21 -0
- package/packages/primitives/node_modules/.bin/tsx +21 -0
- package/packages/primitives/node_modules/.bin/vitest +21 -0
- package/packages/primitives/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/react/dist/index.d.ts +564 -0
- package/packages/react/dist/index.js +3461 -0
- package/packages/react/node_modules/.bin/jiti +21 -0
- package/packages/react/node_modules/.bin/tsc +21 -0
- package/packages/react/node_modules/.bin/tsserver +21 -0
- package/packages/react/node_modules/.bin/tsup +21 -0
- package/packages/react/node_modules/.bin/tsup-node +21 -0
- package/packages/react/node_modules/.bin/tsx +21 -0
- package/packages/react/node_modules/.bin/vitest +21 -0
- package/packages/react/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/react-scene/dist/index.d.ts +121 -0
- package/packages/react-scene/dist/index.js +430 -0
- package/packages/react-scene/node_modules/.bin/jiti +21 -0
- package/packages/react-scene/node_modules/.bin/tsc +21 -0
- package/packages/react-scene/node_modules/.bin/tsserver +21 -0
- package/packages/react-scene/node_modules/.bin/tsup +21 -0
- package/packages/react-scene/node_modules/.bin/tsup-node +21 -0
- package/packages/react-scene/node_modules/.bin/tsx +21 -0
- package/packages/scene/dist/index.d.ts +46 -0
- package/packages/scene/dist/index.js +54 -0
- package/packages/scene/node_modules/.bin/jiti +21 -0
- package/packages/scene/node_modules/.bin/tsc +21 -0
- package/packages/scene/node_modules/.bin/tsserver +21 -0
- package/packages/scene/node_modules/.bin/tsup +21 -0
- package/packages/scene/node_modules/.bin/tsup-node +21 -0
- package/packages/scene/node_modules/.bin/tsx +21 -0
- package/packages/signal/dist/index.d.ts +54 -0
- package/packages/signal/dist/index.js +169 -0
- package/packages/signal/node_modules/.bin/jiti +21 -0
- package/packages/signal/node_modules/.bin/tsc +21 -0
- package/packages/signal/node_modules/.bin/tsserver +21 -0
- package/packages/signal/node_modules/.bin/tsup +21 -0
- package/packages/signal/node_modules/.bin/tsup-node +21 -0
- package/packages/signal/node_modules/.bin/tsx +21 -0
- package/packages/site/dist/index.d.ts +31 -0
- package/packages/site/dist/index.js +62 -0
- package/packages/site/node_modules/.bin/jiti +21 -0
- package/packages/site/node_modules/.bin/tsc +21 -0
- package/packages/site/node_modules/.bin/tsserver +21 -0
- package/packages/site/node_modules/.bin/tsup +21 -0
- package/packages/site/node_modules/.bin/tsup-node +21 -0
- package/packages/site/node_modules/.bin/tsx +21 -0
- package/packages/solid/dist/index.d.ts +30 -0
- package/packages/solid/dist/index.js +174 -0
- package/packages/solid/node_modules/.bin/jiti +21 -0
- package/packages/solid/node_modules/.bin/tsc +21 -0
- package/packages/solid/node_modules/.bin/tsserver +21 -0
- package/packages/solid/node_modules/.bin/tsup +21 -0
- package/packages/solid/node_modules/.bin/tsup-node +21 -0
- package/packages/solid/node_modules/.bin/tsx +21 -0
- package/packages/surface/dist/index.d.ts +8 -0
- package/packages/surface/dist/index.js +14 -0
- package/packages/surface/node_modules/.bin/jiti +21 -0
- package/packages/surface/node_modules/.bin/tsc +21 -0
- package/packages/surface/node_modules/.bin/tsserver +21 -0
- package/packages/surface/node_modules/.bin/tsup +21 -0
- package/packages/surface/node_modules/.bin/tsup-node +21 -0
- package/packages/surface/node_modules/.bin/tsx +21 -0
- package/packages/svelte/dist/index.d.ts +12 -0
- package/packages/svelte/dist/index.js +15 -0
- package/packages/svelte/node_modules/.bin/acorn +21 -0
- package/packages/svelte/node_modules/.bin/jiti +21 -0
- package/packages/svelte/node_modules/.bin/svelte-check +21 -0
- package/packages/svelte/node_modules/.bin/tsc +21 -0
- package/packages/svelte/node_modules/.bin/tsserver +21 -0
- package/packages/svelte/node_modules/.bin/tsup +21 -0
- package/packages/svelte/node_modules/.bin/tsup-node +21 -0
- package/packages/svelte/node_modules/.bin/tsx +21 -0
- package/packages/svelte/node_modules/.bin/vite +21 -0
- package/packages/ui/dist/index.d.ts +200 -0
- package/packages/ui/dist/index.js +429 -0
- package/packages/ui/node_modules/.bin/jiti +21 -0
- package/packages/ui/node_modules/.bin/tsc +21 -0
- package/packages/ui/node_modules/.bin/tsserver +21 -0
- package/packages/ui/node_modules/.bin/tsup +21 -0
- package/packages/ui/node_modules/.bin/tsup-node +21 -0
- package/packages/ui/node_modules/.bin/tsx +21 -0
- package/packages/ui/src/select.tsx +3 -4
- package/packages/vue/dist/index.d.ts +71 -0
- package/packages/vue/dist/index.js +193 -0
- package/packages/vue/node_modules/.bin/jiti +21 -0
- package/packages/vue/node_modules/.bin/tsc +21 -0
- package/packages/vue/node_modules/.bin/tsserver +21 -0
- package/packages/vue/node_modules/.bin/tsup +21 -0
- package/packages/vue/node_modules/.bin/tsup-node +21 -0
- package/packages/vue/node_modules/.bin/tsx +21 -0
- package/scripts/vite-aliases.mjs +125 -0
- package/.changeset/README.md +0 -23
- package/.changeset/combobox-and-changesets.md +0 -9
- package/.changeset/config.json +0 -30
- package/.changeset/framework-adapters.md +0 -12
- package/.changeset/scene-3d.md +0 -6
- package/.changeset/scene-plane.md +0 -8
- package/.changeset/site-og.md +0 -5
- package/.cursor/rules/aeon-ui.mdc +0 -22
- package/ACCESSIBILITY.md +0 -32
- package/AGENTS.md +0 -226
- package/COMPONENTS.md +0 -41
- package/FRAMEWORKS.md +0 -57
- package/PHILOSOPHY.md +0 -71
- package/PUBLISHING.md +0 -85
- package/SCENE.md +0 -113
- package/STATES.md +0 -243
- package/apps/demo/index.html +0 -31
- package/apps/demo/og.config.mjs +0 -20
- package/apps/demo/package.json +0 -41
- package/apps/demo/public/favicon.svg +0 -16
- package/apps/demo/public/og-aeon-ui-engine.png +0 -0
- package/apps/demo/public/og.svg +0 -35
- package/apps/demo/scripts/generate-og-png.mjs +0 -62
- package/apps/demo/src/App.tsx +0 -31
- package/apps/demo/src/aeonDiagrams.ts +0 -42
- package/apps/demo/src/app.css +0 -16
- package/apps/demo/src/components/ActionCluster.tsx +0 -20
- package/apps/demo/src/components/AsyncMachineDemo.tsx +0 -97
- package/apps/demo/src/components/ButtonLifecycleDemo.tsx +0 -63
- package/apps/demo/src/components/CodeExample.tsx +0 -7
- package/apps/demo/src/components/ComboboxDemo.tsx +0 -30
- package/apps/demo/src/components/DiagramsSection.tsx +0 -37
- package/apps/demo/src/components/FieldStateDemo.tsx +0 -51
- package/apps/demo/src/components/GridMesh.tsx +0 -8
- package/apps/demo/src/components/HeroInstall.tsx +0 -13
- package/apps/demo/src/components/LandingFaq.tsx +0 -29
- package/apps/demo/src/components/LandingFooter.tsx +0 -30
- package/apps/demo/src/components/LandingHeader.tsx +0 -62
- package/apps/demo/src/components/LandingHero.tsx +0 -55
- package/apps/demo/src/components/LayersSection.tsx +0 -47
- package/apps/demo/src/components/MermaidDiagram.tsx +0 -86
- package/apps/demo/src/components/PhilosophySection.tsx +0 -31
- package/apps/demo/src/components/PlaygroundBlock.tsx +0 -18
- package/apps/demo/src/components/PlaygroundControlsDemo.tsx +0 -63
- package/apps/demo/src/components/PlaygroundSection.tsx +0 -120
- package/apps/demo/src/components/ScrollRegionDemo.tsx +0 -74
- package/apps/demo/src/components/ThemeSwitcher.tsx +0 -79
- package/apps/demo/src/demo-layout.css +0 -293
- package/apps/demo/src/landing.css +0 -1151
- package/apps/demo/src/main.tsx +0 -14
- package/apps/demo/src/nav.ts +0 -9
- package/apps/demo/src/site.ts +0 -218
- package/apps/demo/tsconfig.json +0 -17
- package/apps/demo/vite-plugins/og-meta.ts +0 -30
- package/apps/demo/vite.config.ts +0 -69
- package/docs/API_PATTERNS.md +0 -234
- package/docs/ARCHITECTURE.md +0 -125
- package/docs/COMPONENT_CHECKLIST.md +0 -103
- package/docs/FILE_MAP.md +0 -122
- package/docs/GLOSSARY.md +0 -125
- package/docs/INDEX.md +0 -53
- package/docs/LAYOUT_COORDINATES.md +0 -178
- package/docs/MACHINES.md +0 -171
- package/docs/MIGRATION_FROM_ARK.md +0 -295
- package/docs/VITE_CONSUMER.md +0 -114
- package/pnpm-workspace.yaml +0 -3
- package/vercel.json +0 -12
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
// src/philosophy.ts
|
|
2
|
+
var AEON_PRINCIPLE = "State is defined first. UI represents the totality of that definition.";
|
|
3
|
+
var UI_IS_FUNCTION_OF_STATE = "UI = f(state)";
|
|
4
|
+
|
|
5
|
+
// src/anatomy.ts
|
|
6
|
+
function anatomy(scope, parts) {
|
|
7
|
+
return Object.fromEntries(parts.map((p) => [p, p]));
|
|
8
|
+
}
|
|
9
|
+
var buttonAnatomy = anatomy("button", [
|
|
10
|
+
"root",
|
|
11
|
+
"group",
|
|
12
|
+
"label",
|
|
13
|
+
"icon"
|
|
14
|
+
]);
|
|
15
|
+
var switchAnatomy = anatomy("switch", [
|
|
16
|
+
"root",
|
|
17
|
+
"control",
|
|
18
|
+
"thumb",
|
|
19
|
+
"label",
|
|
20
|
+
"hiddenInput"
|
|
21
|
+
]);
|
|
22
|
+
var checkboxAnatomy = anatomy("checkbox", [
|
|
23
|
+
"root",
|
|
24
|
+
"control",
|
|
25
|
+
"indicator",
|
|
26
|
+
"label",
|
|
27
|
+
"hiddenInput"
|
|
28
|
+
]);
|
|
29
|
+
var dialogAnatomy = anatomy("dialog", [
|
|
30
|
+
"root",
|
|
31
|
+
"trigger",
|
|
32
|
+
"portal",
|
|
33
|
+
"backdrop",
|
|
34
|
+
"positioner",
|
|
35
|
+
"content",
|
|
36
|
+
"title",
|
|
37
|
+
"description",
|
|
38
|
+
"closeTrigger"
|
|
39
|
+
]);
|
|
40
|
+
var tabsAnatomy = anatomy("tabs", [
|
|
41
|
+
"root",
|
|
42
|
+
"list",
|
|
43
|
+
"trigger",
|
|
44
|
+
"content",
|
|
45
|
+
"indicator"
|
|
46
|
+
]);
|
|
47
|
+
var accordionAnatomy = anatomy("accordion", [
|
|
48
|
+
"root",
|
|
49
|
+
"item",
|
|
50
|
+
"itemTrigger",
|
|
51
|
+
"itemContent",
|
|
52
|
+
"itemIndicator"
|
|
53
|
+
]);
|
|
54
|
+
var asyncAnatomy = anatomy("async", [
|
|
55
|
+
"root",
|
|
56
|
+
"track",
|
|
57
|
+
"segment",
|
|
58
|
+
"readout",
|
|
59
|
+
"readoutRail",
|
|
60
|
+
"readoutBody",
|
|
61
|
+
"actions"
|
|
62
|
+
]);
|
|
63
|
+
var fieldAnatomy = anatomy("field", [
|
|
64
|
+
"root",
|
|
65
|
+
"label",
|
|
66
|
+
"control",
|
|
67
|
+
"textarea",
|
|
68
|
+
"message",
|
|
69
|
+
"hint"
|
|
70
|
+
]);
|
|
71
|
+
var scrollAnatomy = anatomy("scroll", ["root", "viewport", "content"]);
|
|
72
|
+
var playSurfaceAnatomy = anatomy("play", ["mat", "table", "dice", "bank"]);
|
|
73
|
+
var selectAnatomy = anatomy("select", [
|
|
74
|
+
"root",
|
|
75
|
+
"trigger",
|
|
76
|
+
"value",
|
|
77
|
+
"icon",
|
|
78
|
+
"positioner",
|
|
79
|
+
"content",
|
|
80
|
+
"item"
|
|
81
|
+
]);
|
|
82
|
+
var comboboxAnatomy = anatomy("combobox", [
|
|
83
|
+
"root",
|
|
84
|
+
"input",
|
|
85
|
+
"icon",
|
|
86
|
+
"content",
|
|
87
|
+
"item",
|
|
88
|
+
"empty"
|
|
89
|
+
]);
|
|
90
|
+
var popoverAnatomy = anatomy("popover", [
|
|
91
|
+
"root",
|
|
92
|
+
"trigger",
|
|
93
|
+
"positioner",
|
|
94
|
+
"content",
|
|
95
|
+
"arrow",
|
|
96
|
+
"closeTrigger"
|
|
97
|
+
]);
|
|
98
|
+
var menuAnatomy = anatomy("menu", [
|
|
99
|
+
"root",
|
|
100
|
+
"trigger",
|
|
101
|
+
"positioner",
|
|
102
|
+
"content",
|
|
103
|
+
"item",
|
|
104
|
+
"separator"
|
|
105
|
+
]);
|
|
106
|
+
var tooltipAnatomy = anatomy("tooltip", [
|
|
107
|
+
"root",
|
|
108
|
+
"trigger",
|
|
109
|
+
"positioner",
|
|
110
|
+
"content",
|
|
111
|
+
"arrow"
|
|
112
|
+
]);
|
|
113
|
+
var toastAnatomy = anatomy("toast", [
|
|
114
|
+
"viewport",
|
|
115
|
+
"root",
|
|
116
|
+
"title",
|
|
117
|
+
"description",
|
|
118
|
+
"closeTrigger"
|
|
119
|
+
]);
|
|
120
|
+
var avatarAnatomy = anatomy("avatar", ["root", "image", "fallback"]);
|
|
121
|
+
var separatorAnatomy = anatomy("separator", ["root"]);
|
|
122
|
+
var progressAnatomy = anatomy("progress", ["root", "track", "range", "label"]);
|
|
123
|
+
var radioGroupAnatomy = anatomy("radioGroup", [
|
|
124
|
+
"root",
|
|
125
|
+
"item",
|
|
126
|
+
"itemControl",
|
|
127
|
+
"itemIndicator",
|
|
128
|
+
"itemLabel"
|
|
129
|
+
]);
|
|
130
|
+
var sliderAnatomy = anatomy("slider", [
|
|
131
|
+
"root",
|
|
132
|
+
"track",
|
|
133
|
+
"range",
|
|
134
|
+
"thumb",
|
|
135
|
+
"valueText"
|
|
136
|
+
]);
|
|
137
|
+
var pinInputAnatomy = anatomy("pinInput", ["root", "input"]);
|
|
138
|
+
|
|
139
|
+
// src/attrs.ts
|
|
140
|
+
function stateFields(options) {
|
|
141
|
+
const states = options?.state ? Array.isArray(options.state) ? options.state.join(" ") : options.state : void 0;
|
|
142
|
+
return {
|
|
143
|
+
...states ? { "data-aeon-state": states } : {},
|
|
144
|
+
...options?.disabled ? { "data-disabled": "" } : {},
|
|
145
|
+
...options?.focus ? { "data-focus": "" } : {},
|
|
146
|
+
...options?.highlighted ? { "data-highlighted": "" } : {}
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
function scopeAttrs(scope, part = "root", options) {
|
|
150
|
+
return {
|
|
151
|
+
"data-aeon-scope": scope,
|
|
152
|
+
"data-aeon-part": part,
|
|
153
|
+
...stateFields(options)
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
function partOnlyAttrs(part, options) {
|
|
157
|
+
return {
|
|
158
|
+
"data-aeon-part": part,
|
|
159
|
+
...stateFields(options)
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
function partAttrs(scope, part, options) {
|
|
163
|
+
return scopeAttrs(scope, part, options);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// src/machine.ts
|
|
167
|
+
import { setup } from "xstate";
|
|
168
|
+
function stateToAttr(value) {
|
|
169
|
+
if (value == null || typeof value === "string") return String(value ?? "");
|
|
170
|
+
return Object.entries(value).map(([k, v]) => `${k}:${stateToAttr(v)}`).join(" ");
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
// src/scroll.ts
|
|
174
|
+
var EPS = 1;
|
|
175
|
+
function canScrollY(el) {
|
|
176
|
+
return el.scrollHeight > el.clientHeight + EPS;
|
|
177
|
+
}
|
|
178
|
+
function canScrollX(el) {
|
|
179
|
+
return el.scrollWidth > el.clientWidth + EPS;
|
|
180
|
+
}
|
|
181
|
+
function getScrollSnapshot(el) {
|
|
182
|
+
const scrollY = canScrollY(el);
|
|
183
|
+
const scrollX = canScrollX(el);
|
|
184
|
+
let overflow = "none";
|
|
185
|
+
if (scrollY && scrollX) overflow = "both";
|
|
186
|
+
else if (scrollY) overflow = "y";
|
|
187
|
+
else if (scrollX) overflow = "x";
|
|
188
|
+
const atStartY = !scrollY || el.scrollTop <= EPS;
|
|
189
|
+
const atEndY = !scrollY || el.scrollTop + el.clientHeight >= el.scrollHeight - EPS;
|
|
190
|
+
const betweenY = scrollY && !atStartY && !atEndY;
|
|
191
|
+
const atStartX = !scrollX || el.scrollLeft <= EPS;
|
|
192
|
+
const atEndX = !scrollX || el.scrollLeft + el.clientWidth >= el.scrollWidth - EPS;
|
|
193
|
+
const betweenX = scrollX && !atStartX && !atEndX;
|
|
194
|
+
const parts = [];
|
|
195
|
+
if (overflow === "none") parts.push("idle");
|
|
196
|
+
else parts.push(`overflow-${overflow}`);
|
|
197
|
+
if (scrollY) {
|
|
198
|
+
if (atStartY && atEndY) parts.push("at-start-y", "at-end-y");
|
|
199
|
+
else if (atStartY) parts.push("at-start-y");
|
|
200
|
+
else if (atEndY) parts.push("at-end-y");
|
|
201
|
+
else parts.push("between-y");
|
|
202
|
+
}
|
|
203
|
+
if (scrollX) {
|
|
204
|
+
if (atStartX && atEndX) parts.push("at-start-x", "at-end-x");
|
|
205
|
+
else if (atStartX) parts.push("at-start-x");
|
|
206
|
+
else if (atEndX) parts.push("at-end-x");
|
|
207
|
+
else parts.push("between-x");
|
|
208
|
+
}
|
|
209
|
+
return {
|
|
210
|
+
overflow,
|
|
211
|
+
stateAttr: parts.join(" "),
|
|
212
|
+
atStartY,
|
|
213
|
+
atEndY,
|
|
214
|
+
betweenY,
|
|
215
|
+
atStartX,
|
|
216
|
+
atEndX,
|
|
217
|
+
betweenX
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
// src/layout.ts
|
|
222
|
+
var NORM_PLANE = {
|
|
223
|
+
bottomLeft: "bottom-left",
|
|
224
|
+
topLeft: "top-left"
|
|
225
|
+
};
|
|
226
|
+
var DEFAULT_COMPACT_MQ = "(max-width: 39.99rem)";
|
|
227
|
+
function clampNorm(point, bounds) {
|
|
228
|
+
return {
|
|
229
|
+
x: Math.min(bounds.xMax, Math.max(bounds.xMin, point.x)),
|
|
230
|
+
y: Math.min(bounds.yMax, Math.max(bounds.yMin, point.y))
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
function normFromClient(rect, clientX, clientY, options) {
|
|
234
|
+
const origin = options?.origin ?? NORM_PLANE.bottomLeft;
|
|
235
|
+
const w = rect.width || 1;
|
|
236
|
+
const h = rect.height || 1;
|
|
237
|
+
const x = (clientX - rect.left) / w * 100;
|
|
238
|
+
const yFromTop = (clientY - rect.top) / h;
|
|
239
|
+
const y = origin === NORM_PLANE.bottomLeft ? (1 - yFromTop) * 100 : yFromTop * 100;
|
|
240
|
+
const raw = { x, y };
|
|
241
|
+
return options?.bounds ? clampNorm(raw, options.bounds) : raw;
|
|
242
|
+
}
|
|
243
|
+
function clientFromNorm(rect, point, options) {
|
|
244
|
+
const origin = options?.origin ?? NORM_PLANE.bottomLeft;
|
|
245
|
+
const w = rect.width || 1;
|
|
246
|
+
const h = rect.height || 1;
|
|
247
|
+
const clientX = rect.left + point.x / 100 * w;
|
|
248
|
+
const yFromTop = origin === NORM_PLANE.bottomLeft ? 1 - point.y / 100 : point.y / 100;
|
|
249
|
+
const clientY = rect.top + yFromTop * h;
|
|
250
|
+
return { clientX, clientY };
|
|
251
|
+
}
|
|
252
|
+
function measureElement(el) {
|
|
253
|
+
if (!el || !("getBoundingClientRect" in el)) return null;
|
|
254
|
+
const rect = el.getBoundingClientRect();
|
|
255
|
+
return rect.width > 0 && rect.height > 0 ? rect : null;
|
|
256
|
+
}
|
|
257
|
+
function resolveRegionRect(primary, fallback) {
|
|
258
|
+
if (primary && primary.width > 0 && primary.height > 0) return primary;
|
|
259
|
+
if (fallback && fallback.width > 0 && fallback.height > 0) return fallback;
|
|
260
|
+
return null;
|
|
261
|
+
}
|
|
262
|
+
function matchLayoutMode(spec, mq = getCompactMq(spec)) {
|
|
263
|
+
return mq.matches ? "compact" : "wide";
|
|
264
|
+
}
|
|
265
|
+
function getCompactMq(spec) {
|
|
266
|
+
const query = spec.compactMq ?? DEFAULT_COMPACT_MQ;
|
|
267
|
+
if (typeof window === "undefined" || !window.matchMedia) {
|
|
268
|
+
return { matches: false };
|
|
269
|
+
}
|
|
270
|
+
return window.matchMedia(query);
|
|
271
|
+
}
|
|
272
|
+
function layoutCompositionForMode(spec, mode) {
|
|
273
|
+
return spec.modes[mode];
|
|
274
|
+
}
|
|
275
|
+
function regionBoundsForMode(spec, mode, regionId) {
|
|
276
|
+
return spec.modes[mode].bounds?.[regionId];
|
|
277
|
+
}
|
|
278
|
+
function layoutModeAttrs(mode, composition) {
|
|
279
|
+
return {
|
|
280
|
+
"data-aeon-layout-mode": mode,
|
|
281
|
+
"data-aeon-layout-composition": composition
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
function insetNormCluster(point, bounds, inset = {}) {
|
|
285
|
+
const padX = inset.x ?? 0;
|
|
286
|
+
const padY = inset.y ?? 0;
|
|
287
|
+
const halfX = (bounds.xMax - bounds.xMin) / 2;
|
|
288
|
+
const halfY = (bounds.yMax - bounds.yMin) / 2;
|
|
289
|
+
const capX = Math.min(padX, halfX - 0.5);
|
|
290
|
+
const capY = Math.min(padY, halfY - 0.5);
|
|
291
|
+
return {
|
|
292
|
+
x: Math.min(bounds.xMax - capX, Math.max(bounds.xMin + capX, point.x)),
|
|
293
|
+
y: Math.min(bounds.yMax - capY, Math.max(bounds.yMin + capY, point.y))
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
// src/theme.ts
|
|
298
|
+
var AEON_THEME_TRANSITION_CLASS = "aeon-theme-transition";
|
|
299
|
+
function isAeonColorMode(value) {
|
|
300
|
+
return value === "light" || value === "dark";
|
|
301
|
+
}
|
|
302
|
+
function resolveAeonColorMode(theme, systemPrefersDark = false) {
|
|
303
|
+
if (theme === "dark") return "dark";
|
|
304
|
+
if (theme === "light") return "light";
|
|
305
|
+
return systemPrefersDark ? "dark" : "light";
|
|
306
|
+
}
|
|
307
|
+
function syncAeonColorMode(root, mode, options) {
|
|
308
|
+
const themeId = options?.themeId ?? root.dataset.aeonTheme ?? "default";
|
|
309
|
+
root.dataset.aeonTheme = themeId;
|
|
310
|
+
root.dataset.aeonMode = mode;
|
|
311
|
+
root.style.colorScheme = mode;
|
|
312
|
+
if (options?.enableTransitionClass !== false) {
|
|
313
|
+
root.classList.add(AEON_THEME_TRANSITION_CLASS);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
function runAeonThemeTransition(apply) {
|
|
317
|
+
if (typeof document === "undefined") {
|
|
318
|
+
apply();
|
|
319
|
+
return;
|
|
320
|
+
}
|
|
321
|
+
const start = document.startViewTransition;
|
|
322
|
+
if (typeof start === "function") {
|
|
323
|
+
start.call(document, apply);
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
apply();
|
|
327
|
+
}
|
|
328
|
+
export {
|
|
329
|
+
AEON_PRINCIPLE,
|
|
330
|
+
AEON_THEME_TRANSITION_CLASS,
|
|
331
|
+
DEFAULT_COMPACT_MQ,
|
|
332
|
+
NORM_PLANE,
|
|
333
|
+
UI_IS_FUNCTION_OF_STATE,
|
|
334
|
+
accordionAnatomy,
|
|
335
|
+
anatomy,
|
|
336
|
+
asyncAnatomy,
|
|
337
|
+
avatarAnatomy,
|
|
338
|
+
buttonAnatomy,
|
|
339
|
+
checkboxAnatomy,
|
|
340
|
+
clampNorm,
|
|
341
|
+
clientFromNorm,
|
|
342
|
+
comboboxAnatomy,
|
|
343
|
+
setup as createAeonMachine,
|
|
344
|
+
dialogAnatomy,
|
|
345
|
+
fieldAnatomy,
|
|
346
|
+
getCompactMq,
|
|
347
|
+
getScrollSnapshot,
|
|
348
|
+
insetNormCluster,
|
|
349
|
+
isAeonColorMode,
|
|
350
|
+
layoutCompositionForMode,
|
|
351
|
+
layoutModeAttrs,
|
|
352
|
+
matchLayoutMode,
|
|
353
|
+
measureElement,
|
|
354
|
+
menuAnatomy,
|
|
355
|
+
normFromClient,
|
|
356
|
+
partAttrs,
|
|
357
|
+
partOnlyAttrs,
|
|
358
|
+
pinInputAnatomy,
|
|
359
|
+
playSurfaceAnatomy,
|
|
360
|
+
popoverAnatomy,
|
|
361
|
+
progressAnatomy,
|
|
362
|
+
radioGroupAnatomy,
|
|
363
|
+
regionBoundsForMode,
|
|
364
|
+
resolveAeonColorMode,
|
|
365
|
+
resolveRegionRect,
|
|
366
|
+
runAeonThemeTransition,
|
|
367
|
+
scopeAttrs,
|
|
368
|
+
scrollAnatomy,
|
|
369
|
+
selectAnatomy,
|
|
370
|
+
separatorAnatomy,
|
|
371
|
+
sliderAnatomy,
|
|
372
|
+
stateToAttr,
|
|
373
|
+
switchAnatomy,
|
|
374
|
+
syncAeonColorMode,
|
|
375
|
+
tabsAnatomy,
|
|
376
|
+
toastAnatomy,
|
|
377
|
+
tooltipAnatomy
|
|
378
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/brandoncryderman/AeonUI/node_modules/.pnpm/esbuild@0.27.7/node_modules/esbuild/bin/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/esbuild@0.27.7/node_modules/esbuild/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/esbuild@0.27.7/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/brandoncryderman/AeonUI/node_modules/.pnpm/esbuild@0.27.7/node_modules/esbuild/bin/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/esbuild@0.27.7/node_modules/esbuild/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/esbuild@0.27.7/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../../../../node_modules/.pnpm/esbuild@0.27.7/node_modules/esbuild/bin/esbuild" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../../../../node_modules/.pnpm/esbuild@0.27.7/node_modules/esbuild/bin/esbuild" "$@"
|
|
21
|
+
fi
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/brandoncryderman/AeonUI/node_modules/.pnpm/jiti@2.7.0/node_modules/jiti/lib/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/jiti@2.7.0/node_modules/jiti/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/jiti@2.7.0/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/brandoncryderman/AeonUI/node_modules/.pnpm/jiti@2.7.0/node_modules/jiti/lib/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/jiti@2.7.0/node_modules/jiti/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/jiti@2.7.0/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../../../../node_modules/.pnpm/jiti@2.7.0/node_modules/jiti/lib/jiti-cli.mjs" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../../../../node_modules/.pnpm/jiti@2.7.0/node_modules/jiti/lib/jiti-cli.mjs" "$@"
|
|
21
|
+
fi
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/brandoncryderman/AeonUI/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/bin/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/typescript@5.9.3/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/brandoncryderman/AeonUI/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/bin/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/typescript@5.9.3/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../typescript/bin/tsc" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../typescript/bin/tsc" "$@"
|
|
21
|
+
fi
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/brandoncryderman/AeonUI/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/bin/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/typescript@5.9.3/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/brandoncryderman/AeonUI/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/bin/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/typescript@5.9.3/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../typescript/bin/tsserver" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../typescript/bin/tsserver" "$@"
|
|
21
|
+
fi
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/brandoncryderman/AeonUI/node_modules/.pnpm/tsup@8.5.1_jiti@2.7.0_postcss@8.5.15_tsx@4.22.3_typescript@5.9.3/node_modules/tsup/dist/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/tsup@8.5.1_jiti@2.7.0_postcss@8.5.15_tsx@4.22.3_typescript@5.9.3/node_modules/tsup/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/tsup@8.5.1_jiti@2.7.0_postcss@8.5.15_tsx@4.22.3_typescript@5.9.3/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/brandoncryderman/AeonUI/node_modules/.pnpm/tsup@8.5.1_jiti@2.7.0_postcss@8.5.15_tsx@4.22.3_typescript@5.9.3/node_modules/tsup/dist/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/tsup@8.5.1_jiti@2.7.0_postcss@8.5.15_tsx@4.22.3_typescript@5.9.3/node_modules/tsup/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/tsup@8.5.1_jiti@2.7.0_postcss@8.5.15_tsx@4.22.3_typescript@5.9.3/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../tsup/dist/cli-default.js" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../tsup/dist/cli-default.js" "$@"
|
|
21
|
+
fi
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/brandoncryderman/AeonUI/node_modules/.pnpm/tsup@8.5.1_jiti@2.7.0_postcss@8.5.15_tsx@4.22.3_typescript@5.9.3/node_modules/tsup/dist/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/tsup@8.5.1_jiti@2.7.0_postcss@8.5.15_tsx@4.22.3_typescript@5.9.3/node_modules/tsup/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/tsup@8.5.1_jiti@2.7.0_postcss@8.5.15_tsx@4.22.3_typescript@5.9.3/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/brandoncryderman/AeonUI/node_modules/.pnpm/tsup@8.5.1_jiti@2.7.0_postcss@8.5.15_tsx@4.22.3_typescript@5.9.3/node_modules/tsup/dist/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/tsup@8.5.1_jiti@2.7.0_postcss@8.5.15_tsx@4.22.3_typescript@5.9.3/node_modules/tsup/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/tsup@8.5.1_jiti@2.7.0_postcss@8.5.15_tsx@4.22.3_typescript@5.9.3/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../tsup/dist/cli-node.js" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../tsup/dist/cli-node.js" "$@"
|
|
21
|
+
fi
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/brandoncryderman/AeonUI/node_modules/.pnpm/tsx@4.22.3/node_modules/tsx/dist/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/tsx@4.22.3/node_modules/tsx/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/tsx@4.22.3/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/brandoncryderman/AeonUI/node_modules/.pnpm/tsx@4.22.3/node_modules/tsx/dist/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/tsx@4.22.3/node_modules/tsx/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/tsx@4.22.3/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../../../../node_modules/.pnpm/tsx@4.22.3/node_modules/tsx/dist/cli.mjs" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../../../../node_modules/.pnpm/tsx@4.22.3/node_modules/tsx/dist/cli.mjs" "$@"
|
|
21
|
+
fi
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/brandoncryderman/AeonUI/node_modules/.pnpm/vite@6.4.2_@types+node@22.19.19_jiti@2.7.0_lightningcss@1.32.0_tsx@4.22.3/node_modules/vite/bin/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/vite@6.4.2_@types+node@22.19.19_jiti@2.7.0_lightningcss@1.32.0_tsx@4.22.3/node_modules/vite/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/vite@6.4.2_@types+node@22.19.19_jiti@2.7.0_lightningcss@1.32.0_tsx@4.22.3/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/brandoncryderman/AeonUI/node_modules/.pnpm/vite@6.4.2_@types+node@22.19.19_jiti@2.7.0_lightningcss@1.32.0_tsx@4.22.3/node_modules/vite/bin/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/vite@6.4.2_@types+node@22.19.19_jiti@2.7.0_lightningcss@1.32.0_tsx@4.22.3/node_modules/vite/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/vite@6.4.2_@types+node@22.19.19_jiti@2.7.0_lightningcss@1.32.0_tsx@4.22.3/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../../../../node_modules/.pnpm/vite@6.4.2_@types+node@22.19.19_jiti@2.7.0_lightningcss@1.32.0_tsx@4.22.3/node_modules/vite/bin/vite.js" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../../../../node_modules/.pnpm/vite@6.4.2_@types+node@22.19.19_jiti@2.7.0_lightningcss@1.32.0_tsx@4.22.3/node_modules/vite/bin/vite.js" "$@"
|
|
21
|
+
fi
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/brandoncryderman/AeonUI/node_modules/.pnpm/vitest@3.2.4_@types+node@22.19.19_jiti@2.7.0_jsdom@26.1.0_lightningcss@1.32.0_tsx@4.22.3/node_modules/vitest/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/vitest@3.2.4_@types+node@22.19.19_jiti@2.7.0_jsdom@26.1.0_lightningcss@1.32.0_tsx@4.22.3/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/brandoncryderman/AeonUI/node_modules/.pnpm/vitest@3.2.4_@types+node@22.19.19_jiti@2.7.0_jsdom@26.1.0_lightningcss@1.32.0_tsx@4.22.3/node_modules/vitest/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/vitest@3.2.4_@types+node@22.19.19_jiti@2.7.0_jsdom@26.1.0_lightningcss@1.32.0_tsx@4.22.3/node_modules:/Users/brandoncryderman/AeonUI/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../vitest/vitest.mjs" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../vitest/vitest.mjs" "$@"
|
|
21
|
+
fi
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":"3.2.4","results":[[":src/machine.test.ts",{"duration":2.2672079999999823,"failed":false}],[":src/theme.test.ts",{"duration":1.6362909999999715,"failed":false}]]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
type SceneState = 'idle' | 'active' | 'paused';
|
|
2
|
+
/** `data-aeon-scope="scene"` for ambient regions (backdrops, visualizers). */
|
|
3
|
+
declare function sceneAttrs(part: string, state?: SceneState): Record<string, unknown>;
|
|
4
|
+
|
|
5
|
+
type GridPatternOptions = {
|
|
6
|
+
cell?: number;
|
|
7
|
+
lineColor?: string;
|
|
8
|
+
lineWidth?: number;
|
|
9
|
+
};
|
|
10
|
+
/** CSS `background-image` for an orthogonal grid (no external assets). */
|
|
11
|
+
declare function gridPatternStyle(options?: GridPatternOptions): {
|
|
12
|
+
backgroundImage: string;
|
|
13
|
+
backgroundSize: string;
|
|
14
|
+
};
|
|
15
|
+
type WavePatternOptions = {
|
|
16
|
+
wavelength?: number;
|
|
17
|
+
amplitude?: number;
|
|
18
|
+
stroke?: string;
|
|
19
|
+
strokeWidth?: number;
|
|
20
|
+
};
|
|
21
|
+
/** SVG path `d` for a horizontal sine wave across `width`. */
|
|
22
|
+
declare function wavePath(width: number, height: number, options?: WavePatternOptions): string;
|
|
23
|
+
/** Radial vignette as CSS gradient for scene overlays. */
|
|
24
|
+
declare function vignetteStyle(options?: {
|
|
25
|
+
strength?: number;
|
|
26
|
+
}): {
|
|
27
|
+
background: string;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
type BarRect = {
|
|
31
|
+
x: number;
|
|
32
|
+
y: number;
|
|
33
|
+
w: number;
|
|
34
|
+
h: number;
|
|
35
|
+
fill: string;
|
|
36
|
+
};
|
|
37
|
+
type BarLayoutOptions = {
|
|
38
|
+
count: number;
|
|
39
|
+
viewWidth: number;
|
|
40
|
+
viewHeight: number;
|
|
41
|
+
barWidth?: number;
|
|
42
|
+
gap?: number;
|
|
43
|
+
fills?: readonly string[];
|
|
44
|
+
};
|
|
45
|
+
/** Evenly spaced vertical bars for spectrum-style SVG (Soundbase-style layout). */
|
|
46
|
+
declare function barLayout(options: BarLayoutOptions): BarRect[];
|
|
47
|
+
/** Centered Y scale transform for one bar (scale applied around bar center). */
|
|
48
|
+
declare function barScaleTransform(bar: BarRect, scaleY: number): string;
|
|
49
|
+
|
|
50
|
+
export { type BarLayoutOptions, type BarRect, type GridPatternOptions, type SceneState, type WavePatternOptions, barLayout, barScaleTransform, gridPatternStyle, sceneAttrs, vignetteStyle, wavePath };
|