@omnitron-dev/prism 0.3.3 → 0.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/{chunk-DHTYHUYI.js → chunk-74TJGLFR.js} +4 -4
  2. package/dist/{chunk-DHTYHUYI.js.map → chunk-74TJGLFR.js.map} +1 -1
  3. package/dist/{chunk-D4GFAJAZ.js → chunk-FADV3QAS.js} +4 -4
  4. package/dist/{chunk-D4GFAJAZ.js.map → chunk-FADV3QAS.js.map} +1 -1
  5. package/dist/chunk-GCXRYSWU.js +132 -0
  6. package/dist/chunk-GCXRYSWU.js.map +1 -0
  7. package/dist/{chunk-UEINJFLS.js → chunk-HCADZXAK.js} +19 -10
  8. package/dist/chunk-HCADZXAK.js.map +1 -0
  9. package/dist/{chunk-RSWVYIXK.js → chunk-KOOKHWTH.js} +6 -133
  10. package/dist/chunk-KOOKHWTH.js.map +1 -0
  11. package/dist/{chunk-F6RZ7LW6.js → chunk-SPK7E7BD.js} +3 -3
  12. package/dist/{chunk-F6RZ7LW6.js.map → chunk-SPK7E7BD.js.map} +1 -1
  13. package/dist/{chunk-AATAOOSF.js → chunk-UWYLMSIQ.js} +3 -3
  14. package/dist/{chunk-AATAOOSF.js.map → chunk-UWYLMSIQ.js.map} +1 -1
  15. package/dist/{chunk-NSNM53WI.js → chunk-YYQWPEOP.js} +12 -11
  16. package/dist/chunk-YYQWPEOP.js.map +1 -0
  17. package/dist/components/admin-filters/index.js +2 -2
  18. package/dist/components/index.js +13 -12
  19. package/dist/core/index.js +4 -3
  20. package/dist/core/provider.d.ts +10 -4
  21. package/dist/core/provider.d.ts.map +1 -1
  22. package/dist/hooks/index.js +5 -4
  23. package/dist/identity/geometry.d.ts +25 -0
  24. package/dist/identity/geometry.d.ts.map +1 -0
  25. package/dist/identity/index.d.ts +6 -0
  26. package/dist/identity/index.d.ts.map +1 -0
  27. package/dist/identity/index.js +278 -0
  28. package/dist/identity/index.js.map +1 -0
  29. package/dist/identity/omnitron-mark.d.ts +14 -0
  30. package/dist/identity/omnitron-mark.d.ts.map +1 -0
  31. package/dist/identity/omnitron-splash.d.ts +15 -0
  32. package/dist/identity/omnitron-splash.d.ts.map +1 -0
  33. package/dist/identity/theme.d.ts +7 -0
  34. package/dist/identity/theme.d.ts.map +1 -0
  35. package/dist/identity/tokens.d.ts +46 -0
  36. package/dist/identity/tokens.d.ts.map +1 -0
  37. package/dist/index.js +16 -15
  38. package/dist/index.js.map +1 -1
  39. package/dist/layouts/dashboard/sidenav.d.ts.map +1 -1
  40. package/dist/layouts/index.js +1 -1
  41. package/dist/theme/components/DataGrid.d.ts +0 -1
  42. package/dist/theme/components/DataGrid.d.ts.map +1 -1
  43. package/dist/theme/index.js +3 -2
  44. package/package.json +8 -4
  45. package/dist/chunk-NSNM53WI.js.map +0 -1
  46. package/dist/chunk-RSWVYIXK.js.map +0 -1
  47. package/dist/chunk-UEINJFLS.js.map +0 -1
