@mimi-ng/cli 0.1.1 → 0.3.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/README.md +28 -1
- package/dist/init/css.js +17 -0
- package/dist/init/index.js +7 -5
- package/dist/init/items.js +9 -0
- package/dist/registry.json +482 -1
- package/dist/templates/components/avatar/avatar.ts +1 -1
- package/dist/templates/components/avatar/avatar.variants.ts +4 -4
- package/dist/templates/components/badge/badge.ts +41 -6
- package/dist/templates/components/badge/badge.variants.ts +105 -11
- package/dist/templates/components/button/button.ts +74 -7
- package/dist/templates/components/button/button.variants.ts +145 -21
- package/dist/templates/components/calendar/calendar-texts.ts +72 -0
- package/dist/templates/components/calendar/calendar.ts +588 -0
- package/dist/templates/components/calendar/dates.ts +181 -0
- package/dist/templates/components/calendar/index.ts +3 -0
- package/dist/templates/components/card/card.ts +8 -5
- package/dist/templates/components/checkbox/checkbox.ts +3 -3
- package/dist/templates/components/chip/chip-texts.ts +40 -0
- package/dist/templates/components/chip/chip.ts +116 -0
- package/dist/templates/components/chip/index.ts +2 -0
- package/dist/templates/components/color-picker/color-picker-texts.ts +57 -0
- package/dist/templates/components/color-picker/color-picker.ts +718 -0
- package/dist/templates/components/color-picker/color.ts +157 -0
- package/dist/templates/components/color-picker/index.ts +3 -0
- package/dist/templates/components/combobox/combobox-texts.ts +70 -0
- package/dist/templates/components/combobox/combobox.ts +798 -0
- package/dist/templates/components/combobox/index.ts +2 -0
- package/dist/templates/components/confirm/confirm-texts.ts +46 -0
- package/dist/templates/components/confirm/confirm.ts +190 -0
- package/dist/templates/components/confirm/index.ts +2 -0
- package/dist/templates/components/context-menu/context-menu.ts +378 -0
- package/dist/templates/components/context-menu/index.ts +14 -0
- package/dist/templates/components/date-picker/date-picker.ts +240 -0
- package/dist/templates/components/date-picker/index.ts +3 -0
- package/dist/templates/components/date-range/date-range.ts +308 -0
- package/dist/templates/components/date-range/index.ts +1 -0
- package/dist/templates/components/dialog/dialog-texts.ts +41 -0
- package/dist/templates/components/dialog/dialog.ts +701 -0
- package/dist/templates/components/dialog/index.ts +18 -0
- package/dist/templates/components/dropdown-menu/dropdown-menu.ts +252 -0
- package/dist/templates/components/dropdown-menu/index.ts +14 -0
- package/dist/templates/components/file-upload/file-upload-texts.ts +77 -0
- package/dist/templates/components/file-upload/file-upload.ts +698 -0
- package/dist/templates/components/file-upload/index.ts +2 -0
- package/dist/templates/components/form-field/form-error.ts +1 -1
- package/dist/templates/components/form-field/form-field.ts +3 -2
- package/dist/templates/components/input/input.variants.ts +6 -4
- package/dist/templates/components/input-mask/index.ts +1 -0
- package/dist/templates/components/input-mask/input-mask.ts +319 -0
- package/dist/templates/components/input-otp/index.ts +1 -0
- package/dist/templates/components/input-otp/input-otp.ts +212 -0
- package/dist/templates/components/menu/index.ts +15 -0
- package/dist/templates/components/menu/menu.ts +656 -0
- package/dist/templates/components/number-input/index.ts +2 -0
- package/dist/templates/components/number-input/number-input-texts.ts +46 -0
- package/dist/templates/components/number-input/number-input.ts +450 -0
- package/dist/templates/components/option-list/index.ts +11 -0
- package/dist/templates/components/option-list/option-list.ts +518 -0
- package/dist/templates/components/pagination/index.ts +2 -0
- package/dist/templates/components/pagination/pagination-page-size.ts +74 -0
- package/dist/templates/components/pagination/pagination-texts.ts +69 -0
- package/dist/templates/components/pagination/pagination.ts +443 -0
- package/dist/templates/components/password/index.ts +2 -0
- package/dist/templates/components/password/password-texts.ts +68 -0
- package/dist/templates/components/password/password.ts +363 -0
- package/dist/templates/components/popover/index.ts +12 -0
- package/dist/templates/components/popover/popover.ts +407 -0
- package/dist/templates/components/progress/index.ts +1 -0
- package/dist/templates/components/progress/progress.ts +217 -0
- package/dist/templates/components/select/index.ts +12 -0
- package/dist/templates/components/select/select-texts.ts +62 -0
- package/dist/templates/components/select/select.ts +1086 -0
- package/dist/templates/components/separator/separator.variants.ts +10 -7
- package/dist/templates/components/skeleton/skeleton.ts +4 -1
- package/dist/templates/components/slider/index.ts +2 -0
- package/dist/templates/components/slider/slider-texts.ts +26 -0
- package/dist/templates/components/slider/slider.ts +425 -0
- package/dist/templates/components/switch/switch.ts +6 -6
- package/dist/templates/components/tabs/index.ts +2 -0
- package/dist/templates/components/tabs/tabs.ts +426 -0
- package/dist/templates/components/tags-input/index.ts +2 -0
- package/dist/templates/components/tags-input/tags-input-texts.ts +44 -0
- package/dist/templates/components/tags-input/tags-input.ts +303 -0
- package/dist/templates/components/textarea/textarea.variants.ts +14 -11
- package/dist/templates/components/toast/index.ts +3 -0
- package/dist/templates/components/toast/toast-config.ts +45 -0
- package/dist/templates/components/toast/toast-texts.ts +46 -0
- package/dist/templates/components/toast/toast.ts +1000 -0
- package/dist/templates/components/toggle-group/index.ts +1 -0
- package/dist/templates/components/toggle-group/toggle-group.ts +406 -0
- package/dist/templates/components/toolbar/index.ts +1 -0
- package/dist/templates/components/toolbar/toolbar.ts +377 -0
- package/dist/templates/components/tooltip/index.ts +7 -0
- package/dist/templates/components/tooltip/tooltip.ts +407 -0
- package/dist/templates/theme/provider.ts +75 -6
- package/dist/templates/theme/theme-base.css +410 -9
- package/dist/templates/theme/types.ts +494 -4
- package/dist/templates/utils/cn.ts +15 -1
- package/dist/templates/utils/control-styles.ts +2 -2
- package/dist/templates/utils/overlay.ts +153 -0
- package/dist/ui/index.js +184 -8
- package/dist/ui/schema.json +100 -0
- package/dist/utils/write-files.js +166 -59
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/* Mimi · tema base
|
|
2
|
-
Valores tomados de docs/design/tokens-
|
|
1
|
+
/* Mimi · tema base.
|
|
2
|
+
Valores tomados de docs/design/tokens-mimi.css. Nombres según docs/spec.md, sección 6.
|
|
3
3
|
Este archivo no importa Tailwind ni carga fuentes: lo hace la app que lo usa. */
|
|
4
4
|
|
|
5
5
|
@custom-variant dark (&:where(.dark, .dark *));
|
|
@@ -26,8 +26,34 @@
|
|
|
26
26
|
--mimi-border: oklch(0.922 0 0);
|
|
27
27
|
--mimi-input: oklch(0.88 0 0);
|
|
28
28
|
--mimi-input-background: oklch(1 0 0);
|
|
29
|
+
/* Borde de un campo con el puntero encima (tokens-mimi.css; lo usa Pagination desde la G1.11). */
|
|
30
|
+
--mimi-input-hover: color-mix(in oklab, var(--mimi-foreground) 30%, var(--mimi-input));
|
|
29
31
|
--mimi-ring: oklch(0.708 0 0);
|
|
30
|
-
|
|
32
|
+
|
|
33
|
+
/* Tonos (contraste AA verificado en el diseño) */
|
|
34
|
+
--mimi-success: oklch(0.527 0.137 150);
|
|
35
|
+
--mimi-success-foreground: oklch(0.985 0 0);
|
|
36
|
+
--mimi-success-soft-foreground: oklch(0.42 0.115 150);
|
|
37
|
+
--mimi-warning: oklch(0.795 0.162 75);
|
|
38
|
+
--mimi-warning-foreground: oklch(0.28 0.07 55);
|
|
39
|
+
--mimi-warning-soft-foreground: oklch(0.45 0.11 60);
|
|
40
|
+
--mimi-info: oklch(0.546 0.19 255);
|
|
41
|
+
--mimi-info-foreground: oklch(0.985 0 0);
|
|
42
|
+
--mimi-info-soft-foreground: oklch(0.45 0.17 255);
|
|
43
|
+
--mimi-destructive-soft-foreground: oklch(0.5 0.2 27);
|
|
44
|
+
/* Cuánto tono lleva el fondo suave (-soft) */
|
|
45
|
+
--mimi-soft-mix: 12%;
|
|
46
|
+
|
|
47
|
+
/* Superficies */
|
|
48
|
+
--mimi-tooltip: oklch(0.205 0 0);
|
|
49
|
+
--mimi-tooltip-foreground: oklch(0.985 0 0);
|
|
50
|
+
--mimi-overlay: oklch(0.145 0 0 / 0.38);
|
|
51
|
+
--mimi-glass: oklch(1 0 0 / 0.72);
|
|
52
|
+
--mimi-glass-border: oklch(0 0 0 / 0.08);
|
|
53
|
+
|
|
54
|
+
/* Efectos (iguales en claro y oscuro) */
|
|
55
|
+
--mimi-overlay-blur: 6px;
|
|
56
|
+
--mimi-glass-blur: 16px;
|
|
31
57
|
|
|
32
58
|
/* Fuentes (sin cargar: la app decide si trae Outfit) */
|
|
33
59
|
--mimi-font-sans: 'Outfit', ui-sans-serif, system-ui, sans-serif;
|
|
@@ -42,6 +68,14 @@
|
|
|
42
68
|
--mimi-control-height-sm: 2rem;
|
|
43
69
|
--mimi-control-height-lg: 3rem;
|
|
44
70
|
|
|
71
|
+
/* Compartidos por los controles */
|
|
72
|
+
--mimi-focus-ring: 0 0 0 3px var(--mimi-ring-soft);
|
|
73
|
+
--mimi-focus-outline: 2px solid var(--mimi-ring);
|
|
74
|
+
--mimi-focus-offset: 2px;
|
|
75
|
+
--mimi-disabled-opacity: 0.5;
|
|
76
|
+
--mimi-icon-size: 1rem;
|
|
77
|
+
--mimi-icon-size-sm: 0.875rem;
|
|
78
|
+
|
|
45
79
|
/* Movimiento. `translate` mueve el pulgar del Switch (y --mimi-lift si se usa). */
|
|
46
80
|
--mimi-lift: 0px;
|
|
47
81
|
--mimi-press-scale: 0.975;
|
|
@@ -71,18 +105,130 @@
|
|
|
71
105
|
--mimi-shadow-neutral-hover: 0 2px 4px oklch(0 0 0 / 0.06), 0 10px 20px -8px oklch(0 0 0 / 0.14);
|
|
72
106
|
/* Pulgar del Switch (igual en claro y oscuro) */
|
|
73
107
|
--mimi-shadow-thumb: 0 1px 3px oklch(0 0 0 / 0.2);
|
|
108
|
+
--mimi-shadow-success:
|
|
109
|
+
0 1px 2px color-mix(in oklch, var(--mimi-success) 25%, transparent),
|
|
110
|
+
0 4px 12px -4px color-mix(in oklch, var(--mimi-success) 35%, transparent);
|
|
111
|
+
--mimi-shadow-success-hover:
|
|
112
|
+
0 1px 2px color-mix(in oklch, var(--mimi-success) 30%, transparent),
|
|
113
|
+
0 8px 18px -6px color-mix(in oklch, var(--mimi-success) 42%, transparent);
|
|
114
|
+
--mimi-shadow-warning:
|
|
115
|
+
0 1px 2px color-mix(in oklch, var(--mimi-warning) 30%, transparent),
|
|
116
|
+
0 4px 12px -4px color-mix(in oklch, var(--mimi-warning) 45%, transparent);
|
|
117
|
+
--mimi-shadow-warning-hover:
|
|
118
|
+
0 1px 2px color-mix(in oklch, var(--mimi-warning) 35%, transparent),
|
|
119
|
+
0 8px 18px -6px color-mix(in oklch, var(--mimi-warning) 52%, transparent);
|
|
120
|
+
--mimi-shadow-info:
|
|
121
|
+
0 1px 2px color-mix(in oklch, var(--mimi-info) 25%, transparent),
|
|
122
|
+
0 4px 12px -4px color-mix(in oklch, var(--mimi-info) 35%, transparent);
|
|
123
|
+
--mimi-shadow-info-hover:
|
|
124
|
+
0 1px 2px color-mix(in oklch, var(--mimi-info) 30%, transparent),
|
|
125
|
+
0 8px 18px -6px color-mix(in oklch, var(--mimi-info) 42%, transparent);
|
|
126
|
+
/* Menús, diálogos, toasts y píldoras flotantes */
|
|
127
|
+
--mimi-shadow-popover:
|
|
128
|
+
0 0 0 1px oklch(0 0 0 / 0.04), 0 4px 8px -2px oklch(0 0 0 / 0.06),
|
|
129
|
+
0 16px 32px -8px oklch(0 0 0 / 0.16);
|
|
130
|
+
/* Glow: brillo de color alrededor del componente (opción glow) */
|
|
131
|
+
--mimi-glow-primary:
|
|
132
|
+
0 0 0 1px color-mix(in oklch, var(--mimi-primary) 22%, transparent),
|
|
133
|
+
0 0 14px 0 color-mix(in oklch, var(--mimi-primary) 30%, transparent),
|
|
134
|
+
0 0 32px 4px color-mix(in oklch, var(--mimi-primary) 16%, transparent);
|
|
135
|
+
--mimi-glow-success:
|
|
136
|
+
0 0 0 1px color-mix(in oklch, var(--mimi-success) 30%, transparent),
|
|
137
|
+
0 0 14px 0 color-mix(in oklch, var(--mimi-success) 45%, transparent),
|
|
138
|
+
0 0 32px 4px color-mix(in oklch, var(--mimi-success) 25%, transparent);
|
|
139
|
+
--mimi-glow-warning:
|
|
140
|
+
0 0 0 1px color-mix(in oklch, var(--mimi-warning) 35%, transparent),
|
|
141
|
+
0 0 14px 0 color-mix(in oklch, var(--mimi-warning) 55%, transparent),
|
|
142
|
+
0 0 32px 4px color-mix(in oklch, var(--mimi-warning) 30%, transparent);
|
|
143
|
+
--mimi-glow-info:
|
|
144
|
+
0 0 0 1px color-mix(in oklch, var(--mimi-info) 30%, transparent),
|
|
145
|
+
0 0 14px 0 color-mix(in oklch, var(--mimi-info) 45%, transparent),
|
|
146
|
+
0 0 32px 4px color-mix(in oklch, var(--mimi-info) 25%, transparent);
|
|
147
|
+
--mimi-glow-destructive:
|
|
148
|
+
0 0 0 1px color-mix(in oklch, var(--mimi-destructive) 30%, transparent),
|
|
149
|
+
0 0 14px 0 color-mix(in oklch, var(--mimi-destructive) 45%, transparent),
|
|
150
|
+
0 0 32px 4px color-mix(in oklch, var(--mimi-destructive) 25%, transparent);
|
|
151
|
+
--mimi-glow: var(--mimi-glow-primary);
|
|
74
152
|
|
|
75
153
|
/* Derivados */
|
|
76
154
|
--mimi-primary-hover: color-mix(in oklch, var(--mimi-primary) 88%, var(--mimi-background));
|
|
77
155
|
--mimi-secondary-hover: color-mix(in oklch, var(--mimi-secondary) 80%, var(--mimi-foreground) 6%);
|
|
156
|
+
/* Hover de los sólidos con texto blanco: se aleja del texto, hacia foreground (AA, V.1). En
|
|
157
|
+
oscuro el texto es oscuro y el hover sigue yendo hacia el fondo. */
|
|
78
158
|
--mimi-destructive-hover: color-mix(
|
|
79
159
|
in oklch,
|
|
80
160
|
var(--mimi-destructive) 88%,
|
|
81
|
-
var(--mimi-
|
|
161
|
+
var(--mimi-foreground)
|
|
82
162
|
);
|
|
83
163
|
--mimi-ring-soft: color-mix(in oklch, var(--mimi-ring) 32%, transparent);
|
|
84
|
-
--mimi-destructive-soft: color-mix(in oklch, var(--mimi-destructive) 24%, transparent);
|
|
85
164
|
--mimi-switch-off: color-mix(in oklch, var(--mimi-foreground) 20%, transparent);
|
|
165
|
+
/* Tonos: <tono>-soft = fondo suave, <tono>-hover = hover, <tono>-ring = anillo */
|
|
166
|
+
--mimi-success-soft: color-mix(
|
|
167
|
+
in oklab,
|
|
168
|
+
var(--mimi-success) var(--mimi-soft-mix),
|
|
169
|
+
var(--mimi-background)
|
|
170
|
+
);
|
|
171
|
+
--mimi-warning-soft: color-mix(
|
|
172
|
+
in oklab,
|
|
173
|
+
var(--mimi-warning) var(--mimi-soft-mix),
|
|
174
|
+
var(--mimi-background)
|
|
175
|
+
);
|
|
176
|
+
--mimi-info-soft: color-mix(
|
|
177
|
+
in oklab,
|
|
178
|
+
var(--mimi-info) var(--mimi-soft-mix),
|
|
179
|
+
var(--mimi-background)
|
|
180
|
+
);
|
|
181
|
+
--mimi-success-hover: color-mix(in oklab, var(--mimi-success) 88%, var(--mimi-foreground));
|
|
182
|
+
--mimi-warning-hover: color-mix(in oklab, var(--mimi-warning) 88%, var(--mimi-background));
|
|
183
|
+
--mimi-info-hover: color-mix(in oklab, var(--mimi-info) 88%, var(--mimi-foreground));
|
|
184
|
+
--mimi-success-ring: color-mix(in oklch, var(--mimi-success) 30%, transparent);
|
|
185
|
+
--mimi-warning-ring: color-mix(in oklch, var(--mimi-warning) 34%, transparent);
|
|
186
|
+
--mimi-info-ring: color-mix(in oklch, var(--mimi-info) 30%, transparent);
|
|
187
|
+
--mimi-destructive-ring: color-mix(in oklch, var(--mimi-destructive) 24%, transparent);
|
|
188
|
+
/* Fondo suave de destructive. En la 1.0 pasa a llamarse destructive-soft (spec 12). */
|
|
189
|
+
--mimi-destructive-soft-bg: color-mix(
|
|
190
|
+
in oklab,
|
|
191
|
+
var(--mimi-destructive) var(--mimi-soft-mix),
|
|
192
|
+
var(--mimi-background)
|
|
193
|
+
);
|
|
194
|
+
/* Alias de la 0.1.0 (era el anillo). Se quita en la 1.0: usar destructive-ring (spec 12). */
|
|
195
|
+
--mimi-destructive-soft: var(--mimi-destructive-ring);
|
|
196
|
+
/* Variantes con tono (fórmulas de F2 Tokens y Tonos): hover de soft, borde y hover de outline */
|
|
197
|
+
--mimi-primary-soft-hover: color-mix(in oklab, var(--mimi-primary) 22%, var(--mimi-background));
|
|
198
|
+
--mimi-primary-border: color-mix(in oklch, var(--mimi-primary) 55%, transparent);
|
|
199
|
+
--mimi-primary-subtle: color-mix(in oklch, var(--mimi-primary) 10%, transparent);
|
|
200
|
+
--mimi-success-soft-hover: color-mix(in oklab, var(--mimi-success) 22%, var(--mimi-background));
|
|
201
|
+
--mimi-success-border: color-mix(in oklch, var(--mimi-success) 55%, transparent);
|
|
202
|
+
--mimi-success-subtle: color-mix(in oklch, var(--mimi-success) 10%, transparent);
|
|
203
|
+
--mimi-warning-soft-hover: color-mix(in oklab, var(--mimi-warning) 22%, var(--mimi-background));
|
|
204
|
+
--mimi-warning-border: color-mix(in oklch, var(--mimi-warning) 55%, transparent);
|
|
205
|
+
--mimi-warning-subtle: color-mix(in oklch, var(--mimi-warning) 10%, transparent);
|
|
206
|
+
--mimi-info-soft-hover: color-mix(in oklab, var(--mimi-info) 22%, var(--mimi-background));
|
|
207
|
+
--mimi-info-border: color-mix(in oklch, var(--mimi-info) 55%, transparent);
|
|
208
|
+
--mimi-info-subtle: color-mix(in oklch, var(--mimi-info) 10%, transparent);
|
|
209
|
+
--mimi-destructive-soft-hover: color-mix(
|
|
210
|
+
in oklab,
|
|
211
|
+
var(--mimi-destructive) 22%,
|
|
212
|
+
var(--mimi-background)
|
|
213
|
+
);
|
|
214
|
+
--mimi-destructive-border: color-mix(in oklch, var(--mimi-destructive) 55%, transparent);
|
|
215
|
+
--mimi-destructive-subtle: color-mix(in oklch, var(--mimi-destructive) 10%, transparent);
|
|
216
|
+
|
|
217
|
+
/* Entradas avanzadas, Grupo 2 (tokens-mimi.css; G2.0b). Los componentes los leen con valor
|
|
218
|
+
de respaldo, var(--mimi-track, …), para funcionar con un tema anterior a la 0.3.0. */
|
|
219
|
+
--mimi-range: color-mix(in oklab, var(--mimi-primary) 9%, var(--mimi-background));
|
|
220
|
+
--mimi-track: color-mix(in oklab, var(--mimi-foreground) 12%, var(--mimi-background));
|
|
221
|
+
--mimi-track-fill: var(--mimi-primary);
|
|
222
|
+
--mimi-thumb: oklch(1 0 0);
|
|
223
|
+
--mimi-chip: var(--mimi-secondary);
|
|
224
|
+
--mimi-chip-foreground: var(--mimi-secondary-foreground);
|
|
225
|
+
--mimi-dropzone: color-mix(in oklab, var(--mimi-muted) 55%, var(--mimi-background));
|
|
226
|
+
--mimi-dropzone-active: var(--mimi-info-soft);
|
|
227
|
+
--mimi-dropzone-active-border: var(--mimi-info);
|
|
228
|
+
--mimi-strength-weak: var(--mimi-destructive);
|
|
229
|
+
--mimi-strength-medium: var(--mimi-warning);
|
|
230
|
+
--mimi-strength-strong: var(--mimi-success);
|
|
231
|
+
--mimi-selection: var(--mimi-info);
|
|
86
232
|
|
|
87
233
|
color-scheme: light;
|
|
88
234
|
}
|
|
@@ -93,7 +239,7 @@
|
|
|
93
239
|
--mimi-foreground: oklch(0.985 0 0);
|
|
94
240
|
--mimi-card: oklch(0.175 0 0);
|
|
95
241
|
--mimi-card-foreground: oklch(0.985 0 0);
|
|
96
|
-
--mimi-popover: oklch(0.
|
|
242
|
+
--mimi-popover: oklch(0.205 0 0);
|
|
97
243
|
--mimi-popover-foreground: oklch(0.985 0 0);
|
|
98
244
|
--mimi-primary: oklch(0.922 0 0);
|
|
99
245
|
--mimi-primary-foreground: oklch(0.205 0 0);
|
|
@@ -108,8 +254,26 @@
|
|
|
108
254
|
--mimi-border: oklch(1 0 0 / 10%);
|
|
109
255
|
--mimi-input: oklch(1 0 0 / 15%);
|
|
110
256
|
--mimi-input-background: oklch(1 0 0 / 4.5%);
|
|
257
|
+
--mimi-input-hover: color-mix(in oklab, var(--mimi-foreground) 30%, var(--mimi-input));
|
|
111
258
|
--mimi-ring: oklch(0.556 0 0);
|
|
112
|
-
|
|
259
|
+
|
|
260
|
+
--mimi-success: oklch(0.72 0.15 150);
|
|
261
|
+
--mimi-success-foreground: oklch(0.2 0.05 150);
|
|
262
|
+
--mimi-success-soft-foreground: oklch(0.84 0.12 150);
|
|
263
|
+
--mimi-warning: oklch(0.81 0.15 78);
|
|
264
|
+
--mimi-warning-foreground: oklch(0.22 0.05 60);
|
|
265
|
+
--mimi-warning-soft-foreground: oklch(0.87 0.12 80);
|
|
266
|
+
--mimi-info: oklch(0.72 0.14 250);
|
|
267
|
+
--mimi-info-foreground: oklch(0.2 0.05 250);
|
|
268
|
+
--mimi-info-soft-foreground: oklch(0.84 0.1 250);
|
|
269
|
+
--mimi-destructive-soft-foreground: oklch(0.82 0.12 22);
|
|
270
|
+
--mimi-soft-mix: 18%;
|
|
271
|
+
|
|
272
|
+
--mimi-tooltip: oklch(0.922 0 0);
|
|
273
|
+
--mimi-tooltip-foreground: oklch(0.205 0 0);
|
|
274
|
+
--mimi-overlay: oklch(0 0 0 / 0.6);
|
|
275
|
+
--mimi-glass: oklch(0.205 0 0 / 0.7);
|
|
276
|
+
--mimi-glass-border: oklch(1 0 0 / 0.09);
|
|
113
277
|
|
|
114
278
|
--mimi-shadow-card:
|
|
115
279
|
inset 0 1px 0 oklch(1 0 0 / 0.04), 0 1px 2px oklch(0 0 0 / 0.5),
|
|
@@ -132,6 +296,48 @@
|
|
|
132
296
|
--mimi-shadow-neutral-hover:
|
|
133
297
|
inset 0 1px 0 oklch(1 0 0 / 0.06), 0 2px 4px oklch(0 0 0 / 0.5),
|
|
134
298
|
0 10px 20px -8px oklch(0 0 0 / 0.75);
|
|
299
|
+
--mimi-shadow-success:
|
|
300
|
+
0 1px 2px oklch(0 0 0 / 0.5),
|
|
301
|
+
0 4px 12px -4px color-mix(in oklch, var(--mimi-success) 30%, transparent);
|
|
302
|
+
--mimi-shadow-success-hover:
|
|
303
|
+
0 1px 2px oklch(0 0 0 / 0.5),
|
|
304
|
+
0 8px 18px -6px color-mix(in oklch, var(--mimi-success) 40%, transparent);
|
|
305
|
+
--mimi-shadow-warning:
|
|
306
|
+
0 1px 2px oklch(0 0 0 / 0.5),
|
|
307
|
+
0 4px 12px -4px color-mix(in oklch, var(--mimi-warning) 30%, transparent);
|
|
308
|
+
--mimi-shadow-warning-hover:
|
|
309
|
+
0 1px 2px oklch(0 0 0 / 0.5),
|
|
310
|
+
0 8px 18px -6px color-mix(in oklch, var(--mimi-warning) 40%, transparent);
|
|
311
|
+
--mimi-shadow-info:
|
|
312
|
+
0 1px 2px oklch(0 0 0 / 0.5),
|
|
313
|
+
0 4px 12px -4px color-mix(in oklch, var(--mimi-info) 30%, transparent);
|
|
314
|
+
--mimi-shadow-info-hover:
|
|
315
|
+
0 1px 2px oklch(0 0 0 / 0.5),
|
|
316
|
+
0 8px 18px -6px color-mix(in oklch, var(--mimi-info) 40%, transparent);
|
|
317
|
+
--mimi-shadow-popover:
|
|
318
|
+
inset 0 1px 0 oklch(1 0 0 / 0.05), 0 0 0 1px oklch(0 0 0 / 0.6),
|
|
319
|
+
0 16px 40px -8px oklch(0 0 0 / 0.8);
|
|
320
|
+
--mimi-glow-primary:
|
|
321
|
+
0 0 0 1px color-mix(in oklch, var(--mimi-primary) 30%, transparent),
|
|
322
|
+
0 0 16px 0 color-mix(in oklch, var(--mimi-primary) 32%, transparent),
|
|
323
|
+
0 0 40px 6px color-mix(in oklch, var(--mimi-primary) 16%, transparent);
|
|
324
|
+
--mimi-glow-success:
|
|
325
|
+
0 0 0 1px color-mix(in oklch, var(--mimi-success) 40%, transparent),
|
|
326
|
+
0 0 16px 0 color-mix(in oklch, var(--mimi-success) 50%, transparent),
|
|
327
|
+
0 0 40px 6px color-mix(in oklch, var(--mimi-success) 26%, transparent);
|
|
328
|
+
--mimi-glow-warning:
|
|
329
|
+
0 0 0 1px color-mix(in oklch, var(--mimi-warning) 40%, transparent),
|
|
330
|
+
0 0 16px 0 color-mix(in oklch, var(--mimi-warning) 50%, transparent),
|
|
331
|
+
0 0 40px 6px color-mix(in oklch, var(--mimi-warning) 26%, transparent);
|
|
332
|
+
--mimi-glow-info:
|
|
333
|
+
0 0 0 1px color-mix(in oklch, var(--mimi-info) 40%, transparent),
|
|
334
|
+
0 0 16px 0 color-mix(in oklch, var(--mimi-info) 50%, transparent),
|
|
335
|
+
0 0 40px 6px color-mix(in oklch, var(--mimi-info) 26%, transparent);
|
|
336
|
+
--mimi-glow-destructive:
|
|
337
|
+
0 0 0 1px color-mix(in oklch, var(--mimi-destructive) 40%, transparent),
|
|
338
|
+
0 0 16px 0 color-mix(in oklch, var(--mimi-destructive) 50%, transparent),
|
|
339
|
+
0 0 40px 6px color-mix(in oklch, var(--mimi-destructive) 26%, transparent);
|
|
340
|
+
--mimi-glow: var(--mimi-glow-primary);
|
|
135
341
|
|
|
136
342
|
/* Los derivados se redeclaran para que tomen la paleta oscura */
|
|
137
343
|
--mimi-primary-hover: color-mix(in oklch, var(--mimi-primary) 88%, var(--mimi-background));
|
|
@@ -142,8 +348,73 @@
|
|
|
142
348
|
var(--mimi-background)
|
|
143
349
|
);
|
|
144
350
|
--mimi-ring-soft: color-mix(in oklch, var(--mimi-ring) 32%, transparent);
|
|
145
|
-
--mimi-destructive-soft: color-mix(in oklch, var(--mimi-destructive) 24%, transparent);
|
|
146
351
|
--mimi-switch-off: color-mix(in oklch, var(--mimi-foreground) 20%, transparent);
|
|
352
|
+
/* Tonos: <tono>-soft = fondo suave, <tono>-hover = hover, <tono>-ring = anillo */
|
|
353
|
+
--mimi-success-soft: color-mix(
|
|
354
|
+
in oklab,
|
|
355
|
+
var(--mimi-success) var(--mimi-soft-mix),
|
|
356
|
+
var(--mimi-background)
|
|
357
|
+
);
|
|
358
|
+
--mimi-warning-soft: color-mix(
|
|
359
|
+
in oklab,
|
|
360
|
+
var(--mimi-warning) var(--mimi-soft-mix),
|
|
361
|
+
var(--mimi-background)
|
|
362
|
+
);
|
|
363
|
+
--mimi-info-soft: color-mix(
|
|
364
|
+
in oklab,
|
|
365
|
+
var(--mimi-info) var(--mimi-soft-mix),
|
|
366
|
+
var(--mimi-background)
|
|
367
|
+
);
|
|
368
|
+
--mimi-success-hover: color-mix(in oklab, var(--mimi-success) 88%, var(--mimi-background));
|
|
369
|
+
--mimi-warning-hover: color-mix(in oklab, var(--mimi-warning) 88%, var(--mimi-background));
|
|
370
|
+
--mimi-info-hover: color-mix(in oklab, var(--mimi-info) 88%, var(--mimi-background));
|
|
371
|
+
--mimi-success-ring: color-mix(in oklch, var(--mimi-success) 30%, transparent);
|
|
372
|
+
--mimi-warning-ring: color-mix(in oklch, var(--mimi-warning) 34%, transparent);
|
|
373
|
+
--mimi-info-ring: color-mix(in oklch, var(--mimi-info) 30%, transparent);
|
|
374
|
+
--mimi-destructive-ring: color-mix(in oklch, var(--mimi-destructive) 24%, transparent);
|
|
375
|
+
/* Fondo suave de destructive. En la 1.0 pasa a llamarse destructive-soft (spec 12). */
|
|
376
|
+
--mimi-destructive-soft-bg: color-mix(
|
|
377
|
+
in oklab,
|
|
378
|
+
var(--mimi-destructive) var(--mimi-soft-mix),
|
|
379
|
+
var(--mimi-background)
|
|
380
|
+
);
|
|
381
|
+
/* Alias de la 0.1.0 (era el anillo). Se quita en la 1.0: usar destructive-ring (spec 12). */
|
|
382
|
+
--mimi-destructive-soft: var(--mimi-destructive-ring);
|
|
383
|
+
/* Variantes con tono (fórmulas de F2 Tokens y Tonos): hover de soft, borde y hover de outline */
|
|
384
|
+
--mimi-primary-soft-hover: color-mix(in oklab, var(--mimi-primary) 22%, var(--mimi-background));
|
|
385
|
+
--mimi-primary-border: color-mix(in oklch, var(--mimi-primary) 55%, transparent);
|
|
386
|
+
--mimi-primary-subtle: color-mix(in oklch, var(--mimi-primary) 10%, transparent);
|
|
387
|
+
--mimi-success-soft-hover: color-mix(in oklab, var(--mimi-success) 22%, var(--mimi-background));
|
|
388
|
+
--mimi-success-border: color-mix(in oklch, var(--mimi-success) 55%, transparent);
|
|
389
|
+
--mimi-success-subtle: color-mix(in oklch, var(--mimi-success) 10%, transparent);
|
|
390
|
+
--mimi-warning-soft-hover: color-mix(in oklab, var(--mimi-warning) 22%, var(--mimi-background));
|
|
391
|
+
--mimi-warning-border: color-mix(in oklch, var(--mimi-warning) 55%, transparent);
|
|
392
|
+
--mimi-warning-subtle: color-mix(in oklch, var(--mimi-warning) 10%, transparent);
|
|
393
|
+
--mimi-info-soft-hover: color-mix(in oklab, var(--mimi-info) 22%, var(--mimi-background));
|
|
394
|
+
--mimi-info-border: color-mix(in oklch, var(--mimi-info) 55%, transparent);
|
|
395
|
+
--mimi-info-subtle: color-mix(in oklch, var(--mimi-info) 10%, transparent);
|
|
396
|
+
--mimi-destructive-soft-hover: color-mix(
|
|
397
|
+
in oklab,
|
|
398
|
+
var(--mimi-destructive) 22%,
|
|
399
|
+
var(--mimi-background)
|
|
400
|
+
);
|
|
401
|
+
--mimi-destructive-border: color-mix(in oklch, var(--mimi-destructive) 55%, transparent);
|
|
402
|
+
--mimi-destructive-subtle: color-mix(in oklch, var(--mimi-destructive) 10%, transparent);
|
|
403
|
+
|
|
404
|
+
/* Entradas avanzadas: se repiten las que mezclan otros tokens, por si .dark no está en <html>. */
|
|
405
|
+
--mimi-range: color-mix(in oklab, var(--mimi-primary) 14%, var(--mimi-background));
|
|
406
|
+
--mimi-track: color-mix(in oklab, var(--mimi-foreground) 16%, var(--mimi-background));
|
|
407
|
+
--mimi-track-fill: var(--mimi-primary);
|
|
408
|
+
--mimi-thumb: oklch(0.985 0 0);
|
|
409
|
+
--mimi-chip: var(--mimi-secondary);
|
|
410
|
+
--mimi-chip-foreground: var(--mimi-secondary-foreground);
|
|
411
|
+
--mimi-dropzone: color-mix(in oklab, var(--mimi-muted) 50%, var(--mimi-background));
|
|
412
|
+
--mimi-dropzone-active: var(--mimi-info-soft);
|
|
413
|
+
--mimi-dropzone-active-border: var(--mimi-info);
|
|
414
|
+
--mimi-strength-weak: var(--mimi-destructive);
|
|
415
|
+
--mimi-strength-medium: var(--mimi-warning);
|
|
416
|
+
--mimi-strength-strong: var(--mimi-success);
|
|
417
|
+
--mimi-selection: var(--mimi-info);
|
|
147
418
|
|
|
148
419
|
color-scheme: dark;
|
|
149
420
|
}
|
|
@@ -179,14 +450,69 @@
|
|
|
179
450
|
--color-destructive: var(--mimi-destructive);
|
|
180
451
|
--color-destructive-foreground: var(--mimi-destructive-foreground);
|
|
181
452
|
--color-destructive-hover: var(--mimi-destructive-hover);
|
|
182
|
-
--color-destructive-
|
|
453
|
+
--color-destructive-ring: var(--mimi-destructive-ring);
|
|
454
|
+
--color-destructive-soft-bg: var(--mimi-destructive-soft-bg);
|
|
455
|
+
--color-destructive-soft-foreground: var(--mimi-destructive-soft-foreground);
|
|
456
|
+
/* Alias de la 0.1.0: ring-destructive-soft sigue funcionando hasta la 1.0 (spec 12) */
|
|
457
|
+
--color-destructive-soft: var(--mimi-destructive-ring);
|
|
458
|
+
--color-success: var(--mimi-success);
|
|
459
|
+
--color-success-foreground: var(--mimi-success-foreground);
|
|
460
|
+
--color-success-soft: var(--mimi-success-soft);
|
|
461
|
+
--color-success-soft-foreground: var(--mimi-success-soft-foreground);
|
|
462
|
+
--color-success-hover: var(--mimi-success-hover);
|
|
463
|
+
--color-success-ring: var(--mimi-success-ring);
|
|
464
|
+
--color-warning: var(--mimi-warning);
|
|
465
|
+
--color-warning-foreground: var(--mimi-warning-foreground);
|
|
466
|
+
--color-warning-soft: var(--mimi-warning-soft);
|
|
467
|
+
--color-warning-soft-foreground: var(--mimi-warning-soft-foreground);
|
|
468
|
+
--color-warning-hover: var(--mimi-warning-hover);
|
|
469
|
+
--color-warning-ring: var(--mimi-warning-ring);
|
|
470
|
+
--color-info: var(--mimi-info);
|
|
471
|
+
--color-info-foreground: var(--mimi-info-foreground);
|
|
472
|
+
--color-info-soft: var(--mimi-info-soft);
|
|
473
|
+
--color-info-soft-foreground: var(--mimi-info-soft-foreground);
|
|
474
|
+
--color-info-hover: var(--mimi-info-hover);
|
|
475
|
+
--color-info-ring: var(--mimi-info-ring);
|
|
476
|
+
--color-primary-soft-hover: var(--mimi-primary-soft-hover);
|
|
477
|
+
--color-primary-border: var(--mimi-primary-border);
|
|
478
|
+
--color-primary-subtle: var(--mimi-primary-subtle);
|
|
479
|
+
--color-success-soft-hover: var(--mimi-success-soft-hover);
|
|
480
|
+
--color-success-border: var(--mimi-success-border);
|
|
481
|
+
--color-success-subtle: var(--mimi-success-subtle);
|
|
482
|
+
--color-warning-soft-hover: var(--mimi-warning-soft-hover);
|
|
483
|
+
--color-warning-border: var(--mimi-warning-border);
|
|
484
|
+
--color-warning-subtle: var(--mimi-warning-subtle);
|
|
485
|
+
--color-info-soft-hover: var(--mimi-info-soft-hover);
|
|
486
|
+
--color-info-border: var(--mimi-info-border);
|
|
487
|
+
--color-info-subtle: var(--mimi-info-subtle);
|
|
488
|
+
--color-destructive-soft-hover: var(--mimi-destructive-soft-hover);
|
|
489
|
+
--color-destructive-border: var(--mimi-destructive-border);
|
|
490
|
+
--color-destructive-subtle: var(--mimi-destructive-subtle);
|
|
491
|
+
--color-tooltip: var(--mimi-tooltip);
|
|
492
|
+
--color-tooltip-foreground: var(--mimi-tooltip-foreground);
|
|
493
|
+
--color-glass: var(--mimi-glass);
|
|
494
|
+
--color-glass-border: var(--mimi-glass-border);
|
|
183
495
|
--color-border: var(--mimi-border);
|
|
184
496
|
--color-input: var(--mimi-input);
|
|
497
|
+
--color-input-hover: var(--mimi-input-hover);
|
|
185
498
|
--color-input-background: var(--mimi-input-background);
|
|
186
499
|
--color-ring: var(--mimi-ring);
|
|
187
500
|
--color-ring-soft: var(--mimi-ring-soft);
|
|
188
501
|
--color-overlay: var(--mimi-overlay);
|
|
189
502
|
--color-switch-off: var(--mimi-switch-off);
|
|
503
|
+
--color-range: var(--mimi-range);
|
|
504
|
+
--color-track: var(--mimi-track);
|
|
505
|
+
--color-track-fill: var(--mimi-track-fill);
|
|
506
|
+
--color-thumb: var(--mimi-thumb);
|
|
507
|
+
--color-chip: var(--mimi-chip);
|
|
508
|
+
--color-chip-foreground: var(--mimi-chip-foreground);
|
|
509
|
+
--color-dropzone: var(--mimi-dropzone);
|
|
510
|
+
--color-dropzone-active: var(--mimi-dropzone-active);
|
|
511
|
+
--color-dropzone-active-border: var(--mimi-dropzone-active-border);
|
|
512
|
+
--color-strength-weak: var(--mimi-strength-weak);
|
|
513
|
+
--color-strength-medium: var(--mimi-strength-medium);
|
|
514
|
+
--color-strength-strong: var(--mimi-strength-strong);
|
|
515
|
+
--color-selection: var(--mimi-selection);
|
|
190
516
|
|
|
191
517
|
--radius-sm: var(--mimi-radius-sm);
|
|
192
518
|
--radius-md: calc(var(--mimi-radius) - 2px);
|
|
@@ -203,6 +529,22 @@
|
|
|
203
529
|
--shadow-neutral: var(--mimi-shadow-neutral);
|
|
204
530
|
--shadow-neutral-hover: var(--mimi-shadow-neutral-hover);
|
|
205
531
|
--shadow-thumb: var(--mimi-shadow-thumb);
|
|
532
|
+
--shadow-success: var(--mimi-shadow-success);
|
|
533
|
+
--shadow-success-hover: var(--mimi-shadow-success-hover);
|
|
534
|
+
--shadow-warning: var(--mimi-shadow-warning);
|
|
535
|
+
--shadow-warning-hover: var(--mimi-shadow-warning-hover);
|
|
536
|
+
--shadow-info: var(--mimi-shadow-info);
|
|
537
|
+
--shadow-info-hover: var(--mimi-shadow-info-hover);
|
|
538
|
+
--shadow-popover: var(--mimi-shadow-popover);
|
|
539
|
+
--shadow-glow: var(--mimi-glow);
|
|
540
|
+
--shadow-glow-primary: var(--mimi-glow-primary);
|
|
541
|
+
--shadow-glow-success: var(--mimi-glow-success);
|
|
542
|
+
--shadow-glow-warning: var(--mimi-glow-warning);
|
|
543
|
+
--shadow-glow-info: var(--mimi-glow-info);
|
|
544
|
+
--shadow-glow-destructive: var(--mimi-glow-destructive);
|
|
545
|
+
|
|
546
|
+
--blur-glass: var(--mimi-glass-blur);
|
|
547
|
+
--blur-overlay: var(--mimi-overlay-blur);
|
|
206
548
|
|
|
207
549
|
--font-sans: var(--mimi-font-sans);
|
|
208
550
|
--font-mono: var(--mimi-font-mono);
|
|
@@ -228,6 +570,32 @@
|
|
|
228
570
|
}
|
|
229
571
|
}
|
|
230
572
|
|
|
573
|
+
/* Texto solo para lectores de pantalla del CDK: el LiveAnnouncer (Pagination, Toast, Password,
|
|
574
|
+
File Upload, Tags Input y Combobox múltiple) crea al final del body un elemento con esta clase,
|
|
575
|
+
pero no carga su CSS (el CDK solo lo inyecta con Dialog y las trampas de foco): sin esta
|
|
576
|
+
regla, el anuncio («Página 2 de 12») se ve al final de la página. Igual que
|
|
577
|
+
@angular/cdk/a11y-prebuilt.css, y sin capa, como la inyecta el CDK. */
|
|
578
|
+
.cdk-visually-hidden {
|
|
579
|
+
border: 0;
|
|
580
|
+
clip: rect(0 0 0 0);
|
|
581
|
+
height: 1px;
|
|
582
|
+
margin: -1px;
|
|
583
|
+
overflow: hidden;
|
|
584
|
+
padding: 0;
|
|
585
|
+
position: absolute;
|
|
586
|
+
width: 1px;
|
|
587
|
+
white-space: nowrap;
|
|
588
|
+
outline: 0;
|
|
589
|
+
-webkit-appearance: none;
|
|
590
|
+
-moz-appearance: none;
|
|
591
|
+
left: 0;
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
[dir='rtl'] .cdk-visually-hidden {
|
|
595
|
+
left: auto;
|
|
596
|
+
right: 0;
|
|
597
|
+
}
|
|
598
|
+
|
|
231
599
|
@keyframes mimi-spin {
|
|
232
600
|
to {
|
|
233
601
|
transform: rotate(360deg);
|
|
@@ -239,3 +607,36 @@
|
|
|
239
607
|
opacity: 0.45;
|
|
240
608
|
}
|
|
241
609
|
}
|
|
610
|
+
|
|
611
|
+
/* Grupo 2 (tokens-mimi.css y, mimi-indet, F5 Estructura; G2.0b) */
|
|
612
|
+
@keyframes mimi-caret {
|
|
613
|
+
50% {
|
|
614
|
+
opacity: 0;
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
@keyframes mimi-bob {
|
|
619
|
+
50% {
|
|
620
|
+
transform: translateY(-4px);
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
@keyframes mimi-shake {
|
|
625
|
+
20%,
|
|
626
|
+
60% {
|
|
627
|
+
transform: translateX(-4px);
|
|
628
|
+
}
|
|
629
|
+
40%,
|
|
630
|
+
80% {
|
|
631
|
+
transform: translateX(4px);
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
@keyframes mimi-indet {
|
|
636
|
+
0% {
|
|
637
|
+
transform: translateX(-100%);
|
|
638
|
+
}
|
|
639
|
+
100% {
|
|
640
|
+
transform: translateX(260%);
|
|
641
|
+
}
|
|
642
|
+
}
|