@kolkrabbi/kol-component 0.94.0 → 0.95.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.95.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",
|
|
@@ -104,6 +104,7 @@ export default function ContentCard({
|
|
|
104
104
|
zoom,
|
|
105
105
|
control,
|
|
106
106
|
controlStart,
|
|
107
|
+
reveal,
|
|
107
108
|
actions,
|
|
108
109
|
expanded = false,
|
|
109
110
|
expandedContent,
|
|
@@ -260,14 +261,21 @@ export default function ContentCard({
|
|
|
260
261
|
{textNode && <div className="kol-card-drawer">{textNode}</div>}
|
|
261
262
|
</>
|
|
262
263
|
) : (
|
|
263
|
-
/* canvas — media fills the frame, plate floats on top
|
|
264
|
+
/* canvas — media fills the frame, plate floats on top. `reveal`
|
|
265
|
+
* (TypefaceCardAndRow, 2026-08-27): on hover the plate and the media
|
|
266
|
+
* fade out and the reveal node fades in — the card owns the
|
|
267
|
+
* choreography (kol-theme `.kol-card.has-reveal`), the consumer owns the
|
|
268
|
+
* node (what it says and which face it wears are never the family's). */
|
|
264
269
|
<>
|
|
265
|
-
<div className="absolute" style={{ inset: 0 }}>
|
|
270
|
+
<div className="kol-card-canvas-media absolute" style={{ inset: 0 }}>
|
|
266
271
|
<ContentMedia ratio={null} {...mediaProps}>{media}</ContentMedia>
|
|
267
272
|
{controlNode}
|
|
268
273
|
{controlStartNode}
|
|
269
274
|
</div>
|
|
270
275
|
{textNode}
|
|
276
|
+
{reveal != null && (
|
|
277
|
+
<div className="kol-card-reveal absolute inset-0 flex items-center justify-center p-8 pointer-events-none" style={{ zIndex: 2 }}>{reveal}</div>
|
|
278
|
+
)}
|
|
271
279
|
</>
|
|
272
280
|
)
|
|
273
281
|
|
|
@@ -290,7 +298,7 @@ export default function ContentCard({
|
|
|
290
298
|
|
|
291
299
|
const common = {
|
|
292
300
|
'data-tags': isHero && Array.isArray(text.tags) && text.tags.length ? text.tags.join(' ') : undefined,
|
|
293
|
-
className: `kol-card group flex ${expanded ? 'flex-row-reverse' : 'flex-col'} ${box.layout === 'drawer' ? 'relative overflow-hidden rounded-[var(--kol-radius-sm)]' : ''} ${framed ? 'overflow-hidden rounded-[var(--kol-radius-sm)]' : ''} ${box.border ? 'border' : ''} ${box.layout === 'canvas' ? 'relative' : ''} ${interactive ? 'cursor-pointer select-none' : ''} ${hoverBg && interactive ? 'kol-content-hover' : ''} ${className}`.trim(),
|
|
301
|
+
className: `kol-card group flex ${box.layout === 'canvas' && reveal != null ? 'has-reveal' : ''} ${expanded ? 'flex-row-reverse' : 'flex-col'} ${box.layout === 'drawer' ? 'relative overflow-hidden rounded-[var(--kol-radius-sm)]' : ''} ${framed ? 'overflow-hidden rounded-[var(--kol-radius-sm)]' : ''} ${box.border ? 'border' : ''} ${box.layout === 'canvas' ? 'relative' : ''} ${interactive ? 'cursor-pointer select-none' : ''} ${hoverBg && interactive ? 'kol-content-hover' : ''} ${className}`.trim(),
|
|
294
302
|
style: {
|
|
295
303
|
/* same reason as ContentRow: rest colours are PROPERTIES, because an
|
|
296
304
|
* inline background/borderColor outranks the hover class and the step
|
|
@@ -88,13 +88,16 @@ const RAMP = {
|
|
|
88
88
|
row: { title: 'kol-mono-12 text-body uppercase truncate', body: 'kol-sans-heading-03 leading-tight text-emphasis truncate', meta: 'kol-mono-12 text-body', date: 'kol-mono-12 text-meta', tags: 'flex flex-wrap items-center gap-1.5' },
|
|
89
89
|
},
|
|
90
90
|
typeface: {
|
|
91
|
+
/* RULED ON SCREEN (TypefaceCardAndRow, kol-website 2026-08-27): name and
|
|
92
|
+
* classification are FULL ink, the year steps to 64; the card's title is the
|
|
93
|
+
* row's title string — one title voice for the typeface family. Ink only. */
|
|
91
94
|
/* same as the row: the SPECIMEN carries the emphasis on a typeface card,
|
|
92
95
|
* so the name steps down. The glyph is what you came to look at. */
|
|
93
|
-
card: { title: 'kol-mono-
|
|
96
|
+
card: { title: 'kol-mono-14 uppercase text-emphasis', body: 'kol-mono-12 text-meta', date: 'kol-mono-12 text-meta' },
|
|
94
97
|
/* the name steps DOWN to `body`: on a typeface row the SPECIMEN is the
|
|
95
98
|
* thing you came for and it carries the one emphasis. Two full inks in one
|
|
96
99
|
* block is the ladder broken, and the measurement caught it. */
|
|
97
|
-
row: { title: 'kol-mono-14 uppercase text-
|
|
100
|
+
row: { title: 'kol-mono-14 uppercase text-emphasis', body: 'kol-mono-12 text-meta', detail: 'kol-mono-14 text-emphasis', date: 'kol-mono-12 text-fg-64' },
|
|
98
101
|
},
|
|
99
102
|
}
|
|
100
103
|
|