@kolkrabbi/kol-theme 0.31.0 → 0.31.2

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.
@@ -34,15 +34,19 @@
34
34
  gap: var(--kol-spacing-1);
35
35
  width: 100%;
36
36
  }
37
- /* REST AND OPEN ARE THE ONLY STATES (2026-07-15 ruling, re-called 2026-08-09).
38
- * The trigger wears button chrome, and button chrome hovers — so every
39
- * kol-btn variant hover is PINNED BACK TO REST here. This sheet loads after
40
- * atoms in the same layer, so the tie resolves to these rules. */
41
- .kol-dd-trigger.kol-btn-primary:hover {
37
+ /* REST AND OPEN ARE THE ONLY STATES (2026-07-15 ruling, re-called twice
38
+ * 2026-08-09). The trigger wears button chrome, and button chrome hovers AND
39
+ * presses — so every kol-btn variant :hover and :active is PINNED BACK TO
40
+ * REST here. The :not(:disabled) carries the weight of the atoms :active
41
+ * selectors; this sheet loads after atoms in the same layer, so ties resolve
42
+ * to these rules. */
43
+ .kol-dd-trigger.kol-btn-primary:not(:disabled):hover,
44
+ .kol-dd-trigger.kol-btn-primary:not(:disabled):active {
42
45
  background: var(--kol-surface-secondary);
43
46
  color: var(--kol-surface-on-primary);
44
47
  }
45
- .kol-dd-trigger.kol-btn-outline:hover {
48
+ .kol-dd-trigger.kol-btn-outline:not(:disabled):hover,
49
+ .kol-dd-trigger.kol-btn-outline:not(:disabled):active {
46
50
  background: transparent;
47
51
  color: var(--kol-surface-on-primary);
48
52
  border-color: var(--kol-oq-16);
@@ -51,7 +55,11 @@
51
55
  * The trigger reserves the widest option's width by stacking every label in
52
56
  * one grid cell (hidden ghosts), so the panel — pinned to the trigger by
53
57
  * matchReferenceWidth — is exactly as wide as the trigger at every value. */
54
- .kol-dd-label { display: inline-grid; min-width: 0; }
58
+ /* text-align: the trigger is a real <button>, and the UA stylesheet centers
59
+ * button text — the stretched label span then centers inside the widest-ghost
60
+ * cell (a value floating at a random indent per list). Pin it to the leading
61
+ * edge, Input's model. */
62
+ .kol-dd-label { display: inline-grid; min-width: 0; text-align: start; }
55
63
  .kol-dd-label > span { grid-area: 1 / 1; white-space: nowrap; }
56
64
  .kol-dd-ghost { visibility: hidden; }
57
65
  .kol-dd-caret {
@@ -565,19 +565,42 @@
565
565
  overflow-wrap: anywhere;
566
566
  }
567
567
 
568
- /* A MULTI-VALUE FIELD IS A LIST WITH A CEILING (2026-08-01). Stacked one per
569
- * line, and capped at roughly eight rows before it scrolls in place a doc
570
- * with fifteen `sources` would otherwise push its own article fifteen lines
571
- * down and turn the metadata panel into the page. */
568
+ /* A MULTI-VALUE FIELD IS A LIST, one per line. Its 2026-08-01 scroll ceiling
569
+ * (11rem + overscroll contain per field) is REPEALED 2026-08-09per-field
570
+ * scrollboxes captured the page wheel on the way down; the cap lives on the
571
+ * WHOLE panel now (.docs-frontmatter-body--capped below). */
572
572
  .docs-frontmatter-list {
573
573
  display: flex;
574
574
  flex-direction: column;
575
575
  gap: var(--kol-spacing-1);
576
- max-height: 11rem;
577
- overflow-y: auto;
578
- overscroll-behavior: contain;
579
576
  }
580
577
 
578
+ /* THE PANEL COLLAPSES, THE PAGE SCROLLS (2026-08-09 user call). One cap on
579
+ * the whole panel behind a fade, expanded in normal flow via the toggle —
580
+ * zero scroll regions inside the panel. */
581
+ .docs-frontmatter-body { position: relative; }
582
+ .docs-frontmatter-body--capped {
583
+ max-height: 20rem;
584
+ overflow: hidden;
585
+ }
586
+ .docs-frontmatter-fade {
587
+ position: absolute;
588
+ inset-inline: 0;
589
+ bottom: 0;
590
+ height: 4rem;
591
+ background: linear-gradient(to bottom, transparent, var(--kol-surface-primary));
592
+ pointer-events: none;
593
+ }
594
+ /* Toggle layout only — type/color ride kol-helper-12 text-meta in JSX. */
595
+ .docs-frontmatter-toggle {
596
+ display: flex;
597
+ align-items: center;
598
+ gap: var(--kol-spacing-2);
599
+ margin-block-start: var(--kol-spacing-2);
600
+ cursor: pointer;
601
+ }
602
+ .docs-frontmatter-toggle:hover { color: var(--kol-surface-on-primary); }
603
+
581
604
  /* `.tag` was the Tag component's base class until it was rebuilt on Pill's
582
605
  * model (2026-08-01) and the scheme became `kol-tag`. The selector has matched
583
606
  * nothing since. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolkrabbi/kol-theme",
3
- "version": "0.31.0",
3
+ "version": "0.31.2",
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",