@@ -0,0 +1,278 @@
1
+ "use client";
2
+ import { createTypography, typography } from '../chunk-GCXRYSWU.js';
3
+ import { keyframes, alpha } from '@mui/material/styles';
4
+ import { useId, useRef, useState, useEffect } from 'react';
5
+ import Box from '@mui/material/Box';
6
+ import Typography2 from '@mui/material/Typography';
7
+ import { jsxs, jsx } from 'react/jsx-runtime';
8
+ import LinearProgress from '@mui/material/LinearProgress';
9
+
10
+ // src/identity/tokens.ts
11
+ var omnitronTokens = {
12
+ font: {
13
+ sans: 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',
14
+ mono: 'ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace'
15
+ },
16
+ radius: 6,
17
+ color: {
18
+ light: {
19
+ background: "#F3F6F7",
20
+ surface: "#FFFFFF",
21
+ raised: "#E9EFF1",
22
+ text: "#162026",
23
+ muted: "#53646D",
24
+ disabled: "#6C7D86",
25
+ border: "#D2DCE1",
26
+ controlBorder: "#71818A",
27
+ accent: "#006D75",
28
+ onAccent: "#FFFFFF",
29
+ success: "#226742",
30
+ warning: "#8A5700",
31
+ error: "#B43A44",
32
+ info: "#2C609A"
33
+ },
34
+ dark: {
35
+ background: "#0B0F12",
36
+ surface: "#13191D",
37
+ raised: "#1B2328",
38
+ text: "#E6EDF0",
39
+ muted: "#A5B5BD",
40
+ disabled: "#83959F",
41
+ border: "#2D3B43",
42
+ controlBorder: "#61757F",
43
+ accent: "#71DDE3",
44
+ onAccent: "#0B2528",
45
+ success: "#7BCB9B",
46
+ warning: "#E8C36A",
47
+ error: "#F2969A",
48
+ info: "#8FBDF4"
49
+ }
50
+ }
51
+ };
52
+ function omnitronCssVariables(mode) {
53
+ const color = omnitronTokens.color[mode];
54
+ return {
55
+ "--omni-bg": color.background,
56
+ "--omni-surface": color.surface,
57
+ "--omni-surface-raised": color.raised,
58
+ "--omni-text": color.text,
59
+ "--omni-text-muted": color.muted,
60
+ "--omni-border": color.border,
61
+ "--omni-control-border": color.controlBorder,
62
+ "--omni-accent": color.accent,
63
+ "--omni-on-accent": color.onAccent,
64
+ "--omni-success": color.success,
65
+ "--omni-warning": color.warning,
66
+ "--omni-error": color.error,
67
+ "--omni-info": color.info,
68
+ "--omni-font-sans": omnitronTokens.font.sans,
69
+ "--omni-font-mono": omnitronTokens.font.mono,
70
+ "--omni-radius": `${omnitronTokens.radius}px`,
71
+ "--omni-focus-ring": `2px solid ${color.accent}`
72
+ };
73
+ }
74
+ function omnitronTheme({ mode }) {
75
+ const color = omnitronTokens.color[mode];
76
+ const focus = { outline: `2px solid ${color.accent}`, outlineOffset: 3 };
77
+ const overlay = {
78
+ borderRadius: omnitronTokens.radius,
79
+ border: `1px solid ${color.border}`,
80
+ boxShadow: `0 8px 24px ${alpha("#000000", mode === "dark" ? 0.24 : 0.1)}`
81
+ };
82
+ return {
83
+ palette: {
84
+ primary: { main: color.accent, contrastText: color.onAccent },
85
+ secondary: { main: color.muted },
86
+ success: { main: color.success },
87
+ warning: { main: color.warning },
88
+ error: { main: color.error },
89
+ info: { main: color.info },
90
+ text: { primary: color.text, secondary: color.muted, disabled: color.disabled },
91
+ divider: color.border,
92
+ background: {
93
+ default: color.background,
94
+ paper: color.surface,
95
+ neutral: color.raised,
96
+ elevation1: color.surface,
97
+ elevation2: color.raised,
98
+ elevation3: color.raised,
99
+ elevation4: color.raised,
100
+ menu: color.surface,
101
+ menuElevation1: color.raised,
102
+ menuElevation2: color.raised
103
+ },
104
+ action: {
105
+ active: color.muted,
106
+ hover: alpha(color.text, 0.05),
107
+ selected: alpha(color.accent, 0.1),
108
+ focus: alpha(color.accent, 0.16),
109
+ disabled: color.disabled,
110
+ disabledBackground: color.raised
111
+ }
112
+ },
113
+ shape: { borderRadius: omnitronTokens.radius },
114
+ typography: {
115
+ ...createTypography({
116
+ fontFamily: { primary: omnitronTokens.font.sans, secondary: omnitronTokens.font.sans, mono: omnitronTokens.font.mono },
117
+ fontWeights: typography.fontWeights
118
+ }),
119
+ h1: { fontFamily: omnitronTokens.font.sans, fontSize: "3rem", fontWeight: 600, lineHeight: 1.12, letterSpacing: "-0.04em" },
120
+ h2: { fontFamily: omnitronTokens.font.sans, fontSize: "2.25rem", fontWeight: 600, lineHeight: 1.2, letterSpacing: "-0.035em" },
121
+ overline: { fontFamily: omnitronTokens.font.mono, fontSize: "0.75rem", fontWeight: 500, lineHeight: 1.5, letterSpacing: "0.08em" }
122
+ },
123
+ components: {
124
+ MuiCssBaseline: {
125
+ styleOverrides: {
126
+ ":root": omnitronCssVariables(mode),
127
+ body: { WebkitFontSmoothing: "antialiased" },
128
+ "code, kbd, pre, samp": { fontFamily: omnitronTokens.font.mono },
129
+ "a:focus-visible, button:focus-visible, [tabindex]:focus-visible": focus,
130
+ "::selection": { backgroundColor: alpha(color.accent, 0.24) },
131
+ "@media (prefers-reduced-motion: reduce)": { html: { scrollBehavior: "auto" } }
132
+ }
133
+ },
134
+ MuiButtonBase: { styleOverrides: { root: { "&.Mui-focusVisible": focus } } },
135
+ MuiButton: {
136
+ styleOverrides: {
137
+ root: { borderRadius: omnitronTokens.radius, boxShadow: "none", "&:hover": { boxShadow: "none" } }
138
+ }
139
+ },
140
+ MuiOutlinedInput: { styleOverrides: { root: { borderRadius: omnitronTokens.radius }, notchedOutline: { borderColor: color.controlBorder } } },
141
+ MuiPaper: { styleOverrides: { root: { backgroundImage: "none" }, rounded: { borderRadius: omnitronTokens.radius }, outlined: { borderColor: color.border } } },
142
+ MuiCard: { styleOverrides: { root: { minWidth: 0, borderRadius: omnitronTokens.radius, boxShadow: "none" } } },
143
+ MuiCardHeader: {
144
+ styleOverrides: {
145
+ root: { flexWrap: "wrap", gap: 8 },
146
+ content: { minWidth: 0, overflowWrap: "anywhere" },
147
+ action: { margin: 0, alignSelf: "center" }
148
+ }
149
+ },
150
+ MuiDialog: { styleOverrides: { paper: overlay } },
151
+ MuiMenu: { styleOverrides: { paper: overlay } },
152
+ MuiPopover: { styleOverrides: { paper: overlay } },
153
+ MuiAlert: { styleOverrides: { root: { borderRadius: omnitronTokens.radius } } },
154
+ MuiDivider: { styleOverrides: { root: { borderColor: color.border } } },
155
+ MuiChip: { styleOverrides: { root: { borderRadius: 4 } } },
156
+ MuiTableCell: { styleOverrides: { head: { backgroundColor: color.raised, color: color.muted, fontWeight: 600 } } }
157
+ }
158
+ };
159
+ }
160
+
161
+ // src/identity/geometry.ts
162
+ var omnitronMarkGeometry = {
163
+ viewBox: "0 0 64 64",
164
+ core: "M23.545 43.786L43.837 37.929L28.618 23.285Z",
165
+ facets: [
166
+ { path: "M22.023 44.226L8.496 48.131L30.478 10.056Z", x: -2.94, y: 0.849 },
167
+ { path: "M28.999 21.747L32.38 8.079L54.363 46.154Z", x: 0.735, y: -2.97 },
168
+ { path: "M44.978 39.027L55.124 48.79L11.159 48.79Z", x: 2.205, y: 2.122 }
169
+ ]
170
+ };
171
+ var omnitronMarkSvg = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${omnitronMarkGeometry.viewBox}" fill="currentColor"><style>:root{color:${omnitronTokens.color.light.accent}}@media(prefers-color-scheme:dark){:root{color:${omnitronTokens.color.dark.accent}}}</style><path d="${omnitronMarkGeometry.core}"/>${omnitronMarkGeometry.facets.map(({ path }) => `<path d="${path}"/>`).join("")}</svg>`;
172
+ var reflect = keyframes`
173
+ 0%, 60%, 100% { transform: translate(0, 0); }
174
+ 20%, 38% { transform: translate(var(--omni-shift-x), var(--omni-shift-y)); }
175
+ `;
176
+ function OmnitronMark({ size = 32, state = "idle", label = "Omnitron", sx }) {
177
+ const titleId = useId();
178
+ const ref = useRef(null);
179
+ const [visible, setVisible] = useState(true);
180
+ const loading = state === "loading";
181
+ useEffect(() => {
182
+ if (!loading) return void 0;
183
+ let intersecting = true;
184
+ const update = () => setVisible(intersecting && !document.hidden);
185
+ const observer = typeof IntersectionObserver === "undefined" ? void 0 : new IntersectionObserver(([entry]) => {
186
+ intersecting = entry?.isIntersecting ?? false;
187
+ update();
188
+ });
189
+ if (ref.current) observer?.observe(ref.current);
190
+ document.addEventListener("visibilitychange", update);
191
+ update();
192
+ return () => {
193
+ observer?.disconnect();
194
+ document.removeEventListener("visibilitychange", update);
195
+ };
196
+ }, [loading]);
197
+ return /* @__PURE__ */ jsxs(
198
+ Box,
199
+ {
200
+ ref,
201
+ component: "svg",
202
+ xmlns: "http://www.w3.org/2000/svg",
203
+ viewBox: omnitronMarkGeometry.viewBox,
204
+ role: label ? "img" : void 0,
205
+ "aria-labelledby": label ? titleId : void 0,
206
+ "aria-hidden": label ? void 0 : true,
207
+ focusable: "false",
208
+ "data-omnitron-mark": state,
209
+ sx: [
210
+ {
211
+ display: "block",
212
+ width: size,
213
+ height: size,
214
+ flexShrink: 0,
215
+ color: state === "error" ? "error.main" : state === "success" ? "success.main" : "primary.main",
216
+ fill: "currentColor",
217
+ "& [data-facet]": loading ? {
218
+ animation: `${reflect} 2.4s ease-in-out infinite`,
219
+ animationPlayState: visible ? "running" : "paused",
220
+ "@media (prefers-reduced-motion: reduce)": { animation: "none", transform: "none" }
221
+ } : {}
222
+ },
223
+ ...Array.isArray(sx) ? sx : [sx]
224
+ ],
225
+ children: [
226
+ label && /* @__PURE__ */ jsx("title", { id: titleId, children: label }),
227
+ omnitronMarkGeometry.facets.map(({ path, x, y }, index) => /* @__PURE__ */ jsx("path", { "data-facet": index, d: path, style: {
228
+ "--omni-shift-x": `${x}px`,
229
+ "--omni-shift-y": `${y}px`,
230
+ animationDelay: `${index * 160}ms`
231
+ } }, path)),
232
+ state === "success" ? /* @__PURE__ */ jsx("path", { d: "m28 35 3 2.5 5.5-4.5", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round" }) : state === "error" ? /* @__PURE__ */ jsx("path", { d: "m29 32 7 6m0-6-7 6", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round" }) : /* @__PURE__ */ jsx("path", { d: omnitronMarkGeometry.core })
233
+ ]
234
+ }
235
+ );
236
+ }
237
+ function OmnitronBrand({ size = 32, sx }) {
238
+ return /* @__PURE__ */ jsxs(Box, { sx: [{ display: "inline-flex", alignItems: "center", gap: 1.25, minWidth: 0 }, ...Array.isArray(sx) ? sx : [sx]], children: [
239
+ /* @__PURE__ */ jsx(OmnitronMark, { size, label: null }),
240
+ /* @__PURE__ */ jsx(Typography2, { component: "span", sx: { fontFamily: omnitronTokens.font.sans, color: "text.primary", fontWeight: 600, fontSize: "0.875rem", letterSpacing: "0.12em", lineHeight: 1, whiteSpace: "nowrap" }, children: "OMNITRON" })
241
+ ] });
242
+ }
243
+ function OmnitronSplash({ state = "loading", message, progress, action, fullScreen = false, sx }) {
244
+ const messageId = useId();
245
+ const value = state === "loading" && progress !== void 0 && Number.isFinite(progress) ? Math.min(100, Math.max(0, progress)) : void 0;
246
+ const text = message ?? (state === "error" ? "Unable to continue" : state === "success" ? "Ready" : "Loading\u2026");
247
+ return /* @__PURE__ */ jsxs(Box, { "data-omnitron-splash": state, sx: [
248
+ {
249
+ display: "flex",
250
+ flexDirection: "column",
251
+ alignItems: "center",
252
+ justifyContent: "center",
253
+ gap: 2,
254
+ p: 3,
255
+ width: "100%",
256
+ minWidth: 0,
257
+ minHeight: 200,
258
+ flexGrow: 1,
259
+ ...fullScreen && { position: "fixed", inset: 0, zIndex: (theme) => theme.zIndex.modal + 1, bgcolor: "background.default" }
260
+ },
261
+ ...Array.isArray(sx) ? sx : [sx]
262
+ ], children: [
263
+ /* @__PURE__ */ jsx(OmnitronMark, { size: 72, state, label: null }),
264
+ /* @__PURE__ */ jsx(Typography2, { id: messageId, role: state === "error" ? "alert" : "status", variant: "body2", sx: { color: state === "error" ? "error.main" : "text.secondary", textAlign: "center", maxWidth: 420, overflowWrap: "anywhere" }, children: text }),
265
+ value !== void 0 && /* @__PURE__ */ jsxs(Box, { sx: { width: "100%", maxWidth: 240 }, children: [
266
+ /* @__PURE__ */ jsx(LinearProgress, { "aria-labelledby": messageId, variant: "determinate", value, sx: { height: 2, borderRadius: 0, "@media (prefers-reduced-motion: reduce)": { "& .MuiLinearProgress-bar": { transition: "none" } } } }),
267
+ /* @__PURE__ */ jsxs(Typography2, { component: "div", variant: "caption", sx: { mt: 1, color: "text.secondary", textAlign: "center", fontFamily: omnitronTokens.font.mono, fontVariantNumeric: "tabular-nums" }, children: [
268
+ Math.round(value),
269
+ "%"
270
+ ] })
271
+ ] }),
272
+ action
273
+ ] });
274
+ }
275
+
276
+ export { OmnitronBrand, OmnitronMark, OmnitronSplash, omnitronCssVariables, omnitronMarkGeometry, omnitronMarkSvg, omnitronTheme, omnitronTokens };
277
+ //# sourceMappingURL=index.js.map
278
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/identity/tokens.ts","../../src/identity/theme.ts","../../src/identity/geometry.ts","../../src/identity/omnitron-mark.tsx","../../src/identity/omnitron-splash.tsx"],"names":["Typography","useId","jsxs","Box","jsx"],"mappings":";;;;;;;;;;AACO,IAAM,cAAA,GAAiB;AAAA,EAC5B,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,kEAAA;AAAA,IACN,IAAA,EAAM;AAAA,GACR;AAAA,EACA,MAAA,EAAQ,CAAA;AAAA,EACR,KAAA,EAAO;AAAA,IACL,KAAA,EAAO;AAAA,MACL,UAAA,EAAY,SAAA;AAAA,MAAW,OAAA,EAAS,SAAA;AAAA,MAAW,MAAA,EAAQ,SAAA;AAAA,MACnD,IAAA,EAAM,SAAA;AAAA,MAAW,KAAA,EAAO,SAAA;AAAA,MAAW,QAAA,EAAU,SAAA;AAAA,MAC7C,MAAA,EAAQ,SAAA;AAAA,MAAW,aAAA,EAAe,SAAA;AAAA,MAClC,MAAA,EAAQ,SAAA;AAAA,MAAW,QAAA,EAAU,SAAA;AAAA,MAC7B,OAAA,EAAS,SAAA;AAAA,MAAW,OAAA,EAAS,SAAA;AAAA,MAAW,KAAA,EAAO,SAAA;AAAA,MAAW,IAAA,EAAM;AAAA,KAClE;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,UAAA,EAAY,SAAA;AAAA,MAAW,OAAA,EAAS,SAAA;AAAA,MAAW,MAAA,EAAQ,SAAA;AAAA,MACnD,IAAA,EAAM,SAAA;AAAA,MAAW,KAAA,EAAO,SAAA;AAAA,MAAW,QAAA,EAAU,SAAA;AAAA,MAC7C,MAAA,EAAQ,SAAA;AAAA,MAAW,aAAA,EAAe,SAAA;AAAA,MAClC,MAAA,EAAQ,SAAA;AAAA,MAAW,QAAA,EAAU,SAAA;AAAA,MAC7B,OAAA,EAAS,SAAA;AAAA,MAAW,OAAA,EAAS,SAAA;AAAA,MAAW,KAAA,EAAO,SAAA;AAAA,MAAW,IAAA,EAAM;AAAA;AAClE;AAEJ;AAKO,SAAS,qBAAqB,IAAA,EAAiD;AACpF,EAAA,MAAM,KAAA,GAAQ,cAAA,CAAe,KAAA,CAAM,IAAI,CAAA;AACvC,EAAA,OAAO;AAAA,IACL,aAAa,KAAA,CAAM,UAAA;AAAA,IACnB,kBAAkB,KAAA,CAAM,OAAA;AAAA,IACxB,yBAAyB,KAAA,CAAM,MAAA;AAAA,IAC/B,eAAe,KAAA,CAAM,IAAA;AAAA,IACrB,qBAAqB,KAAA,CAAM,KAAA;AAAA,IAC3B,iBAAiB,KAAA,CAAM,MAAA;AAAA,IACvB,yBAAyB,KAAA,CAAM,aAAA;AAAA,IAC/B,iBAAiB,KAAA,CAAM,MAAA;AAAA,IACvB,oBAAoB,KAAA,CAAM,QAAA;AAAA,IAC1B,kBAAkB,KAAA,CAAM,OAAA;AAAA,IACxB,kBAAkB,KAAA,CAAM,OAAA;AAAA,IACxB,gBAAgB,KAAA,CAAM,KAAA;AAAA,IACtB,eAAe,KAAA,CAAM,IAAA;AAAA,IACrB,kBAAA,EAAoB,eAAe,IAAA,CAAK,IAAA;AAAA,IACxC,kBAAA,EAAoB,eAAe,IAAA,CAAK,IAAA;AAAA,IACxC,eAAA,EAAiB,CAAA,EAAG,cAAA,CAAe,MAAM,CAAA,EAAA,CAAA;AAAA,IACzC,mBAAA,EAAqB,CAAA,UAAA,EAAa,KAAA,CAAM,MAAM,CAAA;AAAA,GAChD;AACF;AC5CO,SAAS,aAAA,CAAc,EAAE,IAAA,EAAK,EAAwE;AAC3G,EAAA,MAAM,KAAA,GAAQ,cAAA,CAAe,KAAA,CAAM,IAAI,CAAA;AACvC,EAAA,MAAM,KAAA,GAAQ,EAAE,OAAA,EAAS,CAAA,UAAA,EAAa,MAAM,MAAM,CAAA,CAAA,EAAI,eAAe,CAAA,EAAE;AACvE,EAAA,MAAM,OAAA,GAAU;AAAA,IACd,cAAc,cAAA,CAAe,MAAA;AAAA,IAC7B,MAAA,EAAQ,CAAA,UAAA,EAAa,KAAA,CAAM,MAAM,CAAA,CAAA;AAAA,IACjC,SAAA,EAAW,cAAc,KAAA,CAAM,SAAA,EAAW,SAAS,MAAA,GAAS,IAAA,GAAO,GAAG,CAAC,CAAA;AAAA,GACzE;AACA,EAAA,OAAO;AAAA,IACL,OAAA,EAAS;AAAA,MACP,SAAS,EAAE,IAAA,EAAM,MAAM,MAAA,EAAQ,YAAA,EAAc,MAAM,QAAA,EAAS;AAAA,MAC5D,SAAA,EAAW,EAAE,IAAA,EAAM,KAAA,CAAM,KAAA,EAAM;AAAA,MAC/B,OAAA,EAAS,EAAE,IAAA,EAAM,KAAA,CAAM,OAAA,EAAQ;AAAA,MAC/B,OAAA,EAAS,EAAE,IAAA,EAAM,KAAA,CAAM,OAAA,EAAQ;AAAA,MAC/B,KAAA,EAAO,EAAE,IAAA,EAAM,KAAA,CAAM,KAAA,EAAM;AAAA,MAC3B,IAAA,EAAM,EAAE,IAAA,EAAM,KAAA,CAAM,IAAA,EAAK;AAAA,MACzB,IAAA,EAAM,EAAE,OAAA,EAAS,KAAA,CAAM,IAAA,EAAM,WAAW,KAAA,CAAM,KAAA,EAAO,QAAA,EAAU,KAAA,CAAM,QAAA,EAAS;AAAA,MAC9E,SAAS,KAAA,CAAM,MAAA;AAAA,MACf,UAAA,EAAY;AAAA,QACV,SAAS,KAAA,CAAM,UAAA;AAAA,QAAY,OAAO,KAAA,CAAM,OAAA;AAAA,QAAS,SAAS,KAAA,CAAM,MAAA;AAAA,QAChE,YAAY,KAAA,CAAM,OAAA;AAAA,QAAS,YAAY,KAAA,CAAM,MAAA;AAAA,QAAQ,YAAY,KAAA,CAAM,MAAA;AAAA,QACvE,YAAY,KAAA,CAAM,MAAA;AAAA,QAAQ,MAAM,KAAA,CAAM,OAAA;AAAA,QAAS,gBAAgB,KAAA,CAAM,MAAA;AAAA,QAAQ,gBAAgB,KAAA,CAAM;AAAA,OACrG;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,QAAQ,KAAA,CAAM,KAAA;AAAA,QAAO,KAAA,EAAO,KAAA,CAAM,KAAA,CAAM,IAAA,EAAM,IAAI,CAAA;AAAA,QAAG,QAAA,EAAU,KAAA,CAAM,KAAA,CAAM,MAAA,EAAQ,GAAG,CAAA;AAAA,QACtF,KAAA,EAAO,KAAA,CAAM,KAAA,CAAM,MAAA,EAAQ,IAAI,CAAA;AAAA,QAAG,UAAU,KAAA,CAAM,QAAA;AAAA,QAAU,oBAAoB,KAAA,CAAM;AAAA;AACxF,KACF;AAAA,IACA,KAAA,EAAO,EAAE,YAAA,EAAc,cAAA,CAAe,MAAA,EAAO;AAAA,IAC7C,UAAA,EAAY;AAAA,MACV,GAAG,gBAAA,CAAiB;AAAA,QAClB,UAAA,EAAY,EAAE,OAAA,EAAS,cAAA,CAAe,IAAA,CAAK,IAAA,EAAM,SAAA,EAAW,cAAA,CAAe,IAAA,CAAK,IAAA,EAAM,IAAA,EAAM,cAAA,CAAe,KAAK,IAAA,EAAK;AAAA,QACrH,aAAa,UAAA,CAAW;AAAA,OACzB,CAAA;AAAA,MACD,EAAA,EAAI,EAAE,UAAA,EAAY,cAAA,CAAe,IAAA,CAAK,IAAA,EAAM,QAAA,EAAU,MAAA,EAAQ,UAAA,EAAY,GAAA,EAAK,UAAA,EAAY,IAAA,EAAM,eAAe,SAAA,EAAU;AAAA,MAC1H,EAAA,EAAI,EAAE,UAAA,EAAY,cAAA,CAAe,IAAA,CAAK,IAAA,EAAM,QAAA,EAAU,SAAA,EAAW,UAAA,EAAY,GAAA,EAAK,UAAA,EAAY,GAAA,EAAK,eAAe,UAAA,EAAW;AAAA,MAC7H,QAAA,EAAU,EAAE,UAAA,EAAY,cAAA,CAAe,IAAA,CAAK,IAAA,EAAM,QAAA,EAAU,SAAA,EAAW,UAAA,EAAY,GAAA,EAAK,UAAA,EAAY,GAAA,EAAK,eAAe,QAAA;AAAS,KACnI;AAAA,IACA,UAAA,EAAY;AAAA,MACV,cAAA,EAAgB;AAAA,QACd,cAAA,EAAgB;AAAA,UACd,OAAA,EAAS,qBAAqB,IAAI,CAAA;AAAA,UAClC,IAAA,EAAM,EAAE,mBAAA,EAAqB,aAAA,EAAc;AAAA,UAC3C,sBAAA,EAAwB,EAAE,UAAA,EAAY,cAAA,CAAe,KAAK,IAAA,EAAK;AAAA,UAC/D,iEAAA,EAAmE,KAAA;AAAA,UACnE,eAAe,EAAE,eAAA,EAAiB,MAAM,KAAA,CAAM,MAAA,EAAQ,IAAI,CAAA,EAAE;AAAA,UAC5D,2CAA2C,EAAE,IAAA,EAAM,EAAE,cAAA,EAAgB,QAAO;AAAE;AAChF,OACF;AAAA,MACA,aAAA,EAAe,EAAE,cAAA,EAAgB,EAAE,MAAM,EAAE,oBAAA,EAAsB,KAAA,EAAM,EAAE,EAAE;AAAA,MAC3E,SAAA,EAAW;AAAA,QACT,cAAA,EAAgB;AAAA,UACd,IAAA,EAAM,EAAE,YAAA,EAAc,cAAA,CAAe,MAAA,EAAQ,SAAA,EAAW,MAAA,EAAQ,SAAA,EAAW,EAAE,SAAA,EAAW,MAAA,EAAO;AAAE;AACnG,OACF;AAAA,MACA,kBAAkB,EAAE,cAAA,EAAgB,EAAE,IAAA,EAAM,EAAE,YAAA,EAAc,cAAA,CAAe,MAAA,EAAO,EAAG,gBAAgB,EAAE,WAAA,EAAa,KAAA,CAAM,aAAA,IAAgB,EAAE;AAAA,MAC5I,QAAA,EAAU,EAAE,cAAA,EAAgB,EAAE,MAAM,EAAE,eAAA,EAAiB,QAAO,EAAG,OAAA,EAAS,EAAE,YAAA,EAAc,cAAA,CAAe,QAAO,EAAG,QAAA,EAAU,EAAE,WAAA,EAAa,KAAA,CAAM,MAAA,EAAO,EAAE,EAAE;AAAA,MAC7J,OAAA,EAAS,EAAE,cAAA,EAAgB,EAAE,MAAM,EAAE,QAAA,EAAU,CAAA,EAAG,YAAA,EAAc,cAAA,CAAe,MAAA,EAAQ,SAAA,EAAW,MAAA,IAAS,EAAE;AAAA,MAC7G,aAAA,EAAe;AAAA,QACb,cAAA,EAAgB;AAAA,UACd,IAAA,EAAM,EAAE,QAAA,EAAU,MAAA,EAAQ,KAAK,CAAA,EAAE;AAAA,UACjC,OAAA,EAAS,EAAE,QAAA,EAAU,CAAA,EAAG,cAAc,UAAA,EAAW;AAAA,UACjD,MAAA,EAAQ,EAAE,MAAA,EAAQ,CAAA,EAAG,WAAW,QAAA;AAAS;AAC3C,OACF;AAAA,MACA,WAAW,EAAE,cAAA,EAAgB,EAAE,KAAA,EAAO,SAAQ,EAAE;AAAA,MAChD,SAAS,EAAE,cAAA,EAAgB,EAAE,KAAA,EAAO,SAAQ,EAAE;AAAA,MAC9C,YAAY,EAAE,cAAA,EAAgB,EAAE,KAAA,EAAO,SAAQ,EAAE;AAAA,MACjD,QAAA,EAAU,EAAE,cAAA,EAAgB,EAAE,IAAA,EAAM,EAAE,YAAA,EAAc,cAAA,CAAe,MAAA,EAAO,EAAE,EAAE;AAAA,MAC9E,UAAA,EAAY,EAAE,cAAA,EAAgB,EAAE,IAAA,EAAM,EAAE,WAAA,EAAa,KAAA,CAAM,MAAA,EAAO,EAAE,EAAE;AAAA,MACtE,OAAA,EAAS,EAAE,cAAA,EAAgB,EAAE,MAAM,EAAE,YAAA,EAAc,CAAA,EAAE,EAAE,EAAE;AAAA,MACzD,YAAA,EAAc,EAAE,cAAA,EAAgB,EAAE,MAAM,EAAE,eAAA,EAAiB,KAAA,CAAM,MAAA,EAAQ,OAAO,KAAA,CAAM,KAAA,EAAO,UAAA,EAAY,GAAA,IAAM;AAAE;AACnH,GACF;AACF;;;ACxEO,IAAM,oBAAA,GAAuB;AAAA,EAClC,OAAA,EAAS,WAAA;AAAA,EACT,IAAA,EAAM,6CAAA;AAAA,EACN,MAAA,EAAQ;AAAA,IACN,EAAE,IAAA,EAAM,4CAAA,EAA8C,CAAA,EAAG,KAAA,EAAO,GAAG,KAAA,EAAM;AAAA,IACzE,EAAE,IAAA,EAAM,2CAAA,EAA6C,CAAA,EAAG,KAAA,EAAO,GAAG,KAAA,EAAM;AAAA,IACxE,EAAE,IAAA,EAAM,2CAAA,EAA6C,CAAA,EAAG,KAAA,EAAO,GAAG,KAAA;AAAM;AAE5E;AAGO,IAAM,eAAA,GAAkB,CAAA,iDAAA,EAAoD,oBAAA,CAAqB,OAAO,CAAA,yCAAA,EAA4C,cAAA,CAAe,KAAA,CAAM,KAAA,CAAM,MAAM,CAAA,+CAAA,EAAkD,cAAA,CAAe,KAAA,CAAM,KAAK,MAAM,CAAA,mBAAA,EAAsB,oBAAA,CAAqB,IAAI,CAAA,GAAA,EAAM,oBAAA,CAAqB,MAAA,CAAO,GAAA,CAAI,CAAC,EAAE,IAAA,EAAK,KAAM,CAAA,SAAA,EAAY,IAAI,CAAA,GAAA,CAAK,CAAA,CAAE,IAAA,CAAK,EAAE,CAAC,CAAA,MAAA;ACChZ,IAAM,OAAA,GAAU,SAAA;AAAA;AAAA;AAAA,CAAA;AAMT,SAAS,YAAA,CAAa,EAAE,IAAA,GAAO,EAAA,EAAI,QAAQ,MAAA,EAAQ,KAAA,GAAQ,UAAA,EAAY,EAAA,EAAG,EAAsB;AACrG,EAAA,MAAM,UAAU,KAAA,EAAM;AACtB,EAAA,MAAM,GAAA,GAAM,OAAsB,IAAI,CAAA;AACtC,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,IAAI,CAAA;AAC3C,EAAA,MAAM,UAAU,KAAA,KAAU,SAAA;AAE1B,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,SAAS,OAAO,MAAA;AACrB,IAAA,IAAI,YAAA,GAAe,IAAA;AACnB,IAAA,MAAM,SAAS,MAAM,UAAA,CAAW,YAAA,IAAgB,CAAC,SAAS,MAAM,CAAA;AAChE,IAAA,MAAM,QAAA,GAAW,OAAO,oBAAA,KAAyB,WAAA,GAAc,MAAA,GAAY,IAAI,oBAAA,CAAqB,CAAC,CAAC,KAAK,CAAA,KAAM;AAC/G,MAAA,YAAA,GAAe,OAAO,cAAA,IAAkB,KAAA;AACxC,MAAA,MAAA,EAAO;AAAA,IACT,CAAC,CAAA;AACD,IAAA,IAAI,GAAA,CAAI,OAAA,EAAS,QAAA,EAAU,OAAA,CAAQ,IAAI,OAAO,CAAA;AAC9C,IAAA,QAAA,CAAS,gBAAA,CAAiB,oBAAoB,MAAM,CAAA;AACpD,IAAA,MAAA,EAAO;AACP,IAAA,OAAO,MAAM;AACX,MAAA,QAAA,EAAU,UAAA,EAAW;AACrB,MAAA,QAAA,CAAS,mBAAA,CAAoB,oBAAoB,MAAM,CAAA;AAAA,IACzD,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,OAAO,CAAC,CAAA;AAEZ,EAAA,uBACE,IAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAU,KAAA;AAAA,MACV,KAAA,EAAM,4BAAA;AAAA,MACN,SAAS,oBAAA,CAAqB,OAAA;AAAA,MAC9B,IAAA,EAAM,QAAQ,KAAA,GAAQ,MAAA;AAAA,MACtB,iBAAA,EAAiB,QAAQ,OAAA,GAAU,MAAA;AAAA,MACnC,aAAA,EAAa,QAAQ,MAAA,GAAY,IAAA;AAAA,MACjC,SAAA,EAAU,OAAA;AAAA,MACV,oBAAA,EAAoB,KAAA;AAAA,MACpB,EAAA,EAAI;AAAA,QACF;AAAA,UACE,OAAA,EAAS,OAAA;AAAA,UAAS,KAAA,EAAO,IAAA;AAAA,UAAM,MAAA,EAAQ,IAAA;AAAA,UAAM,UAAA,EAAY,CAAA;AAAA,UACzD,OAAO,KAAA,KAAU,OAAA,GAAU,YAAA,GAAe,KAAA,KAAU,YAAY,cAAA,GAAiB,cAAA;AAAA,UACjF,IAAA,EAAM,cAAA;AAAA,UACN,kBAAkB,OAAA,GAAU;AAAA,YAC1B,SAAA,EAAW,GAAG,OAAO,CAAA,0BAAA,CAAA;AAAA,YACrB,kBAAA,EAAoB,UAAU,SAAA,GAAY,QAAA;AAAA,YAC1C,yCAAA,EAA2C,EAAE,SAAA,EAAW,MAAA,EAAQ,WAAW,MAAA;AAAO,cAChF;AAAC,SACP;AAAA,QACA,GAAI,KAAA,CAAM,OAAA,CAAQ,EAAE,CAAA,GAAI,EAAA,GAAK,CAAC,EAAE;AAAA,OAClC;AAAA,MAEC,QAAA,EAAA;AAAA,QAAA,KAAA,oBAAS,GAAA,CAAC,OAAA,EAAA,EAAM,EAAA,EAAI,OAAA,EAAU,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,QACpC,qBAAqB,MAAA,CAAO,GAAA,CAAI,CAAC,EAAE,MAAM,CAAA,EAAG,CAAA,EAAE,EAAG,KAAA,yBAC/C,MAAA,EAAA,EAAgB,YAAA,EAAY,KAAA,EAAO,CAAA,EAAG,MAAM,KAAA,EAAO;AAAA,UAClD,gBAAA,EAAkB,GAAG,CAAC,CAAA,EAAA,CAAA;AAAA,UAAM,gBAAA,EAAkB,GAAG,CAAC,CAAA,EAAA,CAAA;AAAA,UAAM,cAAA,EAAgB,CAAA,EAAG,KAAA,GAAQ,GAAG,CAAA,EAAA;AAAA,SACxF,EAAA,EAFW,IAES,CACrB,CAAA;AAAA,QACA,UAAU,SAAA,mBACT,GAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,wBAAuB,IAAA,EAAK,MAAA,EAAO,MAAA,EAAO,cAAA,EAAe,aAAY,KAAA,EAAM,aAAA,EAAc,OAAA,EAAQ,cAAA,EAAe,SAAQ,CAAA,GAC9H,KAAA,KAAU,OAAA,mBACZ,GAAA,CAAC,UAAK,CAAA,EAAE,oBAAA,EAAqB,IAAA,EAAK,MAAA,EAAO,QAAO,cAAA,EAAe,WAAA,EAAY,KAAA,EAAM,aAAA,EAAc,SAAQ,CAAA,mBACrG,GAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAG,qBAAqB,IAAA,EAAM;AAAA;AAAA;AAAA,GAC1C;AAEJ;AAGO,SAAS,aAAA,CAAc,EAAE,IAAA,GAAO,EAAA,EAAI,IAAG,EAA2C;AACvF,EAAA,uBACE,IAAA,CAAC,OAAI,EAAA,EAAI,CAAC,EAAE,OAAA,EAAS,aAAA,EAAe,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,IAAA,EAAM,UAAU,CAAA,EAAE,EAAG,GAAI,KAAA,CAAM,OAAA,CAAQ,EAAE,IAAI,EAAA,GAAK,CAAC,EAAE,CAAE,CAAA,EACpH,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,YAAA,EAAA,EAAa,IAAA,EAAY,KAAA,EAAO,IAAA,EAAM,CAAA;AAAA,oBACvC,GAAA,CAACA,eAAW,SAAA,EAAU,MAAA,EAAO,IAAI,EAAE,UAAA,EAAY,cAAA,CAAe,IAAA,CAAK,IAAA,EAAM,KAAA,EAAO,gBAAgB,UAAA,EAAY,GAAA,EAAK,QAAA,EAAU,UAAA,EAAY,aAAA,EAAe,QAAA,EAAU,YAAY,CAAA,EAAG,UAAA,EAAY,QAAA,EAAS,EAAG,QAAA,EAAA,UAAA,EAEvM;AAAA,GAAA,EACF,CAAA;AAEJ;AC7EO,SAAS,cAAA,CAAe,EAAE,KAAA,GAAQ,SAAA,EAAW,OAAA,EAAS,UAAU,MAAA,EAAQ,UAAA,GAAa,KAAA,EAAO,EAAA,EAAG,EAAwB;AAC5H,EAAA,MAAM,YAAYC,KAAAA,EAAM;AACxB,EAAA,MAAM,QAAQ,KAAA,KAAU,SAAA,IAAa,QAAA,KAAa,MAAA,IAAa,OAAO,QAAA,CAAS,QAAQ,CAAA,GACnF,IAAA,CAAK,IAAI,GAAA,EAAK,IAAA,CAAK,IAAI,CAAA,EAAG,QAAQ,CAAC,CAAA,GAAI,MAAA;AAC3C,EAAA,MAAM,OAAO,OAAA,KAAY,KAAA,KAAU,UAAU,oBAAA,GAAuB,KAAA,KAAU,YAAY,OAAA,GAAU,eAAA,CAAA;AAEpG,EAAA,uBACEC,IAAAA,CAACC,GAAAA,EAAA,EAAI,sBAAA,EAAsB,OAAO,EAAA,EAAI;AAAA,IACpC;AAAA,MACE,OAAA,EAAS,MAAA;AAAA,MAAQ,aAAA,EAAe,QAAA;AAAA,MAAU,UAAA,EAAY,QAAA;AAAA,MAAU,cAAA,EAAgB,QAAA;AAAA,MAChF,GAAA,EAAK,CAAA;AAAA,MAAG,CAAA,EAAG,CAAA;AAAA,MAAG,KAAA,EAAO,MAAA;AAAA,MAAQ,QAAA,EAAU,CAAA;AAAA,MAAG,SAAA,EAAW,GAAA;AAAA,MAAK,QAAA,EAAU,CAAA;AAAA,MACpE,GAAI,UAAA,IAAc,EAAE,QAAA,EAAU,SAAS,KAAA,EAAO,CAAA,EAAG,MAAA,EAAQ,CAAC,UAAiB,KAAA,CAAM,MAAA,CAAO,KAAA,GAAQ,CAAA,EAAG,SAAS,oBAAA;AAAqB,KACnI;AAAA,IACA,GAAI,KAAA,CAAM,OAAA,CAAQ,EAAE,CAAA,GAAI,EAAA,GAAK,CAAC,EAAE;AAAA,GAClC,EACE,QAAA,EAAA;AAAA,oBAAAC,IAAC,YAAA,EAAA,EAAa,IAAA,EAAM,EAAA,EAAI,KAAA,EAAc,OAAO,IAAA,EAAM,CAAA;AAAA,oBACnDA,GAAAA,CAACJ,WAAAA,EAAA,EAAW,EAAA,EAAI,SAAA,EAAW,IAAA,EAAM,KAAA,KAAU,OAAA,GAAU,OAAA,GAAU,QAAA,EAAU,OAAA,EAAQ,OAAA,EAAQ,EAAA,EAAI,EAAE,KAAA,EAAO,KAAA,KAAU,OAAA,GAAU,YAAA,GAAe,gBAAA,EAAkB,SAAA,EAAW,QAAA,EAAU,QAAA,EAAU,GAAA,EAAK,YAAA,EAAc,UAAA,EAAW,EACrN,QAAA,EAAA,IAAA,EACH,CAAA;AAAA,IACC,KAAA,KAAU,MAAA,oBACTE,IAAAA,CAACC,GAAAA,EAAA,EAAI,EAAA,EAAI,EAAE,KAAA,EAAO,MAAA,EAAQ,QAAA,EAAU,GAAA,EAAI,EACtC,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,kBAAe,iBAAA,EAAiB,SAAA,EAAW,SAAQ,aAAA,EAAc,KAAA,EAAc,IAAI,EAAE,MAAA,EAAQ,GAAG,YAAA,EAAc,CAAA,EAAG,2CAA2C,EAAE,0BAAA,EAA4B,EAAE,UAAA,EAAY,MAAA,EAAO,EAAE,EAAE,EAAG,CAAA;AAAA,sBACvNF,KAACF,WAAAA,EAAA,EAAW,WAAU,KAAA,EAAM,OAAA,EAAQ,SAAA,EAAU,EAAA,EAAI,EAAE,EAAA,EAAI,GAAG,KAAA,EAAO,gBAAA,EAAkB,WAAW,QAAA,EAAU,UAAA,EAAY,eAAe,IAAA,CAAK,IAAA,EAAM,kBAAA,EAAoB,cAAA,EAAe,EAC/K,QAAA,EAAA;AAAA,QAAA,IAAA,CAAK,MAAM,KAAK,CAAA;AAAA,QAAE;AAAA,OAAA,EACrB;AAAA,KAAA,EACF,CAAA;AAAA,IAED;AAAA,GAAA,EACH,CAAA;AAEJ","file":"index.js","sourcesContent":["/** Omnitron's visual contract, shared by Console and Lumen's server-rendered shell. */\nexport const omnitronTokens = {\n font: {\n sans: 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif',\n mono: 'ui-monospace, \"SFMono-Regular\", Consolas, \"Liberation Mono\", monospace',\n },\n radius: 6,\n color: {\n light: {\n background: '#F3F6F7', surface: '#FFFFFF', raised: '#E9EFF1',\n text: '#162026', muted: '#53646D', disabled: '#6C7D86',\n border: '#D2DCE1', controlBorder: '#71818A',\n accent: '#006D75', onAccent: '#FFFFFF',\n success: '#226742', warning: '#8A5700', error: '#B43A44', info: '#2C609A',\n },\n dark: {\n background: '#0B0F12', surface: '#13191D', raised: '#1B2328',\n text: '#E6EDF0', muted: '#A5B5BD', disabled: '#83959F',\n border: '#2D3B43', controlBorder: '#61757F',\n accent: '#71DDE3', onAccent: '#0B2528',\n success: '#7BCB9B', warning: '#E8C36A', error: '#F2969A', info: '#8FBDF4',\n },\n },\n} as const;\n\nexport type OmnitronColorMode = keyof typeof omnitronTokens.color;\n\n/** Apply on the server-rendered root; the palette never depends on hydration. */\nexport function omnitronCssVariables(mode: OmnitronColorMode): Record<string, string> {\n const color = omnitronTokens.color[mode];\n return {\n '--omni-bg': color.background,\n '--omni-surface': color.surface,\n '--omni-surface-raised': color.raised,\n '--omni-text': color.text,\n '--omni-text-muted': color.muted,\n '--omni-border': color.border,\n '--omni-control-border': color.controlBorder,\n '--omni-accent': color.accent,\n '--omni-on-accent': color.onAccent,\n '--omni-success': color.success,\n '--omni-warning': color.warning,\n '--omni-error': color.error,\n '--omni-info': color.info,\n '--omni-font-sans': omnitronTokens.font.sans,\n '--omni-font-mono': omnitronTokens.font.mono,\n '--omni-radius': `${omnitronTokens.radius}px`,\n '--omni-focus-ring': `2px solid ${color.accent}`,\n };\n}\n","import { alpha, type ThemeOptions } from '@mui/material/styles';\nimport { createTypography, typography } from '../theme/typography.js';\nimport { omnitronCssVariables, omnitronTokens, type OmnitronColorMode } from './tokens.js';\n\n/** Use as PrismProvider.themeOverrides in both Console and the public website. */\nexport function omnitronTheme({ mode }: { mode: OmnitronColorMode }): ThemeOptions & Record<string, unknown> {\n const color = omnitronTokens.color[mode];\n const focus = { outline: `2px solid ${color.accent}`, outlineOffset: 3 };\n const overlay = {\n borderRadius: omnitronTokens.radius,\n border: `1px solid ${color.border}`,\n boxShadow: `0 8px 24px ${alpha('#000000', mode === 'dark' ? 0.24 : 0.1)}`,\n };\n return {\n palette: {\n primary: { main: color.accent, contrastText: color.onAccent },\n secondary: { main: color.muted },\n success: { main: color.success },\n warning: { main: color.warning },\n error: { main: color.error },\n info: { main: color.info },\n text: { primary: color.text, secondary: color.muted, disabled: color.disabled },\n divider: color.border,\n background: {\n default: color.background, paper: color.surface, neutral: color.raised,\n elevation1: color.surface, elevation2: color.raised, elevation3: color.raised,\n elevation4: color.raised, menu: color.surface, menuElevation1: color.raised, menuElevation2: color.raised,\n },\n action: {\n active: color.muted, hover: alpha(color.text, 0.05), selected: alpha(color.accent, 0.1),\n focus: alpha(color.accent, 0.16), disabled: color.disabled, disabledBackground: color.raised,\n },\n },\n shape: { borderRadius: omnitronTokens.radius },\n typography: {\n ...createTypography({\n fontFamily: { primary: omnitronTokens.font.sans, secondary: omnitronTokens.font.sans, mono: omnitronTokens.font.mono },\n fontWeights: typography.fontWeights,\n }),\n h1: { fontFamily: omnitronTokens.font.sans, fontSize: '3rem', fontWeight: 600, lineHeight: 1.12, letterSpacing: '-0.04em' },\n h2: { fontFamily: omnitronTokens.font.sans, fontSize: '2.25rem', fontWeight: 600, lineHeight: 1.2, letterSpacing: '-0.035em' },\n overline: { fontFamily: omnitronTokens.font.mono, fontSize: '0.75rem', fontWeight: 500, lineHeight: 1.5, letterSpacing: '0.08em' },\n },\n components: {\n MuiCssBaseline: {\n styleOverrides: {\n ':root': omnitronCssVariables(mode),\n body: { WebkitFontSmoothing: 'antialiased' },\n 'code, kbd, pre, samp': { fontFamily: omnitronTokens.font.mono },\n 'a:focus-visible, button:focus-visible, [tabindex]:focus-visible': focus,\n '::selection': { backgroundColor: alpha(color.accent, 0.24) },\n '@media (prefers-reduced-motion: reduce)': { html: { scrollBehavior: 'auto' } },\n },\n },\n MuiButtonBase: { styleOverrides: { root: { '&.Mui-focusVisible': focus } } },\n MuiButton: {\n styleOverrides: {\n root: { borderRadius: omnitronTokens.radius, boxShadow: 'none', '&:hover': { boxShadow: 'none' } },\n },\n },\n MuiOutlinedInput: { styleOverrides: { root: { borderRadius: omnitronTokens.radius }, notchedOutline: { borderColor: color.controlBorder } } },\n MuiPaper: { styleOverrides: { root: { backgroundImage: 'none' }, rounded: { borderRadius: omnitronTokens.radius }, outlined: { borderColor: color.border } } },\n MuiCard: { styleOverrides: { root: { minWidth: 0, borderRadius: omnitronTokens.radius, boxShadow: 'none' } } },\n MuiCardHeader: {\n styleOverrides: {\n root: { flexWrap: 'wrap', gap: 8 },\n content: { minWidth: 0, overflowWrap: 'anywhere' },\n action: { margin: 0, alignSelf: 'center' },\n },\n },\n MuiDialog: { styleOverrides: { paper: overlay } },\n MuiMenu: { styleOverrides: { paper: overlay } },\n MuiPopover: { styleOverrides: { paper: overlay } },\n MuiAlert: { styleOverrides: { root: { borderRadius: omnitronTokens.radius } } },\n MuiDivider: { styleOverrides: { root: { borderColor: color.border } } },\n MuiChip: { styleOverrides: { root: { borderRadius: 4 } } },\n MuiTableCell: { styleOverrides: { head: { backgroundColor: color.raised, color: color.muted, fontWeight: 600 } } },\n },\n };\n}\n","import { omnitronTokens } from './tokens.js';\n\n/**\n * Four interlocking triangular planes around a stable central core.\n * Geometry is shared by React, the static SVG and server-rendered consumers.\n * No SVG engine, gradients, filters, masks, or per-frame JavaScript.\n */\nexport const omnitronMarkGeometry = {\n viewBox: '0 0 64 64',\n core: 'M23.545 43.786L43.837 37.929L28.618 23.285Z',\n facets: [\n { path: 'M22.023 44.226L8.496 48.131L30.478 10.056Z', x: -2.94, y: 0.849 },\n { path: 'M28.999 21.747L32.38 8.079L54.363 46.154Z', x: 0.735, y: -2.97 },\n { path: 'M44.978 39.027L55.124 48.79L11.159 48.79Z', x: 2.205, y: 2.122 },\n ],\n} as const;\n\n/** Standalone favicon/asset. Inline consumers should use OmnitronMark. */\nexport const omnitronMarkSvg = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"${omnitronMarkGeometry.viewBox}\" fill=\"currentColor\"><style>:root{color:${omnitronTokens.color.light.accent}}@media(prefers-color-scheme:dark){:root{color:${omnitronTokens.color.dark.accent}}}</style><path d=\"${omnitronMarkGeometry.core}\"/>${omnitronMarkGeometry.facets.map(({ path }) => `<path d=\"${path}\"/>`).join('')}</svg>`;\n","'use client';\n\nimport { useEffect, useId, useRef, useState, type CSSProperties } from 'react';\nimport Box from '@mui/material/Box';\nimport Typography from '@mui/material/Typography';\nimport { keyframes, type SxProps, type Theme } from '@mui/material/styles';\nimport { omnitronMarkGeometry } from './geometry.js';\nimport { omnitronTokens } from './tokens.js';\n\nexport type OmnitronMarkState = 'idle' | 'loading' | 'success' | 'error';\n\nexport interface OmnitronMarkProps {\n size?: number;\n state?: OmnitronMarkState;\n /** Null when adjacent text already names the brand or operation. */\n label?: string | null;\n sx?: SxProps<Theme>;\n}\n\nconst reflect = keyframes`\n 0%, 60%, 100% { transform: translate(0, 0); }\n 20%, 38% { transform: translate(var(--omni-shift-x), var(--omni-shift-y)); }\n`;\n\n/** A static identity first; activity moves only the three outer facets. */\nexport function OmnitronMark({ size = 32, state = 'idle', label = 'Omnitron', sx }: OmnitronMarkProps) {\n const titleId = useId();\n const ref = useRef<SVGSVGElement>(null);\n const [visible, setVisible] = useState(true);\n const loading = state === 'loading';\n\n useEffect(() => {\n if (!loading) return undefined;\n let intersecting = true;\n const update = () => setVisible(intersecting && !document.hidden);\n const observer = typeof IntersectionObserver === 'undefined' ? undefined : new IntersectionObserver(([entry]) => {\n intersecting = entry?.isIntersecting ?? false;\n update();\n });\n if (ref.current) observer?.observe(ref.current);\n document.addEventListener('visibilitychange', update);\n update();\n return () => {\n observer?.disconnect();\n document.removeEventListener('visibilitychange', update);\n };\n }, [loading]);\n\n return (\n <Box\n ref={ref}\n component=\"svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={omnitronMarkGeometry.viewBox}\n role={label ? 'img' : undefined}\n aria-labelledby={label ? titleId : undefined}\n aria-hidden={label ? undefined : true}\n focusable=\"false\"\n data-omnitron-mark={state}\n sx={[\n {\n display: 'block', width: size, height: size, flexShrink: 0,\n color: state === 'error' ? 'error.main' : state === 'success' ? 'success.main' : 'primary.main',\n fill: 'currentColor',\n '& [data-facet]': loading ? {\n animation: `${reflect} 2.4s ease-in-out infinite`,\n animationPlayState: visible ? 'running' : 'paused',\n '@media (prefers-reduced-motion: reduce)': { animation: 'none', transform: 'none' },\n } : {},\n },\n ...(Array.isArray(sx) ? sx : [sx]),\n ]}\n >\n {label && <title id={titleId}>{label}</title>}\n {omnitronMarkGeometry.facets.map(({ path, x, y }, index) => (\n <path key={path} data-facet={index} d={path} style={{\n '--omni-shift-x': `${x}px`, '--omni-shift-y': `${y}px`, animationDelay: `${index * 160}ms`,\n } as CSSProperties} />\n ))}\n {state === 'success' ? (\n <path d=\"m28 35 3 2.5 5.5-4.5\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n ) : state === 'error' ? (\n <path d=\"m29 32 7 6m0-6-7 6\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" />\n ) : <path d={omnitronMarkGeometry.core} />}\n </Box>\n );\n}\n\n/** Text stays text: it scales, translates through assistive tools, and remains crisp. */\nexport function OmnitronBrand({ size = 32, sx }: Pick<OmnitronMarkProps, 'size' | 'sx'>) {\n return (\n <Box sx={[{ display: 'inline-flex', alignItems: 'center', gap: 1.25, minWidth: 0 }, ...(Array.isArray(sx) ? sx : [sx])]}>\n <OmnitronMark size={size} label={null} />\n <Typography component=\"span\" sx={{ fontFamily: omnitronTokens.font.sans, color: 'text.primary', fontWeight: 600, fontSize: '0.875rem', letterSpacing: '0.12em', lineHeight: 1, whiteSpace: 'nowrap' }}>\n OMNITRON\n </Typography>\n </Box>\n );\n}\n","'use client';\n\nimport { useId, type ReactNode } from 'react';\nimport Box from '@mui/material/Box';\nimport LinearProgress from '@mui/material/LinearProgress';\nimport Typography from '@mui/material/Typography';\nimport type { SxProps, Theme } from '@mui/material/styles';\nimport { OmnitronMark, type OmnitronMarkState } from './omnitron-mark.js';\nimport { omnitronTokens } from './tokens.js';\n\nexport interface OmnitronSplashProps {\n state?: Exclude<OmnitronMarkState, 'idle'>;\n message?: string;\n /** Actual measured completion only. Omit when the operation has no total. */\n progress?: number;\n action?: ReactNode;\n fullScreen?: boolean;\n sx?: SxProps<Theme>;\n}\n\n/** Honest loading, completion and failure states using the same identity as navigation. */\nexport function OmnitronSplash({ state = 'loading', message, progress, action, fullScreen = false, sx }: OmnitronSplashProps) {\n const messageId = useId();\n const value = state === 'loading' && progress !== undefined && Number.isFinite(progress)\n ? Math.min(100, Math.max(0, progress)) : undefined;\n const text = message ?? (state === 'error' ? 'Unable to continue' : state === 'success' ? 'Ready' : 'Loading…');\n\n return (\n <Box data-omnitron-splash={state} sx={[\n {\n display: 'flex', flexDirection: 'column', alignItems: 'center', justifyContent: 'center',\n gap: 2, p: 3, width: '100%', minWidth: 0, minHeight: 200, flexGrow: 1,\n ...(fullScreen && { position: 'fixed', inset: 0, zIndex: (theme: Theme) => theme.zIndex.modal + 1, bgcolor: 'background.default' }),\n },\n ...(Array.isArray(sx) ? sx : [sx]),\n ]}>\n <OmnitronMark size={72} state={state} label={null} />\n <Typography id={messageId} role={state === 'error' ? 'alert' : 'status'} variant=\"body2\" sx={{ color: state === 'error' ? 'error.main' : 'text.secondary', textAlign: 'center', maxWidth: 420, overflowWrap: 'anywhere' }}>\n {text}\n </Typography>\n {value !== undefined && (\n <Box sx={{ width: '100%', maxWidth: 240 }}>\n <LinearProgress aria-labelledby={messageId} variant=\"determinate\" value={value} sx={{ height: 2, borderRadius: 0, '@media (prefers-reduced-motion: reduce)': { '& .MuiLinearProgress-bar': { transition: 'none' } } }} />\n <Typography component=\"div\" variant=\"caption\" sx={{ mt: 1, color: 'text.secondary', textAlign: 'center', fontFamily: omnitronTokens.font.mono, fontVariantNumeric: 'tabular-nums' }}>\n {Math.round(value)}%\n </Typography>\n </Box>\n )}\n {action}\n </Box>\n );\n}\n"]}
@@ -0,0 +1,14 @@
1
+ import { type SxProps, type Theme } from '@mui/material/styles';
2
+ export type OmnitronMarkState = 'idle' | 'loading' | 'success' | 'error';
3
+ export interface OmnitronMarkProps {
4
+ size?: number;
5
+ state?: OmnitronMarkState;
6
+ /** Null when adjacent text already names the brand or operation. */
7
+ label?: string | null;
8
+ sx?: SxProps<Theme>;
9
+ }
10
+ /** A static identity first; activity moves only the three outer facets. */
11
+ export declare function OmnitronMark({ size, state, label, sx }: OmnitronMarkProps): import("react").JSX.Element;
12
+ /** Text stays text: it scales, translates through assistive tools, and remains crisp. */
13
+ export declare function OmnitronBrand({ size, sx }: Pick<OmnitronMarkProps, 'size' | 'sx'>): import("react").JSX.Element;
14
+ //# sourceMappingURL=omnitron-mark.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omnitron-mark.d.ts","sourceRoot":"","sources":["../../src/identity/omnitron-mark.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAa,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAI3E,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAEzE,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CACrB;AAOD,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,EAAE,IAAS,EAAE,KAAc,EAAE,KAAkB,EAAE,EAAE,EAAE,EAAE,iBAAiB,+BA6DpG;AAED,yFAAyF;AACzF,wBAAgB,aAAa,CAAC,EAAE,IAAS,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC,+BAStF"}
@@ -0,0 +1,15 @@
1
+ import { type ReactNode } from 'react';
2
+ import type { SxProps, Theme } from '@mui/material/styles';
3
+ import { type OmnitronMarkState } from './omnitron-mark.js';
4
+ export interface OmnitronSplashProps {
5
+ state?: Exclude<OmnitronMarkState, 'idle'>;
6
+ message?: string;
7
+ /** Actual measured completion only. Omit when the operation has no total. */
8
+ progress?: number;
9
+ action?: ReactNode;
10
+ fullScreen?: boolean;
11
+ sx?: SxProps<Theme>;
12
+ }
13
+ /** Honest loading, completion and failure states using the same identity as navigation. */
14
+ export declare function OmnitronSplash({ state, message, progress, action, fullScreen, sx }: OmnitronSplashProps): import("react").JSX.Element;
15
+ //# sourceMappingURL=omnitron-splash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omnitron-splash.d.ts","sourceRoot":"","sources":["../../src/identity/omnitron-splash.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI9C,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG1E,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CACrB;AAED,2FAA2F;AAC3F,wBAAgB,cAAc,CAAC,EAAE,KAAiB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAkB,EAAE,EAAE,EAAE,EAAE,mBAAmB,+BA8B3H"}
@@ -0,0 +1,7 @@
1
+ import { type ThemeOptions } from '@mui/material/styles';
2
+ import { type OmnitronColorMode } from './tokens.js';
3
+ /** Use as PrismProvider.themeOverrides in both Console and the public website. */
4
+ export declare function omnitronTheme({ mode }: {
5
+ mode: OmnitronColorMode;
6
+ }): ThemeOptions & Record<string, unknown>;
7
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/identity/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEhE,OAAO,EAAwC,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE3F,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAAG,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA0E3G"}
@@ -0,0 +1,46 @@
1
+ /** Omnitron's visual contract, shared by Console and Lumen's server-rendered shell. */
2
+ export declare const omnitronTokens: {
3
+ readonly font: {
4
+ readonly sans: 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif';
5
+ readonly mono: 'ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace';
6
+ };
7
+ readonly radius: 6;
8
+ readonly color: {
9
+ readonly light: {
10
+ readonly background: '#F3F6F7';
11
+ readonly surface: '#FFFFFF';
12
+ readonly raised: '#E9EFF1';
13
+ readonly text: '#162026';
14
+ readonly muted: '#53646D';
15
+ readonly disabled: '#6C7D86';
16
+ readonly border: '#D2DCE1';
17
+ readonly controlBorder: '#71818A';
18
+ readonly accent: '#006D75';
19
+ readonly onAccent: '#FFFFFF';
20
+ readonly success: '#226742';
21
+ readonly warning: '#8A5700';
22
+ readonly error: '#B43A44';
23
+ readonly info: '#2C609A';
24
+ };
25
+ readonly dark: {
26
+ readonly background: '#0B0F12';
27
+ readonly surface: '#13191D';
28
+ readonly raised: '#1B2328';
29
+ readonly text: '#E6EDF0';
30
+ readonly muted: '#A5B5BD';
31
+ readonly disabled: '#83959F';
32
+ readonly border: '#2D3B43';
33
+ readonly controlBorder: '#61757F';
34
+ readonly accent: '#71DDE3';
35
+ readonly onAccent: '#0B2528';
36
+ readonly success: '#7BCB9B';
37
+ readonly warning: '#E8C36A';
38
+ readonly error: '#F2969A';
39
+ readonly info: '#8FBDF4';
40
+ };
41
+ };
42
+ };
43
+ export type OmnitronColorMode = keyof typeof omnitronTokens.color;
44
+ /** Apply on the server-rendered root; the palette never depends on hydration. */
45
+ export declare function omnitronCssVariables(mode: OmnitronColorMode): Record<string, string>;
46
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/identity/tokens.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,eAAO,MAAM,cAAc;aACzB,IAAI;iBACF,IAAI,EAAE,kEAAkE;iBACxE,IAAI,EAAE,wEAAwE;;aAEhF,MAAM,EAAE,CAAC;aACT,KAAK;iBACH,KAAK;qBACH,UAAU,EAAE,SAAS;qBAAE,OAAO,EAAE,SAAS;qBAAE,MAAM,EAAE,SAAS;qBAC5D,IAAI,EAAE,SAAS;qBAAE,KAAK,EAAE,SAAS;qBAAE,QAAQ,EAAE,SAAS;qBACtD,MAAM,EAAE,SAAS;qBAAE,aAAa,EAAE,SAAS;qBAC3C,MAAM,EAAE,SAAS;qBAAE,QAAQ,EAAE,SAAS;qBACtC,OAAO,EAAE,SAAS;qBAAE,OAAO,EAAE,SAAS;qBAAE,KAAK,EAAE,SAAS;qBAAE,IAAI,EAAE,SAAS;;iBAE3E,IAAI;qBACF,UAAU,EAAE,SAAS;qBAAE,OAAO,EAAE,SAAS;qBAAE,MAAM,EAAE,SAAS;qBAC5D,IAAI,EAAE,SAAS;qBAAE,KAAK,EAAE,SAAS;qBAAE,QAAQ,EAAE,SAAS;qBACtD,MAAM,EAAE,SAAS;qBAAE,aAAa,EAAE,SAAS;qBAC3C,MAAM,EAAE,SAAS;qBAAE,QAAQ,EAAE,SAAS;qBACtC,OAAO,EAAE,SAAS;qBAAE,OAAO,EAAE,SAAS;qBAAE,KAAK,EAAE,SAAS;qBAAE,IAAI,EAAE,SAAS;;;CAGrE,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,cAAc,CAAC,KAAK,CAAC;AAElE,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqBpF"}
package/dist/index.js CHANGED
@@ -1,25 +1,26 @@
1
1
  "use client";
