@kolkrabbi/kol-component 0.138.0 → 0.140.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolkrabbi/kol-component",
3
- "version": "0.138.0",
3
+ "version": "0.140.0",
4
4
  "description": "KOL design-system components — atoms through organisms, emitting canonical kol-* classes. Pairs with @kolkrabbi/kol-theme for styling.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -58,7 +58,17 @@ const BOX = {
58
58
  /* typeface's card is a FIXED 500px tall specimen board, not a ratio — the
59
59
  * shipped item is `h-[500px]`, and a ratio re-crops the glyph at every
60
60
  * column width, which is the one thing a specimen must not do. */
61
- showcaseCanvas: { layout: 'canvas', border: 'var(--kol-fg-08)', bg: 'var(--kol-surface-primary)', pad: 'var(--kol-pad-card-lg)', height: 500 },
61
+ /* REST COLOURS ONLY (TypefaceCardRestSkin, kol-website 2026-08-30): `border`
62
+ * and `bg` are showcase's, so a typeface card sits on the same rest skin as a
63
+ * work card. `layout`, `pad`, `height`, the RATIO, REVEAL_BG, MEDIA and every
64
+ * hover treatment are untouched and deliberately different.
65
+ *
66
+ * NOT derived with a spread. The row's version of this ask was resolved that
67
+ * way and it carried pad and rung along uninvited, then missed `FILL` because
68
+ * it is keyed by variant NAME — a second ticket to undo. `RATIO`, `REVEAL_BG`
69
+ * and `MEDIA` here are separate name-keyed maps too; a spread cannot reach
70
+ * them either. Two values, set by hand. */
71
+ showcaseCanvas: { layout: 'canvas', border: 'var(--kol-fg-04)', bg: null, pad: 'var(--kol-pad-card-lg)', height: 500 },
62
72
  }
63
73
 
64
74
  /* HOVER is a bg STEP on the opaque tier, per 05-control-chrome.md's state model
@@ -37,10 +37,6 @@ import ContentText from './ContentText.jsx'
37
37
  /* ruled row boxes per variant (the §2 review) — paddings/gaps spell the
38
38
  * --kol-spacing-* tokens (2=8 · 3=12 · 4=16 · 6=24), never a literal */
39
39
  const S2 = 'var(--kol-spacing-2)', S3 = 'var(--kol-spacing-3)', S4 = 'var(--kol-spacing-4)', S6 = 'var(--kol-spacing-6)'
40
- /* the showcase SKIN — fill, frame, hover, pad, rung. Named so the column
41
- * arrangement can derive from it instead of restating it (TypefaceRowSkin). */
42
- const BOX_SHOWCASE = { thumb: 'fill', ratio: '1 / 1', pad: S4, gap: S4, frame: 'transparent', frameHover: 'var(--kol-fg-08)', bg: 'var(--kol-surface-secondary)', minH: 168, align: 'items-stretch', thumbRadius: 'var(--kol-radius-xs)', thumbBorder: false }
43
-
44
40
  const BOX = {
45
41
  /* NO hover wash (user 2026-08-29, on the variant-reference page: "makes a
46
42
  * grey background, remove it"). The default row is a bare ruled line — a
@@ -64,7 +60,7 @@ const BOX = {
64
60
  * the content height (136 in a 168 row) with no hairline, the frame steps
65
61
  * transparent → fg-08 on hover ("0 → 16 is a big jump"). No md step: the rows
66
62
  * were approved at their base values. */
67
- showcase: BOX_SHOWCASE,
63
+ showcase: { thumb: 'fill', ratio: '1 / 1', pad: S4, gap: S4, frame: 'transparent', frameHover: 'var(--kol-fg-08)', bg: 'var(--kol-surface-secondary)', minH: 168, align: 'items-stretch', thumbRadius: 'var(--kol-radius-xs)', thumbBorder: false },
68
64
  /* typeface's row is a COLUMN, not a line: a header (name/styles left,
69
65
  * classification/year right) with a full-width specimen band under it. The
70
66
  * shipped item is `flex-col gap-6`, and forcing it into the horizontal
@@ -80,7 +76,19 @@ const BOX = {
80
76
  * differs: no thumb, and `column` stacks the band under the text instead of
81
77
  * laying a thumb beside it. That arrangement is the only reason this key
82
78
  * exists; `variant="typeface"` and `layout="column"` both resolve here. */
83
- showcaseCanvas: { ...BOX_SHOWCASE, thumb: 0, column: true, align: 'items-start' },
79
+ showcaseCanvas: { thumb: 0, ratio: '1 / 1', pad: S6, gap: S6, column: true, minH: 160, align: 'items-start',
80
+ /* ONLY the fill and the frame come from showcase (TypefaceRowSkinCorrection,
81
+ * kol-website 2026-08-30). 0.138.0 derived the whole box with a spread and
82
+ * carried `pad` 24 → 16 and `minH` 160 → 168 with it — neither was asked for,
83
+ * and both were deliberate for a row whose content is a full-width specimen
84
+ * band. The ask was two values. It is two values.
85
+ *
86
+ * The spread also could not reach `FILL` in ContentText, which is keyed by
87
+ * variant NAME — so the two boxes agreed on every number and still disagreed
88
+ * about the vertical spread. Deriving one box from another while a second map
89
+ * is keyed by name is the drift the derive was meant to end. */
90
+ bg: 'var(--kol-surface-secondary)', frame: 'transparent', frameHover: 'var(--kol-fg-08)',
91
+ hover: 'color-mix(in srgb, var(--kol-surface-on-primary) 1%, transparent)' },
84
92
  }
85
93
 
86
94
  /* `default` → `file` (user 2026-08-29). The variant was named after being the