@sprintup-cms/sdk 1.8.66 → 1.8.71
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/dist/client.cjs +1 -5
- package/dist/client.cjs.map +1 -1
- package/dist/client.js +1 -5
- package/dist/client.js.map +1 -1
- package/dist/index.cjs +1 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1 -5
- package/dist/index.js.map +1 -1
- package/dist/next/index.cjs +200 -15
- package/dist/next/index.cjs.map +1 -1
- package/dist/next/index.js +200 -15
- package/dist/next/index.js.map +1 -1
- package/dist/react/index.cjs +199 -10
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.js +199 -10
- package/dist/react/index.js.map +1 -1
- package/package.json +1 -1
package/dist/react/index.js
CHANGED
|
@@ -54,11 +54,15 @@ function ImageBlock({ block }) {
|
|
|
54
54
|
}
|
|
55
55
|
function HeroBlock({ block }) {
|
|
56
56
|
const d = getData(block);
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
57
|
+
const align = d.alignment || "left";
|
|
58
|
+
const textAlign = align === "right" ? "text-right" : align === "center" ? "text-center" : "text-left";
|
|
59
|
+
const itemsAlign = align === "right" ? "items-end" : align === "center" ? "items-center" : "items-start";
|
|
60
|
+
const mx = align === "center" ? "mx-auto" : align === "right" ? "ml-auto" : "";
|
|
61
|
+
return /* @__PURE__ */ jsx("section", { className: "py-12 md:py-20", children: /* @__PURE__ */ jsxs("div", { className: `max-w-3xl ${mx}`, children: [
|
|
62
|
+
d.badge && /* @__PURE__ */ jsx("span", { className: `inline-block px-3 py-1 text-xs font-semibold rounded-full bg-secondary text-secondary-foreground mb-4`, children: d.badge }),
|
|
63
|
+
/* @__PURE__ */ jsx("h1", { className: `text-4xl md:text-5xl font-bold tracking-tight mb-4 text-balance ${textAlign}`, children: d.title }),
|
|
64
|
+
d.subtitle && /* @__PURE__ */ jsx("p", { className: `text-xl text-muted-foreground mb-8 ${textAlign}`, children: d.subtitle }),
|
|
65
|
+
(d.primaryButton || d.cta) && /* @__PURE__ */ jsxs("div", { className: `flex gap-4 flex-wrap ${itemsAlign}`, children: [
|
|
62
66
|
(d.primaryButton || d.cta) && /* @__PURE__ */ jsx(
|
|
63
67
|
"a",
|
|
64
68
|
{
|
|
@@ -442,19 +446,200 @@ function PricingTableBlock({ block }) {
|
|
|
442
446
|
}) })
|
|
443
447
|
] });
|
|
444
448
|
}
|
|
449
|
+
function CenteredHeroBlock({ block }) {
|
|
450
|
+
const d = getData(block);
|
|
451
|
+
const hasBg = d.backgroundImage;
|
|
452
|
+
return /* @__PURE__ */ jsxs(
|
|
453
|
+
"section",
|
|
454
|
+
{
|
|
455
|
+
className: "relative flex flex-col items-center justify-center text-center py-24 px-6 overflow-hidden rounded-2xl",
|
|
456
|
+
style: hasBg ? { backgroundImage: `url(${d.backgroundImage})`, backgroundSize: "cover", backgroundPosition: "center" } : { background: d.backgroundColor || "var(--muted)" },
|
|
457
|
+
children: [
|
|
458
|
+
hasBg && /* @__PURE__ */ jsx("div", { className: "absolute inset-0 rounded-2xl", style: { background: `rgba(0,0,0,${d.overlayOpacity ?? 0.45})` } }),
|
|
459
|
+
/* @__PURE__ */ jsxs("div", { className: "relative z-10 max-w-3xl mx-auto", children: [
|
|
460
|
+
d.badge && /* @__PURE__ */ jsx("span", { className: "inline-block px-3 py-1 text-xs font-semibold rounded-full bg-background/20 backdrop-blur-sm border border-white/20 mb-5 text-white", children: d.badge }),
|
|
461
|
+
/* @__PURE__ */ jsx(
|
|
462
|
+
"h1",
|
|
463
|
+
{
|
|
464
|
+
className: "text-4xl md:text-6xl font-extrabold tracking-tight mb-5 text-balance leading-tight",
|
|
465
|
+
style: { color: hasBg ? "#fff" : "var(--foreground)" },
|
|
466
|
+
children: d.title
|
|
467
|
+
}
|
|
468
|
+
),
|
|
469
|
+
d.subtitle && /* @__PURE__ */ jsx(
|
|
470
|
+
"p",
|
|
471
|
+
{
|
|
472
|
+
className: "text-lg md:text-xl mb-8 max-w-2xl mx-auto text-pretty leading-relaxed",
|
|
473
|
+
style: { color: hasBg ? "rgba(255,255,255,0.8)" : "var(--muted-foreground)" },
|
|
474
|
+
children: d.subtitle
|
|
475
|
+
}
|
|
476
|
+
),
|
|
477
|
+
(d.primaryButton || d.secondaryButton) && /* @__PURE__ */ jsxs("div", { className: "flex gap-4 justify-center flex-wrap", children: [
|
|
478
|
+
d.primaryButton && /* @__PURE__ */ jsx(
|
|
479
|
+
"a",
|
|
480
|
+
{
|
|
481
|
+
href: d.primaryUrl || "#",
|
|
482
|
+
className: "inline-flex items-center px-8 py-3.5 rounded-xl font-semibold text-sm transition-opacity hover:opacity-90",
|
|
483
|
+
style: { background: d.buttonColor || "var(--primary)", color: d.buttonTextColor || "var(--primary-foreground)" },
|
|
484
|
+
children: d.primaryButton
|
|
485
|
+
}
|
|
486
|
+
),
|
|
487
|
+
d.secondaryButton && /* @__PURE__ */ jsx(
|
|
488
|
+
"a",
|
|
489
|
+
{
|
|
490
|
+
href: d.secondaryUrl || "#",
|
|
491
|
+
className: "inline-flex items-center px-8 py-3.5 rounded-xl font-semibold text-sm border transition-colors hover:bg-white/10",
|
|
492
|
+
style: { borderColor: hasBg ? "rgba(255,255,255,0.4)" : "var(--border)", color: hasBg ? "#fff" : "var(--foreground)" },
|
|
493
|
+
children: d.secondaryButton
|
|
494
|
+
}
|
|
495
|
+
)
|
|
496
|
+
] })
|
|
497
|
+
] })
|
|
498
|
+
]
|
|
499
|
+
}
|
|
500
|
+
);
|
|
501
|
+
}
|
|
502
|
+
function ProductHeroBlock({ block }) {
|
|
503
|
+
const d = getData(block);
|
|
504
|
+
const align = d.alignment || "left";
|
|
505
|
+
const textAlign = align === "right" ? "text-right" : align === "center" ? "text-center" : "text-left";
|
|
506
|
+
const itemsAlign = align === "right" ? "justify-end" : align === "center" ? "justify-center" : "justify-start";
|
|
507
|
+
const mx = align === "center" ? "mx-auto" : align === "right" ? "ml-auto" : "";
|
|
508
|
+
return /* @__PURE__ */ jsx("section", { className: "py-16 md:py-24", children: /* @__PURE__ */ jsxs("div", { className: "max-w-6xl mx-auto px-4", children: [
|
|
509
|
+
/* @__PURE__ */ jsxs("div", { className: `max-w-3xl ${mx} mb-12`, children: [
|
|
510
|
+
d.badge && /* @__PURE__ */ jsx("span", { className: `inline-flex items-center gap-1.5 px-3 py-1 text-xs font-semibold rounded-full bg-primary/10 text-primary mb-5`, children: d.badge }),
|
|
511
|
+
/* @__PURE__ */ jsx("h1", { className: `text-4xl md:text-5xl font-extrabold tracking-tight mb-5 text-balance leading-tight ${textAlign}`, children: d.title }),
|
|
512
|
+
d.subtitle && /* @__PURE__ */ jsx("p", { className: `text-lg text-muted-foreground leading-relaxed text-pretty mb-8 ${textAlign}`, children: d.subtitle }),
|
|
513
|
+
(d.primaryButton || d.secondaryButton) && /* @__PURE__ */ jsxs("div", { className: `flex gap-3 flex-wrap ${itemsAlign}`, children: [
|
|
514
|
+
d.primaryButton && /* @__PURE__ */ jsx(
|
|
515
|
+
"a",
|
|
516
|
+
{
|
|
517
|
+
href: d.primaryUrl || "#",
|
|
518
|
+
className: "inline-flex items-center px-7 py-3 rounded-xl bg-primary text-primary-foreground font-semibold text-sm hover:opacity-90 transition-opacity",
|
|
519
|
+
children: d.primaryButton
|
|
520
|
+
}
|
|
521
|
+
),
|
|
522
|
+
d.secondaryButton && /* @__PURE__ */ jsx(
|
|
523
|
+
"a",
|
|
524
|
+
{
|
|
525
|
+
href: d.secondaryUrl || "#",
|
|
526
|
+
className: "inline-flex items-center px-7 py-3 rounded-xl border border-border text-foreground font-semibold text-sm hover:bg-muted transition-colors",
|
|
527
|
+
children: d.secondaryButton
|
|
528
|
+
}
|
|
529
|
+
)
|
|
530
|
+
] })
|
|
531
|
+
] }),
|
|
532
|
+
d.image ? /* @__PURE__ */ jsxs("div", { className: "relative rounded-2xl overflow-hidden border border-border shadow-2xl", children: [
|
|
533
|
+
d.browserChrome && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 px-4 py-2.5 bg-muted border-b border-border", children: [
|
|
534
|
+
/* @__PURE__ */ jsx("span", { className: "w-3 h-3 rounded-full bg-red-400" }),
|
|
535
|
+
/* @__PURE__ */ jsx("span", { className: "w-3 h-3 rounded-full bg-amber-400" }),
|
|
536
|
+
/* @__PURE__ */ jsx("span", { className: "w-3 h-3 rounded-full bg-emerald-400" }),
|
|
537
|
+
d.urlBar && /* @__PURE__ */ jsx("span", { className: "ml-3 flex-1 text-xs text-muted-foreground bg-background border border-border rounded px-3 py-0.5 truncate", children: d.urlBar })
|
|
538
|
+
] }),
|
|
539
|
+
/* @__PURE__ */ jsx("img", { src: d.image, alt: d.title || "Product preview", className: "w-full object-cover" })
|
|
540
|
+
] }) : /* @__PURE__ */ jsx("div", { className: "rounded-2xl border border-dashed border-border bg-muted aspect-video flex items-center justify-center", children: /* @__PURE__ */ jsx("span", { className: "text-xs text-muted-foreground", children: "Add a product screenshot" }) }),
|
|
541
|
+
Array.isArray(d.trustedBy) && d.trustedBy.length > 0 && /* @__PURE__ */ jsxs("div", { className: "mt-10 text-center", children: [
|
|
542
|
+
d.trustedByLabel && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground uppercase tracking-widest mb-4 font-medium", children: d.trustedByLabel }),
|
|
543
|
+
/* @__PURE__ */ jsx("div", { className: "flex flex-wrap items-center justify-center gap-6", children: d.trustedBy.map((item, i) => item.logo ? /* @__PURE__ */ jsx("img", { src: item.logo, alt: item.name || "", className: "h-6 object-contain opacity-60 grayscale" }, i) : /* @__PURE__ */ jsx("span", { className: "text-sm font-semibold text-muted-foreground", children: item.name }, i)) })
|
|
544
|
+
] })
|
|
545
|
+
] }) });
|
|
546
|
+
}
|
|
547
|
+
function BentoHeroBlock({ block }) {
|
|
548
|
+
const d = getData(block);
|
|
549
|
+
const cards = Array.isArray(d.cards) ? d.cards : [];
|
|
550
|
+
const align = d.alignment || "center";
|
|
551
|
+
const textAlign = align === "right" ? "text-right" : align === "left" ? "text-left" : "text-center";
|
|
552
|
+
const itemsAlign = align === "right" ? "justify-end" : align === "left" ? "justify-start" : "justify-center";
|
|
553
|
+
const mx = align === "left" ? "" : align === "right" ? "ml-auto" : "mx-auto";
|
|
554
|
+
return /* @__PURE__ */ jsx("section", { className: "py-16 md:py-24", children: /* @__PURE__ */ jsxs("div", { className: "max-w-6xl mx-auto px-4", children: [
|
|
555
|
+
/* @__PURE__ */ jsxs("div", { className: `max-w-3xl ${mx} mb-12`, children: [
|
|
556
|
+
d.badge && /* @__PURE__ */ jsx("span", { className: "inline-block px-3 py-1 text-xs font-semibold rounded-full bg-secondary text-secondary-foreground mb-5", children: d.badge }),
|
|
557
|
+
/* @__PURE__ */ jsx("h1", { className: `text-4xl md:text-5xl font-extrabold tracking-tight mb-4 text-balance ${textAlign}`, children: d.title }),
|
|
558
|
+
d.subtitle && /* @__PURE__ */ jsx("p", { className: `text-lg text-muted-foreground leading-relaxed text-pretty ${textAlign}`, children: d.subtitle }),
|
|
559
|
+
(d.primaryButton || d.secondaryButton) && /* @__PURE__ */ jsxs("div", { className: `flex gap-3 flex-wrap mt-7 ${itemsAlign}`, children: [
|
|
560
|
+
d.primaryButton && /* @__PURE__ */ jsx(
|
|
561
|
+
"a",
|
|
562
|
+
{
|
|
563
|
+
href: d.primaryUrl || "#",
|
|
564
|
+
className: "inline-flex items-center px-7 py-3 rounded-xl bg-primary text-primary-foreground font-semibold text-sm hover:opacity-90 transition-opacity",
|
|
565
|
+
children: d.primaryButton
|
|
566
|
+
}
|
|
567
|
+
),
|
|
568
|
+
d.secondaryButton && /* @__PURE__ */ jsx(
|
|
569
|
+
"a",
|
|
570
|
+
{
|
|
571
|
+
href: d.secondaryUrl || "#",
|
|
572
|
+
className: "inline-flex items-center px-7 py-3 rounded-xl border border-border text-foreground font-semibold text-sm hover:bg-muted transition-colors",
|
|
573
|
+
children: d.secondaryButton
|
|
574
|
+
}
|
|
575
|
+
)
|
|
576
|
+
] })
|
|
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
|
+
)) })
|
|
592
|
+
] }) });
|
|
593
|
+
}
|
|
594
|
+
function MinimalHeroBlock({ block }) {
|
|
595
|
+
const d = getData(block);
|
|
596
|
+
const align = d.alignment || "left";
|
|
597
|
+
const textAlign = align === "right" ? "text-right" : align === "center" ? "text-center" : "text-left";
|
|
598
|
+
const itemsAlign = align === "right" ? "justify-end" : align === "center" ? "justify-center" : "justify-start";
|
|
599
|
+
const mx = align === "center" ? "mx-auto" : align === "right" ? "ml-auto" : "";
|
|
600
|
+
return /* @__PURE__ */ jsx("section", { className: "py-20 md:py-28 px-4 border-b border-border", children: /* @__PURE__ */ jsxs("div", { className: `max-w-4xl ${mx}`, children: [
|
|
601
|
+
d.eyebrow && /* @__PURE__ */ jsx("p", { className: `text-xs uppercase tracking-[0.2em] font-semibold text-muted-foreground mb-5 ${textAlign}`, children: d.eyebrow }),
|
|
602
|
+
/* @__PURE__ */ jsx("h1", { className: `text-5xl md:text-7xl font-black tracking-tight mb-6 text-balance leading-none whitespace-pre-line ${textAlign}`, children: d.title }),
|
|
603
|
+
d.subtitle && /* @__PURE__ */ jsx("p", { className: `text-lg md:text-xl text-muted-foreground leading-relaxed text-pretty max-w-2xl mb-9 ${textAlign} ${mx}`, children: d.subtitle }),
|
|
604
|
+
(d.primaryButton || d.secondaryButton) && /* @__PURE__ */ jsxs("div", { className: `flex gap-4 flex-wrap items-center ${itemsAlign}`, children: [
|
|
605
|
+
d.primaryButton && /* @__PURE__ */ jsxs(
|
|
606
|
+
"a",
|
|
607
|
+
{
|
|
608
|
+
href: d.primaryUrl || "#",
|
|
609
|
+
className: "inline-flex items-center gap-2 text-sm font-semibold underline underline-offset-4 hover:text-primary transition-colors",
|
|
610
|
+
children: [
|
|
611
|
+
d.primaryButton,
|
|
612
|
+
/* @__PURE__ */ jsx("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("path", { d: "M5 12h14M12 5l7 7-7 7" }) })
|
|
613
|
+
]
|
|
614
|
+
}
|
|
615
|
+
),
|
|
616
|
+
d.secondaryButton && /* @__PURE__ */ jsx(
|
|
617
|
+
"a",
|
|
618
|
+
{
|
|
619
|
+
href: d.secondaryUrl || "#",
|
|
620
|
+
className: "inline-flex items-center text-sm text-muted-foreground hover:text-foreground transition-colors",
|
|
621
|
+
children: d.secondaryButton
|
|
622
|
+
}
|
|
623
|
+
)
|
|
624
|
+
] })
|
|
625
|
+
] }) });
|
|
626
|
+
}
|
|
445
627
|
function SplitHeroBlock({ block }) {
|
|
446
628
|
const d = getData(block);
|
|
447
629
|
const imgLeft = d.imagePosition === "left";
|
|
630
|
+
const align = d.alignment || "left";
|
|
631
|
+
const textAlign = align === "center" ? "text-center" : "text-left";
|
|
632
|
+
const itemsAlign = align === "center" ? "items-center" : "items-start";
|
|
448
633
|
return /* @__PURE__ */ jsx("section", { className: "py-16", children: /* @__PURE__ */ jsxs("div", { className: `flex flex-col ${imgLeft ? "md:flex-row-reverse" : "md:flex-row"} items-center gap-10 md:gap-16 max-w-6xl mx-auto px-4`, children: [
|
|
449
|
-
/* @__PURE__ */ jsxs("div", { className:
|
|
450
|
-
d.title && /* @__PURE__ */ jsx("h1", { className:
|
|
451
|
-
d.subtitle && /* @__PURE__ */ jsx("p", { className:
|
|
452
|
-
(d.button || d.secondaryButton) && /* @__PURE__ */ jsxs("div", { className:
|
|
634
|
+
/* @__PURE__ */ jsxs("div", { className: `flex-1 space-y-5 ${itemsAlign} flex flex-col`, children: [
|
|
635
|
+
d.title && /* @__PURE__ */ jsx("h1", { className: `text-3xl md:text-5xl font-extrabold tracking-tight text-balance leading-tight ${textAlign}`, children: d.title }),
|
|
636
|
+
d.subtitle && /* @__PURE__ */ jsx("p", { className: `text-lg text-muted-foreground leading-relaxed text-pretty ${textAlign}`, children: d.subtitle }),
|
|
637
|
+
(d.button || d.secondaryButton) && /* @__PURE__ */ jsxs("div", { className: `flex flex-wrap gap-3 pt-2 ${align === "center" ? "justify-center" : "justify-start"}`, children: [
|
|
453
638
|
d.button && /* @__PURE__ */ jsx("a", { href: d.buttonUrl || "#", className: "inline-flex items-center px-6 py-3 rounded-lg bg-primary text-primary-foreground font-semibold text-sm hover:opacity-90 transition-opacity", children: d.button }),
|
|
454
639
|
d.secondaryButton && /* @__PURE__ */ jsx("a", { href: d.secondaryUrl || "#", className: "inline-flex items-center px-6 py-3 rounded-lg border border-border text-foreground font-semibold text-sm hover:bg-muted transition-colors", children: d.secondaryButton })
|
|
455
640
|
] })
|
|
456
641
|
] }),
|
|
457
|
-
/* @__PURE__ */ jsx("div", { className: "flex-1 w-full", children: d.image ? /* @__PURE__ */ jsx("img", { src: d.image, alt: d.title || "", className: "w-full rounded-2xl object-cover shadow-lg border border-border" }) : /* @__PURE__ */ jsx("div", { className: "w-full rounded-2xl bg-muted border border-border aspect-video flex items-center justify-center", children: /* @__PURE__ */ jsx("span", { className: "text-xs text-muted-foreground", children: "No image set" }) }) })
|
|
642
|
+
/* @__PURE__ */ jsx("div", { className: "flex-1 w-full", children: d.image ? /* @__PURE__ */ jsx("img", { src: d.image, alt: d.imageAlt || d.title || "Hero image", className: "w-full rounded-2xl object-cover shadow-lg border border-border" }) : /* @__PURE__ */ jsx("div", { className: "w-full rounded-2xl bg-muted border border-border aspect-video flex items-center justify-center", "aria-hidden": "true", children: /* @__PURE__ */ jsx("span", { className: "text-xs text-muted-foreground", children: "No image set" }) }) })
|
|
458
643
|
] }) });
|
|
459
644
|
}
|
|
460
645
|
function AccordionBlock({ block }) {
|
|
@@ -702,6 +887,10 @@ var BUILT_IN = {
|
|
|
702
887
|
"pricing-table": (b) => /* @__PURE__ */ jsx(PricingTableBlock, { block: b }),
|
|
703
888
|
hero: (b) => /* @__PURE__ */ jsx(HeroBlock, { block: b }),
|
|
704
889
|
"hero-section": (b) => /* @__PURE__ */ jsx(HeroBlock, { block: b }),
|
|
890
|
+
"centered-hero": (b) => /* @__PURE__ */ jsx(CenteredHeroBlock, { block: b }),
|
|
891
|
+
"product-hero": (b) => /* @__PURE__ */ jsx(ProductHeroBlock, { block: b }),
|
|
892
|
+
"bento-hero": (b) => /* @__PURE__ */ jsx(BentoHeroBlock, { block: b }),
|
|
893
|
+
"minimal-hero": (b) => /* @__PURE__ */ jsx(MinimalHeroBlock, { block: b }),
|
|
705
894
|
cta: (b) => /* @__PURE__ */ jsx(CTABlock, { block: b }),
|
|
706
895
|
faq: (b) => /* @__PURE__ */ jsx(FAQBlock, { block: b }),
|
|
707
896
|
"team-member": (b) => /* @__PURE__ */ jsx(TeamMemberBlock, { block: b }),
|