2
- export { Accordion, Avatar, Badge, Carousel, ChangelogEntry, ChangelogTimeline, CircularProgress, ContentRenderer, ContextMenu, CountBadge, CountdownRing, CountrySelect, CustomAvatarGroup, DEFAULT_LIGHTBOX_LABELS, DEFAULT_SPONSORED_SLOT_LABELS, DeadlineChip, Drawer, DurationPicker, FlagIcon, Image, ImageWithDefault, Lightbox, LinearProgress, Markdown, MegaMenuHorizontal as MegaMenu, MegaMenuHorizontal, MegaMenuMobile, MegaMenuVertical, Menu, Nav, NavArrow, NavCard, NavCardGrid, NavIcon, NavInfo, NavItem, NavItemBase, NavLi, NavList, NavSectionVertical as NavSection, NavSectionHorizontal, NavSectionMini, NavSectionVertical, NavSubList, NavSubheader, NavTexts, NavUl, ProgressBar, Rail, SettingsDrawer, SettingsProvider, SimpleAccordion, SponsoredSlot, StatusDot, SvgColor, TagCloud, Tooltip, VirtualList, buildUrl, carouselClasses, createIconComponent, deadlineUrgency, formatDateString, getNavCssVars, getQueryParam, hasParams, htmlToMarkdown, isActiveLink, isEqualPath, isExternalLink, isExternalUrl, isMarkdownContent, lightboxClasses, megaMenuClasses, megaMenuCssVars, navSectionClasses, navSectionCssVars, parseDateString, parseQueryParams, relativeTimeLeft, removeLastSlash, removeParams, safeReturnUrl, useAccordion, useCarousel, useDateRangePicker, useLightbox, useMenu, useSettings, useSettingsDrawer } from './chunk-D4GFAJAZ.js';
2
+ export { Accordion, Avatar, Badge, Carousel, ChangelogEntry, ChangelogTimeline, CircularProgress, ContentRenderer, ContextMenu, CountBadge, CountdownRing, CountrySelect, CustomAvatarGroup, DEFAULT_LIGHTBOX_LABELS, DEFAULT_SPONSORED_SLOT_LABELS, DeadlineChip, Drawer, DurationPicker, FlagIcon, Image, ImageWithDefault, Lightbox, LinearProgress, Markdown, MegaMenuHorizontal as MegaMenu, MegaMenuHorizontal, MegaMenuMobile, MegaMenuVertical, Menu, Nav, NavArrow, NavCard, NavCardGrid, NavIcon, NavInfo, NavItem, NavItemBase, NavLi, NavList, NavSectionVertical as NavSection, NavSectionHorizontal, NavSectionMini, NavSectionVertical, NavSubList, NavSubheader, NavTexts, NavUl, ProgressBar, Rail, SettingsDrawer, SettingsProvider, SimpleAccordion, SponsoredSlot, StatusDot, SvgColor, TagCloud, Tooltip, VirtualList, buildUrl, carouselClasses, createIconComponent, deadlineUrgency, formatDateString, getNavCssVars, getQueryParam, hasParams, htmlToMarkdown, isActiveLink, isEqualPath, isExternalLink, isExternalUrl, isMarkdownContent, lightboxClasses, megaMenuClasses, megaMenuCssVars, navSectionClasses, navSectionCssVars, parseDateString, parseQueryParams, relativeTimeLeft, removeLastSlash, removeParams, safeReturnUrl, useAccordion, useCarousel, useDateRangePicker, useLightbox, useMenu, useSettings, useSettingsDrawer } from './chunk-FADV3QAS.js';
3
+ export { Map, MapCoverageLayer, Layer as MapLayer, MapMarker, MapPlaceSearch, MapPointPicker, Popup as MapPopup, Source as MapSource } from './chunk-3VSM7NZG.js';
3
4
  export { DocLayout, DocSectionNav, ScrollSpyProvider, ScrollSpySection, useScrollSpy } from './chunk-E7WM2RXA.js';
