@kolkrabbi/kol-component 0.155.0 → 0.157.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.157.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",
|
|
@@ -283,7 +283,16 @@ export default function ContentCard({
|
|
|
283
283
|
</>
|
|
284
284
|
) : box.layout === 'fill-card' ? (
|
|
285
285
|
<>
|
|
286
|
-
|
|
286
|
+
{/* THE SPLIT HAS A NARROW RUNG (ContentCardExpandedSplitStacks, kol-mirror
|
|
287
|
+
* 2026-09-01): below `md` the expanded halves STACK — media on top at
|
|
288
|
+
* its own ratio, content full width under it. Side by side, a 350px
|
|
289
|
+
* card gave each half 174 and the prose 126, and one module's specs
|
|
290
|
+
* ran 1177px tall. The 50% half is a `md:` class now, not an inline
|
|
291
|
+
* style — an inline flex-basis has no breakpoint. */}
|
|
292
|
+
<div
|
|
293
|
+
className={`flex-1 min-w-0 min-h-0 relative overflow-hidden ${expanded ? 'max-md:flex-none max-md:aspect-[var(--kol-card-ratio)] md:flex-[0_0_50%]' : ''}`}
|
|
294
|
+
style={{ ...(expanded ? { '--kol-card-ratio': r ?? '3 / 2' } : null), ...(doFlip ? { perspective: '1000px' } : null) }}
|
|
295
|
+
>
|
|
287
296
|
{/* the FLIP (print): PrintGridCard's turn, verbatim — preserve-3d,
|
|
288
297
|
* 0.4s ease-out, rotateY(180deg) while `selected`; the consumer's
|
|
289
298
|
* `onClick` reads the rect off `event.currentTarget` for its
|
|
@@ -356,7 +365,7 @@ export default function ContentCard({
|
|
|
356
365
|
|
|
357
366
|
const common = {
|
|
358
367
|
'data-tags': isHero && Array.isArray(text.tags) && text.tags.length ? text.tags.join(' ') : undefined,
|
|
359
|
-
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' : ''} ${interactive && box.frameHover ? 'kol-content-hover-frame' : ''} ${className}`.trim(),
|
|
368
|
+
className: `kol-card group flex ${box.layout === 'canvas' && reveal != null ? 'has-reveal' : ''} ${expanded ? 'flex-col md: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' : ''} ${interactive && box.frameHover ? 'kol-content-hover-frame' : ''} ${className}`.trim(),
|
|
360
369
|
style: {
|
|
361
370
|
/* same reason as ContentRow: rest colours are PROPERTIES, because an
|
|
362
371
|
* inline background/borderColor outranks the hover class and the step
|
|
@@ -49,6 +49,11 @@ import { minHeightClass } from './sectionHeights.js'
|
|
|
49
49
|
* @param {string} inputId id override for the email input (default useId-generated)
|
|
50
50
|
* @param {object} slotClass · slotStyle per-slot class / style on the SectionText (reveal seam)
|
|
51
51
|
* @param {'sm'|'md'|'lg'} [controlSize='md'] size rung for BOTH the email Input and the submit
|
|
52
|
+
* @param {string} [submitVariant='primary'] the submit Button's variant (SectionNewsletterSubmitVariant,
|
|
53
|
+
* kol-website 2026-09-01): `primary` is the page's second surface, which on an inverse band is
|
|
54
|
+
* dark-on-dark and reads as disabled — a consumer on a dark band passes `secondary`, the
|
|
55
|
+
* ink-on-page inversion. A prop, not a background read: the organism does not know which
|
|
56
|
+
* backgrounds are dark, and this lands the way `controlSize` did. Default moves nothing.
|
|
52
57
|
* Button (SectionNewsletterControlSize, kol-website 2026-08-31). The pair was hardcoded md with no
|
|
53
58
|
* seam, so a page that sets `size="lg"` on every other call-site button could not match it here and
|
|
54
59
|
* the newsletter read visibly smaller directly beneath them. Default is today's md — nothing moves.
|
|
@@ -66,6 +71,7 @@ import { minHeightClass } from './sectionHeights.js'
|
|
|
66
71
|
export default function SectionNewsletter({
|
|
67
72
|
height = '40',
|
|
68
73
|
controlSize = 'md',
|
|
74
|
+
submitVariant = 'primary',
|
|
69
75
|
fullBleed = false,
|
|
70
76
|
theme,
|
|
71
77
|
background,
|
|
@@ -171,7 +177,7 @@ export default function SectionNewsletter({
|
|
|
171
177
|
/>
|
|
172
178
|
<Button
|
|
173
179
|
type="submit"
|
|
174
|
-
variant=
|
|
180
|
+
variant={submitVariant}
|
|
175
181
|
size={controlSize}
|
|
176
182
|
disabled={status === 'submitting'}
|
|
177
183
|
className="w-full sm:w-auto"
|