@kubuild/components 0.6.0 → 0.8.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/dist/blocks/index.cjs +601 -12
- package/dist/blocks/index.cjs.map +1 -1
- package/dist/blocks/index.d.ts +2 -1
- package/dist/blocks/index.d.ts.map +1 -1
- package/dist/blocks/index.js +3 -1
- package/dist/blocks/sales.d.ts +7 -0
- package/dist/blocks/sales.d.ts.map +1 -0
- package/dist/canonical-props.d.ts +8 -0
- package/dist/canonical-props.d.ts.map +1 -0
- package/dist/{chunk-PWKMZYTC.js → chunk-CJN5OHHX.js} +596 -10
- package/dist/chunk-CJN5OHHX.js.map +1 -0
- package/dist/{chunk-JTQ35OQQ.js → chunk-DIZKTXJI.js} +601 -13
- package/dist/chunk-DIZKTXJI.js.map +1 -0
- package/dist/definitions/constants.d.ts.map +1 -1
- package/dist/definitions/conversion/accordion.d.ts +8 -0
- package/dist/definitions/conversion/accordion.d.ts.map +1 -0
- package/dist/definitions/conversion/carousel.d.ts +7 -0
- package/dist/definitions/conversion/carousel.d.ts.map +1 -0
- package/dist/definitions/conversion/countdown.d.ts +19 -0
- package/dist/definitions/conversion/countdown.d.ts.map +1 -0
- package/dist/definitions/conversion/divider.d.ts +9 -0
- package/dist/definitions/conversion/divider.d.ts.map +1 -0
- package/dist/definitions/conversion/index.d.ts +7 -0
- package/dist/definitions/conversion/index.d.ts.map +1 -0
- package/dist/definitions/conversion/rating.d.ts +7 -0
- package/dist/definitions/conversion/rating.d.ts.map +1 -0
- package/dist/definitions/conversion/tabs.d.ts +9 -0
- package/dist/definitions/conversion/tabs.d.ts.map +1 -0
- package/dist/definitions/form/button.d.ts.map +1 -1
- package/dist/definitions/index.cjs +746 -148
- package/dist/definitions/index.cjs.map +1 -1
- package/dist/definitions/index.d.ts +1 -0
- package/dist/definitions/index.d.ts.map +1 -1
- package/dist/definitions/index.js +27 -1
- package/dist/definitions/media/image.d.ts.map +1 -1
- package/dist/definitions/types.d.ts +4 -1
- package/dist/definitions/types.d.ts.map +1 -1
- package/dist/definitions/typography/badge.d.ts.map +1 -1
- package/dist/definitions/typography/blockquote.d.ts.map +1 -1
- package/dist/definitions/typography/heading.d.ts.map +1 -1
- package/dist/definitions/typography/link.d.ts.map +1 -1
- package/dist/definitions/typography/paragraph.d.ts.map +1 -1
- package/dist/definitions/typography/text.d.ts.map +1 -1
- package/dist/index.cjs +1417 -228
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -2
- package/dist/index.js.map +1 -1
- package/dist/registry.d.ts +12 -0
- package/dist/registry.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/chunk-JTQ35OQQ.js.map +0 -1
- package/dist/chunk-PWKMZYTC.js.map +0 -1
|
@@ -586,7 +586,7 @@ var UI_STARTER_BLOCKS = [
|
|
|
586
586
|
id: gen("paragraph"),
|
|
587
587
|
type: "paragraph",
|
|
588
588
|
props: {
|
|
589
|
-
|
|
589
|
+
text: "A visual builder designed for maximum craft, responsiveness, and performance."
|
|
590
590
|
},
|
|
591
591
|
styles: {
|
|
592
592
|
base: {
|
|
@@ -644,7 +644,7 @@ var UI_STARTER_BLOCKS = [
|
|
|
644
644
|
{
|
|
645
645
|
id: gen("badge"),
|
|
646
646
|
type: "badge",
|
|
647
|
-
props: {
|
|
647
|
+
props: { text: "PRO FEATURE", variant: "primary" },
|
|
648
648
|
styles: { base: { marginBottom: "12px", display: "inline-block" } }
|
|
649
649
|
},
|
|
650
650
|
{
|
|
@@ -659,7 +659,7 @@ var UI_STARTER_BLOCKS = [
|
|
|
659
659
|
id: gen("paragraph"),
|
|
660
660
|
type: "paragraph",
|
|
661
661
|
props: {
|
|
662
|
-
|
|
662
|
+
text: "Engineered for sub-millisecond render updates and zero runtime overhead."
|
|
663
663
|
},
|
|
664
664
|
styles: { base: { fontSize: "14px", color: "#64748b", lineHeight: "1.5" } }
|
|
665
665
|
}
|
|
@@ -723,7 +723,7 @@ var UI_STARTER_BLOCKS = [
|
|
|
723
723
|
{
|
|
724
724
|
id: gen("paragraph"),
|
|
725
725
|
type: "paragraph",
|
|
726
|
-
props: {
|
|
726
|
+
props: { text: "High dynamic range gradients crafted for modern presentations." },
|
|
727
727
|
styles: { base: { fontSize: "13px", color: "#64748b", lineHeight: "1.4" } }
|
|
728
728
|
}
|
|
729
729
|
]
|
|
@@ -757,7 +757,7 @@ var UI_STARTER_BLOCKS = [
|
|
|
757
757
|
{
|
|
758
758
|
id: gen("badge"),
|
|
759
759
|
type: "badge",
|
|
760
|
-
props: {
|
|
760
|
+
props: { text: "MOST POPULAR", variant: "primary" },
|
|
761
761
|
styles: { base: { marginBottom: "12px", display: "inline-block" } }
|
|
762
762
|
},
|
|
763
763
|
{
|
|
@@ -777,7 +777,7 @@ var UI_STARTER_BLOCKS = [
|
|
|
777
777
|
{
|
|
778
778
|
id: gen("paragraph"),
|
|
779
779
|
type: "paragraph",
|
|
780
|
-
props: {
|
|
780
|
+
props: { text: "Includes unlimited pages, custom domains, and team collaboration." },
|
|
781
781
|
styles: { base: { fontSize: "14px", color: "#64748b", marginBottom: "24px" } }
|
|
782
782
|
},
|
|
783
783
|
{
|
|
@@ -834,7 +834,7 @@ var UI_STARTER_BLOCKS = [
|
|
|
834
834
|
{
|
|
835
835
|
id: gen("paragraph"),
|
|
836
836
|
type: "paragraph",
|
|
837
|
-
props: {
|
|
837
|
+
props: { text: "Start building with zero installation and instant live preview." },
|
|
838
838
|
styles: {
|
|
839
839
|
base: { fontSize: "16px", color: "#94a3b8", marginBottom: "24px", maxWidth: "600px", margin: "0 auto 24px auto" }
|
|
840
840
|
}
|
|
@@ -917,7 +917,7 @@ var FORM_STARTER_BLOCKS = [
|
|
|
917
917
|
id: gen("paragraph"),
|
|
918
918
|
type: "paragraph",
|
|
919
919
|
props: {
|
|
920
|
-
|
|
920
|
+
text: "Have questions or need assistance? Fill out the form below and we will get back to you shortly."
|
|
921
921
|
},
|
|
922
922
|
styles: {
|
|
923
923
|
base: {
|
|
@@ -1175,7 +1175,7 @@ var FORM_STARTER_BLOCKS = [
|
|
|
1175
1175
|
id: gen("paragraph"),
|
|
1176
1176
|
type: "paragraph",
|
|
1177
1177
|
props: {
|
|
1178
|
-
|
|
1178
|
+
text: "Subscribe to our newsletter for weekly curated insights, updates, and best practices."
|
|
1179
1179
|
},
|
|
1180
1180
|
styles: {
|
|
1181
1181
|
base: {
|
|
@@ -1353,7 +1353,7 @@ var FORM_STARTER_BLOCKS = [
|
|
|
1353
1353
|
{
|
|
1354
1354
|
id: gen("badge"),
|
|
1355
1355
|
type: "badge",
|
|
1356
|
-
props: {
|
|
1356
|
+
props: { text: "FREE CONSULTATION", variant: "primary" },
|
|
1357
1357
|
styles: { base: { marginBottom: "12px", display: "inline-block" } }
|
|
1358
1358
|
},
|
|
1359
1359
|
{
|
|
@@ -1373,7 +1373,7 @@ var FORM_STARTER_BLOCKS = [
|
|
|
1373
1373
|
id: gen("paragraph"),
|
|
1374
1374
|
type: "paragraph",
|
|
1375
1375
|
props: {
|
|
1376
|
-
|
|
1376
|
+
text: "Share your project details with our solutions team. We will analyze your needs and provide a personalized roadmap."
|
|
1377
1377
|
},
|
|
1378
1378
|
styles: {
|
|
1379
1379
|
base: {
|
|
@@ -1614,11 +1614,598 @@ var FORM_STARTER_BLOCKS = [
|
|
|
1614
1614
|
}
|
|
1615
1615
|
];
|
|
1616
1616
|
|
|
1617
|
+
// src/blocks/sales.ts
|
|
1618
|
+
var SALES_CATEGORY = "sales";
|
|
1619
|
+
var SALES_CATEGORY_LABEL = "Sales & Conversion";
|
|
1620
|
+
function sectionShell(gen, children, sectionStyles = {}, maxWidth = "960px") {
|
|
1621
|
+
return {
|
|
1622
|
+
id: gen("section"),
|
|
1623
|
+
type: "section",
|
|
1624
|
+
styles: {
|
|
1625
|
+
...sectionStyles,
|
|
1626
|
+
base: {
|
|
1627
|
+
paddingTop: "64px",
|
|
1628
|
+
paddingBottom: "64px",
|
|
1629
|
+
paddingLeft: "24px",
|
|
1630
|
+
paddingRight: "24px",
|
|
1631
|
+
width: "100%",
|
|
1632
|
+
...sectionStyles.base ?? {}
|
|
1633
|
+
},
|
|
1634
|
+
mobile: {
|
|
1635
|
+
paddingTop: "40px",
|
|
1636
|
+
paddingBottom: "40px",
|
|
1637
|
+
paddingLeft: "16px",
|
|
1638
|
+
paddingRight: "16px",
|
|
1639
|
+
...sectionStyles.mobile ?? {}
|
|
1640
|
+
}
|
|
1641
|
+
},
|
|
1642
|
+
children: [
|
|
1643
|
+
{
|
|
1644
|
+
id: gen("container"),
|
|
1645
|
+
type: "container",
|
|
1646
|
+
props: { tag: "div" },
|
|
1647
|
+
styles: {
|
|
1648
|
+
base: {
|
|
1649
|
+
maxWidth,
|
|
1650
|
+
margin: "0 auto",
|
|
1651
|
+
width: "100%",
|
|
1652
|
+
display: "flex",
|
|
1653
|
+
flexDirection: "column",
|
|
1654
|
+
gap: "24px"
|
|
1655
|
+
}
|
|
1656
|
+
},
|
|
1657
|
+
children
|
|
1658
|
+
}
|
|
1659
|
+
]
|
|
1660
|
+
};
|
|
1661
|
+
}
|
|
1662
|
+
function sectionHeading(gen, text, subtitle, color = "#0f172a") {
|
|
1663
|
+
const nodes = [
|
|
1664
|
+
{
|
|
1665
|
+
id: gen("heading"),
|
|
1666
|
+
type: "heading",
|
|
1667
|
+
props: { text, level: 2 },
|
|
1668
|
+
styles: {
|
|
1669
|
+
base: { fontSize: "32px", fontWeight: "800", color, textAlign: "center", margin: "0" },
|
|
1670
|
+
mobile: { fontSize: "26px" }
|
|
1671
|
+
}
|
|
1672
|
+
}
|
|
1673
|
+
];
|
|
1674
|
+
if (subtitle) {
|
|
1675
|
+
nodes.push({
|
|
1676
|
+
id: gen("paragraph"),
|
|
1677
|
+
type: "paragraph",
|
|
1678
|
+
props: { text: subtitle },
|
|
1679
|
+
styles: { base: { fontSize: "16px", color: "#64748b", textAlign: "center", margin: "0" } }
|
|
1680
|
+
});
|
|
1681
|
+
}
|
|
1682
|
+
return nodes;
|
|
1683
|
+
}
|
|
1684
|
+
function faqItem(gen, question, answer) {
|
|
1685
|
+
return {
|
|
1686
|
+
id: gen("accordion-item"),
|
|
1687
|
+
type: "accordion-item",
|
|
1688
|
+
props: { title: question },
|
|
1689
|
+
styles: { base: { borderBottom: "1px solid #e2e8f0" } },
|
|
1690
|
+
children: [
|
|
1691
|
+
{
|
|
1692
|
+
id: gen("paragraph"),
|
|
1693
|
+
type: "paragraph",
|
|
1694
|
+
props: { text: answer },
|
|
1695
|
+
styles: { base: { fontSize: "15px", color: "#475569", margin: "0", lineHeight: "1.6" } }
|
|
1696
|
+
}
|
|
1697
|
+
]
|
|
1698
|
+
};
|
|
1699
|
+
}
|
|
1700
|
+
function testimonialSlide(gen, quote, name, role, rating) {
|
|
1701
|
+
return {
|
|
1702
|
+
id: gen("flex"),
|
|
1703
|
+
type: "flex",
|
|
1704
|
+
styles: {
|
|
1705
|
+
base: {
|
|
1706
|
+
display: "flex",
|
|
1707
|
+
flexDirection: "column",
|
|
1708
|
+
alignItems: "center",
|
|
1709
|
+
gap: "16px",
|
|
1710
|
+
padding: "32px 48px",
|
|
1711
|
+
textAlign: "center"
|
|
1712
|
+
},
|
|
1713
|
+
mobile: { padding: "24px 40px" }
|
|
1714
|
+
},
|
|
1715
|
+
children: [
|
|
1716
|
+
{
|
|
1717
|
+
id: gen("rating"),
|
|
1718
|
+
type: "rating",
|
|
1719
|
+
props: { value: rating, max: 5, size: 20, color: "#f59e0b" }
|
|
1720
|
+
},
|
|
1721
|
+
{
|
|
1722
|
+
id: gen("blockquote"),
|
|
1723
|
+
type: "blockquote",
|
|
1724
|
+
props: { text: quote },
|
|
1725
|
+
styles: {
|
|
1726
|
+
base: {
|
|
1727
|
+
fontSize: "18px",
|
|
1728
|
+
color: "#0f172a",
|
|
1729
|
+
fontStyle: "italic",
|
|
1730
|
+
margin: "0",
|
|
1731
|
+
lineHeight: "1.6"
|
|
1732
|
+
}
|
|
1733
|
+
}
|
|
1734
|
+
},
|
|
1735
|
+
{
|
|
1736
|
+
id: gen("text"),
|
|
1737
|
+
type: "text",
|
|
1738
|
+
props: { text: `${name} \u2014 ${role}` },
|
|
1739
|
+
styles: { base: { fontSize: "14px", fontWeight: "600", color: "#64748b" } }
|
|
1740
|
+
}
|
|
1741
|
+
]
|
|
1742
|
+
};
|
|
1743
|
+
}
|
|
1744
|
+
function badgeItem(gen, iconName, label) {
|
|
1745
|
+
return {
|
|
1746
|
+
id: gen("flex"),
|
|
1747
|
+
type: "flex",
|
|
1748
|
+
styles: {
|
|
1749
|
+
base: {
|
|
1750
|
+
display: "flex",
|
|
1751
|
+
flexDirection: "column",
|
|
1752
|
+
alignItems: "center",
|
|
1753
|
+
gap: "8px",
|
|
1754
|
+
padding: "16px",
|
|
1755
|
+
textAlign: "center"
|
|
1756
|
+
}
|
|
1757
|
+
},
|
|
1758
|
+
children: [
|
|
1759
|
+
{
|
|
1760
|
+
id: gen("icon"),
|
|
1761
|
+
type: "icon",
|
|
1762
|
+
props: { name: iconName, size: 28, color: "#16a34a", ariaLabel: label }
|
|
1763
|
+
},
|
|
1764
|
+
{
|
|
1765
|
+
id: gen("text"),
|
|
1766
|
+
type: "text",
|
|
1767
|
+
props: { text: label },
|
|
1768
|
+
styles: { base: { fontSize: "14px", fontWeight: "600", color: "#334155" } }
|
|
1769
|
+
}
|
|
1770
|
+
]
|
|
1771
|
+
};
|
|
1772
|
+
}
|
|
1773
|
+
function planCard(gen, name, price, features, highlighted) {
|
|
1774
|
+
return {
|
|
1775
|
+
id: gen("container"),
|
|
1776
|
+
type: "container",
|
|
1777
|
+
props: { tag: "div" },
|
|
1778
|
+
styles: {
|
|
1779
|
+
base: {
|
|
1780
|
+
display: "flex",
|
|
1781
|
+
flexDirection: "column",
|
|
1782
|
+
gap: "12px",
|
|
1783
|
+
padding: "28px 24px",
|
|
1784
|
+
backgroundColor: "#ffffff",
|
|
1785
|
+
borderRadius: "16px",
|
|
1786
|
+
border: highlighted ? "2px solid #2563eb" : "1px solid #e2e8f0"
|
|
1787
|
+
}
|
|
1788
|
+
},
|
|
1789
|
+
children: [
|
|
1790
|
+
{
|
|
1791
|
+
id: gen("heading"),
|
|
1792
|
+
type: "heading",
|
|
1793
|
+
props: { text: name, level: 3 },
|
|
1794
|
+
styles: { base: { fontSize: "20px", fontWeight: "700", color: "#0f172a", margin: "0" } }
|
|
1795
|
+
},
|
|
1796
|
+
{
|
|
1797
|
+
id: gen("heading"),
|
|
1798
|
+
type: "heading",
|
|
1799
|
+
props: { text: price, level: 4 },
|
|
1800
|
+
styles: { base: { fontSize: "32px", fontWeight: "800", color: "#2563eb", margin: "0" } }
|
|
1801
|
+
},
|
|
1802
|
+
{
|
|
1803
|
+
id: gen("list"),
|
|
1804
|
+
type: "list",
|
|
1805
|
+
props: { tag: "ul", listStyleType: "disc" },
|
|
1806
|
+
styles: { base: { fontSize: "14px", color: "#475569", paddingLeft: "20px", margin: "0" } },
|
|
1807
|
+
children: features.map((feature) => ({
|
|
1808
|
+
id: gen("list-item"),
|
|
1809
|
+
type: "list-item",
|
|
1810
|
+
props: { text: feature }
|
|
1811
|
+
}))
|
|
1812
|
+
},
|
|
1813
|
+
{
|
|
1814
|
+
id: gen("button"),
|
|
1815
|
+
type: "button",
|
|
1816
|
+
props: {
|
|
1817
|
+
label: `Choose ${name}`,
|
|
1818
|
+
href: "#checkout",
|
|
1819
|
+
variant: highlighted ? "primary" : "secondary"
|
|
1820
|
+
},
|
|
1821
|
+
styles: {
|
|
1822
|
+
base: {
|
|
1823
|
+
width: "100%",
|
|
1824
|
+
padding: "12px",
|
|
1825
|
+
borderRadius: "8px",
|
|
1826
|
+
fontWeight: "600",
|
|
1827
|
+
marginTop: "8px"
|
|
1828
|
+
}
|
|
1829
|
+
}
|
|
1830
|
+
}
|
|
1831
|
+
]
|
|
1832
|
+
};
|
|
1833
|
+
}
|
|
1834
|
+
function planColumns(gen, plans) {
|
|
1835
|
+
return {
|
|
1836
|
+
id: gen("columns"),
|
|
1837
|
+
type: "columns",
|
|
1838
|
+
props: { columns: plans.length, gap: "16px" },
|
|
1839
|
+
styles: {
|
|
1840
|
+
base: {
|
|
1841
|
+
display: "grid",
|
|
1842
|
+
gridTemplateColumns: `repeat(${plans.length}, minmax(0, 1fr))`,
|
|
1843
|
+
gap: "16px"
|
|
1844
|
+
},
|
|
1845
|
+
mobile: { gridTemplateColumns: "repeat(1, minmax(0, 1fr))" }
|
|
1846
|
+
},
|
|
1847
|
+
children: plans.map(
|
|
1848
|
+
([name, price, features, highlighted]) => planCard(gen, name, price, features, highlighted)
|
|
1849
|
+
)
|
|
1850
|
+
};
|
|
1851
|
+
}
|
|
1852
|
+
var SALES_STARTER_BLOCKS = [
|
|
1853
|
+
{
|
|
1854
|
+
id: "sales-faq",
|
|
1855
|
+
name: "FAQ",
|
|
1856
|
+
category: SALES_CATEGORY,
|
|
1857
|
+
categoryLabel: SALES_CATEGORY_LABEL,
|
|
1858
|
+
description: "Frequently asked questions accordion with FAQPage structured data for SEO",
|
|
1859
|
+
icon: "chevron-down",
|
|
1860
|
+
createNodeTree: (gen = defaultGenId) => sectionShell(
|
|
1861
|
+
gen,
|
|
1862
|
+
[
|
|
1863
|
+
...sectionHeading(
|
|
1864
|
+
gen,
|
|
1865
|
+
"Frequently Asked Questions",
|
|
1866
|
+
"Everything you need to know before you buy."
|
|
1867
|
+
),
|
|
1868
|
+
{
|
|
1869
|
+
id: gen("accordion"),
|
|
1870
|
+
type: "accordion",
|
|
1871
|
+
props: { allowMultiple: false, defaultOpenIndex: 0, icon: "chevron", faqSchema: true },
|
|
1872
|
+
styles: {
|
|
1873
|
+
base: {
|
|
1874
|
+
display: "flex",
|
|
1875
|
+
flexDirection: "column",
|
|
1876
|
+
width: "100%",
|
|
1877
|
+
borderTop: "1px solid #e2e8f0"
|
|
1878
|
+
}
|
|
1879
|
+
},
|
|
1880
|
+
children: [
|
|
1881
|
+
faqItem(
|
|
1882
|
+
gen,
|
|
1883
|
+
"What exactly do I get?",
|
|
1884
|
+
"Instant access to the full program, all bonuses, and every future update."
|
|
1885
|
+
),
|
|
1886
|
+
faqItem(
|
|
1887
|
+
gen,
|
|
1888
|
+
"How long do I have access?",
|
|
1889
|
+
"Lifetime access \u2014 learn at your own pace, on any device."
|
|
1890
|
+
),
|
|
1891
|
+
faqItem(
|
|
1892
|
+
gen,
|
|
1893
|
+
"Is there a money-back guarantee?",
|
|
1894
|
+
"Yes. If you are not satisfied within 30 days, we refund you in full."
|
|
1895
|
+
),
|
|
1896
|
+
faqItem(
|
|
1897
|
+
gen,
|
|
1898
|
+
"How do I pay?",
|
|
1899
|
+
"We accept cards, bank transfer, and e-wallets through a secure checkout."
|
|
1900
|
+
)
|
|
1901
|
+
]
|
|
1902
|
+
}
|
|
1903
|
+
],
|
|
1904
|
+
{},
|
|
1905
|
+
"760px"
|
|
1906
|
+
)
|
|
1907
|
+
},
|
|
1908
|
+
{
|
|
1909
|
+
id: "sales-testimonials",
|
|
1910
|
+
name: "Testimonials Carousel",
|
|
1911
|
+
category: SALES_CATEGORY,
|
|
1912
|
+
categoryLabel: SALES_CATEGORY_LABEL,
|
|
1913
|
+
description: "Customer testimonial slider with star ratings",
|
|
1914
|
+
icon: "star",
|
|
1915
|
+
createNodeTree: (gen = defaultGenId) => sectionShell(
|
|
1916
|
+
gen,
|
|
1917
|
+
[
|
|
1918
|
+
...sectionHeading(gen, "What Our Customers Say"),
|
|
1919
|
+
{
|
|
1920
|
+
id: gen("carousel"),
|
|
1921
|
+
type: "carousel",
|
|
1922
|
+
props: {
|
|
1923
|
+
autoplay: true,
|
|
1924
|
+
interval: 6e3,
|
|
1925
|
+
loop: true,
|
|
1926
|
+
showDots: true,
|
|
1927
|
+
showArrows: true,
|
|
1928
|
+
ariaLabel: "Testimonials"
|
|
1929
|
+
},
|
|
1930
|
+
styles: {
|
|
1931
|
+
base: {
|
|
1932
|
+
position: "relative",
|
|
1933
|
+
width: "100%",
|
|
1934
|
+
overflow: "hidden",
|
|
1935
|
+
backgroundColor: "#f8fafc",
|
|
1936
|
+
borderRadius: "16px"
|
|
1937
|
+
}
|
|
1938
|
+
},
|
|
1939
|
+
children: [
|
|
1940
|
+
testimonialSlide(
|
|
1941
|
+
gen,
|
|
1942
|
+
"This completely changed how I run my business. Worth every cent.",
|
|
1943
|
+
"Sarah K.",
|
|
1944
|
+
"Founder",
|
|
1945
|
+
5
|
|
1946
|
+
),
|
|
1947
|
+
testimonialSlide(
|
|
1948
|
+
gen,
|
|
1949
|
+
"Clear, practical, and easy to follow. I saw results in the first week.",
|
|
1950
|
+
"Budi S.",
|
|
1951
|
+
"Marketing Lead",
|
|
1952
|
+
4.5
|
|
1953
|
+
),
|
|
1954
|
+
testimonialSlide(
|
|
1955
|
+
gen,
|
|
1956
|
+
"The support team is amazing and the material is top-notch.",
|
|
1957
|
+
"Aisha R.",
|
|
1958
|
+
"Freelancer",
|
|
1959
|
+
5
|
|
1960
|
+
)
|
|
1961
|
+
]
|
|
1962
|
+
}
|
|
1963
|
+
],
|
|
1964
|
+
{ base: { backgroundColor: "#ffffff" } },
|
|
1965
|
+
"760px"
|
|
1966
|
+
)
|
|
1967
|
+
},
|
|
1968
|
+
{
|
|
1969
|
+
id: "sales-countdown-banner",
|
|
1970
|
+
name: "Countdown Banner",
|
|
1971
|
+
category: SALES_CATEGORY,
|
|
1972
|
+
categoryLabel: SALES_CATEGORY_LABEL,
|
|
1973
|
+
description: "Limited-time offer banner with an evergreen countdown timer and CTA",
|
|
1974
|
+
icon: "clock",
|
|
1975
|
+
createNodeTree: (gen = defaultGenId) => sectionShell(
|
|
1976
|
+
gen,
|
|
1977
|
+
[
|
|
1978
|
+
...sectionHeading(gen, "Special Launch Price Ends Soon", void 0, "#ffffff"),
|
|
1979
|
+
{
|
|
1980
|
+
id: gen("countdown"),
|
|
1981
|
+
type: "countdown",
|
|
1982
|
+
props: {
|
|
1983
|
+
mode: "evergreen",
|
|
1984
|
+
durationMinutes: 30,
|
|
1985
|
+
format: "d h m s",
|
|
1986
|
+
labelDays: "Days",
|
|
1987
|
+
labelHours: "Hours",
|
|
1988
|
+
labelMinutes: "Minutes",
|
|
1989
|
+
labelSeconds: "Seconds",
|
|
1990
|
+
expireBehavior: "text",
|
|
1991
|
+
expiredText: "The special price has ended.",
|
|
1992
|
+
storage: "session",
|
|
1993
|
+
ariaLabel: "Offer ends in"
|
|
1994
|
+
},
|
|
1995
|
+
styles: {
|
|
1996
|
+
base: {
|
|
1997
|
+
display: "flex",
|
|
1998
|
+
alignItems: "center",
|
|
1999
|
+
justifyContent: "center",
|
|
2000
|
+
gap: "16px",
|
|
2001
|
+
fontSize: "36px",
|
|
2002
|
+
fontWeight: "800",
|
|
2003
|
+
color: "#ffffff",
|
|
2004
|
+
fontVariantNumeric: "tabular-nums"
|
|
2005
|
+
},
|
|
2006
|
+
mobile: { fontSize: "28px", gap: "8px" }
|
|
2007
|
+
}
|
|
2008
|
+
},
|
|
2009
|
+
{
|
|
2010
|
+
id: gen("button"),
|
|
2011
|
+
type: "button",
|
|
2012
|
+
props: { label: "Claim the Offer", href: "#checkout" },
|
|
2013
|
+
styles: {
|
|
2014
|
+
base: {
|
|
2015
|
+
alignSelf: "center",
|
|
2016
|
+
backgroundColor: "#f59e0b",
|
|
2017
|
+
color: "#0f172a",
|
|
2018
|
+
padding: "14px 32px",
|
|
2019
|
+
borderRadius: "9999px",
|
|
2020
|
+
fontSize: "16px",
|
|
2021
|
+
fontWeight: "700"
|
|
2022
|
+
}
|
|
2023
|
+
}
|
|
2024
|
+
}
|
|
2025
|
+
],
|
|
2026
|
+
{ base: { backgroundColor: "#0f172a" } }
|
|
2027
|
+
)
|
|
2028
|
+
},
|
|
2029
|
+
{
|
|
2030
|
+
id: "sales-guarantee",
|
|
2031
|
+
name: "Money-Back Guarantee",
|
|
2032
|
+
category: SALES_CATEGORY,
|
|
2033
|
+
categoryLabel: SALES_CATEGORY_LABEL,
|
|
2034
|
+
description: "Risk-reversal guarantee section with shield icon",
|
|
2035
|
+
icon: "badge",
|
|
2036
|
+
createNodeTree: (gen = defaultGenId) => sectionShell(
|
|
2037
|
+
gen,
|
|
2038
|
+
[
|
|
2039
|
+
{
|
|
2040
|
+
id: gen("flex"),
|
|
2041
|
+
type: "flex",
|
|
2042
|
+
styles: {
|
|
2043
|
+
base: {
|
|
2044
|
+
display: "flex",
|
|
2045
|
+
flexDirection: "row",
|
|
2046
|
+
alignItems: "center",
|
|
2047
|
+
gap: "24px",
|
|
2048
|
+
padding: "32px",
|
|
2049
|
+
backgroundColor: "#f0fdf4",
|
|
2050
|
+
border: "2px dashed #16a34a",
|
|
2051
|
+
borderRadius: "16px"
|
|
2052
|
+
},
|
|
2053
|
+
mobile: { flexDirection: "column", textAlign: "center", padding: "24px" }
|
|
2054
|
+
},
|
|
2055
|
+
children: [
|
|
2056
|
+
{
|
|
2057
|
+
id: gen("icon"),
|
|
2058
|
+
type: "icon",
|
|
2059
|
+
props: { name: "shield-check", size: 64, color: "#16a34a", ariaLabel: "Guarantee" }
|
|
2060
|
+
},
|
|
2061
|
+
{
|
|
2062
|
+
id: gen("flex"),
|
|
2063
|
+
type: "flex",
|
|
2064
|
+
styles: { base: { display: "flex", flexDirection: "column", gap: "8px" } },
|
|
2065
|
+
children: [
|
|
2066
|
+
{
|
|
2067
|
+
id: gen("heading"),
|
|
2068
|
+
type: "heading",
|
|
2069
|
+
props: { text: "30-Day Money-Back Guarantee", level: 3 },
|
|
2070
|
+
styles: {
|
|
2071
|
+
base: { fontSize: "22px", fontWeight: "800", color: "#14532d", margin: "0" }
|
|
2072
|
+
}
|
|
2073
|
+
},
|
|
2074
|
+
{
|
|
2075
|
+
id: gen("paragraph"),
|
|
2076
|
+
type: "paragraph",
|
|
2077
|
+
props: {
|
|
2078
|
+
text: "Try it risk-free. If it is not right for you, email us within 30 days and we will refund every cent \u2014 no questions asked."
|
|
2079
|
+
},
|
|
2080
|
+
styles: {
|
|
2081
|
+
base: { fontSize: "15px", color: "#166534", margin: "0", lineHeight: "1.6" }
|
|
2082
|
+
}
|
|
2083
|
+
}
|
|
2084
|
+
]
|
|
2085
|
+
}
|
|
2086
|
+
]
|
|
2087
|
+
}
|
|
2088
|
+
],
|
|
2089
|
+
{},
|
|
2090
|
+
"760px"
|
|
2091
|
+
)
|
|
2092
|
+
},
|
|
2093
|
+
{
|
|
2094
|
+
id: "sales-trust-badges",
|
|
2095
|
+
name: "Trust Badges",
|
|
2096
|
+
category: SALES_CATEGORY,
|
|
2097
|
+
categoryLabel: SALES_CATEGORY_LABEL,
|
|
2098
|
+
description: "Row of trust signals: secure payment, guarantee, support, and delivery",
|
|
2099
|
+
icon: "grid",
|
|
2100
|
+
createNodeTree: (gen = defaultGenId) => sectionShell(
|
|
2101
|
+
gen,
|
|
2102
|
+
[
|
|
2103
|
+
{
|
|
2104
|
+
id: gen("grid"),
|
|
2105
|
+
type: "grid",
|
|
2106
|
+
styles: {
|
|
2107
|
+
base: {
|
|
2108
|
+
display: "grid",
|
|
2109
|
+
gridTemplateColumns: "repeat(4, minmax(0, 1fr))",
|
|
2110
|
+
gap: "16px"
|
|
2111
|
+
},
|
|
2112
|
+
mobile: { gridTemplateColumns: "repeat(2, minmax(0, 1fr))" }
|
|
2113
|
+
},
|
|
2114
|
+
children: [
|
|
2115
|
+
badgeItem(gen, "lock", "Secure Payment"),
|
|
2116
|
+
badgeItem(gen, "shield-check", "Money-Back Guarantee"),
|
|
2117
|
+
badgeItem(gen, "headphones", "24/7 Support"),
|
|
2118
|
+
badgeItem(gen, "zap", "Instant Access")
|
|
2119
|
+
]
|
|
2120
|
+
},
|
|
2121
|
+
{
|
|
2122
|
+
id: gen("divider"),
|
|
2123
|
+
type: "divider",
|
|
2124
|
+
props: { lineStyle: "solid", thickness: 1, color: "#e2e8f0", label: "" }
|
|
2125
|
+
},
|
|
2126
|
+
{
|
|
2127
|
+
id: gen("paragraph"),
|
|
2128
|
+
type: "paragraph",
|
|
2129
|
+
props: { text: "Trusted by 10,000+ customers." },
|
|
2130
|
+
styles: {
|
|
2131
|
+
base: { fontSize: "14px", color: "#64748b", textAlign: "center", margin: "0" }
|
|
2132
|
+
}
|
|
2133
|
+
}
|
|
2134
|
+
],
|
|
2135
|
+
{ base: { paddingTop: "32px", paddingBottom: "32px" } }
|
|
2136
|
+
)
|
|
2137
|
+
},
|
|
2138
|
+
{
|
|
2139
|
+
id: "sales-plan-comparison",
|
|
2140
|
+
name: "Plan Comparison",
|
|
2141
|
+
category: SALES_CATEGORY,
|
|
2142
|
+
categoryLabel: SALES_CATEGORY_LABEL,
|
|
2143
|
+
description: "Monthly/yearly tabs comparing pricing plans side by side",
|
|
2144
|
+
icon: "columns",
|
|
2145
|
+
createNodeTree: (gen = defaultGenId) => sectionShell(gen, [
|
|
2146
|
+
...sectionHeading(gen, "Choose Your Plan", "Switch between monthly and yearly billing."),
|
|
2147
|
+
{
|
|
2148
|
+
id: gen("tabs"),
|
|
2149
|
+
type: "tabs",
|
|
2150
|
+
props: { activeIndex: 0, ariaLabel: "Billing period" },
|
|
2151
|
+
styles: { base: { display: "flex", flexDirection: "column", width: "100%" } },
|
|
2152
|
+
children: [
|
|
2153
|
+
{
|
|
2154
|
+
id: gen("tab-panel"),
|
|
2155
|
+
type: "tab-panel",
|
|
2156
|
+
props: { label: "Monthly" },
|
|
2157
|
+
styles: { base: { paddingTop: "24px" } },
|
|
2158
|
+
children: [
|
|
2159
|
+
planColumns(gen, [
|
|
2160
|
+
["Basic", "$19 / mo", ["1 project", "Email support", "Core features"], false],
|
|
2161
|
+
[
|
|
2162
|
+
"Pro",
|
|
2163
|
+
"$49 / mo",
|
|
2164
|
+
["Unlimited projects", "Priority support", "All features"],
|
|
2165
|
+
true
|
|
2166
|
+
]
|
|
2167
|
+
])
|
|
2168
|
+
]
|
|
2169
|
+
},
|
|
2170
|
+
{
|
|
2171
|
+
id: gen("tab-panel"),
|
|
2172
|
+
type: "tab-panel",
|
|
2173
|
+
props: { label: "Yearly" },
|
|
2174
|
+
styles: { base: { paddingTop: "24px" } },
|
|
2175
|
+
children: [
|
|
2176
|
+
planColumns(gen, [
|
|
2177
|
+
[
|
|
2178
|
+
"Basic",
|
|
2179
|
+
"$190 / yr",
|
|
2180
|
+
["1 project", "Email support", "Core features", "2 months free"],
|
|
2181
|
+
false
|
|
2182
|
+
],
|
|
2183
|
+
[
|
|
2184
|
+
"Pro",
|
|
2185
|
+
"$490 / yr",
|
|
2186
|
+
["Unlimited projects", "Priority support", "All features", "2 months free"],
|
|
2187
|
+
true
|
|
2188
|
+
]
|
|
2189
|
+
])
|
|
2190
|
+
]
|
|
2191
|
+
}
|
|
2192
|
+
]
|
|
2193
|
+
},
|
|
2194
|
+
{
|
|
2195
|
+
id: gen("spacer"),
|
|
2196
|
+
type: "spacer",
|
|
2197
|
+
styles: { base: { width: "100%", height: "16px" }, mobile: { height: "8px" } }
|
|
2198
|
+
}
|
|
2199
|
+
])
|
|
2200
|
+
}
|
|
2201
|
+
];
|
|
2202
|
+
|
|
1617
2203
|
// src/blocks/index.ts
|
|
1618
2204
|
var STARTER_BLOCKS = [
|
|
1619
2205
|
...LAYOUT_STARTER_BLOCKS,
|
|
1620
2206
|
...UI_STARTER_BLOCKS,
|
|
1621
|
-
...FORM_STARTER_BLOCKS
|
|
2207
|
+
...FORM_STARTER_BLOCKS,
|
|
2208
|
+
...SALES_STARTER_BLOCKS
|
|
1622
2209
|
];
|
|
1623
2210
|
|
|
1624
2211
|
export {
|
|
@@ -1626,6 +2213,7 @@ export {
|
|
|
1626
2213
|
LAYOUT_STARTER_BLOCKS,
|
|
1627
2214
|
UI_STARTER_BLOCKS,
|
|
1628
2215
|
FORM_STARTER_BLOCKS,
|
|
2216
|
+
SALES_STARTER_BLOCKS,
|
|
1629
2217
|
STARTER_BLOCKS
|
|
1630
2218
|
};
|
|
1631
|
-
//# sourceMappingURL=chunk-
|
|
2219
|
+
//# sourceMappingURL=chunk-DIZKTXJI.js.map
|