4
5
  export { ContentRoot, TipTapRenderer, contentClasses, registerTipTapNode } from './chunk-4B2LTPK2.js';
5
6
  export { DocSidebar } from './chunk-7ATBURW2.js';
6
7
  export { DEFAULT_EDITOR_LABELS, Editor, editorClasses, resolveToolbar } from './chunk-2E67PQ4T.js';
7
8
  export { Emoji, EmojiPicker } from './chunk-Z2AN43YU.js';
9
+ import './chunk-YHM6GIHV.js';
8
10
  export { ScrollToTop } from './chunk-NFJ7CPG3.js';
9
11
  export { CardSkeleton, Skeleton, TableSkeleton } from './chunk-NTREGTG7.js';
10
12
  export { SimpleSnackbar, SnackbarProvider, useSnackbar } from './chunk-G2GANYMW.js';
11
13
  export { Stepper, StepperActions, useStepper } from './chunk-RPOGINR5.js';
12
14
  export { Table, useTable } from './chunk-JTIUGPW5.js';
13
15
  export { TabPanel, Tabs, useTabs } from './chunk-FOGY3HA4.js';
14
- export { Map, MapCoverageLayer, Layer as MapLayer, MapMarker, MapPlaceSearch, MapPointPicker, Popup as MapPopup, Source as MapSource } from './chunk-3VSM7NZG.js';
16
+ export { ConfirmDialog, DeleteDialog } from './chunk-36FOXX25.js';
15
17
  export { BooleanLabel, Label, StatusLabel } from './chunk-URFQX3I6.js';
