@gtcx/tokens 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/css/platforms/fifty-four-dark.css +92 -0
- package/dist/chunk-5IDFVTYK.mjs +25 -0
- package/dist/chunk-FB6JVSW6.mjs +83 -0
- package/dist/css.d.mts +44 -0
- package/dist/css.d.ts +44 -0
- package/dist/css.js +49 -0
- package/dist/css.mjs +6 -0
- package/dist/fifty-four-Z057XMFQ.d.mts +688 -0
- package/dist/fifty-four-Z057XMFQ.d.ts +688 -0
- package/dist/index.d.mts +296 -698
- package/dist/index.d.ts +296 -698
- package/dist/index.js +479 -139
- package/dist/index.mjs +382 -139
- package/dist/platforms/fifty-four.d.mts +1 -0
- package/dist/platforms/fifty-four.d.ts +1 -0
- package/dist/platforms/fifty-four.js +110 -0
- package/dist/platforms/fifty-four.mjs +12 -0
- package/package.json +26 -14
- package/dist/index.cjs +0 -384
- package/dist/index.d.cts +0 -424
package/dist/index.d.mts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
export { F as FiftyFourPlatformTokens, S as SemanticColorKey, a as SemanticColors, b as SemanticLayout, c as SemanticRadii, d as SemanticShadows, e as SemanticSpacing, f as SemanticSpacingKey, g as SemanticTokens, h as SemanticTypography, i as fiftyFourColors, j as fiftyFourPlatformTokens, k as fiftyFourRadii, l as fiftyFourShadows, s as semanticColors, m as semanticLayout, n as semanticRadii, o as semanticShadows, p as semanticSpacing, q as semanticTokens, r as semanticTypography } from './fifty-four-Z057XMFQ.mjs';
|
|
2
|
+
export { generateCSSVariables } from './css.mjs';
|
|
3
|
+
|
|
1
4
|
/**
|
|
2
5
|
* @module primitives
|
|
3
6
|
*
|
|
@@ -10,103 +13,135 @@
|
|
|
10
13
|
*/
|
|
11
14
|
/** GTCX brand color palette. Each scale runs 50 (lightest) → 950 (darkest). */
|
|
12
15
|
declare const colorPrimitives: {
|
|
13
|
-
/** GTCX brand primary —
|
|
16
|
+
/** GTCX brand primary — Metronic blue (#1B84FF at 500) */
|
|
14
17
|
readonly primary: {
|
|
15
|
-
readonly 50: "#
|
|
16
|
-
readonly 100: "#
|
|
17
|
-
readonly 200: "#
|
|
18
|
-
readonly 300: "#
|
|
19
|
-
readonly 400: "#
|
|
20
|
-
readonly 500: "#
|
|
21
|
-
readonly 600: "#
|
|
22
|
-
readonly 700: "#
|
|
23
|
-
readonly 800: "#
|
|
24
|
-
readonly 900: "#
|
|
25
|
-
readonly 950: "#
|
|
18
|
+
readonly 50: "#EFF5FF";
|
|
19
|
+
readonly 100: "#D6E6FF";
|
|
20
|
+
readonly 200: "#ADCAFF";
|
|
21
|
+
readonly 300: "#84A9FF";
|
|
22
|
+
readonly 400: "#5290FF";
|
|
23
|
+
readonly 500: "#1B84FF";
|
|
24
|
+
readonly 600: "#1270DC";
|
|
25
|
+
readonly 700: "#0A5CB8";
|
|
26
|
+
readonly 800: "#064794";
|
|
27
|
+
readonly 900: "#033370";
|
|
28
|
+
readonly 950: "#01214D";
|
|
26
29
|
};
|
|
27
|
-
/** GTCX brand secondary —
|
|
30
|
+
/** GTCX brand secondary — indigo */
|
|
28
31
|
readonly secondary: {
|
|
29
|
-
readonly 50: "#
|
|
30
|
-
readonly 100: "#
|
|
31
|
-
readonly 200: "#
|
|
32
|
-
readonly 300: "#
|
|
33
|
-
readonly 400: "#
|
|
34
|
-
readonly 500: "#
|
|
35
|
-
readonly 600: "#
|
|
36
|
-
readonly 700: "#
|
|
37
|
-
readonly 800: "#
|
|
38
|
-
readonly 900: "#
|
|
39
|
-
readonly 950: "#
|
|
32
|
+
readonly 50: "#eef4ff";
|
|
33
|
+
readonly 100: "#e0eaff";
|
|
34
|
+
readonly 200: "#c7d7fe";
|
|
35
|
+
readonly 300: "#a4bcfd";
|
|
36
|
+
readonly 400: "#8098f9";
|
|
37
|
+
readonly 500: "#6172f3";
|
|
38
|
+
readonly 600: "#444ce7";
|
|
39
|
+
readonly 700: "#3538cd";
|
|
40
|
+
readonly 800: "#2d31a6";
|
|
41
|
+
readonly 900: "#2d3282";
|
|
42
|
+
readonly 950: "#1f235b";
|
|
40
43
|
};
|
|
41
|
-
/** Positive feedback, approvals, profit */
|
|
44
|
+
/** Positive feedback, approvals, profit — Metronic success (#17C653 at 500) */
|
|
42
45
|
readonly success: {
|
|
43
|
-
readonly 50: "#
|
|
44
|
-
readonly 100: "#
|
|
45
|
-
readonly 200: "#
|
|
46
|
-
readonly 300: "#
|
|
47
|
-
readonly 400: "#
|
|
48
|
-
readonly 500: "#
|
|
49
|
-
readonly 600: "#
|
|
50
|
-
readonly 700: "#
|
|
51
|
-
readonly 800: "#
|
|
52
|
-
readonly 900: "#
|
|
53
|
-
readonly 950: "#
|
|
46
|
+
readonly 50: "#ECFDF1";
|
|
47
|
+
readonly 100: "#D1FAE1";
|
|
48
|
+
readonly 200: "#A3F5C3";
|
|
49
|
+
readonly 300: "#6DECA6";
|
|
50
|
+
readonly 400: "#3DD986";
|
|
51
|
+
readonly 500: "#17C653";
|
|
52
|
+
readonly 600: "#12A344";
|
|
53
|
+
readonly 700: "#0D7F35";
|
|
54
|
+
readonly 800: "#085F28";
|
|
55
|
+
readonly 900: "#044519";
|
|
56
|
+
readonly 950: "#02290F";
|
|
54
57
|
};
|
|
55
|
-
/** Caution states, pending actions */
|
|
58
|
+
/** Caution states, pending actions — Metronic warning (#F6B100 at 500) */
|
|
56
59
|
readonly warning: {
|
|
57
|
-
readonly 50: "#
|
|
58
|
-
readonly 100: "#
|
|
59
|
-
readonly 200: "#
|
|
60
|
-
readonly 300: "#
|
|
61
|
-
readonly 400: "#
|
|
62
|
-
readonly 500: "#
|
|
63
|
-
readonly 600: "#
|
|
64
|
-
readonly 700: "#
|
|
65
|
-
readonly 800: "#
|
|
66
|
-
readonly 900: "#
|
|
67
|
-
readonly 950: "#
|
|
60
|
+
readonly 50: "#FFFBEB";
|
|
61
|
+
readonly 100: "#FEF3C7";
|
|
62
|
+
readonly 200: "#FDE68A";
|
|
63
|
+
readonly 300: "#FCD34D";
|
|
64
|
+
readonly 400: "#FBBF24";
|
|
65
|
+
readonly 500: "#F6B100";
|
|
66
|
+
readonly 600: "#D09200";
|
|
67
|
+
readonly 700: "#A37200";
|
|
68
|
+
readonly 800: "#7A5300";
|
|
69
|
+
readonly 900: "#563A00";
|
|
70
|
+
readonly 950: "#342300";
|
|
68
71
|
};
|
|
69
|
-
/** Destructive actions, rejections, loss */
|
|
72
|
+
/** Destructive actions, rejections, loss — Metronic danger (#F8285A at 500) */
|
|
70
73
|
readonly error: {
|
|
71
|
-
readonly 50: "#
|
|
72
|
-
readonly 100: "#
|
|
73
|
-
readonly 200: "#
|
|
74
|
-
readonly 300: "#
|
|
75
|
-
readonly 400: "#
|
|
76
|
-
readonly 500: "#
|
|
77
|
-
readonly 600: "#
|
|
78
|
-
readonly 700: "#
|
|
79
|
-
readonly 800: "#
|
|
80
|
-
readonly 900: "#
|
|
81
|
-
readonly 950: "#
|
|
74
|
+
readonly 50: "#FFF1F4";
|
|
75
|
+
readonly 100: "#FFE0E7";
|
|
76
|
+
readonly 200: "#FFC2D0";
|
|
77
|
+
readonly 300: "#FF99B3";
|
|
78
|
+
readonly 400: "#FF6089";
|
|
79
|
+
readonly 500: "#F8285A";
|
|
80
|
+
readonly 600: "#D4194A";
|
|
81
|
+
readonly 700: "#A80F37";
|
|
82
|
+
readonly 800: "#800A28";
|
|
83
|
+
readonly 900: "#60061D";
|
|
84
|
+
readonly 950: "#3D0312";
|
|
82
85
|
};
|
|
83
|
-
/** Informational
|
|
86
|
+
/** Informational — Metronic info (#7239EA at 500) */
|
|
84
87
|
readonly info: {
|
|
85
|
-
readonly 50: "#
|
|
86
|
-
readonly 100: "#
|
|
87
|
-
readonly 200: "#
|
|
88
|
-
readonly 300: "#
|
|
89
|
-
readonly 400: "#
|
|
90
|
-
readonly 500: "#
|
|
91
|
-
readonly 600: "#
|
|
92
|
-
readonly 700: "#
|
|
93
|
-
readonly 800: "#
|
|
94
|
-
readonly 900: "#
|
|
95
|
-
readonly 950: "#
|
|
88
|
+
readonly 50: "#F4EFFE";
|
|
89
|
+
readonly 100: "#E9DFFC";
|
|
90
|
+
readonly 200: "#D3BFF9";
|
|
91
|
+
readonly 300: "#B894F5";
|
|
92
|
+
readonly 400: "#9866EF";
|
|
93
|
+
readonly 500: "#7239EA";
|
|
94
|
+
readonly 600: "#5B2CC5";
|
|
95
|
+
readonly 700: "#4621A0";
|
|
96
|
+
readonly 800: "#33177C";
|
|
97
|
+
readonly 900: "#230F58";
|
|
98
|
+
readonly 950: "#140836";
|
|
96
99
|
};
|
|
97
|
-
/**
|
|
100
|
+
/** Light mode grays — Metronic gray scale */
|
|
98
101
|
readonly neutral: {
|
|
102
|
+
readonly 50: "#F9F9F9";
|
|
103
|
+
readonly 100: "#F1F1F4";
|
|
104
|
+
readonly 200: "#DBDFE9";
|
|
105
|
+
readonly 300: "#C4CADA";
|
|
106
|
+
readonly 400: "#99A1B7";
|
|
107
|
+
readonly 500: "#78829D";
|
|
108
|
+
readonly 600: "#5E6880";
|
|
109
|
+
readonly 700: "#4B5675";
|
|
110
|
+
readonly 800: "#252F4A";
|
|
111
|
+
readonly 900: "#071437";
|
|
112
|
+
readonly 950: "#030A25";
|
|
113
|
+
};
|
|
114
|
+
/** Dark mode grays — Metronic dark scale (purpose-built for dark surfaces) */
|
|
115
|
+
readonly neutralDark: {
|
|
116
|
+
readonly 25: "#F5F5F5";
|
|
117
|
+
readonly 50: "#CDCED1";
|
|
118
|
+
readonly 100: "#9899A3";
|
|
119
|
+
readonly 200: "#6D6F80";
|
|
120
|
+
readonly 300: "#636674";
|
|
121
|
+
readonly 400: "#565674";
|
|
122
|
+
readonly 500: "#383D50";
|
|
123
|
+
readonly 600: "#2D3142";
|
|
124
|
+
readonly 700: "#242731";
|
|
125
|
+
readonly 800: "#1E2129";
|
|
126
|
+
readonly 900: "#181C22";
|
|
127
|
+
readonly 950: "#13171E";
|
|
128
|
+
};
|
|
129
|
+
/**
|
|
130
|
+
* Zinc — Tailwind CSS neutral gray scale used by Metronic v9.4.x as its dark
|
|
131
|
+
* surface palette. Referenced by darkSemanticColors for layout parity.
|
|
132
|
+
*/
|
|
133
|
+
readonly zinc: {
|
|
99
134
|
readonly 50: "#fafafa";
|
|
100
|
-
readonly 100: "#
|
|
101
|
-
readonly 200: "#
|
|
102
|
-
readonly 300: "#
|
|
103
|
-
readonly 400: "#
|
|
104
|
-
readonly 500: "#
|
|
105
|
-
readonly 600: "#
|
|
106
|
-
readonly 700: "#
|
|
107
|
-
readonly 800: "#
|
|
108
|
-
readonly 900: "#
|
|
109
|
-
readonly 950: "#
|
|
135
|
+
readonly 100: "#f4f4f5";
|
|
136
|
+
readonly 200: "#e4e4e7";
|
|
137
|
+
readonly 300: "#d4d4d8";
|
|
138
|
+
readonly 400: "#a1a1aa";
|
|
139
|
+
readonly 500: "#71717a";
|
|
140
|
+
readonly 600: "#52525b";
|
|
141
|
+
readonly 700: "#3f3f46";
|
|
142
|
+
readonly 800: "#27272a";
|
|
143
|
+
readonly 900: "#18181b";
|
|
144
|
+
readonly 950: "#09090b";
|
|
110
145
|
};
|
|
111
146
|
readonly white: "#ffffff";
|
|
112
147
|
readonly black: "#000000";
|
|
@@ -128,7 +163,7 @@ declare const spacingPrimitives: {
|
|
|
128
163
|
readonly 24: 96;
|
|
129
164
|
readonly 32: 128;
|
|
130
165
|
};
|
|
131
|
-
/** Font size scale in pixels. */
|
|
166
|
+
/** Font size scale in pixels — Untitled UI v7.0 type scale. */
|
|
132
167
|
declare const fontSizePrimitives: {
|
|
133
168
|
readonly xs: 12;
|
|
134
169
|
readonly sm: 14;
|
|
@@ -139,6 +174,8 @@ declare const fontSizePrimitives: {
|
|
|
139
174
|
readonly '3xl': 30;
|
|
140
175
|
readonly '4xl': 36;
|
|
141
176
|
readonly '5xl': 48;
|
|
177
|
+
readonly '6xl': 60;
|
|
178
|
+
readonly '7xl': 72;
|
|
142
179
|
};
|
|
143
180
|
/** Font weight scale. Maps named weights to numeric values. */
|
|
144
181
|
declare const fontWeightPrimitives: {
|
|
@@ -165,13 +202,18 @@ declare const fontFamilyPrimitives: {
|
|
|
165
202
|
readonly mono: "JetBrains Mono, Fira Code, Consolas, monospace";
|
|
166
203
|
readonly serif: "Georgia, 'Times New Roman', serif";
|
|
167
204
|
};
|
|
168
|
-
/** Border radius scale in pixels. */
|
|
205
|
+
/** Border radius scale in pixels — Untitled UI v7.0 radius scale. */
|
|
169
206
|
declare const borderRadiusPrimitives: {
|
|
170
207
|
readonly none: 0;
|
|
171
|
-
readonly
|
|
172
|
-
readonly
|
|
173
|
-
readonly
|
|
208
|
+
readonly xxs: 2;
|
|
209
|
+
readonly xs: 4;
|
|
210
|
+
readonly sm: 6;
|
|
211
|
+
readonly md: 8;
|
|
212
|
+
readonly lg: 10;
|
|
174
213
|
readonly xl: 12;
|
|
214
|
+
readonly '2xl': 16;
|
|
215
|
+
readonly '3xl': 20;
|
|
216
|
+
readonly '4xl': 24;
|
|
175
217
|
readonly full: 9999;
|
|
176
218
|
};
|
|
177
219
|
/** Box shadow scale using CSS shadow syntax. */
|
|
@@ -225,7 +267,7 @@ declare const focusPrimitives: {
|
|
|
225
267
|
/** Ring offset from element edge in pixels */
|
|
226
268
|
readonly ringOffset: 2;
|
|
227
269
|
/** Ring color — uses primary brand color */
|
|
228
|
-
readonly ringColor: "#
|
|
270
|
+
readonly ringColor: "#1B84FF";
|
|
229
271
|
/** Ring border-style */
|
|
230
272
|
readonly ringStyle: "solid";
|
|
231
273
|
};
|
|
@@ -268,573 +310,6 @@ type ColorScaleKey = Exclude<keyof typeof colorPrimitives, 'white' | 'black'>;
|
|
|
268
310
|
/** Union of color shade steps (50, 100, ... 950). */
|
|
269
311
|
type ColorShade = keyof (typeof colorPrimitives)['primary'];
|
|
270
312
|
|
|
271
|
-
/**
|
|
272
|
-
* @module semantic
|
|
273
|
-
*
|
|
274
|
-
* Semantic design tokens — named for their purpose, not their value.
|
|
275
|
-
* Components should consume these tokens exclusively; never reference
|
|
276
|
-
* primitives directly.
|
|
277
|
-
*
|
|
278
|
-
* Each category is exported individually so consumers can import only
|
|
279
|
-
* what they need:
|
|
280
|
-
*
|
|
281
|
-
* ```ts
|
|
282
|
-
* import { semanticColors, semanticTypography } from '@gtcx/tokens';
|
|
283
|
-
* ```
|
|
284
|
-
*
|
|
285
|
-
* The combined `semanticTokens` object is also exported for backward
|
|
286
|
-
* compatibility with code that imports the entire token set.
|
|
287
|
-
*/
|
|
288
|
-
/**
|
|
289
|
-
* Semantic color tokens.
|
|
290
|
-
*
|
|
291
|
-
* Every value traces back to a {@link colorPrimitives} value — no orphan
|
|
292
|
-
* hex strings. Dark mode overrides live in {@link ../dark | darkSemanticColors}.
|
|
293
|
-
*/
|
|
294
|
-
declare const semanticColors: {
|
|
295
|
-
/** Primary brand action color */
|
|
296
|
-
readonly primary: "#0ea5e9";
|
|
297
|
-
/** Primary hover state */
|
|
298
|
-
readonly primaryHover: "#0284c7";
|
|
299
|
-
/** Primary active/pressed state */
|
|
300
|
-
readonly primaryActive: "#0369a1";
|
|
301
|
-
/** Primary tinted background (selected rows, badges) */
|
|
302
|
-
readonly primaryBg: "#f0f9ff";
|
|
303
|
-
/** Secondary brand color */
|
|
304
|
-
readonly secondary: "#a855f7";
|
|
305
|
-
/** Secondary hover state */
|
|
306
|
-
readonly secondaryHover: "#9333ea";
|
|
307
|
-
/** Positive outcome (approvals, passing checks) */
|
|
308
|
-
readonly success: "#22c55e";
|
|
309
|
-
/** Caution state (pending review, warnings) */
|
|
310
|
-
readonly warning: "#f59e0b";
|
|
311
|
-
/** Destructive/failure state */
|
|
312
|
-
readonly error: "#ef4444";
|
|
313
|
-
/** Informational state */
|
|
314
|
-
readonly info: "#3b82f6";
|
|
315
|
-
/** Financial gain */
|
|
316
|
-
readonly profit: "#22c55e";
|
|
317
|
-
/** Financial loss */
|
|
318
|
-
readonly loss: "#ef4444";
|
|
319
|
-
/** Compliance approved */
|
|
320
|
-
readonly approved: "#16a34a";
|
|
321
|
-
/** Compliance pending */
|
|
322
|
-
readonly pending: "#d97706";
|
|
323
|
-
/** Compliance rejected */
|
|
324
|
-
readonly rejected: "#dc2626";
|
|
325
|
-
/** Security verified */
|
|
326
|
-
readonly secure: "#16a34a";
|
|
327
|
-
/** Security compromised */
|
|
328
|
-
readonly insecure: "#dc2626";
|
|
329
|
-
/** Primary body text */
|
|
330
|
-
readonly textPrimary: "#171717";
|
|
331
|
-
/** Secondary/supporting text */
|
|
332
|
-
readonly textSecondary: "#525252";
|
|
333
|
-
/** Tertiary/label text */
|
|
334
|
-
readonly textTertiary: "#737373";
|
|
335
|
-
/** Muted/placeholder text */
|
|
336
|
-
readonly textMuted: "#a3a3a3";
|
|
337
|
-
/** Text on dark backgrounds */
|
|
338
|
-
readonly textInverse: "#fafafa";
|
|
339
|
-
/** Page-level background */
|
|
340
|
-
readonly bgPage: "#fafafa";
|
|
341
|
-
/** Card/surface background */
|
|
342
|
-
readonly bgSurface: "#ffffff";
|
|
343
|
-
/** Surface hover state */
|
|
344
|
-
readonly bgSurfaceHover: "#f5f5f5";
|
|
345
|
-
/** Tertiary surface (nested cards, wells) */
|
|
346
|
-
readonly bgSurfaceTertiary: "#e5e5e5";
|
|
347
|
-
/** Inverse background (dark sections) */
|
|
348
|
-
readonly bgInverse: "#171717";
|
|
349
|
-
/** Sidebar background */
|
|
350
|
-
readonly bgSidebar: "#ffffff";
|
|
351
|
-
/** Header background */
|
|
352
|
-
readonly bgHeader: "#ffffff";
|
|
353
|
-
/** Default border */
|
|
354
|
-
readonly border: "#e5e5e5";
|
|
355
|
-
/** Light/subtle border */
|
|
356
|
-
readonly borderLight: "#f5f5f5";
|
|
357
|
-
/** Emphasized border */
|
|
358
|
-
readonly borderSecondary: "#d4d4d4";
|
|
359
|
-
/** Focus ring border */
|
|
360
|
-
readonly borderFocus: "#0ea5e9";
|
|
361
|
-
/** Default link color */
|
|
362
|
-
readonly link: "#0284c7";
|
|
363
|
-
/** Link hover state */
|
|
364
|
-
readonly linkHover: "#0369a1";
|
|
365
|
-
};
|
|
366
|
-
/**
|
|
367
|
-
* Semantic spacing tokens.
|
|
368
|
-
*
|
|
369
|
-
* Page-level gutters, component-internal spacing, and layout dimensions.
|
|
370
|
-
* All values trace to {@link spacingPrimitives}.
|
|
371
|
-
*/
|
|
372
|
-
declare const semanticSpacing: {
|
|
373
|
-
/** Horizontal page gutter */
|
|
374
|
-
readonly pageGutter: 24;
|
|
375
|
-
/** Internal card padding */
|
|
376
|
-
readonly cardPadding: 16;
|
|
377
|
-
/** Gap between page sections */
|
|
378
|
-
readonly sectionGap: 24;
|
|
379
|
-
/** Gap between sibling components */
|
|
380
|
-
readonly componentGap: 12;
|
|
381
|
-
/** Inline element gap (icon + label) */
|
|
382
|
-
readonly inlineGap: 8;
|
|
383
|
-
/** Per-component spacing presets */
|
|
384
|
-
readonly component: {
|
|
385
|
-
readonly button: {
|
|
386
|
-
readonly paddingX: 16;
|
|
387
|
-
readonly paddingY: 8;
|
|
388
|
-
readonly gap: 8;
|
|
389
|
-
};
|
|
390
|
-
readonly input: {
|
|
391
|
-
readonly paddingX: 12;
|
|
392
|
-
readonly paddingY: 8;
|
|
393
|
-
};
|
|
394
|
-
readonly card: {
|
|
395
|
-
readonly padding: 24;
|
|
396
|
-
readonly gap: 16;
|
|
397
|
-
};
|
|
398
|
-
readonly form: {
|
|
399
|
-
readonly fieldGap: 16;
|
|
400
|
-
readonly sectionGap: 32;
|
|
401
|
-
readonly labelGap: 8;
|
|
402
|
-
};
|
|
403
|
-
readonly modal: {
|
|
404
|
-
readonly padding: 24;
|
|
405
|
-
readonly gap: 16;
|
|
406
|
-
};
|
|
407
|
-
readonly table: {
|
|
408
|
-
readonly cellPadding: 16;
|
|
409
|
-
readonly headerPadding: 16;
|
|
410
|
-
};
|
|
411
|
-
};
|
|
412
|
-
/** Layout-level spacing presets */
|
|
413
|
-
readonly layout: {
|
|
414
|
-
readonly container: {
|
|
415
|
-
readonly paddingX: 16;
|
|
416
|
-
readonly paddingY: 24;
|
|
417
|
-
};
|
|
418
|
-
readonly section: {
|
|
419
|
-
readonly marginY: 48;
|
|
420
|
-
readonly gap: 32;
|
|
421
|
-
};
|
|
422
|
-
readonly page: {
|
|
423
|
-
readonly marginY: 64;
|
|
424
|
-
readonly paddingX: 24;
|
|
425
|
-
};
|
|
426
|
-
};
|
|
427
|
-
};
|
|
428
|
-
/**
|
|
429
|
-
* Semantic typography tokens.
|
|
430
|
-
*
|
|
431
|
-
* Font families, display/heading/body/button type scales.
|
|
432
|
-
* All values trace to font-* primitive scales.
|
|
433
|
-
*/
|
|
434
|
-
declare const semanticTypography: {
|
|
435
|
-
/** Default sans-serif font stack */
|
|
436
|
-
readonly fontFamily: "Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif";
|
|
437
|
-
/** Monospace font stack for code */
|
|
438
|
-
readonly fontFamilyCode: "JetBrains Mono, Fira Code, Consolas, monospace";
|
|
439
|
-
/** Serif font stack for editorial content */
|
|
440
|
-
readonly fontFamilySerif: "Georgia, 'Times New Roman', serif";
|
|
441
|
-
/** Display type scale — hero sections, feature numbers */
|
|
442
|
-
readonly display: {
|
|
443
|
-
readonly lg: {
|
|
444
|
-
readonly fontSize: 48;
|
|
445
|
-
readonly fontWeight: 700;
|
|
446
|
-
readonly lineHeight: 1.2;
|
|
447
|
-
readonly letterSpacing: "-0.025em";
|
|
448
|
-
};
|
|
449
|
-
readonly md: {
|
|
450
|
-
readonly fontSize: 36;
|
|
451
|
-
readonly fontWeight: 700;
|
|
452
|
-
readonly lineHeight: 1.2;
|
|
453
|
-
readonly letterSpacing: "0em";
|
|
454
|
-
};
|
|
455
|
-
readonly sm: {
|
|
456
|
-
readonly fontSize: 30;
|
|
457
|
-
readonly fontWeight: 600;
|
|
458
|
-
readonly lineHeight: 1.2;
|
|
459
|
-
readonly letterSpacing: "0em";
|
|
460
|
-
};
|
|
461
|
-
};
|
|
462
|
-
/** Heading type scale — page/section/card headings */
|
|
463
|
-
readonly heading: {
|
|
464
|
-
readonly h1: {
|
|
465
|
-
readonly fontSize: 30;
|
|
466
|
-
readonly fontWeight: 700;
|
|
467
|
-
readonly lineHeight: 1.2;
|
|
468
|
-
};
|
|
469
|
-
readonly h2: {
|
|
470
|
-
readonly fontSize: 24;
|
|
471
|
-
readonly fontWeight: 600;
|
|
472
|
-
readonly lineHeight: 1.2;
|
|
473
|
-
};
|
|
474
|
-
readonly h3: {
|
|
475
|
-
readonly fontSize: 20;
|
|
476
|
-
readonly fontWeight: 600;
|
|
477
|
-
readonly lineHeight: 1.5;
|
|
478
|
-
};
|
|
479
|
-
readonly h4: {
|
|
480
|
-
readonly fontSize: 18;
|
|
481
|
-
readonly fontWeight: 500;
|
|
482
|
-
readonly lineHeight: 1.5;
|
|
483
|
-
};
|
|
484
|
-
};
|
|
485
|
-
/** Body type scale — paragraphs, descriptions */
|
|
486
|
-
readonly body: {
|
|
487
|
-
readonly lg: {
|
|
488
|
-
readonly fontSize: 18;
|
|
489
|
-
readonly fontWeight: 400;
|
|
490
|
-
readonly lineHeight: 1.7;
|
|
491
|
-
};
|
|
492
|
-
readonly md: {
|
|
493
|
-
readonly fontSize: 16;
|
|
494
|
-
readonly fontWeight: 400;
|
|
495
|
-
readonly lineHeight: 1.5;
|
|
496
|
-
};
|
|
497
|
-
readonly sm: {
|
|
498
|
-
readonly fontSize: 14;
|
|
499
|
-
readonly fontWeight: 400;
|
|
500
|
-
readonly lineHeight: 1.5;
|
|
501
|
-
};
|
|
502
|
-
};
|
|
503
|
-
/** Caption — footnotes, timestamps, fine print */
|
|
504
|
-
readonly caption: {
|
|
505
|
-
readonly fontSize: 12;
|
|
506
|
-
readonly fontWeight: 400;
|
|
507
|
-
readonly lineHeight: 1.5;
|
|
508
|
-
};
|
|
509
|
-
/** Button label type scale */
|
|
510
|
-
readonly button: {
|
|
511
|
-
readonly lg: {
|
|
512
|
-
readonly fontSize: 18;
|
|
513
|
-
readonly fontWeight: 500;
|
|
514
|
-
readonly lineHeight: 1.5;
|
|
515
|
-
};
|
|
516
|
-
readonly md: {
|
|
517
|
-
readonly fontSize: 16;
|
|
518
|
-
readonly fontWeight: 500;
|
|
519
|
-
readonly lineHeight: 1.5;
|
|
520
|
-
};
|
|
521
|
-
readonly sm: {
|
|
522
|
-
readonly fontSize: 14;
|
|
523
|
-
readonly fontWeight: 500;
|
|
524
|
-
readonly lineHeight: 1.5;
|
|
525
|
-
};
|
|
526
|
-
};
|
|
527
|
-
};
|
|
528
|
-
/** Semantic border-radius tokens for component shapes. */
|
|
529
|
-
declare const semanticRadii: {
|
|
530
|
-
/** Default component radius */
|
|
531
|
-
readonly component: 4;
|
|
532
|
-
/** Card/panel radius */
|
|
533
|
-
readonly card: 8;
|
|
534
|
-
/** Button radius */
|
|
535
|
-
readonly button: 4;
|
|
536
|
-
/** Input/select radius */
|
|
537
|
-
readonly input: 4;
|
|
538
|
-
/** Tag/badge radius */
|
|
539
|
-
readonly tag: 2;
|
|
540
|
-
/** Avatar — fully round */
|
|
541
|
-
readonly avatar: 9999;
|
|
542
|
-
};
|
|
543
|
-
/** Semantic shadow tokens for elevation. */
|
|
544
|
-
declare const semanticShadows: {
|
|
545
|
-
/** Card/panel elevation */
|
|
546
|
-
readonly card: "0 1px 2px 0 rgb(0 0 0 / 0.05)";
|
|
547
|
-
/** Dropdown/popover elevation */
|
|
548
|
-
readonly dropdown: "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)";
|
|
549
|
-
/** Modal/dialog elevation */
|
|
550
|
-
readonly modal: "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)";
|
|
551
|
-
};
|
|
552
|
-
/** Semantic layout dimension tokens (in pixels). */
|
|
553
|
-
declare const semanticLayout: {
|
|
554
|
-
/** Sidebar expanded width */
|
|
555
|
-
readonly sidebarWidth: 240;
|
|
556
|
-
/** Sidebar collapsed width */
|
|
557
|
-
readonly sidebarCollapsedWidth: 72;
|
|
558
|
-
/** Top header height */
|
|
559
|
-
readonly headerHeight: 56;
|
|
560
|
-
/** Maximum content area width */
|
|
561
|
-
readonly contentMaxWidth: 1440;
|
|
562
|
-
};
|
|
563
|
-
/**
|
|
564
|
-
* Combined semantic token object.
|
|
565
|
-
*
|
|
566
|
-
* @deprecated Prefer the named exports (`semanticColors`, `semanticSpacing`,
|
|
567
|
-
* etc.) for better tree-shaking and clearer imports. This combined object
|
|
568
|
-
* is preserved for backward compatibility only.
|
|
569
|
-
*/
|
|
570
|
-
declare const semanticTokens: {
|
|
571
|
-
readonly colors: {
|
|
572
|
-
/** Primary brand action color */
|
|
573
|
-
readonly primary: "#0ea5e9";
|
|
574
|
-
/** Primary hover state */
|
|
575
|
-
readonly primaryHover: "#0284c7";
|
|
576
|
-
/** Primary active/pressed state */
|
|
577
|
-
readonly primaryActive: "#0369a1";
|
|
578
|
-
/** Primary tinted background (selected rows, badges) */
|
|
579
|
-
readonly primaryBg: "#f0f9ff";
|
|
580
|
-
/** Secondary brand color */
|
|
581
|
-
readonly secondary: "#a855f7";
|
|
582
|
-
/** Secondary hover state */
|
|
583
|
-
readonly secondaryHover: "#9333ea";
|
|
584
|
-
/** Positive outcome (approvals, passing checks) */
|
|
585
|
-
readonly success: "#22c55e";
|
|
586
|
-
/** Caution state (pending review, warnings) */
|
|
587
|
-
readonly warning: "#f59e0b";
|
|
588
|
-
/** Destructive/failure state */
|
|
589
|
-
readonly error: "#ef4444";
|
|
590
|
-
/** Informational state */
|
|
591
|
-
readonly info: "#3b82f6";
|
|
592
|
-
/** Financial gain */
|
|
593
|
-
readonly profit: "#22c55e";
|
|
594
|
-
/** Financial loss */
|
|
595
|
-
readonly loss: "#ef4444";
|
|
596
|
-
/** Compliance approved */
|
|
597
|
-
readonly approved: "#16a34a";
|
|
598
|
-
/** Compliance pending */
|
|
599
|
-
readonly pending: "#d97706";
|
|
600
|
-
/** Compliance rejected */
|
|
601
|
-
readonly rejected: "#dc2626";
|
|
602
|
-
/** Security verified */
|
|
603
|
-
readonly secure: "#16a34a";
|
|
604
|
-
/** Security compromised */
|
|
605
|
-
readonly insecure: "#dc2626";
|
|
606
|
-
/** Primary body text */
|
|
607
|
-
readonly textPrimary: "#171717";
|
|
608
|
-
/** Secondary/supporting text */
|
|
609
|
-
readonly textSecondary: "#525252";
|
|
610
|
-
/** Tertiary/label text */
|
|
611
|
-
readonly textTertiary: "#737373";
|
|
612
|
-
/** Muted/placeholder text */
|
|
613
|
-
readonly textMuted: "#a3a3a3";
|
|
614
|
-
/** Text on dark backgrounds */
|
|
615
|
-
readonly textInverse: "#fafafa";
|
|
616
|
-
/** Page-level background */
|
|
617
|
-
readonly bgPage: "#fafafa";
|
|
618
|
-
/** Card/surface background */
|
|
619
|
-
readonly bgSurface: "#ffffff";
|
|
620
|
-
/** Surface hover state */
|
|
621
|
-
readonly bgSurfaceHover: "#f5f5f5";
|
|
622
|
-
/** Tertiary surface (nested cards, wells) */
|
|
623
|
-
readonly bgSurfaceTertiary: "#e5e5e5";
|
|
624
|
-
/** Inverse background (dark sections) */
|
|
625
|
-
readonly bgInverse: "#171717";
|
|
626
|
-
/** Sidebar background */
|
|
627
|
-
readonly bgSidebar: "#ffffff";
|
|
628
|
-
/** Header background */
|
|
629
|
-
readonly bgHeader: "#ffffff";
|
|
630
|
-
/** Default border */
|
|
631
|
-
readonly border: "#e5e5e5";
|
|
632
|
-
/** Light/subtle border */
|
|
633
|
-
readonly borderLight: "#f5f5f5";
|
|
634
|
-
/** Emphasized border */
|
|
635
|
-
readonly borderSecondary: "#d4d4d4";
|
|
636
|
-
/** Focus ring border */
|
|
637
|
-
readonly borderFocus: "#0ea5e9";
|
|
638
|
-
/** Default link color */
|
|
639
|
-
readonly link: "#0284c7";
|
|
640
|
-
/** Link hover state */
|
|
641
|
-
readonly linkHover: "#0369a1";
|
|
642
|
-
};
|
|
643
|
-
readonly spacing: {
|
|
644
|
-
/** Horizontal page gutter */
|
|
645
|
-
readonly pageGutter: 24;
|
|
646
|
-
/** Internal card padding */
|
|
647
|
-
readonly cardPadding: 16;
|
|
648
|
-
/** Gap between page sections */
|
|
649
|
-
readonly sectionGap: 24;
|
|
650
|
-
/** Gap between sibling components */
|
|
651
|
-
readonly componentGap: 12;
|
|
652
|
-
/** Inline element gap (icon + label) */
|
|
653
|
-
readonly inlineGap: 8;
|
|
654
|
-
/** Per-component spacing presets */
|
|
655
|
-
readonly component: {
|
|
656
|
-
readonly button: {
|
|
657
|
-
readonly paddingX: 16;
|
|
658
|
-
readonly paddingY: 8;
|
|
659
|
-
readonly gap: 8;
|
|
660
|
-
};
|
|
661
|
-
readonly input: {
|
|
662
|
-
readonly paddingX: 12;
|
|
663
|
-
readonly paddingY: 8;
|
|
664
|
-
};
|
|
665
|
-
readonly card: {
|
|
666
|
-
readonly padding: 24;
|
|
667
|
-
readonly gap: 16;
|
|
668
|
-
};
|
|
669
|
-
readonly form: {
|
|
670
|
-
readonly fieldGap: 16;
|
|
671
|
-
readonly sectionGap: 32;
|
|
672
|
-
readonly labelGap: 8;
|
|
673
|
-
};
|
|
674
|
-
readonly modal: {
|
|
675
|
-
readonly padding: 24;
|
|
676
|
-
readonly gap: 16;
|
|
677
|
-
};
|
|
678
|
-
readonly table: {
|
|
679
|
-
readonly cellPadding: 16;
|
|
680
|
-
readonly headerPadding: 16;
|
|
681
|
-
};
|
|
682
|
-
};
|
|
683
|
-
/** Layout-level spacing presets */
|
|
684
|
-
readonly layout: {
|
|
685
|
-
readonly container: {
|
|
686
|
-
readonly paddingX: 16;
|
|
687
|
-
readonly paddingY: 24;
|
|
688
|
-
};
|
|
689
|
-
readonly section: {
|
|
690
|
-
readonly marginY: 48;
|
|
691
|
-
readonly gap: 32;
|
|
692
|
-
};
|
|
693
|
-
readonly page: {
|
|
694
|
-
readonly marginY: 64;
|
|
695
|
-
readonly paddingX: 24;
|
|
696
|
-
};
|
|
697
|
-
};
|
|
698
|
-
};
|
|
699
|
-
readonly typography: {
|
|
700
|
-
/** Default sans-serif font stack */
|
|
701
|
-
readonly fontFamily: "Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif";
|
|
702
|
-
/** Monospace font stack for code */
|
|
703
|
-
readonly fontFamilyCode: "JetBrains Mono, Fira Code, Consolas, monospace";
|
|
704
|
-
/** Serif font stack for editorial content */
|
|
705
|
-
readonly fontFamilySerif: "Georgia, 'Times New Roman', serif";
|
|
706
|
-
/** Display type scale — hero sections, feature numbers */
|
|
707
|
-
readonly display: {
|
|
708
|
-
readonly lg: {
|
|
709
|
-
readonly fontSize: 48;
|
|
710
|
-
readonly fontWeight: 700;
|
|
711
|
-
readonly lineHeight: 1.2;
|
|
712
|
-
readonly letterSpacing: "-0.025em";
|
|
713
|
-
};
|
|
714
|
-
readonly md: {
|
|
715
|
-
readonly fontSize: 36;
|
|
716
|
-
readonly fontWeight: 700;
|
|
717
|
-
readonly lineHeight: 1.2;
|
|
718
|
-
readonly letterSpacing: "0em";
|
|
719
|
-
};
|
|
720
|
-
readonly sm: {
|
|
721
|
-
readonly fontSize: 30;
|
|
722
|
-
readonly fontWeight: 600;
|
|
723
|
-
readonly lineHeight: 1.2;
|
|
724
|
-
readonly letterSpacing: "0em";
|
|
725
|
-
};
|
|
726
|
-
};
|
|
727
|
-
/** Heading type scale — page/section/card headings */
|
|
728
|
-
readonly heading: {
|
|
729
|
-
readonly h1: {
|
|
730
|
-
readonly fontSize: 30;
|
|
731
|
-
readonly fontWeight: 700;
|
|
732
|
-
readonly lineHeight: 1.2;
|
|
733
|
-
};
|
|
734
|
-
readonly h2: {
|
|
735
|
-
readonly fontSize: 24;
|
|
736
|
-
readonly fontWeight: 600;
|
|
737
|
-
readonly lineHeight: 1.2;
|
|
738
|
-
};
|
|
739
|
-
readonly h3: {
|
|
740
|
-
readonly fontSize: 20;
|
|
741
|
-
readonly fontWeight: 600;
|
|
742
|
-
readonly lineHeight: 1.5;
|
|
743
|
-
};
|
|
744
|
-
readonly h4: {
|
|
745
|
-
readonly fontSize: 18;
|
|
746
|
-
readonly fontWeight: 500;
|
|
747
|
-
readonly lineHeight: 1.5;
|
|
748
|
-
};
|
|
749
|
-
};
|
|
750
|
-
/** Body type scale — paragraphs, descriptions */
|
|
751
|
-
readonly body: {
|
|
752
|
-
readonly lg: {
|
|
753
|
-
readonly fontSize: 18;
|
|
754
|
-
readonly fontWeight: 400;
|
|
755
|
-
readonly lineHeight: 1.7;
|
|
756
|
-
};
|
|
757
|
-
readonly md: {
|
|
758
|
-
readonly fontSize: 16;
|
|
759
|
-
readonly fontWeight: 400;
|
|
760
|
-
readonly lineHeight: 1.5;
|
|
761
|
-
};
|
|
762
|
-
readonly sm: {
|
|
763
|
-
readonly fontSize: 14;
|
|
764
|
-
readonly fontWeight: 400;
|
|
765
|
-
readonly lineHeight: 1.5;
|
|
766
|
-
};
|
|
767
|
-
};
|
|
768
|
-
/** Caption — footnotes, timestamps, fine print */
|
|
769
|
-
readonly caption: {
|
|
770
|
-
readonly fontSize: 12;
|
|
771
|
-
readonly fontWeight: 400;
|
|
772
|
-
readonly lineHeight: 1.5;
|
|
773
|
-
};
|
|
774
|
-
/** Button label type scale */
|
|
775
|
-
readonly button: {
|
|
776
|
-
readonly lg: {
|
|
777
|
-
readonly fontSize: 18;
|
|
778
|
-
readonly fontWeight: 500;
|
|
779
|
-
readonly lineHeight: 1.5;
|
|
780
|
-
};
|
|
781
|
-
readonly md: {
|
|
782
|
-
readonly fontSize: 16;
|
|
783
|
-
readonly fontWeight: 500;
|
|
784
|
-
readonly lineHeight: 1.5;
|
|
785
|
-
};
|
|
786
|
-
readonly sm: {
|
|
787
|
-
readonly fontSize: 14;
|
|
788
|
-
readonly fontWeight: 500;
|
|
789
|
-
readonly lineHeight: 1.5;
|
|
790
|
-
};
|
|
791
|
-
};
|
|
792
|
-
};
|
|
793
|
-
readonly radii: {
|
|
794
|
-
/** Default component radius */
|
|
795
|
-
readonly component: 4;
|
|
796
|
-
/** Card/panel radius */
|
|
797
|
-
readonly card: 8;
|
|
798
|
-
/** Button radius */
|
|
799
|
-
readonly button: 4;
|
|
800
|
-
/** Input/select radius */
|
|
801
|
-
readonly input: 4;
|
|
802
|
-
/** Tag/badge radius */
|
|
803
|
-
readonly tag: 2;
|
|
804
|
-
/** Avatar — fully round */
|
|
805
|
-
readonly avatar: 9999;
|
|
806
|
-
};
|
|
807
|
-
readonly shadows: {
|
|
808
|
-
/** Card/panel elevation */
|
|
809
|
-
readonly card: "0 1px 2px 0 rgb(0 0 0 / 0.05)";
|
|
810
|
-
/** Dropdown/popover elevation */
|
|
811
|
-
readonly dropdown: "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)";
|
|
812
|
-
/** Modal/dialog elevation */
|
|
813
|
-
readonly modal: "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)";
|
|
814
|
-
};
|
|
815
|
-
readonly layout: {
|
|
816
|
-
/** Sidebar expanded width */
|
|
817
|
-
readonly sidebarWidth: 240;
|
|
818
|
-
/** Sidebar collapsed width */
|
|
819
|
-
readonly sidebarCollapsedWidth: 72;
|
|
820
|
-
/** Top header height */
|
|
821
|
-
readonly headerHeight: 56;
|
|
822
|
-
/** Maximum content area width */
|
|
823
|
-
readonly contentMaxWidth: 1440;
|
|
824
|
-
};
|
|
825
|
-
};
|
|
826
|
-
type SemanticColors = typeof semanticColors;
|
|
827
|
-
type SemanticSpacing = typeof semanticSpacing;
|
|
828
|
-
type SemanticTypography = typeof semanticTypography;
|
|
829
|
-
type SemanticRadii = typeof semanticRadii;
|
|
830
|
-
type SemanticShadows = typeof semanticShadows;
|
|
831
|
-
type SemanticLayout = typeof semanticLayout;
|
|
832
|
-
type SemanticTokens = typeof semanticTokens;
|
|
833
|
-
/** Union of all semantic color keys. */
|
|
834
|
-
type SemanticColorKey = keyof typeof semanticColors;
|
|
835
|
-
/** Union of top-level semantic spacing keys. */
|
|
836
|
-
type SemanticSpacingKey = keyof typeof semanticSpacing;
|
|
837
|
-
|
|
838
313
|
/**
|
|
839
314
|
* @module dark
|
|
840
315
|
*
|
|
@@ -852,45 +327,47 @@ type SemanticSpacingKey = keyof typeof semanticSpacing;
|
|
|
852
327
|
/**
|
|
853
328
|
* Dark mode overrides for {@link semanticColors}.
|
|
854
329
|
*
|
|
330
|
+
* Surface colors use the zinc scale to match Metronic v9.4.x dark mode.
|
|
331
|
+
* Brand and feedback colors remain on the GTCX primitive scales.
|
|
855
332
|
* Structure intentionally mirrors `semanticColors` so the theme engine
|
|
856
333
|
* can validate completeness at build time.
|
|
857
334
|
*/
|
|
858
335
|
declare const darkSemanticColors: {
|
|
859
|
-
readonly primary: "#
|
|
860
|
-
readonly primaryHover: "#
|
|
861
|
-
readonly primaryActive: "#
|
|
862
|
-
readonly primaryBg: "#
|
|
863
|
-
readonly secondary: "#
|
|
864
|
-
readonly secondaryHover: "#
|
|
865
|
-
readonly success: "#
|
|
866
|
-
readonly warning: "#
|
|
867
|
-
readonly error: "#
|
|
868
|
-
readonly info: "#
|
|
869
|
-
readonly profit: "#
|
|
870
|
-
readonly loss: "#
|
|
871
|
-
readonly approved: "#
|
|
872
|
-
readonly pending: "#
|
|
873
|
-
readonly rejected: "#
|
|
874
|
-
readonly secure: "#
|
|
875
|
-
readonly insecure: "#
|
|
336
|
+
readonly primary: "#1B84FF";
|
|
337
|
+
readonly primaryHover: "#5290FF";
|
|
338
|
+
readonly primaryActive: "#1270DC";
|
|
339
|
+
readonly primaryBg: "#01214D";
|
|
340
|
+
readonly secondary: "#6172f3";
|
|
341
|
+
readonly secondaryHover: "#8098f9";
|
|
342
|
+
readonly success: "#3DD986";
|
|
343
|
+
readonly warning: "#FBBF24";
|
|
344
|
+
readonly error: "#FF6089";
|
|
345
|
+
readonly info: "#9866EF";
|
|
346
|
+
readonly profit: "#3DD986";
|
|
347
|
+
readonly loss: "#FF6089";
|
|
348
|
+
readonly approved: "#3DD986";
|
|
349
|
+
readonly pending: "#FBBF24";
|
|
350
|
+
readonly rejected: "#FF6089";
|
|
351
|
+
readonly secure: "#3DD986";
|
|
352
|
+
readonly insecure: "#FF6089";
|
|
876
353
|
readonly textPrimary: "#fafafa";
|
|
877
|
-
readonly textSecondary: "#
|
|
878
|
-
readonly textTertiary: "#
|
|
879
|
-
readonly textMuted: "#
|
|
880
|
-
readonly textInverse: "#
|
|
881
|
-
readonly bgPage: "#
|
|
882
|
-
readonly bgSurface: "#
|
|
883
|
-
readonly bgSurfaceHover: "#
|
|
884
|
-
readonly bgSurfaceTertiary: "#
|
|
885
|
-
readonly bgInverse: "#
|
|
886
|
-
readonly bgSidebar: "#
|
|
887
|
-
readonly bgHeader: "#
|
|
888
|
-
readonly border: "#
|
|
889
|
-
readonly borderLight: "#
|
|
890
|
-
readonly borderSecondary: "#
|
|
891
|
-
readonly borderFocus: "#
|
|
892
|
-
readonly link: "#
|
|
893
|
-
readonly linkHover: "#
|
|
354
|
+
readonly textSecondary: "#d4d4d8";
|
|
355
|
+
readonly textTertiary: "#a1a1aa";
|
|
356
|
+
readonly textMuted: "#71717a";
|
|
357
|
+
readonly textInverse: "#071437";
|
|
358
|
+
readonly bgPage: "#09090b";
|
|
359
|
+
readonly bgSurface: "#18181b";
|
|
360
|
+
readonly bgSurfaceHover: "#27272a";
|
|
361
|
+
readonly bgSurfaceTertiary: "#3f3f46";
|
|
362
|
+
readonly bgInverse: "#ffffff";
|
|
363
|
+
readonly bgSidebar: "#18181b";
|
|
364
|
+
readonly bgHeader: "#09090b";
|
|
365
|
+
readonly border: "#3f3f46";
|
|
366
|
+
readonly borderLight: "#27272a";
|
|
367
|
+
readonly borderSecondary: "#52525b";
|
|
368
|
+
readonly borderFocus: "#1B84FF";
|
|
369
|
+
readonly link: "#1B84FF";
|
|
370
|
+
readonly linkHover: "#5290FF";
|
|
894
371
|
};
|
|
895
372
|
/**
|
|
896
373
|
* Legacy dark colors export.
|
|
@@ -901,19 +378,140 @@ declare const darkSemanticColors: {
|
|
|
901
378
|
declare const darkColors: {
|
|
902
379
|
readonly text: {
|
|
903
380
|
readonly primary: "#fafafa";
|
|
904
|
-
readonly secondary: "#
|
|
905
|
-
readonly tertiary: "#
|
|
381
|
+
readonly secondary: "#d4d4d8";
|
|
382
|
+
readonly tertiary: "#a1a1aa";
|
|
906
383
|
};
|
|
907
384
|
readonly background: {
|
|
908
|
-
readonly primary: "#
|
|
909
|
-
readonly secondary: "#
|
|
910
|
-
readonly tertiary: "#
|
|
385
|
+
readonly primary: "#09090b";
|
|
386
|
+
readonly secondary: "#18181b";
|
|
387
|
+
readonly tertiary: "#3f3f46";
|
|
911
388
|
};
|
|
912
389
|
readonly border: {
|
|
913
|
-
readonly primary: "#
|
|
914
|
-
readonly secondary: "#
|
|
390
|
+
readonly primary: "#3f3f46";
|
|
391
|
+
readonly secondary: "#52525b";
|
|
915
392
|
};
|
|
916
393
|
};
|
|
917
394
|
type DarkSemanticColors = typeof darkSemanticColors;
|
|
918
395
|
|
|
919
|
-
|
|
396
|
+
/**
|
|
397
|
+
* @module theme
|
|
398
|
+
*
|
|
399
|
+
* Theme factory for generating CSS custom properties from token overrides.
|
|
400
|
+
* Bridges @gtcx/tokens primitives to the Metronic/Tailwind v4 CSS variable
|
|
401
|
+
* system used by @gtcx/ui components.
|
|
402
|
+
*
|
|
403
|
+
* Usage:
|
|
404
|
+
* ```ts
|
|
405
|
+
* import { createTheme, brands } from '@gtcx/tokens';
|
|
406
|
+
*
|
|
407
|
+
* // Default GTCX theme
|
|
408
|
+
* const css = createTheme();
|
|
409
|
+
*
|
|
410
|
+
* // Brand variant
|
|
411
|
+
* const agxCss = createTheme(brands.agx);
|
|
412
|
+
*
|
|
413
|
+
* // Custom theme
|
|
414
|
+
* const custom = createTheme({ primary: '#FF6600' });
|
|
415
|
+
* ```
|
|
416
|
+
*/
|
|
417
|
+
interface BrandConfig {
|
|
418
|
+
name: string;
|
|
419
|
+
primary: string;
|
|
420
|
+
primaryForeground?: string;
|
|
421
|
+
secondary?: string;
|
|
422
|
+
secondaryForeground?: string;
|
|
423
|
+
accent?: string;
|
|
424
|
+
accentForeground?: string;
|
|
425
|
+
destructive?: string;
|
|
426
|
+
chart1?: string;
|
|
427
|
+
chart2?: string;
|
|
428
|
+
chart3?: string;
|
|
429
|
+
chart4?: string;
|
|
430
|
+
chart5?: string;
|
|
431
|
+
}
|
|
432
|
+
/** GTCX ecosystem brand palettes. */
|
|
433
|
+
declare const brands: {
|
|
434
|
+
readonly gtcx: {
|
|
435
|
+
readonly name: "GTCX";
|
|
436
|
+
readonly primary: "#1B84FF";
|
|
437
|
+
readonly chart1: "#1B84FF";
|
|
438
|
+
readonly chart2: "#17C653";
|
|
439
|
+
readonly chart3: "#F6B100";
|
|
440
|
+
readonly chart4: "#F8285A";
|
|
441
|
+
readonly chart5: "#7239EA";
|
|
442
|
+
};
|
|
443
|
+
readonly agx: {
|
|
444
|
+
readonly name: "AGX";
|
|
445
|
+
readonly primary: "#C5A028";
|
|
446
|
+
readonly chart1: "#C5A028";
|
|
447
|
+
readonly chart2: "#8B7020";
|
|
448
|
+
readonly chart3: "#E5C33C";
|
|
449
|
+
readonly chart4: "#F8285A";
|
|
450
|
+
readonly chart5: "#A08620";
|
|
451
|
+
};
|
|
452
|
+
readonly crx: {
|
|
453
|
+
readonly name: "CRX";
|
|
454
|
+
readonly primary: "#00B894";
|
|
455
|
+
readonly chart1: "#00B894";
|
|
456
|
+
readonly chart2: "#00A383";
|
|
457
|
+
readonly chart3: "#55D6B8";
|
|
458
|
+
readonly chart4: "#F8285A";
|
|
459
|
+
readonly chart5: "#009B77";
|
|
460
|
+
};
|
|
461
|
+
readonly sgx: {
|
|
462
|
+
readonly name: "SGX";
|
|
463
|
+
readonly primary: "#6C5CE7";
|
|
464
|
+
readonly chart1: "#6C5CE7";
|
|
465
|
+
readonly chart2: "#5A4BD1";
|
|
466
|
+
readonly chart3: "#8E7FF0";
|
|
467
|
+
readonly chart4: "#F8285A";
|
|
468
|
+
readonly chart5: "#4834D4";
|
|
469
|
+
};
|
|
470
|
+
readonly pathways: {
|
|
471
|
+
readonly name: "Pathways";
|
|
472
|
+
readonly primary: "#0984E3";
|
|
473
|
+
readonly chart1: "#0984E3";
|
|
474
|
+
readonly chart2: "#0773C5";
|
|
475
|
+
readonly chart3: "#3DA4F0";
|
|
476
|
+
readonly chart4: "#F8285A";
|
|
477
|
+
readonly chart5: "#0660A7";
|
|
478
|
+
};
|
|
479
|
+
};
|
|
480
|
+
type BrandKey = keyof typeof brands;
|
|
481
|
+
interface ThemeOptions {
|
|
482
|
+
/** Brand primary color — overrides --primary and --ring */
|
|
483
|
+
primary?: string;
|
|
484
|
+
/** Foreground for primary backgrounds */
|
|
485
|
+
primaryForeground?: string;
|
|
486
|
+
/** Destructive/error color */
|
|
487
|
+
destructive?: string;
|
|
488
|
+
/** Chart color overrides */
|
|
489
|
+
chart1?: string;
|
|
490
|
+
chart2?: string;
|
|
491
|
+
chart3?: string;
|
|
492
|
+
chart4?: string;
|
|
493
|
+
chart5?: string;
|
|
494
|
+
/** Border radius base value */
|
|
495
|
+
radius?: string;
|
|
496
|
+
}
|
|
497
|
+
/**
|
|
498
|
+
* Generate CSS custom property declarations for a theme.
|
|
499
|
+
*
|
|
500
|
+
* Returns an object of CSS variable key-value pairs suitable for
|
|
501
|
+
* injection into `:root` or a `style` attribute.
|
|
502
|
+
*
|
|
503
|
+
* @param options - Brand config or custom overrides. Omit for Metronic defaults.
|
|
504
|
+
*/
|
|
505
|
+
declare function createTheme(options?: ThemeOptions | BrandConfig): {
|
|
506
|
+
light: Record<string, string>;
|
|
507
|
+
dark: Record<string, string>;
|
|
508
|
+
};
|
|
509
|
+
/**
|
|
510
|
+
* Generate a CSS string from theme variables.
|
|
511
|
+
*
|
|
512
|
+
* @param options - Brand config or custom overrides.
|
|
513
|
+
* @returns CSS string with :root and .dark selectors.
|
|
514
|
+
*/
|
|
515
|
+
declare function createThemeCSS(options?: ThemeOptions | BrandConfig): string;
|
|
516
|
+
|
|
517
|
+
export { type BorderRadiusPrimitives, type BrandConfig, type BrandKey, type BreakpointKey, type BreakpointPrimitives, type ColorPrimitives, type ColorScaleKey, type ColorShade, type DarkSemanticColors, type FocusPrimitives, type FontFamilyPrimitives, type FontSizePrimitives, type FontWeightPrimitives, type LetterSpacingPrimitives, type LineHeightPrimitives, type MotionPrimitives, type OpacityPrimitives, type ShadowPrimitives, type SpacingPrimitives, type ThemeOptions, type TransitionPrimitives, type ZIndexPrimitives, borderRadiusPrimitives, brands, breakpointPrimitives, colorPrimitives, createTheme, createThemeCSS, darkColors, darkSemanticColors, focusPrimitives, fontFamilyPrimitives, fontSizePrimitives, fontWeightPrimitives, letterSpacingPrimitives, lineHeightPrimitives, motionPrimitives, opacityPrimitives, shadowPrimitives, spacingPrimitives, transitionPrimitives, zIndexPrimitives };
|