@kolkrabbi/kol-component 0.72.0 → 0.73.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.
|
|
3
|
+
"version": "0.73.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",
|
|
@@ -13,7 +13,9 @@
|
|
|
13
13
|
* Every default class is a SEAM (the ContentText pattern): pass `labelClass`
|
|
14
14
|
* / `bodyClass` / `actionsClass` to replace the string whole — that is how
|
|
15
15
|
* SectionHero's eyebrow and SectionCta's rows wear their own voices on the
|
|
16
|
-
* same anatomy.
|
|
16
|
+
* same anatomy. THE LABEL IS UPPERCASE BY ROLE (user ruling 2026-08-26):
|
|
17
|
+
* an eyebrow is caps by design language, so the span carries
|
|
18
|
+
* `.kol-section-text-eyebrow`; headline, body and actions render as authored.
|
|
17
19
|
*
|
|
18
20
|
* @param {ReactNode} label section header / kicker
|
|
19
21
|
* @param {ReactNode} headline the heading
|
|
@@ -60,7 +62,9 @@ export default function SectionText({
|
|
|
60
62
|
const alignCls = align === 'center' ? 'items-center text-center' : 'items-start text-left'
|
|
61
63
|
return (
|
|
62
64
|
<div className={`kol-section-text flex flex-col ${gap} ${alignCls} ${className}`.replace(/\s+/g, ' ').trim()}>
|
|
63
|
-
{
|
|
65
|
+
{/* `kol-section-text-eyebrow` = uppercase by ROLE (kol-theme ≥0.55.0);
|
|
66
|
+
* `labelClass` is the voice riding beside it */}
|
|
67
|
+
{label && <span className={`kol-section-text-eyebrow ${labelClass}`}>{label}</span>}
|
|
64
68
|
{headline && <Headline className={headlineClass ?? (HEADLINE_ROLE[headlineSize] ?? HEADLINE_ROLE['heading-02'])}>{headline}</Headline>}
|
|
65
69
|
{body && (typeof body === 'string' ? <p className={bodyClass}>{body}</p> : <div className={bodyClass}>{body}</div>)}
|
|
66
70
|
{children}
|
|
@@ -11,7 +11,7 @@ import SectionText, { HEADLINE_ROLE } from '../molecules/SectionText.jsx'
|
|
|
11
11
|
* Every block is presence-gated (header on any text prop, cards on
|
|
12
12
|
* `features.length`, actions on `actions`), so omitted slots emit no empty
|
|
13
13
|
* nodes. Card links are plain anchors; pass `onNavigate` to intercept same-tab
|
|
14
|
-
* navigations in an SPA.
|
|
14
|
+
* navigations in an SPA. The label is uppercase by role; the rest as authored.
|
|
15
15
|
*
|
|
16
16
|
* @param {{title, icon, visual, description, href, backgroundColor, imageAspectRatio}[]} features
|
|
17
17
|
* @param {ReactNode} label · headline · body the header (heading-03 + mono lede by default)
|
|
@@ -6,7 +6,7 @@ import SectionText from '../molecules/SectionText.jsx'
|
|
|
6
6
|
* label-over-value rows, each a `SectionText` (label in the helper voice,
|
|
7
7
|
* value as a heading-01; a row with `href` renders its value as a link).
|
|
8
8
|
* `CtaGlobal` is this component under its old name (alias kept). Columns sit
|
|
9
|
-
* side by side from `md` up and stack below.
|
|
9
|
+
* side by side from `md` up and stack below. Row labels are uppercase by role.
|
|
10
10
|
*
|
|
11
11
|
* @param {ReactNode} eyebrow left-column display wordmark (kol-sans-display-01)
|
|
12
12
|
* @param {ReactNode} promptLabel prompt-row label
|
|
@@ -15,7 +15,7 @@ import SectionText from '../molecules/SectionText.jsx'
|
|
|
15
15
|
* `meta` and `actions` are mutually exclusive by intent (pick one); `actions`
|
|
16
16
|
* is conventionally a row of KOL Buttons. The media column renders only when
|
|
17
17
|
* `media` is passed, and `caption` gates both the gradient veil and the
|
|
18
|
-
* caption element.
|
|
18
|
+
* caption element. The label is uppercase by role; the rest renders as authored.
|
|
19
19
|
*
|
|
20
20
|
* @param {ReactNode} label mono eyebrow above the headline (accent)
|
|
21
21
|
* @param {ReactNode} headline display pull; `<em>` renders as the italic accent
|