16
18
  export { LoadingScreen, Spinner, SplashScreen } from './chunk-AKLRKCYH.js';
17
19
  export { NavigationProgress } from './chunk-SSEHL5VP.js';
18
20
  export { CardGrid, PageContent } from './chunk-2UYRW6X3.js';
19
- import './chunk-YHM6GIHV.js';
20
- export { AdminDataTable, AmountCell, COIN_DISPLAY_DECIMALS, COIN_WIRE_DECIMALS, DateRangeInput, DateRangePicker, FilterToolbar, StatusChip, formatCoinAmount, formatCoinAmountList, formatDecimalString, fromScaledInteger, getCoinDecimals, getCoinWireDecimals, subtractDecimalStrings, sumDecimalStrings, toScaledInteger } from './chunk-F6RZ7LW6.js';
21
- export { TableViewport } from './chunk-2KG2NI73.js';
21
+ export { AdminDataTable, AmountCell, COIN_DISPLAY_DECIMALS, COIN_WIRE_DECIMALS, DateRangeInput, DateRangePicker, FilterToolbar, StatusChip, formatCoinAmount, formatCoinAmountList, formatDecimalString, fromScaledInteger, getCoinDecimals, getCoinWireDecimals, subtractDecimalStrings, sumDecimalStrings, toScaledInteger } from './chunk-SPK7E7BD.js';
22
22
  export { SearchInput } from './chunk-CT46KJOR.js';
