@william-callao/antonella-theme 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,606 @@
1
+ declare const neutrals: {
2
+ readonly N0: "#FFFFFF";
3
+ readonly N50: "#F7F9FC";
4
+ readonly N100: "#EEF2F7";
5
+ readonly N200: "#E2E8F0";
6
+ readonly N300: "#CBD5E1";
7
+ readonly N400: "#94A3B8";
8
+ readonly N500: "#64748B";
9
+ readonly N600: "#33415C";
10
+ readonly N700: "#26324A";
11
+ readonly N800: "#171F30";
12
+ readonly N900: "#0F1626";
13
+ readonly N950: "#070C16";
14
+ };
15
+ declare const brand: {
16
+ readonly M50: "#EFF5FB";
17
+ readonly M100: "#DCE9F6";
18
+ readonly M200: "#BEDAF0";
19
+ readonly M300: "#93C1E5";
20
+ readonly M400: "#64A4D7";
21
+ readonly M500: "#4689C6";
22
+ readonly M600: "#346FA9";
23
+ readonly M700: "#2B5B8A";
24
+ readonly M800: "#264C72";
25
+ readonly M900: "#213F5E";
26
+ };
27
+ declare const success: {
28
+ readonly S50: "#F0FDF4";
29
+ readonly S100: "#DCFCE7";
30
+ readonly S200: "#BBF7D0";
31
+ readonly S300: "#86EFAC";
32
+ readonly S400: "#4ADE80";
33
+ readonly S500: "#22C55E";
34
+ readonly S600: "#16A34A";
35
+ readonly S700: "#15803D";
36
+ readonly S800: "#166534";
37
+ readonly S900: "#14532D";
38
+ };
39
+ declare const warning: {
40
+ readonly W50: "#FFFBEB";
41
+ readonly W100: "#FEF3C7";
42
+ readonly W200: "#FDE68A";
43
+ readonly W300: "#FCD34D";
44
+ readonly W400: "#FBBF24";
45
+ readonly W500: "#F59E0B";
46
+ readonly W600: "#D97706";
47
+ readonly W700: "#B45309";
48
+ readonly W800: "#92400E";
49
+ readonly W900: "#78350F";
50
+ };
51
+ declare const danger: {
52
+ readonly D50: "#FEF2F2";
53
+ readonly D100: "#FEE2E2";
54
+ readonly D200: "#FECACA";
55
+ readonly D300: "#FCA5A5";
56
+ readonly D400: "#F87171";
57
+ readonly D500: "#EF4444";
58
+ readonly D600: "#DC2626";
59
+ readonly D700: "#B91C1C";
60
+ readonly D800: "#991B1B";
61
+ readonly D900: "#7F1D1D";
62
+ };
63
+
64
+ type NeutralKeys = keyof typeof neutrals;
65
+ type BrandKeys = keyof typeof brand;
66
+ type SuccessKeys = keyof typeof success;
67
+ type WarningKeys = keyof typeof warning;
68
+ type DangerKeys = keyof typeof danger;
69
+ type TextColors = {
70
+ heading: string;
71
+ body: string;
72
+ caption: string;
73
+ brand: string;
74
+ subtle: string;
75
+ subtlest: string;
76
+ disabled: string;
77
+ success: string;
78
+ successMid: string;
79
+ successContrast: string;
80
+ warning: string;
81
+ warningMid: string;
82
+ warningContrast: string;
83
+ danger: string;
84
+ dangerContrast: string;
85
+ linkDefault: string;
86
+ linkHover: string;
87
+ linkPressed: string;
88
+ negative: string;
89
+ };
90
+ type IconColors = {
91
+ default: string;
92
+ brand: string;
93
+ subtle: string;
94
+ subtlest: string;
95
+ disabled: string;
96
+ success: string;
97
+ successMid: string;
98
+ successContrast: string;
99
+ warning: string;
100
+ warningMid: string;
101
+ warningContrast: string;
102
+ danger: string;
103
+ dangerContrast: string;
104
+ linkDefault: string;
105
+ linkHover: string;
106
+ linkPressed: string;
107
+ negative: string;
108
+ };
109
+ type BorderColors = {
110
+ default: string;
111
+ subtle: string;
112
+ subtlest: string;
113
+ light: string;
114
+ lightest: string;
115
+ brand: string;
116
+ brandLight: string;
117
+ brandLighter: string;
118
+ brandContrast: string;
119
+ focus: string;
120
+ error: string;
121
+ success: string;
122
+ warning: string;
123
+ danger: string;
124
+ };
125
+ type SurfaceColors = {
126
+ pageDefault: string;
127
+ pageSubtlest: string;
128
+ pageSubtle: string;
129
+ card: string;
130
+ cardBorder: string;
131
+ brand: string;
132
+ brandSubtle: string;
133
+ brandSubtler: string;
134
+ brandSubtlest: string;
135
+ success: string;
136
+ successSubtle: string;
137
+ warning: string;
138
+ warningSubtle: string;
139
+ danger: string;
140
+ dangerSubtle: string;
141
+ overlay: string;
142
+ modal: string;
143
+ };
144
+ type SidebarColors = {
145
+ background: string;
146
+ hover: string;
147
+ activeBackground: string;
148
+ activeText: string;
149
+ text: string;
150
+ sectionTitle: string;
151
+ title: string;
152
+ };
153
+ type ButtonColors = {
154
+ primaryBg: string;
155
+ primaryText: string;
156
+ primaryHover: string;
157
+ primaryPressed: string;
158
+ primaryDisabled: string;
159
+ secondaryBg: string;
160
+ secondaryText: string;
161
+ secondaryBorder: string;
162
+ secondaryHover: string;
163
+ ghostText: string;
164
+ ghostHover: string;
165
+ dangerBg: string;
166
+ dangerText: string;
167
+ };
168
+ type InputColors = {
169
+ bg: string;
170
+ border: string;
171
+ borderActive: string;
172
+ borderError: string;
173
+ text: string;
174
+ placeholder: string;
175
+ disabled: string;
176
+ };
177
+ type BadgeColors = {
178
+ bg: string;
179
+ text: string;
180
+ };
181
+ type SkeletonColors = {
182
+ default: string;
183
+ };
184
+ type ComponentColors = {
185
+ sidebar: SidebarColors;
186
+ button: ButtonColors;
187
+ input: InputColors;
188
+ badge: BadgeColors;
189
+ skeleton: SkeletonColors;
190
+ };
191
+ type SemanticColors = {
192
+ text: TextColors;
193
+ icon: IconColors;
194
+ border: BorderColors;
195
+ surface: SurfaceColors;
196
+ components: ComponentColors;
197
+ };
198
+
199
+ declare const palette: {
200
+ readonly primary: "#346FA9";
201
+ readonly primaryDark: "#2B5B8A";
202
+ readonly background: "#F2F2F7";
203
+ readonly surface: "#FFFFFF";
204
+ readonly border: "#E5E5EA";
205
+ readonly text: "#000000";
206
+ readonly textMuted: "#8E8E93";
207
+ readonly danger: "#FF3B30";
208
+ readonly success: "#34C759";
209
+ readonly warning: "#FF9500";
210
+ };
211
+ declare const darkPalette: {
212
+ readonly primary: "#64A4D7";
213
+ readonly primaryDark: "#4689C6";
214
+ readonly background: "#000000";
215
+ readonly surface: "#1C1C1E";
216
+ readonly border: "#2C2C2E";
217
+ readonly text: "#FFFFFF";
218
+ readonly textMuted: "#98989F";
219
+ readonly danger: "#FF453A";
220
+ readonly success: "#30D158";
221
+ readonly warning: "#FF9F0A";
222
+ };
223
+ /**
224
+ * CTA1 — color de llamada a la acción / elemento destacado.
225
+ * USO: fondo de elementos CTA (ej. opción activa del sidebar).
226
+ * REGLA: sobre CTA1, el contenido (texto e íconos) se pinta SIEMPRE con `cta1Contrast`.
227
+ */
228
+ declare const cta1 = "#346FA9";
229
+ declare const cta1Contrast = "#FFFFFF";
230
+ /**
231
+ * Accent — superficie oscura de marca (sidebar, headers).
232
+ * REGLA: sobre `accent.background` solo se usan `accent.icon.*` para íconos
233
+ * y `accent.text.*` para textos. Nunca colores de card/background sobre accent.
234
+ */
235
+ declare const accent: {
236
+ readonly background: "#1C1C1E";
237
+ readonly icon: {
238
+ readonly primary: "#F2F2F7";
239
+ readonly secondary: "#98989F";
240
+ };
241
+ readonly text: {
242
+ readonly primary: "#F2F2F7";
243
+ readonly secondary: "#A1A1A6";
244
+ };
245
+ };
246
+ /**
247
+ * Fondo de pantalla base.
248
+ * REGLA: la pantalla se pinta SIEMPRE con `background.default` (blanco).
249
+ * Sobre ella, los componentes (cards, formularios, chips, etc.) se pintan
250
+ * con `background.surface` (gris). `background.skeleton` es el tono de los
251
+ * placeholders de carga, un poco más claro que `surface`.
252
+ */
253
+ declare const background: {
254
+ readonly default: "#FFFFFFFF";
255
+ readonly subtle: "#dadadaff";
256
+ readonly surface: "#F7F7FA";
257
+ readonly content: {
258
+ readonly primary: "#F7F7FA";
259
+ readonly secondary: "#8E8E93";
260
+ };
261
+ readonly skeleton: "#E5E5EA";
262
+ };
263
+ /**
264
+ * Texto — colores centralizados de texto del sistema de textos (`texts.ts`).
265
+ * REGLA: todo texto se pinta con un color de `text`; sobre superficies oscuras
266
+ * usar `text.inverse`.
267
+ */
268
+ declare const text: {
269
+ readonly default: "#000000";
270
+ readonly secondary: "#8E8E93";
271
+ readonly subtle: "#8E8E93";
272
+ readonly placeholder: "#C7C7CC";
273
+ readonly inverse: "#FFFFFF";
274
+ };
275
+ /**
276
+ * Card — tarjetas que flotan sobre `background.default` (blanco).
277
+ * REGLA: una card se pinta con fondo `card.background` (gris) y su texto
278
+ * con `card.text.*`.
279
+ */
280
+ declare const card: {
281
+ readonly background: "#F7F7FA";
282
+ readonly text: {
283
+ readonly primary: "#000000";
284
+ readonly secondary: "#8E8E93";
285
+ };
286
+ };
287
+ declare const border: {
288
+ readonly divider: {
289
+ readonly secondary: "#E5E5EA";
290
+ };
291
+ readonly surface: "#FFFFFF";
292
+ readonly content: {
293
+ readonly primary: "#F2F2F7";
294
+ readonly secondary: "#8E8E93";
295
+ };
296
+ readonly skeleton: "#E5E5EA";
297
+ };
298
+ /**
299
+ * AppInput — campos de texto estilo iOS (relleno gris redondeado, sin borde).
300
+ * Usado por `Input` y `TextField`.
301
+ * REGLA: sobre `appInput.background` se pinta texto `appInput.text`; el placeholder
302
+ * `appInput.placeholder`; el mensaje de error `appInput.error`.
303
+ */
304
+ declare const appInput: {
305
+ readonly background: "#F7F7FA";
306
+ readonly text: "#000000";
307
+ readonly placeholder: "#C7C7CC";
308
+ readonly error: "#FF3B30";
309
+ };
310
+ /**
311
+ * AppFormCard — grupo de campos de formulario estilo iOS (inset grouped).
312
+ * REGLA: el contenedor se pinta con `appInputCard.background.default` (gris
313
+ * claro) y las filas se separan con `appInputCard.separator` (gris, hairline,
314
+ * no de borde a borde). Los textos usan `appInputCard.text.*`:
315
+ * label a la izquierda (semibold, más grande) y valor a la derecha.
316
+ */
317
+ declare const appInputCard: {
318
+ readonly background: {
319
+ readonly default: "#F7F7FA";
320
+ };
321
+ readonly border: "#D1D1D6";
322
+ readonly separator: "#E5E5EA";
323
+ readonly text: {
324
+ readonly label: "#000000";
325
+ readonly value: "#8E8E93";
326
+ readonly placeholder: "#C7C7CC";
327
+ };
328
+ };
329
+ /**
330
+ * AppButton — botón estilo AppFormCard (inset grouped).
331
+ * REGLA: fondo CTA azul (cta1) por defecto con texto en contraste; en estado
332
+ * disabled se pinta un gris sólido legible con el texto en gris medio.
333
+ */
334
+ declare const appButton: {
335
+ readonly background: {
336
+ readonly default: "#346FA9";
337
+ readonly disabled: "#E5E5EA";
338
+ };
339
+ readonly text: {
340
+ readonly default: "#FFFFFF";
341
+ readonly disabled: "#98989F";
342
+ };
343
+ };
344
+
345
+ type DashboardShellTokens = {
346
+ background: string;
347
+ sidebarBackground: string;
348
+ sidebarText: string;
349
+ sidebarHover: string;
350
+ sidebarActiveBackground: string;
351
+ sidebarActiveText: string;
352
+ sidebarSectionTitle: string;
353
+ sidebarTitle: string;
354
+ contentBackground: string;
355
+ contentBorder: string;
356
+ borderRadius: number;
357
+ itemRadius: number;
358
+ outerMargin: number;
359
+ contentPadding: number;
360
+ sidebarWidth: number;
361
+ sidebarCompactWidth: number;
362
+ };
363
+ declare const shellTokens: DashboardShellTokens;
364
+ declare const darkShellTokens: DashboardShellTokens;
365
+
366
+ declare const spacing: {
367
+ readonly xs: 4;
368
+ readonly sm: 8;
369
+ readonly md: 12;
370
+ readonly lg: 16;
371
+ readonly xl: 24;
372
+ readonly xxl: 32;
373
+ };
374
+ declare const space: {
375
+ readonly space1: 4;
376
+ readonly space2: 8;
377
+ readonly space3: 12;
378
+ readonly space4: 16;
379
+ readonly space5: 20;
380
+ readonly space6: 24;
381
+ readonly space7: 28;
382
+ readonly space8: 32;
383
+ readonly space9: 36;
384
+ readonly space10: 40;
385
+ readonly space12: 48;
386
+ readonly space16: 64;
387
+ readonly space20: 80;
388
+ readonly space24: 96;
389
+ readonly space32: 128;
390
+ };
391
+ type Spacing = keyof typeof spacing;
392
+ type Space = keyof typeof space;
393
+
394
+ /**
395
+ * TextType — tipos de texto del DS, referenciables por nombre para no usar
396
+ * strings sueltos. El tipo `TextType` (mismo nombre) es la unión de los
397
+ * valores; en el código del DS se usa `TextType.X`, las apps pueden usar el
398
+ * tipo con strings literales validados por el compilador.
399
+ */
400
+ declare const TextType: {
401
+ readonly Title: "title";
402
+ readonly Subtitle: "subtitle";
403
+ readonly Heading: "heading";
404
+ readonly Body: "body";
405
+ readonly BodyMedium: "bodyMedium";
406
+ readonly BodyBold: "bodyBold";
407
+ readonly Label: "label";
408
+ readonly Caption: "caption";
409
+ readonly CaptionMedium: "captionMedium";
410
+ readonly Overline: "overline";
411
+ readonly Placeholder: "placeholder";
412
+ };
413
+ type TextType = (typeof TextType)[keyof typeof TextType];
414
+ /**
415
+ * Sistema de textos del DS. Cada tipo define el estilo tipográfico completo
416
+ * (fontSize, fontWeight, lineHeight; opcional letterSpacing/textTransform)
417
+ * más el color por defecto tomado del token `text` de colors.ts.
418
+ *
419
+ * ESCALA: alineada a la escala tipográfica oficial de iOS (HIG).
420
+ * fuente del sistema: SF Pro en iOS / Roboto en Android.
421
+ *
422
+ * CASO DE USO (documentado por rol):
423
+ * - title : título de pantalla (headers de pantalla/categoría).
424
+ * - subtitle : subtítulo de pantalla / secciones grandes.
425
+ * - heading : encabezado de card / sección.
426
+ * - bodyBold : texto destacado en cards/listas, labels de botones.
427
+ * - body : texto base, valor de inputs.
428
+ * - bodyMedium : énfasis medio (chips, títulos de card).
429
+ * - label : labels de formularios (peso 600 por legibilidad).
430
+ * - caption : descripciones secundarias.
431
+ * - captionMedium: caption con énfasis.
432
+ * - overline : micro-etiquetas (uppercase + letterSpacing 0.5).
433
+ * - placeholder : placeholder de inputs (color `text.placeholder`).
434
+ *
435
+ * Uso: la app envía el tipo al componente `Text` (`<Text type={TextType.Title}>`)
436
+ * y puede sobreescribir el color con la prop `color`.
437
+ */
438
+ declare const texts: {
439
+ readonly title: {
440
+ readonly fontSize: 28;
441
+ readonly fontWeight: "700";
442
+ readonly lineHeight: 34;
443
+ readonly color: "#000000";
444
+ };
445
+ readonly subtitle: {
446
+ readonly fontSize: 22;
447
+ readonly fontWeight: "700";
448
+ readonly lineHeight: 28;
449
+ readonly color: "#000000";
450
+ };
451
+ readonly heading: {
452
+ readonly fontSize: 20;
453
+ readonly fontWeight: "600";
454
+ readonly lineHeight: 25;
455
+ readonly color: "#000000";
456
+ };
457
+ readonly bodyBold: {
458
+ readonly fontSize: 17;
459
+ readonly fontWeight: "600";
460
+ readonly lineHeight: 22;
461
+ readonly color: "#000000";
462
+ };
463
+ readonly body: {
464
+ readonly fontSize: 17;
465
+ readonly fontWeight: "400";
466
+ readonly lineHeight: 22;
467
+ readonly color: "#000000";
468
+ };
469
+ readonly bodyMedium: {
470
+ readonly fontSize: 16;
471
+ readonly fontWeight: "500";
472
+ readonly lineHeight: 21;
473
+ readonly color: "#000000";
474
+ };
475
+ readonly label: {
476
+ readonly fontSize: 15;
477
+ readonly fontWeight: "600";
478
+ readonly lineHeight: 20;
479
+ readonly color: "#000000";
480
+ };
481
+ readonly caption: {
482
+ readonly fontSize: 13;
483
+ readonly fontWeight: "400";
484
+ readonly lineHeight: 18;
485
+ readonly color: "#8E8E93";
486
+ };
487
+ readonly captionMedium: {
488
+ readonly fontSize: 13;
489
+ readonly fontWeight: "500";
490
+ readonly lineHeight: 18;
491
+ readonly color: "#8E8E93";
492
+ };
493
+ readonly overline: {
494
+ readonly fontSize: 11;
495
+ readonly fontWeight: "600";
496
+ readonly lineHeight: 14;
497
+ readonly letterSpacing: 0.5;
498
+ readonly textTransform: "uppercase";
499
+ readonly color: "#8E8E93";
500
+ };
501
+ readonly placeholder: {
502
+ readonly fontSize: 17;
503
+ readonly fontWeight: "400";
504
+ readonly lineHeight: 22;
505
+ readonly color: "#C7C7CC";
506
+ };
507
+ };
508
+
509
+ type ContextBgMap = {
510
+ default: string;
511
+ subtle: string;
512
+ };
513
+ type ContextTextMap = {
514
+ default: string;
515
+ subtle: string;
516
+ subtlest: string;
517
+ };
518
+ type ContextIconMap = {
519
+ default: string;
520
+ subtle: string;
521
+ };
522
+ type ContextMap = {
523
+ bg: ContextBgMap;
524
+ text: ContextTextMap;
525
+ icon: ContextIconMap;
526
+ };
527
+ type ContextBgTokens = {
528
+ default: string;
529
+ subtle: string;
530
+ };
531
+ type ContextTextTokens = {
532
+ default: string;
533
+ subtle: string;
534
+ subtlest: string;
535
+ };
536
+ type ContextIconTokens = {
537
+ default: string;
538
+ subtle: string;
539
+ };
540
+ type ContextTokens = {
541
+ bg: ContextBgTokens;
542
+ text: ContextTextTokens;
543
+ icon: ContextIconTokens;
544
+ };
545
+ type SemanticMap = {
546
+ default: ContextMap;
547
+ light: ContextMap;
548
+ darkness: ContextMap;
549
+ };
550
+ type SemanticTokens = {
551
+ default: ContextTokens;
552
+ light: ContextTokens;
553
+ darkness: ContextTokens;
554
+ };
555
+ declare const lightSemantic: SemanticMap;
556
+ declare const darkSemantic: SemanticMap;
557
+ declare function resolveSemantic(map: SemanticMap): SemanticTokens;
558
+ type TextTokens = ContextTextTokens & {
559
+ light: string;
560
+ };
561
+ type TextMap = ContextTextMap & {
562
+ light: string;
563
+ };
564
+ declare const lightText: TextMap;
565
+ declare const darkText: TextMap;
566
+ declare function resolveText(map: TextMap): TextTokens;
567
+ type BackgroundMap = {
568
+ default: string;
569
+ subtle: string;
570
+ subtlest: string;
571
+ };
572
+ declare const lightBackground: BackgroundMap;
573
+ declare const darkBackground: BackgroundMap;
574
+ declare function resolveBackground(map: BackgroundMap): {
575
+ default: string;
576
+ subtle: string;
577
+ subtlest: string;
578
+ };
579
+
580
+ declare const lightColors: SemanticColors;
581
+
582
+ declare const darkColors: SemanticColors;
583
+
584
+ declare enum LayoutColumnSize {
585
+ FIT = "FIT",
586
+ EXPAND = "EXPAND"
587
+ }
588
+ declare enum LayoutRowSize {
589
+ FIT = "FIT",
590
+ EXPAND = "EXPAND"
591
+ }
592
+
593
+ declare const radius: {
594
+ readonly sm: 8;
595
+ readonly md: 16;
596
+ readonly lg: 20;
597
+ };
598
+ type Radius = keyof typeof radius;
599
+
600
+ type ThemeMode = "light" | "dark";
601
+ type ThemeColors = Record<keyof typeof palette, string>;
602
+ declare function resolveColors(mode: ThemeMode): ThemeColors;
603
+ declare function resolveSemanticColors(mode: ThemeMode): SemanticColors;
604
+ declare function resolveShellTokens(mode: "light" | "dark"): DashboardShellTokens;
605
+
606
+ export { type BackgroundMap, type BadgeColors, type BorderColors, type BrandKeys, type ButtonColors, type ComponentColors, type ContextBgMap, type ContextBgTokens, type ContextIconMap, type ContextIconTokens, type ContextMap, type ContextTextMap, type ContextTextTokens, type ContextTokens, type DangerKeys, type DashboardShellTokens, type IconColors, type InputColors, LayoutColumnSize, LayoutRowSize, type NeutralKeys, type Radius, type SemanticColors, type SemanticMap, type SemanticTokens, type SidebarColors, type SkeletonColors, type Space, type Spacing, type SuccessKeys, type SurfaceColors, type TextColors, type TextMap, type TextTokens, TextType, type ThemeColors, type ThemeMode, type WarningKeys, accent, appButton, appInput, appInputCard, background, border, brand, card, cta1, cta1Contrast, danger, darkBackground, darkColors, darkPalette, darkSemantic, darkShellTokens, darkText, lightBackground, lightColors, lightSemantic, lightText, neutrals, palette, radius, resolveBackground, resolveColors, resolveSemantic, resolveSemanticColors, resolveShellTokens, resolveText, shellTokens, space, spacing, success, text, texts, warning };
package/dist/index.js ADDED
@@ -0,0 +1,785 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var index_exports = {};
22
+ __export(index_exports, {
23
+ LayoutColumnSize: () => LayoutColumnSize,
24
+ LayoutRowSize: () => LayoutRowSize,
25
+ TextType: () => TextType,
26
+ accent: () => accent,
27
+ appButton: () => appButton,
28
+ appInput: () => appInput,
29
+ appInputCard: () => appInputCard,
30
+ background: () => background,
31
+ border: () => border,
32
+ brand: () => brand,
33
+ card: () => card,
34
+ cta1: () => cta1,
35
+ cta1Contrast: () => cta1Contrast,
36
+ danger: () => danger,
37
+ darkBackground: () => darkBackground,
38
+ darkColors: () => darkColors,
39
+ darkPalette: () => darkPalette,
40
+ darkSemantic: () => darkSemantic,
41
+ darkShellTokens: () => darkShellTokens,
42
+ darkText: () => darkText,
43
+ lightBackground: () => lightBackground,
44
+ lightColors: () => lightColors,
45
+ lightSemantic: () => lightSemantic,
46
+ lightText: () => lightText,
47
+ neutrals: () => neutrals,
48
+ palette: () => palette,
49
+ radius: () => radius,
50
+ resolveBackground: () => resolveBackground,
51
+ resolveColors: () => resolveColors,
52
+ resolveSemantic: () => resolveSemantic,
53
+ resolveSemanticColors: () => resolveSemanticColors,
54
+ resolveShellTokens: () => resolveShellTokens,
55
+ resolveText: () => resolveText,
56
+ shellTokens: () => shellTokens,
57
+ space: () => space,
58
+ spacing: () => spacing,
59
+ success: () => success,
60
+ text: () => text,
61
+ texts: () => texts,
62
+ warning: () => warning
63
+ });
64
+ module.exports = __toCommonJS(index_exports);
65
+
66
+ // src/colors.ts
67
+ var palette = {
68
+ primary: "#346FA9",
69
+ primaryDark: "#2B5B8A",
70
+ background: "#F2F2F7",
71
+ surface: "#FFFFFF",
72
+ border: "#E5E5EA",
73
+ text: "#000000",
74
+ textMuted: "#8E8E93",
75
+ danger: "#FF3B30",
76
+ success: "#34C759",
77
+ warning: "#FF9500"
78
+ };
79
+ var darkPalette = {
80
+ primary: "#64A4D7",
81
+ primaryDark: "#4689C6",
82
+ background: "#000000",
83
+ surface: "#1C1C1E",
84
+ border: "#2C2C2E",
85
+ text: "#FFFFFF",
86
+ textMuted: "#98989F",
87
+ danger: "#FF453A",
88
+ success: "#30D158",
89
+ warning: "#FF9F0A"
90
+ };
91
+ var cta1 = "#346FA9";
92
+ var cta1Contrast = "#FFFFFF";
93
+ var accent = {
94
+ background: "#1C1C1E",
95
+ icon: {
96
+ primary: "#F2F2F7",
97
+ secondary: "#98989F"
98
+ },
99
+ text: {
100
+ primary: "#F2F2F7",
101
+ secondary: "#A1A1A6"
102
+ }
103
+ };
104
+ var background = {
105
+ default: "#FFFFFFFF",
106
+ subtle: "#dadadaff",
107
+ surface: "#F7F7FA",
108
+ content: {
109
+ primary: "#F7F7FA",
110
+ secondary: "#8E8E93"
111
+ },
112
+ skeleton: "#E5E5EA"
113
+ };
114
+ var text = {
115
+ default: "#000000",
116
+ secondary: "#8E8E93",
117
+ subtle: "#8E8E93",
118
+ placeholder: "#C7C7CC",
119
+ inverse: "#FFFFFF"
120
+ };
121
+ var card = {
122
+ background: "#F7F7FA",
123
+ text: {
124
+ primary: text.default,
125
+ secondary: text.secondary
126
+ }
127
+ };
128
+ var border = {
129
+ divider: {
130
+ secondary: "#E5E5EA"
131
+ // usadp spbre backgrouf surface
132
+ },
133
+ surface: "#FFFFFF",
134
+ //
135
+ content: {
136
+ primary: "#F2F2F7",
137
+ secondary: "#8E8E93"
138
+ },
139
+ skeleton: "#E5E5EA"
140
+ };
141
+ var appInput = {
142
+ background: background.content.primary,
143
+ // #F2F2F7 (systemGray6)
144
+ text: text.default,
145
+ // #000000 (label)
146
+ placeholder: text.placeholder,
147
+ // #C7C7CC (systemGray3)
148
+ error: palette.danger
149
+ // #FF3B30 (systemRed)
150
+ };
151
+ var appInputCard = {
152
+ background: {
153
+ default: "#F7F7FA"
154
+ },
155
+ border: "#D1D1D6",
156
+ separator: "#E5E5EA",
157
+ text: {
158
+ label: text.default,
159
+ value: text.secondary,
160
+ placeholder: text.placeholder
161
+ }
162
+ };
163
+ var appButton = {
164
+ background: {
165
+ default: cta1,
166
+ disabled: "#E5E5EA"
167
+ },
168
+ text: {
169
+ default: cta1Contrast,
170
+ disabled: "#98989F"
171
+ }
172
+ };
173
+
174
+ // src/basePalette.ts
175
+ var neutrals = {
176
+ N0: "#FFFFFF",
177
+ N50: "#F7F9FC",
178
+ N100: "#EEF2F7",
179
+ N200: "#E2E8F0",
180
+ N300: "#CBD5E1",
181
+ N400: "#94A3B8",
182
+ N500: "#64748B",
183
+ N600: "#33415C",
184
+ N700: "#26324A",
185
+ N800: "#171F30",
186
+ N900: "#0F1626",
187
+ N950: "#070C16"
188
+ };
189
+ var brand = {
190
+ M50: "#EFF5FB",
191
+ M100: "#DCE9F6",
192
+ M200: "#BEDAF0",
193
+ M300: "#93C1E5",
194
+ M400: "#64A4D7",
195
+ M500: "#4689C6",
196
+ M600: "#346FA9",
197
+ M700: "#2B5B8A",
198
+ M800: "#264C72",
199
+ M900: "#213F5E"
200
+ };
201
+ var success = {
202
+ S50: "#F0FDF4",
203
+ S100: "#DCFCE7",
204
+ S200: "#BBF7D0",
205
+ S300: "#86EFAC",
206
+ S400: "#4ADE80",
207
+ S500: "#22C55E",
208
+ S600: "#16A34A",
209
+ S700: "#15803D",
210
+ S800: "#166534",
211
+ S900: "#14532D"
212
+ };
213
+ var warning = {
214
+ W50: "#FFFBEB",
215
+ W100: "#FEF3C7",
216
+ W200: "#FDE68A",
217
+ W300: "#FCD34D",
218
+ W400: "#FBBF24",
219
+ W500: "#F59E0B",
220
+ W600: "#D97706",
221
+ W700: "#B45309",
222
+ W800: "#92400E",
223
+ W900: "#78350F"
224
+ };
225
+ var danger = {
226
+ D50: "#FEF2F2",
227
+ D100: "#FEE2E2",
228
+ D200: "#FECACA",
229
+ D300: "#FCA5A5",
230
+ D400: "#F87171",
231
+ D500: "#EF4444",
232
+ D600: "#DC2626",
233
+ D700: "#B91C1C",
234
+ D800: "#991B1B",
235
+ D900: "#7F1D1D"
236
+ };
237
+
238
+ // src/themes/light.ts
239
+ var lightColors = {
240
+ text: {
241
+ heading: neutrals.N900,
242
+ body: neutrals.N800,
243
+ caption: neutrals.N500,
244
+ brand: brand.M700,
245
+ subtle: neutrals.N600,
246
+ subtlest: neutrals.N400,
247
+ disabled: neutrals.N400,
248
+ success: success.S700,
249
+ successMid: success.S600,
250
+ successContrast: success.S50,
251
+ warning: warning.W700,
252
+ warningMid: warning.W600,
253
+ warningContrast: warning.W50,
254
+ danger: danger.D700,
255
+ dangerContrast: danger.D50,
256
+ linkDefault: brand.M600,
257
+ linkHover: brand.M700,
258
+ linkPressed: brand.M800,
259
+ negative: danger.D600
260
+ },
261
+ icon: {
262
+ default: neutrals.N600,
263
+ brand: brand.M600,
264
+ subtle: neutrals.N500,
265
+ subtlest: neutrals.N400,
266
+ disabled: neutrals.N400,
267
+ success: success.S600,
268
+ successMid: success.S500,
269
+ successContrast: success.S400,
270
+ warning: warning.W600,
271
+ warningMid: warning.W500,
272
+ warningContrast: warning.W400,
273
+ danger: danger.D600,
274
+ dangerContrast: danger.D500,
275
+ linkDefault: brand.M600,
276
+ linkHover: brand.M700,
277
+ linkPressed: brand.M800,
278
+ negative: danger.D600
279
+ },
280
+ border: {
281
+ default: neutrals.N200,
282
+ subtle: neutrals.N300,
283
+ subtlest: neutrals.N100,
284
+ light: neutrals.N100,
285
+ lightest: neutrals.N50,
286
+ brand: brand.M500,
287
+ brandLight: brand.M300,
288
+ brandLighter: brand.M100,
289
+ brandContrast: brand.M800,
290
+ focus: brand.M500,
291
+ error: danger.D500,
292
+ success: success.S500,
293
+ warning: warning.W500,
294
+ danger: danger.D500
295
+ },
296
+ surface: {
297
+ // Fondo de pantalla = background.default (beige de marca).
298
+ pageDefault: background.default,
299
+ pageSubtlest: neutrals.N50,
300
+ pageSubtle: neutrals.N100,
301
+ // Tarjetas sobre background.default = card.background.
302
+ card: card.background,
303
+ cardBorder: background.default,
304
+ brand: brand.M500,
305
+ brandSubtle: brand.M100,
306
+ brandSubtler: brand.M50,
307
+ brandSubtlest: brand.M50,
308
+ success: success.S500,
309
+ successSubtle: success.S50,
310
+ warning: warning.W500,
311
+ warningSubtle: warning.W50,
312
+ danger: danger.D500,
313
+ dangerSubtle: danger.D50,
314
+ overlay: neutrals.N900,
315
+ modal: neutrals.N0
316
+ },
317
+ components: {
318
+ // Sidebar = superficie oscura de marca (accent). Íconos/textos solo accent.*.
319
+ // Item activo = CTA1 con texto `cta1Contrast` encima.
320
+ sidebar: {
321
+ background: accent.background,
322
+ hover: "rgba(255, 255, 255, 0.05)",
323
+ activeBackground: cta1,
324
+ activeText: cta1Contrast,
325
+ text: accent.text.secondary,
326
+ sectionTitle: accent.text.secondary,
327
+ title: accent.text.primary
328
+ },
329
+ button: {
330
+ primaryBg: brand.M500,
331
+ primaryText: neutrals.N0,
332
+ primaryHover: brand.M600,
333
+ primaryPressed: brand.M700,
334
+ primaryDisabled: neutrals.N300,
335
+ secondaryBg: neutrals.N0,
336
+ secondaryText: brand.M600,
337
+ secondaryBorder: brand.M500,
338
+ secondaryHover: brand.M50,
339
+ ghostText: brand.M600,
340
+ ghostHover: brand.M50,
341
+ dangerBg: danger.D500,
342
+ dangerText: neutrals.N0
343
+ },
344
+ input: {
345
+ bg: neutrals.N0,
346
+ border: neutrals.N200,
347
+ borderActive: brand.M500,
348
+ borderError: danger.D500,
349
+ text: neutrals.N900,
350
+ placeholder: neutrals.N400,
351
+ disabled: neutrals.N100
352
+ },
353
+ badge: {
354
+ bg: "rgba(255, 255, 255, 0.1)",
355
+ text: neutrals.N0
356
+ },
357
+ skeleton: {
358
+ default: neutrals.N200
359
+ }
360
+ }
361
+ };
362
+
363
+ // src/themes/dark.ts
364
+ var darkColors = {
365
+ text: {
366
+ heading: neutrals.N50,
367
+ body: neutrals.N100,
368
+ caption: neutrals.N400,
369
+ brand: brand.M400,
370
+ subtle: neutrals.N400,
371
+ subtlest: neutrals.N600,
372
+ disabled: neutrals.N600,
373
+ success: success.S400,
374
+ successMid: success.S500,
375
+ successContrast: success.S600,
376
+ warning: warning.W400,
377
+ warningMid: warning.W500,
378
+ warningContrast: warning.W600,
379
+ danger: danger.D400,
380
+ dangerContrast: danger.D500,
381
+ linkDefault: brand.M400,
382
+ linkHover: brand.M300,
383
+ linkPressed: brand.M200,
384
+ negative: danger.D400
385
+ },
386
+ icon: {
387
+ default: neutrals.N400,
388
+ brand: brand.M400,
389
+ subtle: neutrals.N500,
390
+ subtlest: neutrals.N600,
391
+ disabled: neutrals.N600,
392
+ success: success.S400,
393
+ successMid: success.S500,
394
+ successContrast: success.S600,
395
+ warning: warning.W400,
396
+ warningMid: warning.W500,
397
+ warningContrast: warning.W600,
398
+ danger: danger.D400,
399
+ dangerContrast: danger.D500,
400
+ linkDefault: brand.M400,
401
+ linkHover: brand.M300,
402
+ linkPressed: brand.M200,
403
+ negative: danger.D400
404
+ },
405
+ border: {
406
+ default: neutrals.N700,
407
+ subtle: neutrals.N600,
408
+ subtlest: neutrals.N800,
409
+ light: neutrals.N700,
410
+ lightest: neutrals.N800,
411
+ brand: brand.M500,
412
+ brandLight: brand.M400,
413
+ brandLighter: brand.M300,
414
+ brandContrast: brand.M200,
415
+ focus: brand.M400,
416
+ error: danger.D400,
417
+ success: success.S400,
418
+ warning: warning.W400,
419
+ danger: danger.D400
420
+ },
421
+ surface: {
422
+ pageDefault: neutrals.N950,
423
+ pageSubtlest: neutrals.N900,
424
+ pageSubtle: neutrals.N800,
425
+ card: neutrals.N800,
426
+ cardBorder: neutrals.N700,
427
+ brand: brand.M500,
428
+ brandSubtle: brand.M700,
429
+ brandSubtler: brand.M800,
430
+ brandSubtlest: brand.M900,
431
+ success: success.S400,
432
+ successSubtle: success.S800,
433
+ warning: warning.W400,
434
+ warningSubtle: warning.W800,
435
+ danger: danger.D400,
436
+ dangerSubtle: danger.D800,
437
+ overlay: neutrals.N950,
438
+ modal: neutrals.N900
439
+ },
440
+ components: {
441
+ // Sidebar = misma superficie de marca en ambos modos (accent). Item activo = CTA1.
442
+ sidebar: {
443
+ background: accent.background,
444
+ hover: "rgba(255, 255, 255, 0.06)",
445
+ activeBackground: cta1,
446
+ activeText: cta1Contrast,
447
+ text: accent.text.secondary,
448
+ sectionTitle: accent.text.secondary,
449
+ title: accent.text.primary
450
+ },
451
+ button: {
452
+ primaryBg: brand.M500,
453
+ primaryText: neutrals.N0,
454
+ primaryHover: brand.M400,
455
+ primaryPressed: brand.M300,
456
+ primaryDisabled: neutrals.N700,
457
+ secondaryBg: neutrals.N800,
458
+ secondaryText: brand.M300,
459
+ secondaryBorder: brand.M500,
460
+ secondaryHover: neutrals.N700,
461
+ ghostText: brand.M300,
462
+ ghostHover: neutrals.N700,
463
+ dangerBg: danger.D500,
464
+ dangerText: neutrals.N0
465
+ },
466
+ input: {
467
+ bg: neutrals.N800,
468
+ border: neutrals.N700,
469
+ borderActive: brand.M400,
470
+ borderError: danger.D400,
471
+ text: neutrals.N100,
472
+ placeholder: neutrals.N600,
473
+ disabled: neutrals.N700
474
+ },
475
+ badge: {
476
+ bg: "rgba(255, 255, 255, 0.1)",
477
+ text: neutrals.N0
478
+ },
479
+ skeleton: {
480
+ default: neutrals.N700
481
+ }
482
+ }
483
+ };
484
+
485
+ // src/shellTokens.ts
486
+ var shellTokens = {
487
+ background: accent.background,
488
+ sidebarBackground: accent.background,
489
+ sidebarText: accent.text.secondary,
490
+ sidebarHover: "rgba(255, 255, 255, 0.05)",
491
+ sidebarActiveBackground: cta1,
492
+ sidebarActiveText: cta1Contrast,
493
+ sidebarSectionTitle: accent.text.secondary,
494
+ sidebarTitle: accent.text.primary,
495
+ contentBackground: background.default,
496
+ contentBorder: accent.background,
497
+ borderRadius: 20,
498
+ itemRadius: 12,
499
+ outerMargin: 16,
500
+ contentPadding: 24,
501
+ sidebarWidth: 256,
502
+ sidebarCompactWidth: 76
503
+ };
504
+ var darkShellTokens = {
505
+ background: accent.background,
506
+ sidebarBackground: accent.background,
507
+ sidebarText: accent.text.secondary,
508
+ sidebarHover: "rgba(255, 255, 255, 0.06)",
509
+ sidebarActiveBackground: cta1,
510
+ sidebarActiveText: cta1Contrast,
511
+ sidebarSectionTitle: accent.text.secondary,
512
+ sidebarTitle: accent.text.primary,
513
+ contentBackground: "#020617",
514
+ contentBorder: accent.background,
515
+ borderRadius: 20,
516
+ itemRadius: 12,
517
+ outerMargin: 16,
518
+ contentPadding: 24,
519
+ sidebarWidth: 256,
520
+ sidebarCompactWidth: 76
521
+ };
522
+
523
+ // src/spacing.ts
524
+ var spacing = {
525
+ xs: 4,
526
+ sm: 8,
527
+ md: 12,
528
+ lg: 16,
529
+ xl: 24,
530
+ xxl: 32
531
+ };
532
+ var space = {
533
+ space1: 4,
534
+ space2: 8,
535
+ space3: 12,
536
+ space4: 16,
537
+ space5: 20,
538
+ space6: 24,
539
+ space7: 28,
540
+ space8: 32,
541
+ space9: 36,
542
+ space10: 40,
543
+ space12: 48,
544
+ space16: 64,
545
+ space20: 80,
546
+ space24: 96,
547
+ space32: 128
548
+ };
549
+
550
+ // src/texts.ts
551
+ var TextType = {
552
+ Title: "title",
553
+ Subtitle: "subtitle",
554
+ Heading: "heading",
555
+ Body: "body",
556
+ BodyMedium: "bodyMedium",
557
+ BodyBold: "bodyBold",
558
+ Label: "label",
559
+ Caption: "caption",
560
+ CaptionMedium: "captionMedium",
561
+ Overline: "overline",
562
+ Placeholder: "placeholder"
563
+ };
564
+ var texts = {
565
+ title: { fontSize: 28, fontWeight: "700", lineHeight: 34, color: text.default },
566
+ subtitle: { fontSize: 22, fontWeight: "700", lineHeight: 28, color: text.default },
567
+ heading: { fontSize: 20, fontWeight: "600", lineHeight: 25, color: text.default },
568
+ bodyBold: { fontSize: 17, fontWeight: "600", lineHeight: 22, color: text.default },
569
+ body: { fontSize: 17, fontWeight: "400", lineHeight: 22, color: text.default },
570
+ bodyMedium: { fontSize: 16, fontWeight: "500", lineHeight: 21, color: text.default },
571
+ label: { fontSize: 15, fontWeight: "600", lineHeight: 20, color: text.default },
572
+ caption: { fontSize: 13, fontWeight: "400", lineHeight: 18, color: text.secondary },
573
+ captionMedium: { fontSize: 13, fontWeight: "500", lineHeight: 18, color: text.secondary },
574
+ overline: {
575
+ fontSize: 11,
576
+ fontWeight: "600",
577
+ lineHeight: 14,
578
+ letterSpacing: 0.5,
579
+ textTransform: "uppercase",
580
+ color: text.secondary
581
+ },
582
+ placeholder: { fontSize: 17, fontWeight: "400", lineHeight: 22, color: text.placeholder }
583
+ };
584
+
585
+ // src/semanticTokens.ts
586
+ var PALETTE = {
587
+ ...neutrals,
588
+ ...brand
589
+ };
590
+ var lightSemantic = {
591
+ default: {
592
+ bg: { default: "N0", subtle: "N100" },
593
+ text: { default: "N950", subtle: "N500", subtlest: "N300" },
594
+ icon: { default: "M600", subtle: "N500" }
595
+ },
596
+ light: {
597
+ bg: { default: "N200", subtle: "N0" },
598
+ text: { default: "N950", subtle: "N500", subtlest: "N300" },
599
+ icon: { default: "N600", subtle: "N500" }
600
+ },
601
+ darkness: {
602
+ bg: { default: "N950", subtle: "N900" },
603
+ text: { default: "N0", subtle: "N400", subtlest: "N600" },
604
+ icon: { default: "N0", subtle: "N400" }
605
+ }
606
+ };
607
+ var darkSemantic = {
608
+ default: {
609
+ bg: { default: "N950", subtle: "N900" },
610
+ text: { default: "N0", subtle: "N400", subtlest: "N600" },
611
+ icon: { default: "N0", subtle: "N400" }
612
+ },
613
+ light: {
614
+ bg: { default: "N800", subtle: "N950" },
615
+ text: { default: "N0", subtle: "N400", subtlest: "N600" },
616
+ icon: { default: "N0", subtle: "N400" }
617
+ },
618
+ darkness: {
619
+ bg: { default: "N950", subtle: "N900" },
620
+ text: { default: "N0", subtle: "N400", subtlest: "N600" },
621
+ icon: { default: "N0", subtle: "N400" }
622
+ }
623
+ };
624
+ function resolveCtx(map) {
625
+ return {
626
+ bg: {
627
+ default: PALETTE[map.bg.default] ?? map.bg.default,
628
+ subtle: PALETTE[map.bg.subtle] ?? map.bg.subtle
629
+ },
630
+ text: {
631
+ default: PALETTE[map.text.default] ?? map.text.default,
632
+ subtle: PALETTE[map.text.subtle] ?? map.text.subtle,
633
+ subtlest: PALETTE[map.text.subtlest] ?? map.text.subtlest
634
+ },
635
+ icon: {
636
+ default: PALETTE[map.icon.default] ?? map.icon.default,
637
+ subtle: PALETTE[map.icon.subtle] ?? map.icon.subtle
638
+ }
639
+ };
640
+ }
641
+ function resolveSemantic(map) {
642
+ return {
643
+ default: resolveCtx(map.default),
644
+ light: resolveCtx(map.light),
645
+ darkness: resolveCtx(map.darkness)
646
+ };
647
+ }
648
+ var lightText = { ...lightSemantic.default.text, light: "N0" };
649
+ var darkText = { ...darkSemantic.default.text, light: "N0" };
650
+ function resolveText(map) {
651
+ return {
652
+ default: PALETTE[map.default] ?? map.default,
653
+ subtle: PALETTE[map.subtle] ?? map.subtle,
654
+ subtlest: PALETTE[map.subtlest] ?? map.subtlest,
655
+ light: PALETTE[map.light] ?? map.light
656
+ };
657
+ }
658
+ var lightBackground = {
659
+ default: lightSemantic.default.bg.default,
660
+ subtle: lightSemantic.default.bg.subtle,
661
+ subtlest: lightSemantic.light.bg.default
662
+ };
663
+ var darkBackground = {
664
+ default: darkSemantic.default.bg.default,
665
+ subtle: darkSemantic.default.bg.subtle,
666
+ subtlest: darkSemantic.light.bg.default
667
+ };
668
+ function resolveBackground(map) {
669
+ return {
670
+ default: PALETTE[map.default] ?? map.default,
671
+ subtle: PALETTE[map.subtle] ?? map.subtle,
672
+ subtlest: PALETTE[map.subtlest] ?? map.subtlest
673
+ };
674
+ }
675
+
676
+ // src/layout.ts
677
+ var LayoutColumnSize = /* @__PURE__ */ ((LayoutColumnSize2) => {
678
+ LayoutColumnSize2["FIT"] = "FIT";
679
+ LayoutColumnSize2["EXPAND"] = "EXPAND";
680
+ return LayoutColumnSize2;
681
+ })(LayoutColumnSize || {});
682
+ var LayoutRowSize = /* @__PURE__ */ ((LayoutRowSize2) => {
683
+ LayoutRowSize2["FIT"] = "FIT";
684
+ LayoutRowSize2["EXPAND"] = "EXPAND";
685
+ return LayoutRowSize2;
686
+ })(LayoutRowSize || {});
687
+
688
+ // src/radius.ts
689
+ var radius = {
690
+ sm: 8,
691
+ md: 16,
692
+ lg: 20
693
+ };
694
+
695
+ // src/index.ts
696
+ function resolveColors(mode) {
697
+ return mode === "dark" ? { ...palette, ...darkPalette } : palette;
698
+ }
699
+ function resolveSemanticColors(mode) {
700
+ return mode === "dark" ? darkColors : lightColors;
701
+ }
702
+ function resolveShellTokens(mode) {
703
+ const sc = resolveSemanticColors(mode);
704
+ if (mode === "light") {
705
+ return {
706
+ background: sc.components.sidebar.background,
707
+ sidebarBackground: sc.components.sidebar.background,
708
+ sidebarText: sc.components.sidebar.text,
709
+ sidebarHover: sc.components.sidebar.hover,
710
+ sidebarActiveBackground: sc.components.sidebar.activeBackground,
711
+ sidebarActiveText: sc.components.sidebar.activeText,
712
+ sidebarSectionTitle: sc.components.sidebar.sectionTitle,
713
+ sidebarTitle: sc.components.sidebar.title,
714
+ contentBackground: sc.surface.pageDefault,
715
+ contentBorder: sc.components.sidebar.background,
716
+ borderRadius: 20,
717
+ itemRadius: 10,
718
+ outerMargin: 16,
719
+ contentPadding: 24,
720
+ sidebarWidth: 256,
721
+ sidebarCompactWidth: 76
722
+ };
723
+ }
724
+ return {
725
+ background: sc.components.sidebar.background,
726
+ sidebarBackground: sc.components.sidebar.background,
727
+ sidebarText: sc.components.sidebar.text,
728
+ sidebarHover: sc.components.sidebar.hover,
729
+ sidebarActiveBackground: sc.components.sidebar.activeBackground,
730
+ sidebarActiveText: sc.components.sidebar.activeText,
731
+ sidebarSectionTitle: sc.components.sidebar.sectionTitle,
732
+ sidebarTitle: sc.components.sidebar.title,
733
+ contentBackground: sc.surface.card,
734
+ contentBorder: sc.components.sidebar.background,
735
+ borderRadius: 20,
736
+ itemRadius: 10,
737
+ outerMargin: 16,
738
+ contentPadding: 24,
739
+ sidebarWidth: 256,
740
+ sidebarCompactWidth: 76
741
+ };
742
+ }
743
+ // Annotate the CommonJS export names for ESM import in node:
744
+ 0 && (module.exports = {
745
+ LayoutColumnSize,
746
+ LayoutRowSize,
747
+ TextType,
748
+ accent,
749
+ appButton,
750
+ appInput,
751
+ appInputCard,
752
+ background,
753
+ border,
754
+ brand,
755
+ card,
756
+ cta1,
757
+ cta1Contrast,
758
+ danger,
759
+ darkBackground,
760
+ darkColors,
761
+ darkPalette,
762
+ darkSemantic,
763
+ darkShellTokens,
764
+ darkText,
765
+ lightBackground,
766
+ lightColors,
767
+ lightSemantic,
768
+ lightText,
769
+ neutrals,
770
+ palette,
771
+ radius,
772
+ resolveBackground,
773
+ resolveColors,
774
+ resolveSemantic,
775
+ resolveSemanticColors,
776
+ resolveShellTokens,
777
+ resolveText,
778
+ shellTokens,
779
+ space,
780
+ spacing,
781
+ success,
782
+ text,
783
+ texts,
784
+ warning
785
+ });
package/package.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "@william-callao/antonella-theme",
3
+ "version": "1.0.0",
4
+ "description": "Theme de Antonella: colores, tipografía, spacing y modos claro/oscuro.",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "react-native": "dist/index.js",
8
+ "sideEffects": false,
9
+ "files": [
10
+ "dist"
11
+ ],
12
+ "publishConfig": {
13
+ "access": "public"
14
+ },
15
+ "peerDependencies": {
16
+ "react": ">=19.0.0"
17
+ },
18
+ "scripts": {
19
+ "build": "tsup",
20
+ "typecheck": "tsc --noEmit"
21
+ }
22
+ }