pixelon 0.7.5 → 0.8.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/dist/core/chat/ChatConfigContext.d.ts +7 -0
- package/dist/index.esm.js +68 -4
- package/dist/index.js +68 -4
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/package.json +1 -1
- package/src/styles/domains/_chat.scss +160 -13
- package/src/styles/domains/_lumi.scss +44 -1
- package/src/styles/global.scss +23 -0
|
@@ -16,19 +16,39 @@ $chat-component-prefix: "px-chat-";
|
|
|
16
16
|
|
|
17
17
|
// Colores del tema chat
|
|
18
18
|
--chat-color-primary: var(--chat-color-black);
|
|
19
|
+
--chat-color-on-primary: var(--chat-color-white);
|
|
20
|
+
--chat-color-primary-dark: #262626;
|
|
19
21
|
--chat-color-secondary: #343541;
|
|
22
|
+
--chat-color-secondary-dark: #24242f;
|
|
23
|
+
--chat-color-accent: #3b82f6;
|
|
24
|
+
--chat-color-accent-dark: #2563eb;
|
|
20
25
|
--chat-color-background: #ffffff;
|
|
21
26
|
--chat-color-background-alt: #f7f7f8;
|
|
27
|
+
--chat-color-background-secondary: #f7f7f8;
|
|
28
|
+
--chat-color-bg-secondary: #f3f4f6;
|
|
29
|
+
--chat-color-background-hover: #eef0f2;
|
|
22
30
|
--chat-color-text: #2d2d2d;
|
|
31
|
+
--chat-color-text-primary: #111827;
|
|
23
32
|
--chat-color-text-secondary: #6b7280;
|
|
33
|
+
--chat-color-text-muted: #6b7280;
|
|
24
34
|
--chat-color-text-inverse: #ffffff;
|
|
25
35
|
--chat-color-border: #e5e7eb;
|
|
36
|
+
--chat-color-border-strong: #d1d5db;
|
|
37
|
+
--chat-color-surface: #ffffff;
|
|
38
|
+
--chat-color-surface-hover: #f3f4f6;
|
|
39
|
+
// Wash genérico para hovers/estados sobre una superficie que puede ser cualquiera (no siempre
|
|
40
|
+
// --chat-color-surface): evita que cada componente tenga que definir su propio par claro/oscuro.
|
|
41
|
+
--chat-color-overlay-hover: rgba(0, 0, 0, 0.04);
|
|
42
|
+
--chat-color-overlay-hover-strong: rgba(0, 0, 0, 0.08);
|
|
43
|
+
--chat-color-surface-muted: #e5e7eb;
|
|
26
44
|
|
|
27
45
|
// Colores de estado del chat
|
|
28
46
|
--chat-color-success: #10b981;
|
|
47
|
+
--chat-color-success-bg: rgba(22, 163, 74, 0.08);
|
|
29
48
|
--chat-color-error: #ef4444;
|
|
30
49
|
--chat-color-warning: #f59e0b;
|
|
31
50
|
--chat-color-info: #3b82f6;
|
|
51
|
+
--chat-color-danger: #dc2626;
|
|
32
52
|
|
|
33
53
|
// SPEC-015 — el aviso encima del input no se pinta con el color plano de estado: ese color es
|
|
34
54
|
// para un filo o un icono, no para un fondo bajo texto. Cada tipo lleva su par tinte/texto,
|
|
@@ -59,8 +79,10 @@ $chat-component-prefix: "px-chat-";
|
|
|
59
79
|
--chat-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
|
|
60
80
|
--chat-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
|
|
61
81
|
--chat-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1);
|
|
82
|
+
--chat-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.15), 0 8px 10px -6px rgb(0 0 0 / 0.1);
|
|
62
83
|
|
|
63
84
|
// Espaciado del chat
|
|
85
|
+
--chat-spacing-xxs: 0.125rem;
|
|
64
86
|
--chat-spacing-xs: 0.25rem;
|
|
65
87
|
--chat-spacing-sm: 0.5rem;
|
|
66
88
|
--chat-spacing-md: 1rem;
|
|
@@ -82,6 +104,7 @@ $chat-component-prefix: "px-chat-";
|
|
|
82
104
|
--chat-font-size-xs: 0.75rem;
|
|
83
105
|
--chat-font-size-sm: 0.875rem;
|
|
84
106
|
--chat-font-size-base: 1rem;
|
|
107
|
+
--chat-font-size-md: 1rem;
|
|
85
108
|
--chat-font-size-lg: 1.125rem;
|
|
86
109
|
--chat-font-size-xl: 1.25rem;
|
|
87
110
|
--chat-font-size-2xl: 1.5rem;
|
|
@@ -98,23 +121,53 @@ $chat-component-prefix: "px-chat-";
|
|
|
98
121
|
--chat-line-height-relaxed: 1.75;
|
|
99
122
|
}
|
|
100
123
|
|
|
101
|
-
// Tema oscuro del chat
|
|
124
|
+
// Tema oscuro del chat — SPEC-157: negro real (no el gris de ChatGPT que había antes),
|
|
125
|
+
// y COMPLETO: cubre también los tokens que antes vivían solo del fallback hex de cada
|
|
126
|
+
// componente (surface, text-primary/-muted, danger, on-primary, border-strong...), para que
|
|
127
|
+
// activar `data-theme="dark"` cambie de verdad todo el chat y no solo la mitad tokenizada.
|
|
102
128
|
[data-theme="dark"] {
|
|
103
|
-
--chat-color-background: #
|
|
104
|
-
--chat-color-background-alt: #
|
|
105
|
-
--chat-color-
|
|
106
|
-
--chat-color-
|
|
107
|
-
--chat-color-
|
|
108
|
-
|
|
109
|
-
--chat-color-
|
|
110
|
-
--chat-color-
|
|
111
|
-
--chat-color-
|
|
112
|
-
--chat-color-
|
|
129
|
+
--chat-color-background: #000000;
|
|
130
|
+
--chat-color-background-alt: #0a0a0a;
|
|
131
|
+
--chat-color-background-secondary: #0a0a0a;
|
|
132
|
+
--chat-color-bg-secondary: #111111;
|
|
133
|
+
--chat-color-background-hover: #1a1a1a;
|
|
134
|
+
--chat-color-text: #f5f5f2;
|
|
135
|
+
--chat-color-text-primary: #f5f5f2;
|
|
136
|
+
--chat-color-text-secondary: #9ba0a8;
|
|
137
|
+
--chat-color-text-muted: #9ba0a8;
|
|
138
|
+
--chat-color-border: rgba(245, 245, 242, 0.14);
|
|
139
|
+
--chat-color-border-strong: rgba(245, 245, 242, 0.24);
|
|
140
|
+
--chat-color-surface: #111111;
|
|
141
|
+
--chat-color-surface-hover: #1a1a1a;
|
|
142
|
+
--chat-color-surface-muted: rgba(245, 245, 242, 0.08);
|
|
143
|
+
--chat-color-overlay-hover: rgba(245, 245, 242, 0.06);
|
|
144
|
+
--chat-color-overlay-hover-strong: rgba(245, 245, 242, 0.12);
|
|
145
|
+
|
|
146
|
+
// El negro y el blanco se invierten: lo que era "primario" (negro sobre fondo blanco) pasa a
|
|
147
|
+
// ser blanco sobre fondo negro. Todo componente que pinta con --chat-color-primary como FONDO
|
|
148
|
+
// (ChatHeader, Button primario, Avatar, Loader) usa --chat-color-on-primary para el texto/ícono
|
|
149
|
+
// que va encima — así el par se invierte junto con el fondo, en vez de quedar blanco-sobre-blanco.
|
|
150
|
+
--chat-color-primary: #ffffff;
|
|
151
|
+
--chat-color-on-primary: #000000;
|
|
152
|
+
--chat-color-text-inverse: #000000;
|
|
153
|
+
--chat-color-primary-dark: #e5e5e5;
|
|
154
|
+
--chat-color-secondary: #9ba0a8;
|
|
155
|
+
--chat-color-secondary-dark: #c2c7d0;
|
|
156
|
+
--chat-color-accent: #60a5fa;
|
|
157
|
+
--chat-color-accent-dark: #93c5fd;
|
|
158
|
+
|
|
159
|
+
--chat-color-danger: #f87171;
|
|
160
|
+
--chat-color-success-bg: rgba(22, 163, 74, 0.22);
|
|
161
|
+
|
|
162
|
+
--chat-color-user-bg: #111111;
|
|
163
|
+
--chat-color-assistant-bg: #000000;
|
|
164
|
+
--chat-color-input-bg: #0a0a0a;
|
|
165
|
+
--chat-color-input-border: rgba(245, 245, 242, 0.18);
|
|
113
166
|
--chat-color-input-focus: #ffffff;
|
|
114
167
|
|
|
115
168
|
// En oscuro el compositor aclara sobre el fondo, que es como se separa aqui.
|
|
116
|
-
--chat-color-composer-bg: #
|
|
117
|
-
--chat-color-composer-bg-focus: #
|
|
169
|
+
--chat-color-composer-bg: #111111;
|
|
170
|
+
--chat-color-composer-bg-focus: #1a1a1a;
|
|
118
171
|
|
|
119
172
|
// En oscuro el tinte oscurece y el texto aclara: al reves que en claro, mismo contraste.
|
|
120
173
|
--chat-color-notice-success-bg: #1c3b33;
|
|
@@ -125,4 +178,98 @@ $chat-component-prefix: "px-chat-";
|
|
|
125
178
|
--chat-color-notice-warning-text: #fcd34d;
|
|
126
179
|
--chat-color-notice-info-bg: #26334d;
|
|
127
180
|
--chat-color-notice-info-text: #93c5fd;
|
|
181
|
+
|
|
182
|
+
// Sombras oscuras no se ven sobre negro puro: se reemplazan por un borde sutil de luz.
|
|
183
|
+
--chat-shadow-sm: inset 0 0 0 1px rgba(245, 245, 242, 0.08);
|
|
184
|
+
--chat-shadow-md: inset 0 0 0 1px rgba(245, 245, 242, 0.1);
|
|
185
|
+
--chat-shadow-lg: inset 0 0 0 1px rgba(245, 245, 242, 0.12);
|
|
186
|
+
--chat-shadow-xl: inset 0 0 0 1px rgba(245, 245, 242, 0.14);
|
|
187
|
+
|
|
188
|
+
// --px-color-* (prefijo compartido con lumi, definido en global.scss): solo se sobreescribe
|
|
189
|
+
// AQUÍ, adentro de [data-theme="dark"] del chat — lumi nunca fija ese atributo, así que sus
|
|
190
|
+
// componentes (RecordCard, ScrollToEnd, FieldValue, CardList) no se ven afectados.
|
|
191
|
+
--px-color-primary: #f5f5f2;
|
|
192
|
+
--px-color-text: #f5f5f2;
|
|
193
|
+
--px-color-text-muted: rgba(245, 245, 242, 0.5);
|
|
194
|
+
--px-color-surface: #111111;
|
|
195
|
+
--px-color-surface-hover: #1a1a1a;
|
|
196
|
+
--px-color-surface-muted: rgba(245, 245, 242, 0.08);
|
|
197
|
+
--px-color-border: rgba(245, 245, 242, 0.14);
|
|
198
|
+
--px-color-border-strong: rgba(245, 245, 242, 0.24);
|
|
199
|
+
--px-color-success: #4ade80;
|
|
200
|
+
--px-color-warning: #fb923c;
|
|
201
|
+
--px-color-warning-bg: rgba(251, 146, 60, 0.14);
|
|
202
|
+
--px-color-danger: #f87171;
|
|
203
|
+
--px-color-danger-bg: rgba(248, 113, 113, 0.14);
|
|
204
|
+
--px-color-danger-border: rgba(248, 113, 113, 0.35);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
// `theme="system"` (Chat/ChatWidget): sin `data-theme` explícito en la raíz del chat, se sigue
|
|
208
|
+
// la preferencia del SO — escapado al propio nodo del chat (no `:root`/`<html>`), para que dos
|
|
209
|
+
// chats en la misma página puedan tener cada uno su propio `theme` sin pisarse.
|
|
210
|
+
// Mismos valores que el bloque de arriba — mantenerlos sincronizados si uno cambia.
|
|
211
|
+
@media (prefers-color-scheme: dark) {
|
|
212
|
+
.#{$chat-component-prefix}layout:not([data-theme]),
|
|
213
|
+
.#{$chat-component-prefix}widget:not([data-theme]) {
|
|
214
|
+
--chat-color-background: #000000;
|
|
215
|
+
--chat-color-background-alt: #0a0a0a;
|
|
216
|
+
--chat-color-background-secondary: #0a0a0a;
|
|
217
|
+
--chat-color-bg-secondary: #111111;
|
|
218
|
+
--chat-color-background-hover: #1a1a1a;
|
|
219
|
+
--chat-color-text: #f5f5f2;
|
|
220
|
+
--chat-color-text-primary: #f5f5f2;
|
|
221
|
+
--chat-color-text-secondary: #9ba0a8;
|
|
222
|
+
--chat-color-text-muted: #9ba0a8;
|
|
223
|
+
--chat-color-border: rgba(245, 245, 242, 0.14);
|
|
224
|
+
--chat-color-border-strong: rgba(245, 245, 242, 0.24);
|
|
225
|
+
--chat-color-surface: #111111;
|
|
226
|
+
--chat-color-surface-hover: #1a1a1a;
|
|
227
|
+
--chat-color-surface-muted: rgba(245, 245, 242, 0.08);
|
|
228
|
+
--chat-color-overlay-hover: rgba(245, 245, 242, 0.06);
|
|
229
|
+
--chat-color-overlay-hover-strong: rgba(245, 245, 242, 0.12);
|
|
230
|
+
--chat-color-primary: #ffffff;
|
|
231
|
+
--chat-color-on-primary: #000000;
|
|
232
|
+
--chat-color-text-inverse: #000000;
|
|
233
|
+
--chat-color-primary-dark: #e5e5e5;
|
|
234
|
+
--chat-color-secondary: #9ba0a8;
|
|
235
|
+
--chat-color-secondary-dark: #c2c7d0;
|
|
236
|
+
--chat-color-accent: #60a5fa;
|
|
237
|
+
--chat-color-accent-dark: #93c5fd;
|
|
238
|
+
--chat-color-danger: #f87171;
|
|
239
|
+
--chat-color-success-bg: rgba(22, 163, 74, 0.22);
|
|
240
|
+
--chat-color-user-bg: #111111;
|
|
241
|
+
--chat-color-assistant-bg: #000000;
|
|
242
|
+
--chat-color-input-bg: #0a0a0a;
|
|
243
|
+
--chat-color-input-border: rgba(245, 245, 242, 0.18);
|
|
244
|
+
--chat-color-input-focus: #ffffff;
|
|
245
|
+
--chat-color-composer-bg: #111111;
|
|
246
|
+
--chat-color-composer-bg-focus: #1a1a1a;
|
|
247
|
+
--chat-color-notice-success-bg: #1c3b33;
|
|
248
|
+
--chat-color-notice-success-text: #6ee7b7;
|
|
249
|
+
--chat-color-notice-error-bg: #43272a;
|
|
250
|
+
--chat-color-notice-error-text: #fca5a5;
|
|
251
|
+
--chat-color-notice-warning-bg: #40341f;
|
|
252
|
+
--chat-color-notice-warning-text: #fcd34d;
|
|
253
|
+
--chat-color-notice-info-bg: #26334d;
|
|
254
|
+
--chat-color-notice-info-text: #93c5fd;
|
|
255
|
+
--chat-shadow-sm: inset 0 0 0 1px rgba(245, 245, 242, 0.08);
|
|
256
|
+
--chat-shadow-md: inset 0 0 0 1px rgba(245, 245, 242, 0.1);
|
|
257
|
+
--chat-shadow-lg: inset 0 0 0 1px rgba(245, 245, 242, 0.12);
|
|
258
|
+
--chat-shadow-xl: inset 0 0 0 1px rgba(245, 245, 242, 0.14);
|
|
259
|
+
|
|
260
|
+
--px-color-primary: #f5f5f2;
|
|
261
|
+
--px-color-text: #f5f5f2;
|
|
262
|
+
--px-color-text-muted: rgba(245, 245, 242, 0.5);
|
|
263
|
+
--px-color-surface: #111111;
|
|
264
|
+
--px-color-surface-hover: #1a1a1a;
|
|
265
|
+
--px-color-surface-muted: rgba(245, 245, 242, 0.08);
|
|
266
|
+
--px-color-border: rgba(245, 245, 242, 0.14);
|
|
267
|
+
--px-color-border-strong: rgba(245, 245, 242, 0.24);
|
|
268
|
+
--px-color-success: #4ade80;
|
|
269
|
+
--px-color-warning: #fb923c;
|
|
270
|
+
--px-color-warning-bg: rgba(251, 146, 60, 0.14);
|
|
271
|
+
--px-color-danger: #f87171;
|
|
272
|
+
--px-color-danger-bg: rgba(248, 113, 113, 0.14);
|
|
273
|
+
--px-color-danger-border: rgba(248, 113, 113, 0.35);
|
|
274
|
+
}
|
|
128
275
|
}
|
|
@@ -74,16 +74,30 @@ $lumi-component-prefix: "px-lumi-";
|
|
|
74
74
|
--lumi-color-secondary: #e5e7eb; // Gris claro para secondary
|
|
75
75
|
--lumi-color-background: #ffffff; // Fondo blanco
|
|
76
76
|
--lumi-color-background-alt: #f7f7f8; // Fondo alternativo
|
|
77
|
+
--lumi-color-background-hover: rgba(0, 0, 0, 0.05); // Wash de hover sobre superficie variable
|
|
77
78
|
--lumi-color-text: #2d2d2d; // Texto oscuro
|
|
78
79
|
--lumi-color-text-secondary: #6b7280; // Texto secundario
|
|
79
80
|
--lumi-color-text-inverse: #ffffff; // Texto inverso (en botones primarios)
|
|
80
81
|
--lumi-color-border: #e5e7eb; // Bordes sutiles
|
|
82
|
+
// 2026-09-28 — variante fuerte, igual que ya existe en el dominio chat (--chat-color-border-strong):
|
|
83
|
+
// para separaciones que sí tienen que notarse (un drawer encima de la página, no un hairline
|
|
84
|
+
// decorativo). No existía; varios componentes ya la referenciaban con fallback y por eso nunca
|
|
85
|
+
// se veía distinta de --lumi-color-border.
|
|
86
|
+
--lumi-color-border-strong: #d1d5db;
|
|
81
87
|
|
|
82
88
|
// Colores de estado clásicos
|
|
83
89
|
--lumi-color-success: #10b981; // Verde éxito
|
|
84
|
-
--lumi-color-error: #ef4444; // Rojo error
|
|
90
|
+
--lumi-color-error: #ef4444; // Rojo error
|
|
85
91
|
--lumi-color-warning: #f59e0b; // Amarillo advertencia
|
|
86
92
|
--lumi-color-info: #3b82f6; // Azul información
|
|
93
|
+
// SPEC-157 — tinte de fondo para texto de error/éxito (mismos valores que chat, para que un
|
|
94
|
+
// aviso se vea igual en las dos partes del producto).
|
|
95
|
+
--lumi-color-error-bg: #fdecec;
|
|
96
|
+
--lumi-color-success-bg: #e8f7f1;
|
|
97
|
+
// SPEC-157 — alias real: varios componentes usaban --lumi-color-danger(-bg) como fantasma con
|
|
98
|
+
// fallback (#dc2626/#ff4d4f/#ef4444 según el archivo) — mismo color que --lumi-color-error.
|
|
99
|
+
--lumi-color-danger: var(--lumi-color-error);
|
|
100
|
+
--lumi-color-danger-bg: var(--lumi-color-error-bg);
|
|
87
101
|
|
|
88
102
|
// Espaciado del sistema
|
|
89
103
|
--lumi-spacing-xs: 0.25rem; // 4px
|
|
@@ -292,6 +306,35 @@ $lumi-component-prefix: "px-lumi-";
|
|
|
292
306
|
--lumi-color-background: #2e2a1a; // Fondo dorado oscuro
|
|
293
307
|
}
|
|
294
308
|
|
|
309
|
+
// === MODO OSCURO ===
|
|
310
|
+
// SPEC-157 (extensión a lumi) — hasta ahora "dark" solo tocaba el calendario; el resto de
|
|
311
|
+
// componentes (DynamicForm, Input, Select, Table...) usan --lumi-color-background/-text/-border/
|
|
312
|
+
// -background-alt/-text-inverse, que nunca tenían override oscuro. Sin esto, activar
|
|
313
|
+
// data-lumi-theme="dark" no cambiaba nada fuera del calendario.
|
|
314
|
+
[data-lumi-theme="dark"] {
|
|
315
|
+
--lumi-color-background: #000000;
|
|
316
|
+
--lumi-color-background-alt: #0a0a0a;
|
|
317
|
+
--lumi-color-background-hover: rgba(245, 245, 242, 0.06);
|
|
318
|
+
--lumi-color-text: #f5f5f2;
|
|
319
|
+
--lumi-color-text-secondary: #9ba0a8;
|
|
320
|
+
// Gris claro (botón "secondary") sobre negro se ve invisible-ish: pasa a una superficie oscura,
|
|
321
|
+
// igual que --chat-color-surface-hover.
|
|
322
|
+
--lumi-color-secondary: rgba(245, 245, 242, 0.08);
|
|
323
|
+
// El primario (violeta #6c63ff) ya tiene contraste suficiente sobre negro — no se invierte, a
|
|
324
|
+
// diferencia del negro/blanco puro del chat. Por eso --lumi-color-text-inverse (el texto que va
|
|
325
|
+
// ENCIMA de un fondo --lumi-color-primary) tampoco se invierte: sigue blanco en los dos modos.
|
|
326
|
+
--lumi-color-border: rgba(245, 245, 242, 0.14);
|
|
327
|
+
--lumi-color-border-strong: rgba(245, 245, 242, 0.24);
|
|
328
|
+
--lumi-color-error-bg: #43272a;
|
|
329
|
+
--lumi-color-success-bg: #1c3b33;
|
|
330
|
+
// SPEC-158 — mismo hueco que --lumi-color-border-strong: solo el *-bg tenía par oscuro, el
|
|
331
|
+
// color de TEXTO (error/éxito directo, sin fondo detrás) se quedaba con el tono de claro
|
|
332
|
+
// (#ef4444/#10b981), que sobre negro pierde contraste. Mismos valores que ya usaba towing-web
|
|
333
|
+
// a mano en LoginPage.css.
|
|
334
|
+
--lumi-color-error: #f87171;
|
|
335
|
+
--lumi-color-success: #4ade80;
|
|
336
|
+
}
|
|
337
|
+
|
|
295
338
|
// === CALENDARIO DARK MODE ===
|
|
296
339
|
[data-lumi-theme="dark"],
|
|
297
340
|
.px-lumi-calendar--dark {
|
package/src/styles/global.scss
CHANGED
|
@@ -3,3 +3,26 @@
|
|
|
3
3
|
* {
|
|
4
4
|
box-sizing: border-box;
|
|
5
5
|
}
|
|
6
|
+
|
|
7
|
+
// SPEC-157 — prefijo compartido `--px-*`: lo consumen componentes de AMBOS dominios (chat:
|
|
8
|
+
// ReactiveCrudItemChat, DeadlineCountdown; lumi: RecordCard, ScrollToEnd, FieldValue, CardList),
|
|
9
|
+
// pero nunca se había definido en ningún :root — cada sitio vivía de su propio fallback hex, y
|
|
10
|
+
// esos fallbacks no siempre coincidían entre sí. Valores aquí = el fallback más usado en el
|
|
11
|
+
// código real, para que definir el token no cambie nada visible en claro. El override para
|
|
12
|
+
// oscuro vive en _chat.scss (solo el chat activa data-theme; lumi no se toca).
|
|
13
|
+
:root {
|
|
14
|
+
--px-color-primary: #111827;
|
|
15
|
+
--px-color-text: #111827;
|
|
16
|
+
--px-color-text-muted: rgba(0, 0, 0, 0.45);
|
|
17
|
+
--px-color-surface: #ffffff;
|
|
18
|
+
--px-color-surface-hover: #f9fafb;
|
|
19
|
+
--px-color-surface-muted: #f9fafb;
|
|
20
|
+
--px-color-border: #e5e7eb;
|
|
21
|
+
--px-color-border-strong: #d1d5db;
|
|
22
|
+
--px-color-success: #16a34a;
|
|
23
|
+
--px-color-warning: #c2410c;
|
|
24
|
+
--px-color-warning-bg: #fff7ed;
|
|
25
|
+
--px-color-danger: #b91c1c;
|
|
26
|
+
--px-color-danger-bg: #fef2f2;
|
|
27
|
+
--px-color-danger-border: #fecaca;
|
|
28
|
+
}
|