23
+ export { TableViewport } from './chunk-2KG2NI73.js';
23
24
  export { Alert, FormAlert, InlineAlert } from './chunk-XBYMG4QK.js';
24
25
  export { AnimateBorder, MotionLazy, animateBorderClasses } from './chunk-36C5H56C.js';
25
26
  export { Breadcrumbs } from './chunk-VG6FOMOH.js';
@@ -27,30 +28,30 @@ export { Card, CardSection, StatCard } from './chunk-ZNWHMQRM.js';
27
28
  export { Chart, ChartLegends, ChartLoading, chartClasses, cn, mergeClasses, useChart } from './chunk-2AB7VGPW.js';
28
29
  export { DEFAULT_CLASS_PREFIX, createClasses, createClassesObject, createComponentClasses, getClassPrefix, setClassPrefix } from './chunk-LH4ZZZYB.js';
29
30
  export { CommandPalette } from './chunk-WD4N72DL.js';
30
- export { ConfirmDialog, DeleteDialog } from './chunk-36FOXX25.js';
31
+ export { Field, FieldAutocomplete, FieldCheckbox, FieldCode, FieldCountrySelect, FieldCustomEditor, FieldDatePicker, FieldDateTimePicker, FieldEditor, FieldMultiCheckbox, FieldMultiSelect, FieldMultiSwitch, FieldNumber, FieldPhone, FieldRadio, FieldRating, FieldSelect, FieldSlider, FieldSwitch, FieldText, FieldTimePicker, FieldUpload, FieldUploadAvatar, FieldUploadBox, clampNumber, createNumberInputHandlers, parseNumber, roundToDecimals, transformForDisplay, transformOnBlur, transformOnChange } from './chunk-LFWKGNCX.js';
32
+ export { EmptyContent, LoadingEmptyContent, SearchEmptyContent } from './chunk-6IANOSMD.js';
33
+ export { ErrorBoundary, getErrorLocation, parseStackTrace, useErrorBoundary } from './chunk-I6DILPFE.js';
31
34
  import './chunk-DEPJRTVT.js';
