@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.
@@ -1560,7 +1560,8 @@ function FooterAnimatedSocial({
1560
1560
  separatorClassName,
1561
1561
  copyrightClassName,
1562
1562
  background,
1563
- spacing,
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("group flex items-center gap-2 py-2 transition-colors hover:opacity-70", socialLinkClassName)
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("flex flex-col justify-between md:flex-row md:items-center", layoutClassName),
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("h2", { className: cn("text-4xl leading-tight font-bold lg:text-5xl", headingClassName), children: heading }),
1614
- /* @__PURE__ */ jsx("p", { className: cn("max-w-md text-lg leading-relaxed opacity-80", descriptionClassName), children: description })
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("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", ctaClassName),
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("div", { className: cn("mt-5 space-y-8 md:mt-0", rightColumnClassName), children: /* @__PURE__ */ jsx(motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsx("div", { className: cn("space-y-6", socialLinksClassName), children: socialLinksContent }) }) })
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("div", { className: cn("mb-8 h-px w-full opacity-20", separatorClassName), style: { backgroundColor: "currentColor" } }) }),
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("flex flex-col items-start justify-between gap-4 sm:flex-row sm:items-center", copyrightClassName),
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(FooterCopyright, { copyright, className: "text-sm opacity-70" }),
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
- spacing,
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("h2", { className: cn("mb-8 text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl", headingClassName), children: heading }),
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("div", { className: cn("flex flex-col justify-between", rightColumnClassName), children: [
1694
- (socialTitle || socialLinks && socialLinks.length > 0) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(socialSectionClassName), children: [
1695
- socialTitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 font-medium", socialTitleClassName), children: socialTitle }),
1696
- socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("flex items-center gap-4", socialLinksClassName), children: socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
1697
- SocialLinkIcon,
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 size-12 items-center justify-center rounded-full border transition-colors hover:opacity-80",
1704
- socialLinkClassName
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
- ) }, idx)) })
1708
- ] }),
1709
- navLinks && navLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("nav", { className: cn("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(
1710
- Pressable,
1711
- {
1712
- href: link.href,
1713
- className: cn("opacity-80 hover:opacity-100", navLinkClassName),
1714
- children: link.name
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
- spacing,
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("h2", { className: cn("mb-8 text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl", headingClassName), children: heading }),
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("div", { className: cn("flex flex-col justify-between", rightColumnClassName), children: [
1673
- (socialTitle || socialLinks && socialLinks.length > 0) && /* @__PURE__ */ jsxs("div", { className: cn(socialSectionClassName), children: [
1674
- socialTitle && /* @__PURE__ */ jsx("p", { className: cn("mb-4 font-medium", socialTitleClassName), children: socialTitle }),
1675
- socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsx("ul", { className: cn("flex items-center gap-4", socialLinksClassName), children: socialLinks.map((social, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
1676
- SocialLinkIcon,
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 size-12 items-center justify-center rounded-full border transition-colors hover:opacity-80",
1683
- socialLinkClassName
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
- ) }, idx)) })
1687
- ] }),
1688
- navLinks && navLinks.length > 0 && /* @__PURE__ */ jsx("nav", { className: cn("mt-8", navClassName), children: /* @__PURE__ */ jsx("ul", { className: "flex flex-wrap gap-6", children: navLinks.map((link, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
1689
- Pressable,
1690
- {
1691
- href: link.href,
1692
- className: cn("opacity-80 hover:opacity-100", navLinkClassName),
1693
- children: link.name
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
  );