@opensite/ui 1.4.4 → 1.4.5
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/components.cjs +160 -54
- package/dist/components.js +160 -54
- package/dist/feature-bento-utilities.cjs +101 -87
- package/dist/feature-bento-utilities.js +101 -87
- package/dist/feature-checklist-three-column.cjs +75 -43
- package/dist/feature-checklist-three-column.js +75 -43
- package/dist/feature-image-overlay-badge.cjs +57 -10
- package/dist/feature-image-overlay-badge.js +57 -10
- package/dist/feature-integration-cards.cjs +105 -19
- package/dist/feature-integration-cards.js +105 -19
- package/dist/feature-utility-cards-grid.cjs +79 -9
- package/dist/feature-utility-cards-grid.js +79 -9
- package/dist/footer-animated-social.cjs +66 -10
- package/dist/footer-animated-social.d.cts +5 -1
- package/dist/footer-animated-social.d.ts +5 -1
- package/dist/footer-animated-social.js +66 -10
- package/dist/footer-contact-card.cjs +94 -44
- package/dist/footer-contact-card.d.cts +5 -1
- package/dist/footer-contact-card.d.ts +5 -1
- package/dist/footer-contact-card.js +94 -44
- package/dist/index.cjs +160 -54
- package/dist/index.js +160 -54
- package/dist/registry.cjs +486 -196
- package/dist/registry.js +486 -196
- package/package.json +1 -1
|
@@ -1560,7 +1560,8 @@ function FooterAnimatedSocial({
|
|
|
1560
1560
|
separatorClassName,
|
|
1561
1561
|
copyrightClassName,
|
|
1562
1562
|
background,
|
|
1563
|
-
|
|
1563
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
1564
|
+
spacing = "py-6 md:py-32",
|
|
1564
1565
|
pattern,
|
|
1565
1566
|
patternOpacity
|
|
1566
1567
|
}) {
|
|
@@ -1583,7 +1584,10 @@ function FooterAnimatedSocial({
|
|
|
1583
1584
|
label: link.label,
|
|
1584
1585
|
iconNameOverride: link.iconNameOverride,
|
|
1585
1586
|
iconSize: 24,
|
|
1586
|
-
className: cn(
|
|
1587
|
+
className: cn(
|
|
1588
|
+
"group flex items-center gap-2 py-2 transition-colors hover:opacity-70",
|
|
1589
|
+
socialLinkClassName
|
|
1590
|
+
)
|
|
1587
1591
|
}
|
|
1588
1592
|
)
|
|
1589
1593
|
},
|
|
@@ -1598,6 +1602,7 @@ function FooterAnimatedSocial({
|
|
|
1598
1602
|
pattern,
|
|
1599
1603
|
patternOpacity,
|
|
1600
1604
|
className: cn(className),
|
|
1605
|
+
containerClassName,
|
|
1601
1606
|
children: /* @__PURE__ */ jsx("div", { className: cn(contentClassName), children: /* @__PURE__ */ jsx("footer", { children: /* @__PURE__ */ jsxs("div", { children: [
|
|
1602
1607
|
/* @__PURE__ */ jsxs(
|
|
1603
1608
|
motion.div,
|
|
@@ -1606,23 +1611,56 @@ function FooterAnimatedSocial({
|
|
|
1606
1611
|
initial: "hidden",
|
|
1607
1612
|
whileInView: "visible",
|
|
1608
1613
|
viewport: { once: true },
|
|
1609
|
-
className: cn(
|
|
1614
|
+
className: cn(
|
|
1615
|
+
"flex flex-col justify-between md:flex-row md:items-center",
|
|
1616
|
+
layoutClassName
|
|
1617
|
+
),
|
|
1610
1618
|
children: [
|
|
1611
1619
|
/* @__PURE__ */ jsxs("div", { className: cn("space-y-8", leftColumnClassName), children: [
|
|
1612
1620
|
/* @__PURE__ */ jsxs(motion.div, { variants: itemVariants, className: "space-y-6", children: [
|
|
1613
|
-
/* @__PURE__ */ jsx(
|
|
1614
|
-
|
|
1621
|
+
/* @__PURE__ */ jsx(
|
|
1622
|
+
"h2",
|
|
1623
|
+
{
|
|
1624
|
+
className: cn(
|
|
1625
|
+
"text-4xl leading-tight font-bold lg:text-5xl",
|
|
1626
|
+
headingClassName
|
|
1627
|
+
),
|
|
1628
|
+
children: heading
|
|
1629
|
+
}
|
|
1630
|
+
),
|
|
1631
|
+
/* @__PURE__ */ jsx(
|
|
1632
|
+
"p",
|
|
1633
|
+
{
|
|
1634
|
+
className: cn(
|
|
1635
|
+
"max-w-md text-lg leading-relaxed opacity-80",
|
|
1636
|
+
descriptionClassName
|
|
1637
|
+
),
|
|
1638
|
+
children: description
|
|
1639
|
+
}
|
|
1640
|
+
)
|
|
1615
1641
|
] }),
|
|
1616
1642
|
ctaUrl && ctaText && /* @__PURE__ */ jsx(motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsx(
|
|
1617
1643
|
Pressable,
|
|
1618
1644
|
{
|
|
1619
1645
|
href: ctaUrl,
|
|
1620
|
-
className: cn(
|
|
1646
|
+
className: cn(
|
|
1647
|
+
"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border h-11 px-8 hover:opacity-80",
|
|
1648
|
+
ctaClassName
|
|
1649
|
+
),
|
|
1621
1650
|
children: ctaText
|
|
1622
1651
|
}
|
|
1623
1652
|
) })
|
|
1624
1653
|
] }),
|
|
1625
|
-
/* @__PURE__ */ jsx(
|
|
1654
|
+
/* @__PURE__ */ jsx(
|
|
1655
|
+
"div",
|
|
1656
|
+
{
|
|
1657
|
+
className: cn(
|
|
1658
|
+
"flex flex-row md:flex-col flex-wrap items-center justify-center gap-4 md:gap-2",
|
|
1659
|
+
rightColumnClassName
|
|
1660
|
+
),
|
|
1661
|
+
children: /* @__PURE__ */ jsx(motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsx("div", { className: cn("flex flex-row md:flex-col items-center gap-4 md:gap-6", socialLinksClassName), children: socialLinksContent }) })
|
|
1662
|
+
}
|
|
1663
|
+
)
|
|
1626
1664
|
]
|
|
1627
1665
|
}
|
|
1628
1666
|
),
|
|
@@ -1635,14 +1673,32 @@ function FooterAnimatedSocial({
|
|
|
1635
1673
|
viewport: { once: true },
|
|
1636
1674
|
className: cn("mt-16", bottomClassName),
|
|
1637
1675
|
children: [
|
|
1638
|
-
/* @__PURE__ */ jsx(motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsx(
|
|
1676
|
+
/* @__PURE__ */ jsx(motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsx(
|
|
1677
|
+
"div",
|
|
1678
|
+
{
|
|
1679
|
+
className: cn(
|
|
1680
|
+
"mb-8 h-px w-full opacity-20",
|
|
1681
|
+
separatorClassName
|
|
1682
|
+
),
|
|
1683
|
+
style: { backgroundColor: "currentColor" }
|
|
1684
|
+
}
|
|
1685
|
+
) }),
|
|
1639
1686
|
/* @__PURE__ */ jsxs(
|
|
1640
1687
|
motion.div,
|
|
1641
1688
|
{
|
|
1642
1689
|
variants: itemVariants,
|
|
1643
|
-
className: cn(
|
|
1690
|
+
className: cn(
|
|
1691
|
+
"flex flex-col items-start justify-between gap-4 sm:flex-row sm:items-center",
|
|
1692
|
+
copyrightClassName
|
|
1693
|
+
),
|
|
1644
1694
|
children: [
|
|
1645
|
-
/* @__PURE__ */ jsx(
|
|
1695
|
+
/* @__PURE__ */ jsx(
|
|
1696
|
+
FooterCopyright,
|
|
1697
|
+
{
|
|
1698
|
+
copyright,
|
|
1699
|
+
className: "text-sm opacity-70"
|
|
1700
|
+
}
|
|
1701
|
+
),
|
|
1646
1702
|
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-6 text-sm opacity-70", children: /* @__PURE__ */ jsx(
|
|
1647
1703
|
BrandAttribution,
|
|
1648
1704
|
{
|
|
@@ -1644,7 +1644,8 @@ function FooterContactCard({
|
|
|
1644
1644
|
copyrightClassName,
|
|
1645
1645
|
locationClassName,
|
|
1646
1646
|
background,
|
|
1647
|
-
|
|
1647
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
1648
|
+
spacing = "py-6 md:py-32",
|
|
1648
1649
|
pattern,
|
|
1649
1650
|
patternOpacity,
|
|
1650
1651
|
optixFlowConfig
|
|
@@ -1657,6 +1658,7 @@ function FooterContactCard({
|
|
|
1657
1658
|
pattern,
|
|
1658
1659
|
patternOpacity,
|
|
1659
1660
|
className: cn(className),
|
|
1661
|
+
containerClassName,
|
|
1660
1662
|
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(contentClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
|
|
1661
1663
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-12 lg:grid-cols-2", gridClassName), children: [
|
|
1662
1664
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(leftColumnClassName), children: [
|
|
@@ -1669,7 +1671,16 @@ function FooterContactCard({
|
|
|
1669
1671
|
optixFlowConfig
|
|
1670
1672
|
}
|
|
1671
1673
|
),
|
|
1672
|
-
heading && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1674
|
+
heading && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1675
|
+
"h2",
|
|
1676
|
+
{
|
|
1677
|
+
className: cn(
|
|
1678
|
+
"mb-8 text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl",
|
|
1679
|
+
headingClassName
|
|
1680
|
+
),
|
|
1681
|
+
children: heading
|
|
1682
|
+
}
|
|
1683
|
+
),
|
|
1673
1684
|
(email || phone || address) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("space-y-4 opacity-80", contactClassName), children: [
|
|
1674
1685
|
email && /* @__PURE__ */ jsxRuntime.jsx("p", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1675
1686
|
Pressable,
|
|
@@ -1690,51 +1701,90 @@ function FooterContactCard({
|
|
|
1690
1701
|
address && /* @__PURE__ */ jsxRuntime.jsx("p", { children: address })
|
|
1691
1702
|
] })
|
|
1692
1703
|
] }),
|
|
1693
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1704
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1705
|
+
"div",
|
|
1706
|
+
{
|
|
1707
|
+
className: cn(
|
|
1708
|
+
"flex flex-col justify-between",
|
|
1709
|
+
rightColumnClassName
|
|
1710
|
+
),
|
|
1711
|
+
children: [
|
|
1712
|
+
(socialTitle || socialLinks && socialLinks.length > 0) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(socialSectionClassName), children: [
|
|
1713
|
+
socialTitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 font-medium", socialTitleClassName), children: socialTitle }),
|
|
1714
|
+
socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1715
|
+
"ul",
|
|
1716
|
+
{
|
|
1717
|
+
className: cn(
|
|
1718
|
+
"flex items-center gap-4",
|
|
1719
|
+
socialLinksClassName
|
|
1720
|
+
),
|
|
1721
|
+
children: socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1722
|
+
SocialLinkIcon,
|
|
1723
|
+
{
|
|
1724
|
+
href: social.href,
|
|
1725
|
+
label: social.label,
|
|
1726
|
+
iconNameOverride: social.iconNameOverride,
|
|
1727
|
+
className: cn(
|
|
1728
|
+
"flex size-12 items-center justify-center rounded-full border transition-colors hover:opacity-80",
|
|
1729
|
+
socialLinkClassName
|
|
1730
|
+
)
|
|
1731
|
+
}
|
|
1732
|
+
) }, idx))
|
|
1733
|
+
}
|
|
1734
|
+
)
|
|
1735
|
+
] }),
|
|
1736
|
+
navLinks && navLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("nav", { className: cn("mt-18 md:mt-8", navClassName), children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-wrap gap-6", children: navLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1737
|
+
Pressable,
|
|
1738
|
+
{
|
|
1739
|
+
href: link.href,
|
|
1740
|
+
className: cn(
|
|
1741
|
+
"opacity-80 hover:opacity-100",
|
|
1742
|
+
navLinkClassName
|
|
1743
|
+
),
|
|
1744
|
+
children: link.name
|
|
1745
|
+
}
|
|
1746
|
+
) }, idx)) }) })
|
|
1747
|
+
]
|
|
1748
|
+
}
|
|
1749
|
+
)
|
|
1750
|
+
] }),
|
|
1751
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1752
|
+
"div",
|
|
1753
|
+
{
|
|
1754
|
+
className: cn(
|
|
1755
|
+
"mt-16 flex flex-col justify-between gap-4 border-t pt-8 text-sm opacity-80 md:flex-row md:items-center",
|
|
1756
|
+
bottomClassName
|
|
1757
|
+
),
|
|
1758
|
+
children: [
|
|
1759
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1760
|
+
"div",
|
|
1698
1761
|
{
|
|
1699
|
-
href: social.href,
|
|
1700
|
-
label: social.label,
|
|
1701
|
-
iconNameOverride: social.iconNameOverride,
|
|
1702
1762
|
className: cn(
|
|
1703
|
-
"flex
|
|
1704
|
-
|
|
1705
|
-
)
|
|
1763
|
+
"flex flex-col gap-2 md:flex-row md:items-center md:gap-4",
|
|
1764
|
+
copyrightClassName
|
|
1765
|
+
),
|
|
1766
|
+
children: [
|
|
1767
|
+
/* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
|
|
1768
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1769
|
+
BrandAttribution,
|
|
1770
|
+
{
|
|
1771
|
+
internalBrandSlug: "open_site_ai",
|
|
1772
|
+
optionIndex: 7,
|
|
1773
|
+
variant: "span",
|
|
1774
|
+
linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
|
|
1775
|
+
}
|
|
1776
|
+
)
|
|
1777
|
+
]
|
|
1706
1778
|
}
|
|
1707
|
-
)
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
) }, idx)) }) })
|
|
1717
|
-
] })
|
|
1718
|
-
] }),
|
|
1719
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-16 flex flex-col justify-between gap-4 border-t pt-8 text-sm opacity-80 md:flex-row md:items-center", bottomClassName), children: [
|
|
1720
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-2 md:flex-row md:items-center md:gap-4", copyrightClassName), children: [
|
|
1721
|
-
/* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
|
|
1722
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1723
|
-
BrandAttribution,
|
|
1724
|
-
{
|
|
1725
|
-
internalBrandSlug: "open_site_ai",
|
|
1726
|
-
optionIndex: 7,
|
|
1727
|
-
variant: "span",
|
|
1728
|
-
linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
|
|
1729
|
-
}
|
|
1730
|
-
)
|
|
1731
|
-
] }),
|
|
1732
|
-
(locationLabel || location) && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: cn(locationClassName), children: [
|
|
1733
|
-
locationLabel,
|
|
1734
|
-
" ",
|
|
1735
|
-
location && /* @__PURE__ */ jsxRuntime.jsx("strong", { children: location })
|
|
1736
|
-
] })
|
|
1737
|
-
] })
|
|
1779
|
+
),
|
|
1780
|
+
(locationLabel || location) && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: cn(locationClassName), children: [
|
|
1781
|
+
locationLabel,
|
|
1782
|
+
" ",
|
|
1783
|
+
location && /* @__PURE__ */ jsxRuntime.jsx("strong", { children: location })
|
|
1784
|
+
] })
|
|
1785
|
+
]
|
|
1786
|
+
}
|
|
1787
|
+
)
|
|
1738
1788
|
] }) })
|
|
1739
1789
|
}
|
|
1740
1790
|
);
|
|
@@ -93,6 +93,10 @@ interface FooterContactCardProps {
|
|
|
93
93
|
locationClassName?: string;
|
|
94
94
|
/** Section background variant */
|
|
95
95
|
background?: SectionBackground;
|
|
96
|
+
/**
|
|
97
|
+
* Additional CSS classes for the container
|
|
98
|
+
*/
|
|
99
|
+
containerClassName?: string;
|
|
96
100
|
/** Section spacing variant */
|
|
97
101
|
spacing?: SectionSpacing;
|
|
98
102
|
/** Optional background pattern name */
|
|
@@ -109,6 +113,6 @@ interface FooterContactCardProps {
|
|
|
109
113
|
* and horizontal navigation. Ideal for service businesses, agencies, and professional websites
|
|
110
114
|
* that want to emphasize contact information and make it easy for visitors to get in touch.
|
|
111
115
|
*/
|
|
112
|
-
declare function FooterContactCard({ logo, heading, email, phone, address, socialLinks, navLinks, socialTitle, location, locationLabel, copyright, className, contentClassName, gridClassName, leftColumnClassName, logoWrapperClassName, logoClassName, headingClassName, contactClassName, rightColumnClassName, socialSectionClassName, socialTitleClassName, socialLinksClassName, socialLinkClassName, navClassName, navLinkClassName, bottomClassName, copyrightClassName, locationClassName, background, spacing, pattern, patternOpacity, optixFlowConfig, }: FooterContactCardProps): React.JSX.Element;
|
|
116
|
+
declare function FooterContactCard({ logo, heading, email, phone, address, socialLinks, navLinks, socialTitle, location, locationLabel, copyright, className, contentClassName, gridClassName, leftColumnClassName, logoWrapperClassName, logoClassName, headingClassName, contactClassName, rightColumnClassName, socialSectionClassName, socialTitleClassName, socialLinksClassName, socialLinkClassName, navClassName, navLinkClassName, bottomClassName, copyrightClassName, locationClassName, background, containerClassName, spacing, pattern, patternOpacity, optixFlowConfig, }: FooterContactCardProps): React.JSX.Element;
|
|
113
117
|
|
|
114
118
|
export { FooterContactCard, type FooterContactCardNavLink, type FooterContactCardProps };
|
|
@@ -93,6 +93,10 @@ interface FooterContactCardProps {
|
|
|
93
93
|
locationClassName?: string;
|
|
94
94
|
/** Section background variant */
|
|
95
95
|
background?: SectionBackground;
|
|
96
|
+
/**
|
|
97
|
+
* Additional CSS classes for the container
|
|
98
|
+
*/
|
|
99
|
+
containerClassName?: string;
|
|
96
100
|
/** Section spacing variant */
|
|
97
101
|
spacing?: SectionSpacing;
|
|
98
102
|
/** Optional background pattern name */
|
|
@@ -109,6 +113,6 @@ interface FooterContactCardProps {
|
|
|
109
113
|
* and horizontal navigation. Ideal for service businesses, agencies, and professional websites
|
|
110
114
|
* that want to emphasize contact information and make it easy for visitors to get in touch.
|
|
111
115
|
*/
|
|
112
|
-
declare function FooterContactCard({ logo, heading, email, phone, address, socialLinks, navLinks, socialTitle, location, locationLabel, copyright, className, contentClassName, gridClassName, leftColumnClassName, logoWrapperClassName, logoClassName, headingClassName, contactClassName, rightColumnClassName, socialSectionClassName, socialTitleClassName, socialLinksClassName, socialLinkClassName, navClassName, navLinkClassName, bottomClassName, copyrightClassName, locationClassName, background, spacing, pattern, patternOpacity, optixFlowConfig, }: FooterContactCardProps): React.JSX.Element;
|
|
116
|
+
declare function FooterContactCard({ logo, heading, email, phone, address, socialLinks, navLinks, socialTitle, location, locationLabel, copyright, className, contentClassName, gridClassName, leftColumnClassName, logoWrapperClassName, logoClassName, headingClassName, contactClassName, rightColumnClassName, socialSectionClassName, socialTitleClassName, socialLinksClassName, socialLinkClassName, navClassName, navLinkClassName, bottomClassName, copyrightClassName, locationClassName, background, containerClassName, spacing, pattern, patternOpacity, optixFlowConfig, }: FooterContactCardProps): React.JSX.Element;
|
|
113
117
|
|
|
114
118
|
export { FooterContactCard, type FooterContactCardNavLink, type FooterContactCardProps };
|
|
@@ -1623,7 +1623,8 @@ function FooterContactCard({
|
|
|
1623
1623
|
copyrightClassName,
|
|
1624
1624
|
locationClassName,
|
|
1625
1625
|
background,
|
|
1626
|
-
|
|
1626
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
1627
|
+
spacing = "py-6 md:py-32",
|
|
1627
1628
|
pattern,
|
|
1628
1629
|
patternOpacity,
|
|
1629
1630
|
optixFlowConfig
|
|
@@ -1636,6 +1637,7 @@ function FooterContactCard({
|
|
|
1636
1637
|
pattern,
|
|
1637
1638
|
patternOpacity,
|
|
1638
1639
|
className: cn(className),
|
|
1640
|
+
containerClassName,
|
|
1639
1641
|
children: /* @__PURE__ */ jsx("div", { className: cn(contentClassName), children: /* @__PURE__ */ jsxs("footer", { children: [
|
|
1640
1642
|
/* @__PURE__ */ jsxs("div", { className: cn("grid gap-12 lg:grid-cols-2", gridClassName), children: [
|
|
1641
1643
|
/* @__PURE__ */ jsxs("div", { className: cn(leftColumnClassName), children: [
|
|
@@ -1648,7 +1650,16 @@ function FooterContactCard({
|
|
|
1648
1650
|
optixFlowConfig
|
|
1649
1651
|
}
|
|
1650
1652
|
),
|
|
1651
|
-
heading && /* @__PURE__ */ jsx(
|
|
1653
|
+
heading && /* @__PURE__ */ jsx(
|
|
1654
|
+
"h2",
|
|
1655
|
+
{
|
|
1656
|
+
className: cn(
|
|
1657
|
+
"mb-8 text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl",
|
|
1658
|
+
headingClassName
|
|
1659
|
+
),
|
|
1660
|
+
children: heading
|
|
1661
|
+
}
|
|
1662
|
+
),
|
|
1652
1663
|
(email || phone || address) && /* @__PURE__ */ jsxs("div", { className: cn("space-y-4 opacity-80", contactClassName), children: [
|
|
1653
1664
|
email && /* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx(
|
|
1654
1665
|
Pressable,
|
|
@@ -1669,51 +1680,90 @@ function FooterContactCard({
|
|
|
1669
1680
|
address && /* @__PURE__ */ jsx("p", { children: address })
|
|
1670
1681
|
] })
|
|
1671
1682
|
] }),
|
|
1672
|
-
/* @__PURE__ */ jsxs(
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1683
|
+
/* @__PURE__ */ jsxs(
|
|
1684
|
+
"div",
|
|
1685
|
+
{
|
|
1686
|
+
className: cn(
|
|
1687
|
+
"flex flex-col justify-between",
|
|
1688
|
+
rightColumnClassName
|
|
1689
|
+
),
|
|
1690
|
+
children: [
|
|
1691
|
+
(socialTitle || socialLinks && socialLinks.length > 0) && /* @__PURE__ */ jsxs("div", { className: cn(socialSectionClassName), children: [
|
|
1692
|
+
socialTitle && /* @__PURE__ */ jsx("p", { className: cn("mb-4 font-medium", socialTitleClassName), children: socialTitle }),
|
|
1693
|
+
socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsx(
|
|
1694
|
+
"ul",
|
|
1695
|
+
{
|
|
1696
|
+
className: cn(
|
|
1697
|
+
"flex items-center gap-4",
|
|
1698
|
+
socialLinksClassName
|
|
1699
|
+
),
|
|
1700
|
+
children: socialLinks.map((social, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
1701
|
+
SocialLinkIcon,
|
|
1702
|
+
{
|
|
1703
|
+
href: social.href,
|
|
1704
|
+
label: social.label,
|
|
1705
|
+
iconNameOverride: social.iconNameOverride,
|
|
1706
|
+
className: cn(
|
|
1707
|
+
"flex size-12 items-center justify-center rounded-full border transition-colors hover:opacity-80",
|
|
1708
|
+
socialLinkClassName
|
|
1709
|
+
)
|
|
1710
|
+
}
|
|
1711
|
+
) }, idx))
|
|
1712
|
+
}
|
|
1713
|
+
)
|
|
1714
|
+
] }),
|
|
1715
|
+
navLinks && navLinks.length > 0 && /* @__PURE__ */ jsx("nav", { className: cn("mt-18 md:mt-8", navClassName), children: /* @__PURE__ */ jsx("ul", { className: "flex flex-wrap gap-6", children: navLinks.map((link, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
1716
|
+
Pressable,
|
|
1717
|
+
{
|
|
1718
|
+
href: link.href,
|
|
1719
|
+
className: cn(
|
|
1720
|
+
"opacity-80 hover:opacity-100",
|
|
1721
|
+
navLinkClassName
|
|
1722
|
+
),
|
|
1723
|
+
children: link.name
|
|
1724
|
+
}
|
|
1725
|
+
) }, idx)) }) })
|
|
1726
|
+
]
|
|
1727
|
+
}
|
|
1728
|
+
)
|
|
1729
|
+
] }),
|
|
1730
|
+
/* @__PURE__ */ jsxs(
|
|
1731
|
+
"div",
|
|
1732
|
+
{
|
|
1733
|
+
className: cn(
|
|
1734
|
+
"mt-16 flex flex-col justify-between gap-4 border-t pt-8 text-sm opacity-80 md:flex-row md:items-center",
|
|
1735
|
+
bottomClassName
|
|
1736
|
+
),
|
|
1737
|
+
children: [
|
|
1738
|
+
/* @__PURE__ */ jsxs(
|
|
1739
|
+
"div",
|
|
1677
1740
|
{
|
|
1678
|
-
href: social.href,
|
|
1679
|
-
label: social.label,
|
|
1680
|
-
iconNameOverride: social.iconNameOverride,
|
|
1681
1741
|
className: cn(
|
|
1682
|
-
"flex
|
|
1683
|
-
|
|
1684
|
-
)
|
|
1742
|
+
"flex flex-col gap-2 md:flex-row md:items-center md:gap-4",
|
|
1743
|
+
copyrightClassName
|
|
1744
|
+
),
|
|
1745
|
+
children: [
|
|
1746
|
+
/* @__PURE__ */ jsx(FooterCopyright, { copyright }),
|
|
1747
|
+
/* @__PURE__ */ jsx(
|
|
1748
|
+
BrandAttribution,
|
|
1749
|
+
{
|
|
1750
|
+
internalBrandSlug: "open_site_ai",
|
|
1751
|
+
optionIndex: 7,
|
|
1752
|
+
variant: "span",
|
|
1753
|
+
linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
|
|
1754
|
+
}
|
|
1755
|
+
)
|
|
1756
|
+
]
|
|
1685
1757
|
}
|
|
1686
|
-
)
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
) }, idx)) }) })
|
|
1696
|
-
] })
|
|
1697
|
-
] }),
|
|
1698
|
-
/* @__PURE__ */ jsxs("div", { className: cn("mt-16 flex flex-col justify-between gap-4 border-t pt-8 text-sm opacity-80 md:flex-row md:items-center", bottomClassName), children: [
|
|
1699
|
-
/* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-2 md:flex-row md:items-center md:gap-4", copyrightClassName), children: [
|
|
1700
|
-
/* @__PURE__ */ jsx(FooterCopyright, { copyright }),
|
|
1701
|
-
/* @__PURE__ */ jsx(
|
|
1702
|
-
BrandAttribution,
|
|
1703
|
-
{
|
|
1704
|
-
internalBrandSlug: "open_site_ai",
|
|
1705
|
-
optionIndex: 7,
|
|
1706
|
-
variant: "span",
|
|
1707
|
-
linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
|
|
1708
|
-
}
|
|
1709
|
-
)
|
|
1710
|
-
] }),
|
|
1711
|
-
(locationLabel || location) && /* @__PURE__ */ jsxs("p", { className: cn(locationClassName), children: [
|
|
1712
|
-
locationLabel,
|
|
1713
|
-
" ",
|
|
1714
|
-
location && /* @__PURE__ */ jsx("strong", { children: location })
|
|
1715
|
-
] })
|
|
1716
|
-
] })
|
|
1758
|
+
),
|
|
1759
|
+
(locationLabel || location) && /* @__PURE__ */ jsxs("p", { className: cn(locationClassName), children: [
|
|
1760
|
+
locationLabel,
|
|
1761
|
+
" ",
|
|
1762
|
+
location && /* @__PURE__ */ jsx("strong", { children: location })
|
|
1763
|
+
] })
|
|
1764
|
+
]
|
|
1765
|
+
}
|
|
1766
|
+
)
|
|
1717
1767
|
] }) })
|
|
1718
1768
|
}
|
|
1719
1769
|
);
|