32
35
  export { authStore, checkSettingsVersion, clearSettings, createAddFieldMigration, createMigration, createRemoveFieldMigration, createRenameMigration, createSettingsValidator, createTransformMigration, createVersionedPersistOptions, createVersionedStorage, exportSettings, getMigrationInfo, importSettings, runMigrations, themeStore, uiStore, useAuthStore, useThemeStore, useUIStore, validateMigrations } from './chunk-OKJA6SJM.js';
33
- export { cookiesAvailable, getCookie, removeCookie, setCookie, useArray, useAsync, useAsyncFn, useBackToTop, useBreakpoint, useBreakpointChecks, useClientRect, useConfigFromQuery, useCookies, useCountdownDate, useCountdownSeconds, useDoubleClick, useEnterKey, useEscapeKey, useFocusTrap, useImageDimensions, useInfiniteScroll, useIntersectionObserver, useIsomorphicLayoutEffect, useKeyboardShortcut, useLazyQuery, useMultipleImageDimensions, useMutation, useOnlineStatus, usePasswordVisibility, usePopoverHover, useResponsiveQuery, useScrollLock, useScrollOffsetTop, useScrollPosition, useScrollToTop, useSessionStorage, useThrottle, useThrottleCallback, useUpdateEffect, useUpdateLayoutEffect, useWindowSize } from './chunk-DHTYHUYI.js';
36
+ export { cookiesAvailable, getCookie, removeCookie, setCookie, useArray, useAsync, useAsyncFn, useBackToTop, useBreakpoint, useBreakpointChecks, useClientRect, useConfigFromQuery, useCookies, useCountdownDate, useCountdownSeconds, useDoubleClick, useEnterKey, useEscapeKey, useFocusTrap, useImageDimensions, useInfiniteScroll, useIntersectionObserver, useIsomorphicLayoutEffect, useKeyboardShortcut, useLazyQuery, useMultipleImageDimensions, useMutation, useOnlineStatus, usePasswordVisibility, usePopoverHover, useResponsiveQuery, useScrollLock, useScrollOffsetTop, useScrollPosition, useScrollToTop, useSessionStorage, useThrottle, useThrottleCallback, useUpdateEffect, useUpdateLayoutEffect, useWindowSize } from './chunk-74TJGLFR.js';
34
37
  export { CustomPopover, usePopover } from './chunk-VUKOT432.js';
