@kolkrabbi/kol-theme 0.52.1 → 0.54.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/kol-components-atoms.css +8 -0
- package/kol-components-organisms.css +51 -29
- package/package.json +1 -1
package/kol-components-atoms.css
CHANGED
|
@@ -533,6 +533,14 @@
|
|
|
533
533
|
}
|
|
534
534
|
|
|
535
535
|
/* track scales with size */
|
|
536
|
+
/* disabled (SettingsPanel, 2026-08-26): the switch had no disabled treatment
|
|
537
|
+
* at all — a control that cannot act in this context read exactly like one
|
|
538
|
+
* that can. Same pair .kol-control:disabled wears. */
|
|
539
|
+
.toggle-switch:disabled {
|
|
540
|
+
opacity: var(--kol-opacity-disabled);
|
|
541
|
+
cursor: not-allowed;
|
|
542
|
+
}
|
|
543
|
+
|
|
536
544
|
.toggle-switch--sm .toggle-switch-indicator { width: 16px; height: 10px; }
|
|
537
545
|
.toggle-switch--sm .toggle-switch-indicator::after { width: 6px; height: 6px; }
|
|
538
546
|
.toggle-switch--lg .toggle-switch-indicator { width: 24px; height: 14px; }
|
|
@@ -262,15 +262,22 @@
|
|
|
262
262
|
*/
|
|
263
263
|
|
|
264
264
|
/* =============================================================================
|
|
265
|
-
*
|
|
265
|
+
* SectionSplit + SectionText (the section family, SectionSet 2026-08-26)
|
|
266
|
+
*
|
|
267
|
+
* `.kol-section-text-{label,pull,body}` are the text block's classes and
|
|
268
|
+
* `.kol-section-split-*` the split's; every `.kol-feature-split-*` selector
|
|
269
|
+
* below is the same rule under the old name, kept ONE release for a consumer's
|
|
270
|
+
* own CSS still pointing at it — dropped at the next major.
|
|
266
271
|
* ============================================================================= */
|
|
267
272
|
|
|
268
|
-
.kol-feature-split
|
|
273
|
+
.kol-feature-split,
|
|
274
|
+
.kol-section-split {
|
|
269
275
|
background: var(--kol-surface-primary);
|
|
270
276
|
color: var(--kol-surface-on-primary);
|
|
271
277
|
}
|
|
272
278
|
|
|
273
|
-
.kol-feature-split-kicker
|
|
279
|
+
.kol-feature-split-kicker,
|
|
280
|
+
.kol-section-text-label {
|
|
274
281
|
font-family: var(--kol-font-family-mono, monospace);
|
|
275
282
|
font-size: 18px;
|
|
276
283
|
font-weight: 600;
|
|
@@ -278,7 +285,8 @@
|
|
|
278
285
|
color: var(--kol-accent-primary);
|
|
279
286
|
}
|
|
280
287
|
|
|
281
|
-
.kol-feature-split-pull
|
|
288
|
+
.kol-feature-split-pull,
|
|
289
|
+
.kol-section-text-pull {
|
|
282
290
|
margin: 0;
|
|
283
291
|
font-family: var(--kol-font-family-sans);
|
|
284
292
|
font-weight: 700;
|
|
@@ -288,7 +296,8 @@
|
|
|
288
296
|
color: var(--kol-surface-on-primary);
|
|
289
297
|
}
|
|
290
298
|
|
|
291
|
-
.kol-feature-split-pull em
|
|
299
|
+
.kol-feature-split-pull em,
|
|
300
|
+
.kol-section-text-pull em {
|
|
292
301
|
font-family: var(--kol-font-family-sans);
|
|
293
302
|
font-feature-settings: "liga", "dlig";
|
|
294
303
|
font-weight: 700;
|
|
@@ -296,7 +305,8 @@
|
|
|
296
305
|
color: var(--kol-accent-primary);
|
|
297
306
|
}
|
|
298
307
|
|
|
299
|
-
.kol-feature-split-body
|
|
308
|
+
.kol-feature-split-body,
|
|
309
|
+
.kol-section-text-body {
|
|
300
310
|
margin: 0;
|
|
301
311
|
font-family: var(--kol-font-family-sans);
|
|
302
312
|
font-weight: 400;
|
|
@@ -305,11 +315,13 @@
|
|
|
305
315
|
color: color-mix(in srgb, var(--kol-surface-on-primary) 72%, transparent);
|
|
306
316
|
}
|
|
307
317
|
|
|
308
|
-
.kol-feature-split-meta
|
|
318
|
+
.kol-feature-split-meta,
|
|
319
|
+
.kol-section-split-meta {
|
|
309
320
|
border-top: 1px solid color-mix(in srgb, var(--kol-surface-on-primary) 8%, transparent);
|
|
310
321
|
}
|
|
311
322
|
|
|
312
|
-
.kol-feature-split-meta-num
|
|
323
|
+
.kol-feature-split-meta-num,
|
|
324
|
+
.kol-section-split-meta-num {
|
|
313
325
|
font-family: var(--kol-font-family-sans);
|
|
314
326
|
font-weight: 900;
|
|
315
327
|
font-size: 32px;
|
|
@@ -318,7 +330,8 @@
|
|
|
318
330
|
color: var(--kol-surface-on-primary);
|
|
319
331
|
}
|
|
320
332
|
|
|
321
|
-
.kol-feature-split-meta-label
|
|
333
|
+
.kol-feature-split-meta-label,
|
|
334
|
+
.kol-section-split-meta-label {
|
|
322
335
|
font-family: var(--kol-font-family-mono, monospace);
|
|
323
336
|
font-size: 10px;
|
|
324
337
|
font-weight: 600;
|
|
@@ -326,7 +339,8 @@
|
|
|
326
339
|
color: color-mix(in srgb, var(--kol-surface-on-primary) 48%, transparent);
|
|
327
340
|
}
|
|
328
341
|
|
|
329
|
-
.kol-feature-split-visual img
|
|
342
|
+
.kol-feature-split-visual img,
|
|
343
|
+
.kol-section-split-visual img {
|
|
330
344
|
width: 100%;
|
|
331
345
|
height: 100%;
|
|
332
346
|
object-fit: cover;
|
|
@@ -341,20 +355,25 @@
|
|
|
341
355
|
* 2026-08-12) — one motion vocabulary, not two. Motion chrome is DS CSS, never
|
|
342
356
|
* a JSX utility (the ComponentTailwindSourceTrap law). The frame's own
|
|
343
357
|
* overflow-hidden + radius clip the scale. */
|
|
344
|
-
.kol-feature-split-visual.is-hoverable > :first-child
|
|
358
|
+
.kol-feature-split-visual.is-hoverable > :first-child,
|
|
359
|
+
.kol-section-split-visual.is-hoverable > :first-child {
|
|
345
360
|
transition: transform 300ms ease;
|
|
346
361
|
}
|
|
347
362
|
|
|
348
|
-
.kol-feature-split-visual.is-hoverable:hover > :first-child
|
|
363
|
+
.kol-feature-split-visual.is-hoverable:hover > :first-child,
|
|
364
|
+
.kol-section-split-visual.is-hoverable:hover > :first-child {
|
|
349
365
|
transform: scale(1.03);
|
|
350
366
|
}
|
|
351
367
|
|
|
352
368
|
@media (prefers-reduced-motion: reduce) {
|
|
353
|
-
.kol-feature-split-visual.is-hoverable > :first-child
|
|
354
|
-
.kol-
|
|
369
|
+
.kol-feature-split-visual.is-hoverable > :first-child,
|
|
370
|
+
.kol-section-split-visual.is-hoverable > :first-child { transition: none; }
|
|
371
|
+
.kol-feature-split-visual.is-hoverable:hover > :first-child,
|
|
372
|
+
.kol-section-split-visual.is-hoverable:hover > :first-child { transform: none; }
|
|
355
373
|
}
|
|
356
374
|
|
|
357
|
-
.kol-feature-split-visual-veil
|
|
375
|
+
.kol-feature-split-visual-veil,
|
|
376
|
+
.kol-section-split-visual-veil {
|
|
358
377
|
position: absolute;
|
|
359
378
|
inset: 0;
|
|
360
379
|
background: linear-gradient(
|
|
@@ -366,7 +385,8 @@
|
|
|
366
385
|
pointer-events: none;
|
|
367
386
|
}
|
|
368
387
|
|
|
369
|
-
.kol-feature-split-visual-caption
|
|
388
|
+
.kol-feature-split-visual-caption,
|
|
389
|
+
.kol-section-split-visual-caption {
|
|
370
390
|
position: absolute;
|
|
371
391
|
left: 24px;
|
|
372
392
|
bottom: 24px;
|
|
@@ -480,19 +500,20 @@
|
|
|
480
500
|
background: var(--kol-surface-primary);
|
|
481
501
|
}
|
|
482
502
|
|
|
483
|
-
/* The browser is the same body with no card around it — it
|
|
484
|
-
*
|
|
503
|
+
/* The browser is the same body with no card around it — in flow, it takes the
|
|
504
|
+
* width the consumer gives it. Tiles at 260 (MediaLibraryReconcile, kol-r2b2
|
|
505
|
+
* 2026-08-26 — FileList's `minmax(260px, 1fr)`; the picker keeps 10rem
|
|
506
|
+
* because its card is 64rem wide). */
|
|
485
507
|
.kol-media-browser {
|
|
486
508
|
display: flex;
|
|
487
509
|
flex-direction: column;
|
|
488
510
|
width: 100%;
|
|
489
|
-
|
|
490
|
-
--kol-media-tile-min: 10rem;
|
|
511
|
+
--kol-media-tile-min: 16.25rem;
|
|
491
512
|
}
|
|
492
513
|
|
|
493
514
|
.kol-media-grid {
|
|
494
515
|
display: grid;
|
|
495
|
-
gap: var(--kol-spacing-
|
|
516
|
+
gap: var(--kol-spacing-3);
|
|
496
517
|
grid-template-columns: repeat(auto-fill, minmax(var(--kol-media-tile-min), 1fr));
|
|
497
518
|
list-style: none;
|
|
498
519
|
margin: 0;
|
|
@@ -507,25 +528,26 @@
|
|
|
507
528
|
padding: 0;
|
|
508
529
|
}
|
|
509
530
|
|
|
510
|
-
/* One folder row
|
|
511
|
-
*
|
|
512
|
-
*
|
|
513
|
-
*
|
|
531
|
+
/* One folder row — CLICK-TO-ENTER (MediaLibraryReconcile, 2026-08-26): the
|
|
532
|
+
* row is FileList's — icon box · name · trailing chevron-right over a
|
|
533
|
+
* hairline — and clicking it enters the prefix; the breadcrumb steps back.
|
|
534
|
+
* Finder's disclose-in-place chevron (2026-08-01) is gone, not a variant. */
|
|
514
535
|
.kol-media-folder {
|
|
515
536
|
display: flex;
|
|
516
537
|
align-items: center;
|
|
517
|
-
gap: var(--kol-spacing-
|
|
518
|
-
padding
|
|
538
|
+
gap: var(--kol-spacing-3);
|
|
539
|
+
padding: var(--kol-spacing-2) var(--kol-spacing-1);
|
|
540
|
+
border-bottom: 1px solid var(--kol-fg-08);
|
|
519
541
|
border-radius: var(--kol-radius-sm);
|
|
520
542
|
cursor: pointer;
|
|
521
543
|
transition: background-color var(--kol-transition-fast);
|
|
522
544
|
}
|
|
523
545
|
|
|
524
546
|
.kol-media-folder:hover {
|
|
525
|
-
background: var(--kol-
|
|
547
|
+
background: var(--kol-fg-04);
|
|
526
548
|
}
|
|
527
549
|
|
|
528
|
-
/* The path bar rides the FOOT
|
|
550
|
+
/* The picker's path bar rides the FOOT of its card. */
|
|
529
551
|
.kol-media-pathbar {
|
|
530
552
|
display: flex;
|
|
531
553
|
align-items: center;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kolkrabbi/kol-theme",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.54.0",
|
|
4
4
|
"description": "KOL (Kolkrabbi) design-system tokens + base CSS — brand-neutral. The canonical token/cascade layer every other KOL package and consumer builds on.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|