@kenlo/sds-design-system 1.1.2 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -2
- package/components/Accordion/Accordion.css +7 -0
- package/components/Badge/Badge.css +7 -0
- package/components/Button/Button.css +5 -5
- package/components/Checkbox/Checkbox.css +1 -1
- package/components/DatePicker/DatePicker.css +8 -1
- package/components/Header/Header.css +17 -1
- package/components/Incrementer/Incrementer.css +4 -4
- package/components/Input/Input.css +8 -1
- package/components/Pill/Pill.css +4 -4
- package/components/Radio/Radio.css +1 -1
- package/components/SearchBar/SearchBar.css +7 -0
- package/components/Select/Select.css +9 -1
- package/components/Skeleton/Skeleton.css +15 -0
- package/components/Switch/Switch.css +5 -5
- package/components/Table/Table.css +13 -0
- package/components/Toast/Toast.css +1 -1
- package/components/Toggle/Toggle.css +9 -2
- package/components/Uploader/Uploader.css +7 -0
- package/foundations/tokens.css +87 -57
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -210,8 +210,9 @@ pedido e os ramos pessoais são bloqueados. Falta quem administra o pages.kenlo.
|
|
|
210
210
|
automático: a esteira do `kenlo-pages` montar o portal a partir deste repositório, ou a esteira daqui
|
|
211
211
|
publicar depois de cada merge.
|
|
212
212
|
|
|
213
|
-
**Enquanto isso:** a esteira daqui
|
|
214
|
-
|
|
213
|
+
**Enquanto isso:** a esteira daqui publica o portal a cada merge na `main` em
|
|
214
|
+
https://storage.googleapis.com/kenlo-open-docs/sds-design-system/index.html, no mesmo bucket do portal
|
|
215
|
+
do KDLS e com a mesma chave (`GCP_SA_KEY_PRD`; decisão do Rafael Leobas, 13/11/2026). Com
|
|
215
216
|
`base: './'` em `portal/vite.config.js`, o portal montado funciona em qualquer pasta (bucket ou
|
|
216
217
|
pages.kenlo.io).
|
|
217
218
|
|
|
@@ -184,3 +184,10 @@ details.sds-accordion > summary::marker {
|
|
|
184
184
|
details.sds-accordion.sds-accordion--closing > .sds-accordion__body-wrap {
|
|
185
185
|
grid-template-rows: 0fr;
|
|
186
186
|
}
|
|
187
|
+
|
|
188
|
+
/* Dark theme on the eleven-step ramp: neutral 10 resolves to the component ground
|
|
189
|
+
(#1c1c1c), so a fill or divider painted with it on a component steps to neutral 20
|
|
190
|
+
(or the static border) to stay visible. */
|
|
191
|
+
[data-theme="dark"] .sds-accordion__header:hover {
|
|
192
|
+
background-color: var(--color-neutral-20);
|
|
193
|
+
}
|
|
@@ -379,3 +379,10 @@
|
|
|
379
379
|
color: CanvasText;
|
|
380
380
|
}
|
|
381
381
|
}
|
|
382
|
+
|
|
383
|
+
/* Dark theme on the eleven-step ramp: neutral 10 resolves to the component ground
|
|
384
|
+
(#1c1c1c), so a fill or divider painted with it on a component steps to neutral 20
|
|
385
|
+
(or the static border) to stay visible. */
|
|
386
|
+
[data-theme="dark"] .sds-badge--neutral.sds-badge--tone-10 {
|
|
387
|
+
background: var(--color-neutral-20);
|
|
388
|
+
}
|
|
@@ -304,14 +304,14 @@
|
|
|
304
304
|
}
|
|
305
305
|
[data-theme="dark"] .sds-button:disabled,
|
|
306
306
|
[data-theme="dark"] .sds-button[aria-disabled="true"] {
|
|
307
|
-
background-color: var(--color-neutral-
|
|
307
|
+
background-color: var(--color-neutral-40) !important;
|
|
308
308
|
border-color: var(--border-interactive-color) !important;
|
|
309
|
-
color: var(--color-neutral-
|
|
309
|
+
color: var(--color-neutral-50) !important;
|
|
310
310
|
}
|
|
311
311
|
[data-theme="dark"] .sds-button--link:disabled,
|
|
312
312
|
[data-theme="dark"] .sds-button--link[aria-disabled="true"] {
|
|
313
313
|
background-color: transparent !important;
|
|
314
|
-
color: var(--color-neutral-
|
|
314
|
+
color: var(--color-neutral-50) !important;
|
|
315
315
|
border-color: transparent !important;
|
|
316
316
|
}
|
|
317
317
|
[data-theme="dark"] .sds-button--ghost:disabled,
|
|
@@ -320,7 +320,7 @@
|
|
|
320
320
|
[data-theme="dark"] .sds-button--pill[aria-disabled="true"] {
|
|
321
321
|
background-color: transparent !important;
|
|
322
322
|
border-color: var(--border-interactive-color) !important;
|
|
323
|
-
color: var(--color-neutral-
|
|
323
|
+
color: var(--color-neutral-50) !important;
|
|
324
324
|
}
|
|
325
325
|
/* ──────────────────────────────────────────────
|
|
326
326
|
NEUTRAL SCHEME DARK MODE OVERRIDE
|
|
@@ -331,7 +331,7 @@
|
|
|
331
331
|
background-color: transparent;
|
|
332
332
|
}
|
|
333
333
|
[data-theme="dark"] .sds-button--pill:active:not(:disabled):not(.sds-button--loading) {
|
|
334
|
-
background-color: var(--color-neutral-
|
|
334
|
+
background-color: var(--color-neutral-40);
|
|
335
335
|
}
|
|
336
336
|
/* Four more dead rules stood here, and they looked at first like a design intention worth
|
|
337
337
|
keeping: they set the primary button's own FILL in the dark theme, to `--color-neutral-80`
|
|
@@ -285,7 +285,7 @@
|
|
|
285
285
|
border-bottom-color: var(--border-static-color);
|
|
286
286
|
}
|
|
287
287
|
[data-theme="dark"] .sds-datepicker__day--other {
|
|
288
|
-
color: var(--color-neutral-
|
|
288
|
+
color: var(--color-neutral-70);
|
|
289
289
|
}
|
|
290
290
|
[data-theme="dark"] .sds-datepicker__footer {
|
|
291
291
|
border-top-color: var(--border-static-color);
|
|
@@ -449,3 +449,10 @@
|
|
|
449
449
|
var(--color-primary-50) border-box;
|
|
450
450
|
border-color: transparent;
|
|
451
451
|
}
|
|
452
|
+
|
|
453
|
+
/* Dark theme on the eleven-step ramp: neutral 10 resolves to the component ground
|
|
454
|
+
(#1c1c1c), so a fill or divider painted with it on a component steps to neutral 20
|
|
455
|
+
(or the static border) to stay visible. */
|
|
456
|
+
[data-theme="dark"] .sds-datepicker__weekdays {
|
|
457
|
+
background: var(--color-neutral-20);
|
|
458
|
+
}
|
|
@@ -254,7 +254,7 @@
|
|
|
254
254
|
}
|
|
255
255
|
.sds-header__notification-time {
|
|
256
256
|
font-size: 11px;
|
|
257
|
-
color: var(--color-neutral-
|
|
257
|
+
color: var(--color-neutral-50);
|
|
258
258
|
white-space: nowrap;
|
|
259
259
|
flex-shrink: 0;
|
|
260
260
|
margin-top: var(--spacing-0-5);
|
|
@@ -455,3 +455,19 @@
|
|
|
455
455
|
[data-radius="soft"] .sds-header__icon-btn { border-radius: 11px; }
|
|
456
456
|
[data-radius="medium"] .sds-header__icon-btn { border-radius: 15px; }
|
|
457
457
|
[data-radius="rounded"] .sds-header__icon-btn { border-radius: var(--radius-full); }
|
|
458
|
+
|
|
459
|
+
/* Dark theme on the eleven-step ramp: neutral 10 resolves to the component ground
|
|
460
|
+
(#1c1c1c), so a fill or divider painted with it on a component steps to neutral 20
|
|
461
|
+
(or the static border) to stay visible. */
|
|
462
|
+
[data-theme="dark"] .sds-header__products-item:hover,
|
|
463
|
+
[data-theme="dark"] .sds-header__notification-item:hover,
|
|
464
|
+
[data-theme="dark"] .sds-header__profile-item:hover,
|
|
465
|
+
[data-theme="dark"] .sds-header__mobile-row:hover {
|
|
466
|
+
background: var(--color-neutral-20);
|
|
467
|
+
}
|
|
468
|
+
[data-theme="dark"] .sds-header__notification-item {
|
|
469
|
+
border-bottom-color: var(--border-static-color);
|
|
470
|
+
}
|
|
471
|
+
[data-theme="dark"] .sds-header__mobile-divider {
|
|
472
|
+
border-top-color: var(--border-static-color);
|
|
473
|
+
}
|
|
@@ -82,15 +82,15 @@
|
|
|
82
82
|
────────────────────────────────────────────── */
|
|
83
83
|
|
|
84
84
|
[data-theme="dark"] .sds-incrementer__btn:hover:not(:disabled) {
|
|
85
|
-
background: var(--color-neutral-
|
|
85
|
+
background: var(--color-neutral-40);
|
|
86
86
|
}
|
|
87
87
|
[data-theme="dark"] .sds-incrementer__btn:active:not(:disabled) {
|
|
88
|
-
background: var(--color-neutral-
|
|
88
|
+
background: var(--color-neutral-50);
|
|
89
89
|
}
|
|
90
90
|
[data-theme="dark"] .sds-incrementer--disabled {
|
|
91
|
-
background: var(--color-neutral-
|
|
91
|
+
background: var(--color-neutral-40);
|
|
92
92
|
border-color: var(--border-interactive-color);
|
|
93
|
-
color: var(--color-neutral-
|
|
93
|
+
color: var(--color-neutral-50);
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
/* ── The site's gradient, on the stroke ────────────────────────────────────────
|
|
@@ -470,7 +470,7 @@
|
|
|
470
470
|
}
|
|
471
471
|
/* ── Dark mode ── */
|
|
472
472
|
[data-theme="dark"] .sds-input__country {
|
|
473
|
-
background-color: var(--color-neutral-
|
|
473
|
+
background-color: var(--color-neutral-30);
|
|
474
474
|
}
|
|
475
475
|
/* ── Phone country dropdown ── */
|
|
476
476
|
.sds-input-phone-wrap {
|
|
@@ -611,3 +611,10 @@
|
|
|
611
611
|
var(--color-primary-50) border-box;
|
|
612
612
|
border-color: transparent;
|
|
613
613
|
}
|
|
614
|
+
|
|
615
|
+
/* Dark theme on the eleven-step ramp: neutral 10 resolves to the component ground
|
|
616
|
+
(#1c1c1c), so a fill or divider painted with it on a component steps to neutral 20
|
|
617
|
+
(or the static border) to stay visible. */
|
|
618
|
+
[data-theme="dark"] .sds-phone-dropdown__item:hover {
|
|
619
|
+
background: var(--color-neutral-20);
|
|
620
|
+
}
|
package/components/Pill/Pill.css
CHANGED
|
@@ -99,9 +99,9 @@
|
|
|
99
99
|
}
|
|
100
100
|
[data-theme="dark"] .sds-pill:disabled,
|
|
101
101
|
[data-theme="dark"] .sds-pill[aria-disabled="true"] {
|
|
102
|
-
background-color: var(--color-neutral-
|
|
102
|
+
background-color: var(--color-neutral-40) !important;
|
|
103
103
|
border-color: var(--border-interactive-color) !important;
|
|
104
|
-
color: var(--color-neutral-
|
|
104
|
+
color: var(--color-neutral-50) !important;
|
|
105
105
|
}
|
|
106
106
|
[data-theme="dark"] .sds-pill--off:disabled,
|
|
107
107
|
[data-theme="dark"] .sds-pill--off[aria-disabled="true"] {
|
|
@@ -180,7 +180,7 @@
|
|
|
180
180
|
}
|
|
181
181
|
[data-theme="dark"] .sds-pill:disabled .sds-notification,
|
|
182
182
|
[data-theme="dark"] .sds-pill[aria-disabled="true"] .sds-notification {
|
|
183
|
-
color: var(--color-neutral-
|
|
183
|
+
color: var(--color-neutral-40);
|
|
184
184
|
}
|
|
185
185
|
/* ──────────────────────────────────────────────
|
|
186
186
|
DARK MODE
|
|
@@ -189,7 +189,7 @@
|
|
|
189
189
|
background-color: transparent;
|
|
190
190
|
}
|
|
191
191
|
[data-theme="dark"] .sds-pill--off:active:not(:disabled):not(.sds-pill--loading) {
|
|
192
|
-
background-color: var(--color-neutral-
|
|
192
|
+
background-color: var(--color-neutral-40);
|
|
193
193
|
}
|
|
194
194
|
|
|
195
195
|
/* ── The site's gradient, on the stroke ────────────────────────────────────────
|
|
@@ -151,7 +151,7 @@
|
|
|
151
151
|
border-color: var(--border-static-color);
|
|
152
152
|
}
|
|
153
153
|
[data-theme="dark"] .sds-radio-container {
|
|
154
|
-
border-color: var(--color-neutral-
|
|
154
|
+
border-color: var(--color-neutral-80);
|
|
155
155
|
}
|
|
156
156
|
/* Wrapper — vertical stack with tight gap */
|
|
157
157
|
.sds-radio-wrapper {
|
|
@@ -179,3 +179,10 @@
|
|
|
179
179
|
.sds-search-bar--fill {
|
|
180
180
|
width: 100%;
|
|
181
181
|
}
|
|
182
|
+
|
|
183
|
+
/* Dark theme on the eleven-step ramp: neutral 10 resolves to the component ground
|
|
184
|
+
(#1c1c1c), so a fill or divider painted with it on a component steps to neutral 20
|
|
185
|
+
(or the static border) to stay visible. */
|
|
186
|
+
[data-theme="dark"] .sds-search-bar--disabled {
|
|
187
|
+
background-color: var(--color-neutral-20);
|
|
188
|
+
}
|
|
@@ -361,7 +361,7 @@
|
|
|
361
361
|
}
|
|
362
362
|
[data-theme="dark"] .sds-select__option:hover,
|
|
363
363
|
[data-theme="dark"] .sds-select__option--selected {
|
|
364
|
-
background: var(--color-neutral-
|
|
364
|
+
background: var(--color-neutral-30);
|
|
365
365
|
}
|
|
366
366
|
|
|
367
367
|
/* The clear control.
|
|
@@ -445,3 +445,11 @@
|
|
|
445
445
|
[data-radius="soft"] .sds-select__option { border-radius: 11px; }
|
|
446
446
|
[data-radius="medium"] .sds-select__option { border-radius: 15px; }
|
|
447
447
|
[data-radius="rounded"] .sds-select__option { border-radius: var(--radius-full); }
|
|
448
|
+
|
|
449
|
+
/* Dark theme on the eleven-step ramp: neutral 10 resolves to the component ground
|
|
450
|
+
(#1c1c1c), so a fill or divider painted with it on a component steps to neutral 20
|
|
451
|
+
(or the static border) to stay visible. */
|
|
452
|
+
[data-theme="dark"] .sds-select__option:focus-visible,
|
|
453
|
+
[data-theme="dark"] .sds-select__list:focus .sds-select__option[data-active="true"] {
|
|
454
|
+
background: var(--color-neutral-20);
|
|
455
|
+
}
|
|
@@ -98,3 +98,18 @@
|
|
|
98
98
|
background-size: 400% 100%;
|
|
99
99
|
animation: sds-skeleton-shimmer 1.4s ease infinite;
|
|
100
100
|
}
|
|
101
|
+
|
|
102
|
+
/* Dark theme on the eleven-step ramp: neutral 10 resolves to the component ground
|
|
103
|
+
(#1c1c1c), so a fill or divider painted with it on a component steps to neutral 20
|
|
104
|
+
(or the static border) to stay visible. */
|
|
105
|
+
[data-theme="dark"] .sds-skeleton__avatar,
|
|
106
|
+
[data-theme="dark"] .sds-skeleton__button,
|
|
107
|
+
[data-theme="dark"] .sds-skeleton__input,
|
|
108
|
+
[data-theme="dark"] .sds-skeleton__image,
|
|
109
|
+
[data-theme="dark"] .sds-skeleton__line {
|
|
110
|
+
background: var(--color-neutral-20);
|
|
111
|
+
}
|
|
112
|
+
[data-theme="dark"] .sds-skeleton--active {
|
|
113
|
+
background: linear-gradient(90deg, var(--color-neutral-20) 25%, var(--color-neutral-30) 37%, var(--color-neutral-20) 63%);
|
|
114
|
+
background-size: 400% 100%;
|
|
115
|
+
}
|
|
@@ -60,10 +60,10 @@
|
|
|
60
60
|
background-color: var(--color-neutral-40);
|
|
61
61
|
}
|
|
62
62
|
[data-theme="dark"] .sds-switch--disabled .sds-switch__track {
|
|
63
|
-
background-color: var(--color-neutral-
|
|
63
|
+
background-color: var(--color-neutral-50) !important;
|
|
64
64
|
}
|
|
65
65
|
[data-theme="dark"] .sds-switch--disabled .sds-switch__thumb {
|
|
66
|
-
background-color: var(--color-neutral-
|
|
66
|
+
background-color: var(--color-neutral-30);
|
|
67
67
|
}
|
|
68
68
|
.sds-switch--disabled .sds-switch__label {
|
|
69
69
|
color: var(--color-neutral-40);
|
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
border-color: var(--border-static-color);
|
|
118
118
|
}
|
|
119
119
|
[data-theme="dark"] .sds-switch-container {
|
|
120
|
-
border-color: var(--color-neutral-
|
|
120
|
+
border-color: var(--color-neutral-80);
|
|
121
121
|
}
|
|
122
122
|
/* Wrapper — vertical stack with tight gap */
|
|
123
123
|
.sds-switch-wrapper {
|
|
@@ -140,10 +140,10 @@
|
|
|
140
140
|
.sds-switch-container + .sds-switch__hint { padding-left: var(--spacing-4); }
|
|
141
141
|
/* Dark mode */
|
|
142
142
|
[data-theme="dark"] .sds-switch--off .sds-switch__track {
|
|
143
|
-
background-color: var(--color-neutral-
|
|
143
|
+
background-color: var(--color-neutral-50);
|
|
144
144
|
}
|
|
145
145
|
[data-theme="dark"] .sds-switch--off:not(.sds-switch--disabled):hover .sds-switch__track {
|
|
146
|
-
background-color: var(--color-neutral-
|
|
146
|
+
background-color: var(--color-neutral-70);
|
|
147
147
|
}
|
|
148
148
|
[data-theme="dark"] .sds-switch-container--disabled {
|
|
149
149
|
border-color: var(--border-interactive-color);
|
|
@@ -230,6 +230,11 @@
|
|
|
230
230
|
opacity: 0;
|
|
231
231
|
transition: opacity 120ms ease;
|
|
232
232
|
}
|
|
233
|
+
/* Dark: neutral 40 would drop to #626262 (2.8:1 on the card); neutral 50 keeps
|
|
234
|
+
about the grey this hint had before the eleven-step ramp. */
|
|
235
|
+
[data-theme="dark"] .sds-table__sort--compact {
|
|
236
|
+
color: var(--color-neutral-50);
|
|
237
|
+
}
|
|
233
238
|
.sds-table__sort--compact .sds-icon + .sds-icon {
|
|
234
239
|
margin-top: calc(-1 * var(--spacing-2));
|
|
235
240
|
}
|
|
@@ -339,3 +344,11 @@
|
|
|
339
344
|
display: contents;
|
|
340
345
|
padding: 0;
|
|
341
346
|
}
|
|
347
|
+
|
|
348
|
+
/* Dark theme on the eleven-step ramp: neutral 10 resolves to the component ground
|
|
349
|
+
(#1c1c1c), so a fill or divider painted with it on a component steps to neutral 20
|
|
350
|
+
(or the static border) to stay visible. */
|
|
351
|
+
[data-theme="dark"] .sds-table__row:hover:not(.sds-table__row--header),
|
|
352
|
+
[data-theme="dark"] .sds-table__row--selected:hover {
|
|
353
|
+
background: var(--color-neutral-20);
|
|
354
|
+
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
by scripts/port-css.mjs. Divergences beyond the mechanical rename are noted inline.
|
|
4
4
|
*//* ============================================================
|
|
5
5
|
SDS Toast
|
|
6
|
-
Light: --color-neutral-90 bg (#
|
|
6
|
+
Light: --color-neutral-90 bg (#1C1C1C) + --color-neutral-00 text (#FFFFFF)
|
|
7
7
|
Dark: tokens auto-invert → light bg + dark text
|
|
8
8
|
============================================================ */
|
|
9
9
|
|
|
@@ -37,11 +37,11 @@
|
|
|
37
37
|
color: var(--color-neutral-40);
|
|
38
38
|
}
|
|
39
39
|
[data-theme="dark"] .sds-toggle--disabled {
|
|
40
|
-
background: var(--color-neutral-
|
|
40
|
+
background: var(--color-neutral-40);
|
|
41
41
|
border-color: var(--border-interactive-color);
|
|
42
42
|
}
|
|
43
43
|
[data-theme="dark"] .sds-toggle--disabled .sds-toggle__item--active {
|
|
44
|
-
background: var(--color-neutral-
|
|
44
|
+
background: var(--color-neutral-50);
|
|
45
45
|
color: var(--component-bg-color);
|
|
46
46
|
}
|
|
47
47
|
/* ── Item (default = 40px track height) ────────────────────────── */
|
|
@@ -207,3 +207,10 @@
|
|
|
207
207
|
border: none;
|
|
208
208
|
filter: brightness(1.1);
|
|
209
209
|
}
|
|
210
|
+
|
|
211
|
+
/* Dark theme on the eleven-step ramp: neutral 10 resolves to the component ground
|
|
212
|
+
(#1c1c1c), so a fill or divider painted with it on a component steps to neutral 20
|
|
213
|
+
(or the static border) to stay visible. */
|
|
214
|
+
[data-theme="dark"] .sds-toggle__item:hover:not(:disabled) {
|
|
215
|
+
background: var(--color-neutral-20);
|
|
216
|
+
}
|
|
@@ -196,3 +196,10 @@ button.sds-uploader {
|
|
|
196
196
|
var(--color-primary-50) border-box;
|
|
197
197
|
border-color: transparent;
|
|
198
198
|
}
|
|
199
|
+
|
|
200
|
+
/* Dark theme on the eleven-step ramp: neutral 10 resolves to the component ground
|
|
201
|
+
(#1c1c1c), so a fill or divider painted with it on a component steps to neutral 20
|
|
202
|
+
(or the static border) to stay visible. */
|
|
203
|
+
[data-theme="dark"] .sds-uploader {
|
|
204
|
+
background: var(--color-neutral-20);
|
|
205
|
+
}
|
package/foundations/tokens.css
CHANGED
|
@@ -137,10 +137,15 @@
|
|
|
137
137
|
aliases. All of it is removed; the mapping below is lifted verbatim from that
|
|
138
138
|
file's own [data-color-scheme="neutral"] block. */
|
|
139
139
|
:root {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
140
|
+
/* The tints (10-40) use the ten-step pair names on purpose. They mirror one step short
|
|
141
|
+
(10 <-> 80), so in the dark theme they stay a step above the card (#1c1c1c):
|
|
142
|
+
primary-10 is #323232, and a selected row or a hover stays visible. The short names
|
|
143
|
+
mirror to the full 100 - N, which would put primary-10 on the card colour itself.
|
|
144
|
+
The light theme is the same either way. */
|
|
145
|
+
--color-primary-10: var(--color-neutral-10-80);
|
|
146
|
+
--color-primary-20: var(--color-neutral-20-70);
|
|
147
|
+
--color-primary-30: var(--color-neutral-30-60);
|
|
148
|
+
--color-primary-40: var(--color-neutral-50-40);
|
|
144
149
|
/* The principal tone. It points at neutral-80 rather than neutral-50, and it is the only
|
|
145
150
|
scheme where the 50 is not the family's own 50: a mid grey has no presence as the
|
|
146
151
|
colour of a button. */
|
|
@@ -164,10 +169,11 @@
|
|
|
164
169
|
|
|
165
170
|
/* --------------------------------COLOR SCHEMES--------------------------------- */
|
|
166
171
|
[data-color-scheme="neutral"] {
|
|
167
|
-
|
|
168
|
-
--color-primary-
|
|
169
|
-
--color-primary-
|
|
170
|
-
--color-primary-
|
|
172
|
+
/* Same tints as the floor above, for the same reason. */
|
|
173
|
+
--color-primary-10: var(--color-neutral-10-80);
|
|
174
|
+
--color-primary-20: var(--color-neutral-20-70);
|
|
175
|
+
--color-primary-30: var(--color-neutral-30-60);
|
|
176
|
+
--color-primary-40: var(--color-neutral-50-40);
|
|
171
177
|
--color-primary-50: var(--color-neutral-80);
|
|
172
178
|
--color-primary-60: var(--color-neutral-90);
|
|
173
179
|
--color-primary-70: var(--color-neutral-90);
|
|
@@ -285,60 +291,83 @@
|
|
|
285
291
|
}
|
|
286
292
|
|
|
287
293
|
/* ------------------------------------------------------------------------------ *//* -----------------------------------NEUTRAL------------------------------------ */
|
|
294
|
+
/* The neutral ramp has eleven steps, 00 to 100 (Rafael Leobas, UX, 2026-11-13), the
|
|
295
|
+
same values as KDLS. Steps 10–90 invert: in the dark theme step N shows the light value
|
|
296
|
+
of step 100 − N, which is what the `N-(100-N)` pair names say. 00 and 100 stay the
|
|
297
|
+
absolutes declared above (white and black in both themes).
|
|
298
|
+
|
|
299
|
+
Two kinds of pair live here:
|
|
300
|
+
- `N-(100-N)`: the ramp itself, literals in both themes. The label-contrast generator
|
|
301
|
+
reads these.
|
|
302
|
+
- `N-(90-N)`: the names of the ten-step ramp, kept so nothing that reads one breaks.
|
|
303
|
+
Light = the new value of N, dark = the new value of 90 − N. `00-90` stays a literal
|
|
304
|
+
because it is the component ground (`--component-bg-color`); the rest point at the
|
|
305
|
+
ramp. */
|
|
306
|
+
:root {
|
|
307
|
+
--color-neutral-10-90: #ebebeb;
|
|
308
|
+
--color-neutral-20-80: #d0d0d0;
|
|
309
|
+
--color-neutral-30-70: #b6b6b6;
|
|
310
|
+
--color-neutral-40-60: #9d9d9d;
|
|
311
|
+
--color-neutral-50-50: #848484;
|
|
312
|
+
--color-neutral-60-40: #626262;
|
|
313
|
+
--color-neutral-70-30: #494949;
|
|
314
|
+
--color-neutral-80-20: #323232;
|
|
315
|
+
--color-neutral-90-10: #1c1c1c;
|
|
316
|
+
--color-neutral-00-100: var(--color-white);
|
|
317
|
+
--color-neutral-100-00: var(--color-black);
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
[data-theme="dark"] {
|
|
321
|
+
--color-neutral-10-90: #1c1c1c;
|
|
322
|
+
--color-neutral-20-80: #323232;
|
|
323
|
+
--color-neutral-30-70: #494949;
|
|
324
|
+
--color-neutral-40-60: #626262;
|
|
325
|
+
--color-neutral-50-50: #848484;
|
|
326
|
+
--color-neutral-60-40: #9d9d9d;
|
|
327
|
+
--color-neutral-70-30: #b6b6b6;
|
|
328
|
+
--color-neutral-80-20: #d0d0d0;
|
|
329
|
+
--color-neutral-90-10: #ebebeb;
|
|
330
|
+
--color-neutral-00-100: var(--color-black);
|
|
331
|
+
--color-neutral-100-00: var(--color-white);
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
/* The ten-step pair names. */
|
|
288
335
|
:root {
|
|
289
336
|
--color-neutral-00-90: #ffffff;
|
|
290
|
-
--color-neutral-10-80:
|
|
291
|
-
--color-neutral-20-70:
|
|
292
|
-
--color-neutral-30-60:
|
|
293
|
-
--color-neutral-40-50:
|
|
294
|
-
--color-neutral-50-40:
|
|
295
|
-
--color-neutral-60-30:
|
|
296
|
-
--color-neutral-70-20:
|
|
297
|
-
--color-neutral-80-10:
|
|
298
|
-
--color-neutral-90-00:
|
|
337
|
+
--color-neutral-10-80: var(--color-neutral-10-90);
|
|
338
|
+
--color-neutral-20-70: var(--color-neutral-20-80);
|
|
339
|
+
--color-neutral-30-60: var(--color-neutral-30-70);
|
|
340
|
+
--color-neutral-40-50: var(--color-neutral-40-60);
|
|
341
|
+
--color-neutral-50-40: var(--color-neutral-50-50);
|
|
342
|
+
--color-neutral-60-30: var(--color-neutral-60-40);
|
|
343
|
+
--color-neutral-70-20: var(--color-neutral-70-30);
|
|
344
|
+
--color-neutral-80-10: var(--color-neutral-80-20);
|
|
345
|
+
--color-neutral-90-00: var(--color-neutral-90-10);
|
|
299
346
|
}
|
|
300
347
|
|
|
301
348
|
[data-theme="dark"] {
|
|
302
|
-
--color-neutral-00-90: #
|
|
303
|
-
--color-neutral-10-80:
|
|
304
|
-
--color-neutral-20-70:
|
|
305
|
-
--color-neutral-30-60:
|
|
306
|
-
--color-neutral-40-50:
|
|
307
|
-
--color-neutral-50-40:
|
|
308
|
-
--color-neutral-60-30:
|
|
309
|
-
--color-neutral-70-20:
|
|
310
|
-
--color-neutral-80-10:
|
|
311
|
-
--color-neutral-90-00:
|
|
349
|
+
--color-neutral-00-90: #1c1c1c;
|
|
350
|
+
--color-neutral-10-80: var(--color-neutral-20-80);
|
|
351
|
+
--color-neutral-20-70: var(--color-neutral-30-70);
|
|
352
|
+
--color-neutral-30-60: var(--color-neutral-40-60);
|
|
353
|
+
--color-neutral-40-50: var(--color-neutral-50-50);
|
|
354
|
+
--color-neutral-50-40: var(--color-neutral-60-40);
|
|
355
|
+
--color-neutral-60-30: var(--color-neutral-70-30);
|
|
356
|
+
--color-neutral-70-20: var(--color-neutral-80-20);
|
|
357
|
+
--color-neutral-80-10: var(--color-neutral-90-10);
|
|
358
|
+
--color-neutral-90-00: var(--color-white);
|
|
312
359
|
}
|
|
313
360
|
|
|
314
361
|
:root {
|
|
315
|
-
--color-neutral-10: var(
|
|
316
|
-
|
|
317
|
-
);
|
|
318
|
-
--color-neutral-
|
|
319
|
-
|
|
320
|
-
);
|
|
321
|
-
--color-neutral-
|
|
322
|
-
|
|
323
|
-
);
|
|
324
|
-
--color-neutral-40: var(
|
|
325
|
-
--color-neutral-40-50
|
|
326
|
-
);
|
|
327
|
-
--color-neutral-50: var(
|
|
328
|
-
--color-neutral-50-40
|
|
329
|
-
);
|
|
330
|
-
--color-neutral-60: var(
|
|
331
|
-
--color-neutral-60-30
|
|
332
|
-
);
|
|
333
|
-
--color-neutral-70: var(
|
|
334
|
-
--color-neutral-70-20
|
|
335
|
-
);
|
|
336
|
-
--color-neutral-80: var(
|
|
337
|
-
--color-neutral-80-10
|
|
338
|
-
);
|
|
339
|
-
--color-neutral-90: var(
|
|
340
|
-
--color-neutral-90-00
|
|
341
|
-
);
|
|
362
|
+
--color-neutral-10: var(--color-neutral-10-90);
|
|
363
|
+
--color-neutral-20: var(--color-neutral-20-80);
|
|
364
|
+
--color-neutral-30: var(--color-neutral-30-70);
|
|
365
|
+
--color-neutral-40: var(--color-neutral-40-60);
|
|
366
|
+
--color-neutral-50: var(--color-neutral-50-50);
|
|
367
|
+
--color-neutral-60: var(--color-neutral-60-40);
|
|
368
|
+
--color-neutral-70: var(--color-neutral-70-30);
|
|
369
|
+
--color-neutral-80: var(--color-neutral-80-20);
|
|
370
|
+
--color-neutral-90: var(--color-neutral-90-10);
|
|
342
371
|
}
|
|
343
372
|
|
|
344
373
|
/* ------------------------------------------------------------------------------ *//* -----------------------------------PRIMARY------------------------------------ */
|
|
@@ -1210,7 +1239,8 @@
|
|
|
1210
1239
|
|
|
1211
1240
|
/* ------------------------------------------------------------------------------ *//* -----------------------------PAGE BACKGROUND----------------------------- */
|
|
1212
1241
|
/* KDLS wrote both of these as literals. They are the palette values they always meant:
|
|
1213
|
-
|
|
1242
|
+
--color-neutral-10 in the light theme (#ebebeb since the eleven-step ramp; it was
|
|
1243
|
+
#f2f2f2), and --color-black in the dark one. */
|
|
1214
1244
|
:root {
|
|
1215
1245
|
--page-bg-color: var(--color-neutral-10);
|
|
1216
1246
|
}
|
|
@@ -2407,7 +2437,7 @@
|
|
|
2407
2437
|
--color-neutral-20-on: var(--color-neutral-90);
|
|
2408
2438
|
--color-neutral-30-on: var(--color-neutral-90);
|
|
2409
2439
|
--color-neutral-40-on: var(--color-neutral-90);
|
|
2410
|
-
--color-neutral-50-on: var(--color-
|
|
2440
|
+
--color-neutral-50-on: var(--color-neutral-90);
|
|
2411
2441
|
--color-neutral-60-on: var(--color-neutral-10);
|
|
2412
2442
|
--color-neutral-70-on: var(--color-neutral-10);
|
|
2413
2443
|
--color-neutral-80-on: var(--color-neutral-10);
|
|
@@ -2526,7 +2556,7 @@
|
|
|
2526
2556
|
--color-neutral-10-on: var(--color-neutral-90);
|
|
2527
2557
|
--color-neutral-20-on: var(--color-neutral-90);
|
|
2528
2558
|
--color-neutral-30-on: var(--color-neutral-90);
|
|
2529
|
-
--color-neutral-40-on: var(--color-
|
|
2559
|
+
--color-neutral-40-on: var(--color-neutral-90);
|
|
2530
2560
|
--color-neutral-50-on: var(--color-neutral-10);
|
|
2531
2561
|
--color-neutral-60-on: var(--color-neutral-10);
|
|
2532
2562
|
--color-neutral-70-on: var(--color-neutral-10);
|
package/package.json
CHANGED