35
38
  export { AuthGuard, AuthProvider, AuthenticationClient, BackendConnectionAware, BackendStatus, BearerClientTokenTransport, ConnectionAware, CookieClientTokenTransport, GuestGuard, Hide, HybridClientTokenTransport, MiddlewareStage, MultiBackendClient, MultiBackendConnectionAware, MultiBackendProvider, MutationCache, NetronProvider, NetronReactClient, NoopTokenStorage, PermissionGuard, QueryCache, RequireAllBackends, RequireAnyBackend, RequireBackendConnection, RequireConnection, RoleGuard, SessionTokenStorage, Show, WebSocketClient, createAuthErrorMiddleware, createCsrfMiddleware, createMultiBackendClient, createNetronClient, createServiceHook as createNetronServiceHook, createSimpleAuthErrorMiddleware, hashQueryKey, matchQueryKey, useAllBackendsConnected, useAnyBackendConnected, useAuth, useAuthRequired, useBackend, useBackendConnectionState, useBackendMutation, useBackendQuery, useBackendService, useDefaults, useHydration, useIsAuthenticated, useMultiBackend, useNetronClient, useNetronClientSafe, useNetronConnection, useInfiniteQuery as useNetronInfiniteQuery, useMutation as useNetronMutation, useQuery as useNetronQuery, useService as useNetronService, useSubscription as useNetronSubscription, useUser } from './chunk-TJ7DHXUX.js';
36
- export { applyPrimaryOverride, cssVariables, defaultPreset, generateCssVariables, generatePaletteChannel, getPreset, luxuryPreset, presetNames } from './chunk-AATAOOSF.js';
37
- export { PrismContext, PrismProvider, ProviderStack, composeProviders, conditionalProvider, createProviderStack, filterProviders, useBreakpoints, useClickOutside, useCopyToClipboard, useCountdown, useDebounce, useDebounceCallback, useEventListener, useInterval, useIsClient, useLocalStorage, useMuiMediaQuery as useMediaQuery, useMounted, useMultiSelect, usePrevious, usePrismContext, useSetState, useTimeout, withProviderProps } from './chunk-UEINJFLS.js';
39
+ export { applyPrimaryOverride, cssVariables, defaultPreset, generateCssVariables, generatePaletteChannel, getPreset, luxuryPreset, presetNames } from './chunk-UWYLMSIQ.js';
40
+ export { PrismContext, PrismProvider, ProviderStack, composeProviders, conditionalProvider, createProviderStack, filterProviders, useBreakpoints, useClickOutside, useCopyToClipboard, useCountdown, useDebounce, useDebounceCallback, useEventListener, useInterval, useIsClient, useLocalStorage, useMuiMediaQuery as useMediaQuery, useMounted, useMultiSelect, usePrevious, usePrismContext, useSetState, useTimeout, withProviderProps } from './chunk-HCADZXAK.js';
41
+ export { useBoolean } from './chunk-4R7EZ7GQ.js';
38
42
  export { defaultPrismConfig } from './chunk-ZRJYQN6Y.js';
39
- export { COLOR_GROUPS, PRESET_DISPLAY_NAMES, PRESET_INHERENT_MODE, PRESET_NAMES, arcticPreset, baseColors, basic, blue, buildAction, buildBackground, buildChartColors, buildPalette, buildPaletteColor, buildText, buildVibrant, componentOverrides, createButtonBaseOverrides, createButtonGroupOverrides, createButtonOverrides, createPrismTheme, createShadows, createTypography, darkShadow, defaultDarkPalette, defaultLightPalette, getPresetDisplayName, green, grey, lightBlue, luxuryColors, luxuryError, luxuryInfo, luxuryNeutral, luxuryPrimary, luxurySecondary, luxurySuccess, luxuryWarning, orange, purple, red, shadows, typography } from './chunk-RSWVYIXK.js';
43
+ export { COLOR_GROUPS, PRESET_DISPLAY_NAMES, PRESET_INHERENT_MODE, PRESET_NAMES, arcticPreset, baseColors, basic, blue, buildAction, buildBackground, buildChartColors, buildPalette, buildPaletteColor, buildText, buildVibrant, componentOverrides, createButtonBaseOverrides, createButtonGroupOverrides, createButtonOverrides, createPrismTheme, createShadows, darkShadow, defaultDarkPalette, defaultLightPalette, getPresetDisplayName, green, grey, lightBlue, luxuryColors, luxuryError, luxuryInfo, luxuryNeutral, luxuryPrimary, luxurySecondary, luxurySuccess, luxuryWarning, orange, purple, red, shadows } from './chunk-KOOKHWTH.js';
40
44
  import './chunk-TZHWYT34.js';
41
45
  import './chunk-TZWHELY4.js';
46
+ export { createTypography, typography } from './chunk-GCXRYSWU.js';
42
47
  import './chunk-NFPOIHD4.js';
43
48
  export { PrismInstaller, RegistryManager, createInstaller, createRegistryManager, defaultRegistrySchema, registry } from './chunk-JZBSPDED.js';
44
- export { AuthCenteredContent, AuthCenteredLayout, AuthSimpleLayout, AuthSplitContent, AuthSplitIllustration, AuthSplitLayout, DEFAULT_LAYOUT_CSS_VARS, DRAWER_WIDTHS, DashboardContent, DashboardLayout, HEADER_HEIGHTS, HeaderSection, HeaderToolbar, LAYOUT_CSS_VARS, LayoutContext, LayoutGlobalStyles, LayoutProvider, LayoutSection, MainSection, MobileSidenav, Sidenav, SimpleCompactContent, UserMenu, defaultLayoutConfig, getBaseLayoutCssVars, getNavColorCssVars, mergeLayoutCssVars, useLayoutConfig, useLayoutContext, useNavActive, useSidenavVisible, useTopnavVisible } from './chunk-NSNM53WI.js';
49
+ export { AuthCenteredContent, AuthCenteredLayout, AuthSimpleLayout, AuthSplitContent, AuthSplitIllustration, AuthSplitLayout, DEFAULT_LAYOUT_CSS_VARS, DRAWER_WIDTHS, DashboardContent, DashboardLayout, HEADER_HEIGHTS, HeaderSection, HeaderToolbar, LAYOUT_CSS_VARS, LayoutContext, LayoutGlobalStyles, LayoutProvider, LayoutSection, MainSection, MobileSidenav, Sidenav, SimpleCompactContent, UserMenu, defaultLayoutConfig, getBaseLayoutCssVars, getNavColorCssVars, mergeLayoutCssVars, useLayoutConfig, useLayoutContext, useNavActive, useSidenavVisible, useTopnavVisible } from './chunk-YYQWPEOP.js';
45
50
  export { PanelLayout, SidebarToggle } from './chunk-KPY7TA4D.js';
46
51
  export { ARIA_LABELS, SkipLink, announceToScreenReader, combineAriaDescribedBy, focusVisibleStyles, generateAriaId, getAriaExpanded, handleListKeyDown, srOnly } from './chunk-ZYI3MHLE.js';
47
52
  export { createPersistedStore, createPrismStore, createSelectors, createUIStore, getDefaultSettings, settingsStore, useSettingsStore } from './chunk-NJM5AVBM.js';
48
53
  export { Scrollbar } from './chunk-4Q5L7LDG.js';
49
54
  export { createPaletteColorFromScale, cssVarRgba, customScrollbarMixin, darken, focusRingMixin, generateColorScale, generateColorScaleWithChannels, generatePaletteColorWithChannels, getContrastRatio, getContrastText, getLuminance, glassMixin, hexToHsl, hexToRgb, hexToRgbChannel, hideScrollbarMixin, hslToHex, invertColorScale, isLightColor, lighten, mix, mixins, multiLineEllipsisMixin, rgbToHex, rgba, textEllipsisMixin } from './chunk-IRYU3NTG.js';
50
- export { Field, FieldAutocomplete, FieldCheckbox, FieldCode, FieldCountrySelect, FieldCustomEditor, FieldDatePicker, FieldDateTimePicker, FieldEditor, FieldMultiCheckbox, FieldMultiSelect, FieldMultiSwitch, FieldNumber, FieldPhone, FieldRadio, FieldRating, FieldSelect, FieldSlider, FieldSwitch, FieldText, FieldTimePicker, FieldUpload, FieldUploadAvatar, FieldUploadBox, clampNumber, createNumberInputHandlers, parseNumber, roundToDecimals, transformForDisplay, transformOnBlur, transformOnChange } from './chunk-LFWKGNCX.js';
51
- export { EmptyContent, LoadingEmptyContent, SearchEmptyContent } from './chunk-6IANOSMD.js';
52
- export { ErrorBoundary, getErrorLocation, parseStackTrace, useErrorBoundary } from './chunk-I6DILPFE.js';
53
- export { useBoolean } from './chunk-4R7EZ7GQ.js';
54
55
  import './chunk-VQVVHMPG.js';
55
56
  import './chunk-D5J3KW6Q.js';
56
57
  import { toast as toast$1 } from 'sonner';