@kolkrabbi/kol-component 0.76.1 → 0.76.3
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.76.
|
|
3
|
+
"version": "0.76.3",
|
|
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",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
* @param {string} [gap='gap-4'] inner rhythm (a Tailwind gap step)
|
|
28
28
|
* @param {ReactNode} children extra slots rendered between body and actions
|
|
29
29
|
* (the split's stats strip)
|
|
30
|
-
* @param {string} labelClass · bodyClass · actionsClass full class overrides
|
|
30
|
+
* @param {string} labelClass · bodyClass · actionsClass full class overrides (label default: the hero's `kol-helper-12 text-meta`)
|
|
31
31
|
* @param {string} className extra classes on the block
|
|
32
32
|
*/
|
|
33
33
|
export const HEADLINE_ROLE = {
|
|
@@ -54,7 +54,11 @@ export default function SectionText({
|
|
|
54
54
|
align = 'start',
|
|
55
55
|
gap = 'gap-4',
|
|
56
56
|
children,
|
|
57
|
-
|
|
57
|
+
/* ONE eyebrow voice across the set (SectionTextLabelVoice, user 2026-08-26:
|
|
58
|
+
* "closer to the hero eyebrow") — the hero's helper-12 / meta, small and
|
|
59
|
+
* quiet, not the split's mono-18 accent kicker. Uppercase stays: that is
|
|
60
|
+
* the eyebrow ROLE (ruled the same day), on `.kol-section-text-eyebrow`. */
|
|
61
|
+
labelClass = 'kol-helper-12 text-meta',
|
|
58
62
|
bodyClass = 'kol-section-text-body',
|
|
59
63
|
actionsClass = 'flex flex-wrap gap-4',
|
|
60
64
|
className = '',
|
|
@@ -176,7 +176,6 @@ export default function SectionHero({
|
|
|
176
176
|
actions={actions}
|
|
177
177
|
align="center"
|
|
178
178
|
gap="gap-6"
|
|
179
|
-
labelClass="kol-helper-12 text-meta"
|
|
180
179
|
bodyClass="kol-sans-body-02 text-body"
|
|
181
180
|
actionsClass="flex flex-wrap gap-4 justify-center"
|
|
182
181
|
className="max-w-[var(--kol-content-column)]"
|
|
@@ -237,7 +236,6 @@ export default function SectionHero({
|
|
|
237
236
|
/* gap-6 — the rhythm every hand-built OverlayGlassPanel hero ran on,
|
|
238
237
|
* so the composed route lands on the same pixels */
|
|
239
238
|
gap="gap-6"
|
|
240
|
-
labelClass="kol-helper-12 text-meta"
|
|
241
239
|
bodyClass="kol-sans-body-02 text-body"
|
|
242
240
|
actionsClass={`flex flex-wrap gap-4${align === 'center' ? ' justify-center' : ''}`}
|
|
243
241
|
className={media == null ? `${panelMaxWidth} mx-auto` : ''}
|
|
@@ -27,6 +27,11 @@ import SectionText from '../molecules/SectionText.jsx'
|
|
|
27
27
|
* @param {ReactNode} media image / video / interactive node for the visual column
|
|
28
28
|
* @param {string} [ratio='4/5'] aspect ratio of the media frame
|
|
29
29
|
* @param {boolean} [mediaHover=false] zoom the media on frame hover (the CardFeatureItem numbers)
|
|
30
|
+
* @param {boolean} [mediaClip=true] the frame clips its media (overflow hidden + radius). `false`
|
|
31
|
+
* for a node that transforms in 3D (a tilt card) — the frame keeps its ratio and radius,
|
|
32
|
+
* the node owns its own clipping (SectionSplitMediaClip, kol-website 2026-08-26: TiltCard's
|
|
33
|
+
* lifted corners were being cut flat). `mediaHover` and a self-animating node are
|
|
34
|
+
* mutually exclusive in practice — pick one.
|
|
30
35
|
* @param {'right'|'left'|'center'} [align='right'] media side, or centred single column
|
|
31
36
|
* @param {ReactNode} caption mono caption + gradient veil over the media
|
|
32
37
|
* @param {string} bgImage inline cover background on the section
|
|
@@ -44,6 +49,7 @@ export default function SectionSplit({
|
|
|
44
49
|
media,
|
|
45
50
|
ratio = '4/5',
|
|
46
51
|
mediaHover = false,
|
|
52
|
+
mediaClip = true,
|
|
47
53
|
align = 'right',
|
|
48
54
|
caption,
|
|
49
55
|
bgImage,
|
|
@@ -93,7 +99,7 @@ export default function SectionSplit({
|
|
|
93
99
|
</SectionText>
|
|
94
100
|
{media && (
|
|
95
101
|
<div
|
|
96
|
-
className={`kol-section-split-visual relative rounded-[var(--kol-radius-sm)] overflow-hidden ${mediaHover ? 'is-hoverable' : ''} ${mediaFirst ? 'order-1' : ''} ${centred ? 'w-full max-w-[640px]' : ''}`.replace(/\s+/g, ' ').trim()}
|
|
102
|
+
className={`kol-section-split-visual relative rounded-[var(--kol-radius-sm)] ${mediaClip ? 'overflow-hidden' : ''} ${mediaHover ? 'is-hoverable' : ''} ${mediaFirst ? 'order-1' : ''} ${centred ? 'w-full max-w-[640px]' : ''}`.replace(/\s+/g, ' ').trim()}
|
|
97
103
|
style={{ aspectRatio: ratio }}
|
|
98
104
|
>
|
|
99
105
|
{media}
|