@sprintup-cms/sdk 1.9.7 → 1.9.9

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.
@@ -575,20 +575,24 @@ function BentoHeroBlock({ block }) {
575
575
  )
576
576
  ] })
577
577
  ] }),
578
- cards.length > 0 && /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 auto-rows-fr", children: cards.map((card, i) => /* @__PURE__ */ jsxs(
579
- "div",
580
- {
581
- className: `rounded-2xl border border-border p-6 flex flex-col gap-3 transition-shadow hover:shadow-md ${card.featured ? "lg:col-span-2 row-span-1" : ""}`,
582
- style: { background: card.background || "var(--muted)" },
583
- children: [
584
- card.icon && /* @__PURE__ */ jsx("span", { className: "text-2xl", role: "img", "aria-label": card.title, children: card.icon }),
585
- card.image && /* @__PURE__ */ jsx("img", { src: card.image, alt: card.imageAlt || card.title || "Feature illustration", className: "w-full rounded-lg object-cover mb-1", style: { maxHeight: card.featured ? "180px" : "120px" } }),
586
- card.title && /* @__PURE__ */ jsx("h3", { className: "font-semibold text-sm", children: card.title }),
587
- card.description && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground leading-relaxed", children: card.description })
588
- ]
589
- },
590
- i
591
- )) })
578
+ cards.length > 0 && /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4", style: { gridAutoRows: "180px" }, children: cards.map((card, i) => {
579
+ const colSpan = card.featured ? 2 : 1;
580
+ const rowSpan = card.rows || 1;
581
+ return /* @__PURE__ */ jsxs(
582
+ "div",
583
+ {
584
+ style: { gridColumn: `span ${colSpan}`, gridRow: `span ${rowSpan}`, background: card.background || "var(--muted)" },
585
+ className: "rounded-2xl border border-border p-6 flex flex-col gap-3 transition-shadow hover:shadow-md",
586
+ children: [
587
+ card.icon && /* @__PURE__ */ jsx("span", { className: "text-2xl", role: "img", "aria-label": card.title, children: card.icon }),
588
+ card.image && /* @__PURE__ */ jsx("img", { src: card.image, alt: card.imageAlt || card.title || "Feature illustration", className: "w-full rounded-lg object-cover mb-1", style: { maxHeight: card.featured ? "180px" : "120px" } }),
589
+ card.title && /* @__PURE__ */ jsx("h3", { className: "font-semibold text-sm", children: card.title }),
590
+ card.description && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground leading-relaxed", children: card.description })
591
+ ]
592
+ },
593
+ i
594
+ );
595
+ }) })
592
596
  ] }) });
593
597
  }
594
598
  function MinimalHeroBlock({ block }) {
@@ -877,31 +881,37 @@ function TwoColumnBlock({ block }) {
877
881
  function BentoGridBlock({ block }) {
878
882
  const d = getData(block);
879
883
  const items = Array.isArray(d.items) ? d.items : [];
880
- const sizeClass = {
881
- small: "col-span-1 row-span-1",
882
- wide: "col-span-2 row-span-1",
883
- tall: "col-span-1 row-span-2",
884
- large: "col-span-2 row-span-2"
884
+ const SPAN = {
885
+ small: [1, 1],
886
+ wide: [2, 1],
887
+ tall: [1, 2],
888
+ large: [2, 2],
889
+ "wide-2": [2, 2],
890
+ "wide-3": [2, 3]
885
891
  };
886
892
  return /* @__PURE__ */ jsxs("section", { className: "py-12", children: [
887
893
  (d.title || d.subtitle) && /* @__PURE__ */ jsxs("div", { className: "mb-8", children: [
888
894
  d.title && /* @__PURE__ */ jsx("h2", { className: "text-3xl font-semibold tracking-tight", children: d.title }),
889
895
  d.subtitle && /* @__PURE__ */ jsx("p", { className: "text-muted-foreground mt-1", children: d.subtitle })
890
896
  ] }),
891
- /* @__PURE__ */ jsx("div", { className: "grid grid-cols-4 auto-rows-[180px] gap-3", children: items.map((item, i) => /* @__PURE__ */ jsxs(
892
- "div",
893
- {
894
- className: `rounded-xl border border-border bg-card p-5 flex flex-col justify-between hover:bg-muted/40 transition-colors ${sizeClass[item.size] ?? sizeClass.small}`,
895
- children: [
896
- /* @__PURE__ */ jsx("div", { className: "w-8 h-8 rounded-lg bg-muted flex items-center justify-center mb-3", children: FEATURE_ICONS[item.icon] ?? /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", className: "w-4 h-4", children: /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10" }) }) }),
897
- /* @__PURE__ */ jsxs("div", { children: [
898
- /* @__PURE__ */ jsx("h3", { className: "font-semibold text-sm", children: item.title }),
899
- item.description && /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-xs mt-0.5 leading-relaxed", children: item.description })
900
- ] })
901
- ]
902
- },
903
- i
904
- )) })
897
+ /* @__PURE__ */ jsx("div", { className: "grid grid-cols-4 gap-3", style: { gridAutoRows: "180px" }, children: items.map((item, i) => {
898
+ const [cs, rs] = SPAN[item.size] ?? [1, 1];
899
+ return /* @__PURE__ */ jsxs(
900
+ "div",
901
+ {
902
+ style: { gridColumn: `span ${cs}`, gridRow: `span ${rs}` },
903
+ className: "rounded-xl border border-border bg-card p-5 flex flex-col justify-between hover:bg-muted/40 transition-colors",
904
+ children: [
905
+ /* @__PURE__ */ jsx("div", { className: "w-8 h-8 rounded-lg bg-muted flex items-center justify-center mb-3", children: FEATURE_ICONS[item.icon] ?? /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", className: "w-4 h-4", children: /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10" }) }) }),
906
+ /* @__PURE__ */ jsxs("div", { children: [
907
+ /* @__PURE__ */ jsx("h3", { className: "font-semibold text-sm", children: item.title }),
908
+ item.description && /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-xs mt-0.5 leading-relaxed", children: item.description })
909
+ ] })
910
+ ]
911
+ },
912
+ i
913
+ );
914
+ }) })
905
915
  ] });
906
916
  }
907
917
  function GridLayoutBlock({ block }) {