@kolkrabbi/kol-component 0.83.0 → 0.84.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.84.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",
|
|
@@ -20,7 +20,7 @@ import { minHeightClass } from './sectionHeights.js'
|
|
|
20
20
|
* `light` / `dark` pinned; omit to inherit. Stamps `data-theme` on the root and
|
|
21
21
|
* paints its surface — every token inside resolves to the other theme's.
|
|
22
22
|
* @param {'full'|'80'|'60'|string} [height='60'] min-height on the family's ladder — full = 100dvh,
|
|
23
|
-
* 80 = 70svh / 80vh, 60 = 50svh / 60vh (default); content stays vertically centred inside it
|
|
23
|
+
* 80 = 70svh / 80vh, 60 = 50svh / 60vh (default), 40 = 35svh / 40vh; content stays vertically centred inside it
|
|
24
24
|
* @param {{title, icon, visual, description, href, backgroundColor, imageAspectRatio}[]} features
|
|
25
25
|
* @param {ReactNode} label · headline · body the header (heading-03 + mono lede by default)
|
|
26
26
|
* @param {ReactNode} actions centred action row under the cards
|
|
@@ -16,7 +16,7 @@ import { minHeightClass } from './sectionHeights.js'
|
|
|
16
16
|
* way to render SectionText. FoundryCTA is its deprecated alias.
|
|
17
17
|
*
|
|
18
18
|
* @param {'full'|'80'|'60'|string} [height='60'] min-height on the family's ladder — full = 100dvh,
|
|
19
|
-
* 80 = 70svh / 80vh, 60 = 50svh / 60vh (default); content stays vertically centred inside it
|
|
19
|
+
* 80 = 70svh / 80vh, 60 = 50svh / 60vh (default), 40 = 35svh / 40vh; content stays vertically centred inside it
|
|
20
20
|
* @param {'editorial'|'centered'} variant
|
|
21
21
|
* @param {ReactNode} headline · body · actions centered: the SectionText slots
|
|
22
22
|
* @param {ReactNode} eyebrow left-column display wordmark (kol-sans-display-01)
|
|
@@ -12,7 +12,7 @@ import { minHeightClass } from './sectionHeights.js'
|
|
|
12
12
|
* @param {ReactNode} label · headline · body · actions the header (SectionText)
|
|
13
13
|
* @param {string} [headlineSize='heading-02']
|
|
14
14
|
* @param {'full'|'80'|'60'|string} [height='60'] min-height on the family's ladder — full = 100dvh,
|
|
15
|
-
* 80 = 70svh / 80vh, 60 = 50svh / 60vh (default); content stays vertically centred inside it
|
|
15
|
+
* 80 = 70svh / 80vh, 60 = 50svh / 60vh (default), 40 = 35svh / 40vh; content stays vertically centred inside it
|
|
16
16
|
* @param {{ q: ReactNode, a: ReactNode, meta?: ReactNode }[]} items
|
|
17
17
|
* @param {boolean} [singleOpen=false] opening one panel closes the others
|
|
18
18
|
* @param {number} [defaultOpen] index open on mount (singleOpen) — omit for all closed
|
|
@@ -18,6 +18,7 @@ const HEIGHTS = {
|
|
|
18
18
|
full: 'h-dvh',
|
|
19
19
|
80: 'h-[70svh] md:h-[80vh]',
|
|
20
20
|
60: 'h-[50svh] md:h-[60vh]',
|
|
21
|
+
40: 'h-[35svh] md:h-[40vh]',
|
|
21
22
|
screen: 'h-dvh',
|
|
22
23
|
lg: 'h-[440px] md:h-[640px]',
|
|
23
24
|
md: 'h-[320px] md:h-[440px]',
|
|
@@ -32,6 +33,7 @@ const SPLIT_HEIGHTS = {
|
|
|
32
33
|
full: 'min-h-dvh',
|
|
33
34
|
80: 'min-h-[70svh] md:min-h-[80vh]',
|
|
34
35
|
60: 'min-h-[50svh] md:min-h-[60vh]',
|
|
36
|
+
40: 'min-h-[35svh] md:min-h-[40vh]',
|
|
35
37
|
screen: 'min-h-dvh',
|
|
36
38
|
lg: 'min-h-dvh',
|
|
37
39
|
md: 'min-h-[50svh] md:min-h-[60vh]',
|
|
@@ -126,7 +128,7 @@ function MediaLayer({ media }) {
|
|
|
126
128
|
* {string} titleClassName · descriptionClassName · {Object} options carousel only — FeaturedCarousel's
|
|
127
129
|
* seams, forwarded whole (SectionHeroCarouselSeams, 2026-08-26: the foundry index sets each
|
|
128
130
|
* slide's title in the typeface's own font and routes the CTA through the SPA)
|
|
129
|
-
* @param {string} height 'full' | '80' | '60' (viewport tiers) · 'lg' | 'md' | 'screen' (aliases) · or a height class string
|
|
131
|
+
* @param {string} height 'full' | '80' | '60' | '40' (viewport tiers) · 'lg' | 'md' | 'screen' (aliases) · or a height class string
|
|
130
132
|
* @param {ReactNode} label · headline · body · actions the composed text (SectionText)
|
|
131
133
|
* @param {object} slotClass · slotStyle per-slot class / style, forwarded to SectionText (a consumer's reveal seam)
|
|
132
134
|
* @param {string} headlineSize role; defaults per variant — media 'display-04', split 'heading-02'
|
|
@@ -40,7 +40,7 @@ import { minHeightClass } from './sectionHeights.js'
|
|
|
40
40
|
* mutually exclusive in practice — pick one.
|
|
41
41
|
* @param {'right'|'left'|'center'} [align='right'] media side, or centred single column
|
|
42
42
|
* @param {'full'|'80'|'60'|string} [height='60'] min-height on the family's ladder — full = 100dvh,
|
|
43
|
-
* 80 = 70svh / 80vh, 60 = 50svh / 60vh (default); the columns stay vertically centred inside it
|
|
43
|
+
* 80 = 70svh / 80vh, 60 = 50svh / 60vh (default), 40 = 35svh / 40vh; the columns stay vertically centred inside it
|
|
44
44
|
* @param {ReactNode} caption mono caption + gradient veil over the media
|
|
45
45
|
* @param {string} bgImage inline cover background on the section
|
|
46
46
|
* @param {boolean} fullBleed span the full viewport width
|
|
@@ -8,5 +8,8 @@ export const MIN_HEIGHTS = {
|
|
|
8
8
|
full: 'min-h-dvh',
|
|
9
9
|
80: 'min-h-[70svh] md:min-h-[80vh]',
|
|
10
10
|
60: 'min-h-[50svh] md:min-h-[60vh]',
|
|
11
|
+
/* 40 (SectionHeightForty, 2026-08-27): the rung below 60 for a page-foot
|
|
12
|
+
* CTA or a cards band that wants less air; default stays 60 everywhere */
|
|
13
|
+
40: 'min-h-[35svh] md:min-h-[40vh]',
|
|
11
14
|
}
|
|
12
15
|
export const minHeightClass = (height) => MIN_HEIGHTS[height] || height
|