@kolkrabbi/kol-component 0.77.0 → 0.78.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.77.0",
3
+ "version": "0.78.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",
@@ -1,6 +1,7 @@
1
1
  import { MenuItem as MenuTrigger } from './MenuItem.jsx'
2
2
 
3
3
  /**
4
+ * @deprecated 2026-07-02 — alias of MenuItem (menu-family unify). Drops when nobody imports it (04-retirements.md).
4
5
  * MenuPopover — DEPRECATED alias of MenuItem (2026-07-02 menu-family
5
6
  * unification).
6
7
  *
@@ -961,8 +961,9 @@ export default function MediaLibrary({
961
961
  return withProvider(<BrowserShell onSelect={onSelect} />, opts)
962
962
  }
963
963
 
964
- /** Alias — `MediaLibrary variant="modal"`. Kept so existing call sites and the
965
- * fxr editor's `onPick` naming keep working. */
964
+ /** @deprecated 2026-08-01 alias of `MediaLibrary variant="modal"`. Kept so
965
+ * existing call sites and the fxr editor's `onPick` naming keep working;
966
+ * drops when nobody imports it (04-retirements.md). */
966
967
  export function MediaPicker({ open, client, accept = 'all', onClose, onPick }) {
967
968
  return (
968
969
  <MediaLibrary
@@ -976,8 +977,8 @@ export function MediaPicker({ open, client, accept = 'all', onClose, onPick }) {
976
977
  )
977
978
  }
978
979
 
979
- /** Alias — `MediaLibrary variant="page"`. Without `onSelect` the actions offer
980
- * Copy URL + download only, which is the read-only page a brand book wants. */
980
+ /** @deprecated 2026-08-01 alias of `MediaLibrary variant="page"`. Drops when
981
+ * nobody imports it (04-retirements.md). */
981
982
  export function MediaBrowser({ client, accept = 'all', onSelect = null, ...rest }) {
982
983
  return <MediaLibrary variant="page" client={client} accept={accept} onSelect={onSelect} {...rest} />
983
984
  }
@@ -28,7 +28,8 @@ export default function SectionCards({
28
28
  actions,
29
29
  onNavigate,
30
30
  sectionClassName = '',
31
- wrapperClassName = 'w-full flex flex-col gap-8 md:gap-10 max-w-[1400px] mx-auto',
31
+ /* the family's one cap the shell's --kol-container-max ladder (2026-08-26) */
32
+ wrapperClassName = 'w-full flex flex-col gap-8 md:gap-10 max-w-[var(--kol-container-max,var(--kol-content-shell,1800px))] mx-auto',
32
33
  cardsWrapperClassName = 'self-stretch inline-flex flex-col md:flex-row md:h-72 justify-start items-center gap-6',
33
34
  actionsClassName = 'pt-10 pb-24',
34
35
  headerClassName = 'w-full pt-[224px]',
@@ -40,7 +40,7 @@ export default function SectionCta({
40
40
  if (variant === 'centered') {
41
41
  return (
42
42
  <section className={`w-full py-24 ${className}`.trim()}>
43
- <div className="max-w-[900px] mx-auto">
43
+ <div className="max-w-[var(--kol-container-max,var(--kol-content-shell,1800px))] mx-auto">
44
44
  <div className="w-32 h-px bg-fg-24 mx-auto mb-8" />
45
45
  <SectionText
46
46
  align="center"
@@ -65,10 +65,11 @@ export default function SectionCta({
65
65
  ]
66
66
  return (
67
67
  <section className={`w-full bg-auto ${className}`.trim()}>
68
- {/* capped at 1600 and centred (SectionCtaEditorial, user 2026-08-26:
69
- * "I would cap it at 1800 or 1600") the surface stays full width,
70
- * the columns stop hugging the viewport edges at 2000 */}
71
- <div className="w-full max-w-[1600px] mx-auto py-10 flex flex-col md:flex-row items-start gap-12 overflow-hidden">
68
+ {/* the family's ONE cap the shell's --kol-container-max ladder (user
69
+ * ruling 2026-08-26; the 1600 SectionCtaEditorial asked for was a third
70
+ * number beside split's 1200 and cards' 1400) the surface stays full
71
+ * width, the columns stop hugging the viewport edges */}
72
+ <div className="w-full max-w-[var(--kol-container-max,var(--kol-content-shell,1800px))] mx-auto py-10 flex flex-col md:flex-row items-start gap-12 overflow-hidden">
72
73
  <div className="flex-1 self-stretch text-auto kol-sans-display-01">{eyebrow}</div>
73
74
  <div className="flex-1 self-stretch pb-6 md:pt-32 flex flex-col justify-end items-start gap-12">
74
75
  {rows.map((row, i) => (
@@ -25,11 +25,14 @@ export default function SectionFaq({
25
25
  singleOpen = false,
26
26
  defaultOpen,
27
27
  className = '',
28
+ /* the section sits on the family's cap; the list itself is a READING
29
+ * column inside it — a measure is a content decision, not the frame */
28
30
  innerClassName = 'max-w-[var(--kol-content-column)] flex flex-col gap-8',
29
31
  }) {
30
32
  const [open, setOpen] = useState(defaultOpen ?? null)
31
33
  return (
32
34
  <section className={`kol-section-faq w-full px-5 py-16 md:px-8 md:py-24 lg:px-14 ${className}`.trim()}>
35
+ <div className="max-w-[var(--kol-container-max,var(--kol-content-shell,1800px))] mx-auto">
33
36
  <div className={innerClassName}>
34
37
  {(label || headline || body || actions) && (
35
38
  <SectionText label={label} headline={headline} headlineSize={headlineSize} body={body} actions={actions} />
@@ -51,6 +54,7 @@ export default function SectionFaq({
51
54
  </Accordion>
52
55
  )}
53
56
  </div>
57
+ </div>
54
58
  </section>
55
59
  )
56
60
  }
@@ -72,7 +72,10 @@ export default function SectionSplit({
72
72
  className={`kol-section-split px-5 py-16 md:px-8 md:py-24 lg:px-14 lg:py-32 ${bleed} ${className}`.replace(/\s+/g, ' ').trim()}
73
73
  style={sectionStyle}
74
74
  >
75
- <div className={`max-w-[1200px] mx-auto ${grid} ${innerClassName}`.replace(/\s+/g, ' ').trim()}>
75
+ {/* ONE cap for the whole section family (user ruling 2026-08-26): the shell's
76
+ * --kol-container-max ladder — 100% → 1400 → 1600 → 1800. Split ran 1200,
77
+ * cards 1400, the CTA 1600: three numbers for one job, unflagged. */}
78
+ <div className={`max-w-[var(--kol-container-max,var(--kol-content-shell,1800px))] mx-auto ${grid} ${innerClassName}`.replace(/\s+/g, ' ').trim()}>
76
79
  {/* `order` rather than `flex-row-reverse`: the grid is one column below
77
80
  * 901px, and DOM order is what decides the stack there. */}
78
81
  <SectionText