@opensite/ui 1.5.1 → 1.5.3

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.
Files changed (63) hide show
  1. package/dist/about-location-info-hero.cjs +26 -48
  2. package/dist/about-location-info-hero.d.cts +1 -1
  3. package/dist/about-location-info-hero.d.ts +1 -1
  4. package/dist/about-location-info-hero.js +26 -48
  5. package/dist/components.cjs +338 -133
  6. package/dist/components.js +338 -133
  7. package/dist/footer-accordion-social.cjs +3 -1
  8. package/dist/footer-accordion-social.js +3 -1
  9. package/dist/footer-animated-social.cjs +13 -2
  10. package/dist/footer-animated-social.js +13 -2
  11. package/dist/footer-background-card.cjs +239 -69
  12. package/dist/footer-background-card.d.cts +9 -1
  13. package/dist/footer-background-card.d.ts +9 -1
  14. package/dist/footer-background-card.js +240 -70
  15. package/dist/footer-brand-description.cjs +3 -1
  16. package/dist/footer-brand-description.js +3 -1
  17. package/dist/footer-brand-links-contact.cjs +3 -1
  18. package/dist/footer-brand-links-contact.js +3 -1
  19. package/dist/footer-comprehensive-links.cjs +3 -1
  20. package/dist/footer-comprehensive-links.js +3 -1
  21. package/dist/footer-contact-card.cjs +3 -1
  22. package/dist/footer-contact-card.js +3 -1
  23. package/dist/footer-cta-banner.cjs +3 -1
  24. package/dist/footer-cta-banner.js +3 -1
  25. package/dist/footer-cta-social.cjs +3 -1
  26. package/dist/footer-cta-social.js +3 -1
  27. package/dist/footer-info-cards-accordion.cjs +3 -1
  28. package/dist/footer-info-cards-accordion.js +3 -1
  29. package/dist/footer-nav-social.cjs +159 -62
  30. package/dist/footer-nav-social.d.cts +9 -1
  31. package/dist/footer-nav-social.d.ts +9 -1
  32. package/dist/footer-nav-social.js +159 -62
  33. package/dist/footer-newsletter-contact.cjs +3 -1
  34. package/dist/footer-newsletter-contact.js +3 -1
  35. package/dist/footer-newsletter-grid.cjs +3 -1
  36. package/dist/footer-newsletter-grid.js +3 -1
  37. package/dist/footer-newsletter-minimal.cjs +3 -1
  38. package/dist/footer-newsletter-minimal.js +3 -1
  39. package/dist/footer-simple-centered.cjs +1 -1
  40. package/dist/footer-simple-centered.d.cts +1 -1
  41. package/dist/footer-simple-centered.d.ts +1 -1
  42. package/dist/footer-simple-centered.js +1 -1
  43. package/dist/footer-social-apps.cjs +3 -1
  44. package/dist/footer-social-apps.js +3 -1
  45. package/dist/footer-social-newsletter.cjs +3 -1
  46. package/dist/footer-social-newsletter.js +3 -1
  47. package/dist/footer-split-image-accordion.cjs +3 -1
  48. package/dist/footer-split-image-accordion.js +3 -1
  49. package/dist/hero-centered-screenshot.cjs +46 -59
  50. package/dist/hero-centered-screenshot.d.cts +1 -1
  51. package/dist/hero-centered-screenshot.d.ts +1 -1
  52. package/dist/hero-centered-screenshot.js +46 -59
  53. package/dist/index.cjs +338 -133
  54. package/dist/index.js +338 -133
  55. package/dist/navbar-fullscreen-menu.cjs +3 -1
  56. package/dist/navbar-fullscreen-menu.js +3 -1
  57. package/dist/navbar-transparent-overlay.cjs +3 -1
  58. package/dist/navbar-transparent-overlay.js +3 -1
  59. package/dist/registry.cjs +410 -166
  60. package/dist/registry.js +410 -166
  61. package/dist/social-link-icon.cjs +3 -1
  62. package/dist/social-link-icon.js +3 -1
  63. package/package.json +2 -2
@@ -1544,7 +1544,7 @@ var platformIconMap = {
1544
1544
  yelp: "cib/yelp",
1545
1545
  spotify: "cib/spotify",
1546
1546
  apple: "cib/apple",
1547
- x: "line-md/twitter-x",
1547
+ x: "line-md/twitter-x-alt",
1548
1548
  github: "cib/github",
1549
1549
  snapchat: "cib/snapchat",
1550
1550
  discord: "cib/discord",
@@ -1563,6 +1563,8 @@ var platformIconMap = {
1563
1563
  npmjs: "simple-icons/npm",
1564
1564
  crates: "cib/rust",
1565
1565
  rubygems: "cib/rubygems",
1566
+ behance: "cib/behance",
1567
+ dribbble: "cib/dribbble",
1566
1568
  unknown: "icon-park-solid/circular-connection"
1567
1569
  };
1568
1570
  var SocialLinkIcon = React__namespace.forwardRef(
@@ -1629,6 +1631,7 @@ function FooterNavSocial({
1629
1631
  gridClassName,
1630
1632
  leftColumnClassName,
1631
1633
  logoWrapperClassName,
1634
+ formConfig,
1632
1635
  logoClassName,
1633
1636
  navGridClassName,
1634
1637
  navSectionClassName,
@@ -1649,7 +1652,8 @@ function FooterNavSocial({
1649
1652
  legalLinksClassName,
1650
1653
  legalLinkClassName,
1651
1654
  background,
1652
- spacing,
1655
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
1656
+ spacing = "py-12 md:py-40",
1653
1657
  pattern,
1654
1658
  patternOpacity,
1655
1659
  optixFlowConfig
@@ -1658,16 +1662,15 @@ function FooterNavSocial({
1658
1662
  if (!sections || sections.length === 0) return null;
1659
1663
  return sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(navSectionClassName), children: [
1660
1664
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 font-semibold", navTitleClassName), children: section.title }),
1661
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("space-y-3 text-sm opacity-80", navLinksClassName), children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn(navLinkClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
1662
- Pressable,
1663
- {
1664
- href: link.href,
1665
- className: "hover:opacity-100",
1666
- children: link.name
1667
- }
1668
- ) }, linkIdx)) })
1665
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("space-y-3 text-sm opacity-80", navLinksClassName), children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn(navLinkClassName), children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.href, className: "hover:opacity-100", children: link.name }) }, linkIdx)) })
1669
1666
  ] }, sectionIdx));
1670
- }, [sections, navSectionClassName, navTitleClassName, navLinksClassName, navLinkClassName]);
1667
+ }, [
1668
+ sections,
1669
+ navSectionClassName,
1670
+ navTitleClassName,
1671
+ navLinksClassName,
1672
+ navLinkClassName
1673
+ ]);
1671
1674
  const socialLinksContent = React.useMemo(() => {
1672
1675
  if (!socialLinks || socialLinks.length === 0) return null;
1673
1676
  return socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -1676,7 +1679,10 @@ function FooterNavSocial({
1676
1679
  href: social.href,
1677
1680
  label: social.label,
1678
1681
  iconNameOverride: social.iconNameOverride,
1679
- className: cn("opacity-80 transition-colors hover:opacity-100", socialLinkClassName)
1682
+ className: cn(
1683
+ "opacity-80 transition-colors hover:opacity-100",
1684
+ socialLinkClassName
1685
+ )
1680
1686
  }
1681
1687
  ) }, idx));
1682
1688
  }, [socialLinks, socialLinkClassName]);
@@ -1692,64 +1698,155 @@ function FooterNavSocial({
1692
1698
  pattern,
1693
1699
  patternOpacity,
1694
1700
  className: cn(className),
1701
+ containerClassName,
1695
1702
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(contentClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
1696
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-10 lg:grid-cols-2", gridClassName), children: [
1697
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(leftColumnClassName), children: [
1698
- logo && /* @__PURE__ */ jsxRuntime.jsx(
1699
- FooterLogo,
1700
- {
1701
- logo,
1702
- logoClassName: cn("mb-8", logoWrapperClassName),
1703
- logoImageClassName: logoClassName,
1704
- optixFlowConfig
1705
- }
1703
+ /* @__PURE__ */ jsxRuntime.jsxs(
1704
+ "div",
1705
+ {
1706
+ className: cn(
1707
+ "grid gap-12 md:gap-24 lg:grid-cols-2",
1708
+ gridClassName
1706
1709
  ),
1707
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid gap-8 sm:grid-cols-3", navGridClassName), children: sectionsContent })
1708
- ] }),
1709
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col justify-between", rightColumnClassName), children: [
1710
- (newsletterHeading || newsletterDescription) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-8", newsletterClassName), children: [
1711
- newsletterHeading && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-2 text-lg font-semibold", newsletterHeadingClassName), children: newsletterHeading }),
1712
- newsletterDescription && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 text-sm opacity-80", newsletterDescriptionClassName), children: newsletterDescription }),
1713
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex max-w-md gap-2", newsletterFormClassName), children: [
1714
- /* @__PURE__ */ jsxRuntime.jsx(
1715
- "input",
1710
+ children: [
1711
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(leftColumnClassName), children: [
1712
+ logo && /* @__PURE__ */ jsxRuntime.jsx(
1713
+ FooterLogo,
1716
1714
  {
1717
- type: "email",
1718
- placeholder: newsletterPlaceholder,
1719
- className: "flex h-10 w-full rounded-md border border-input px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
1715
+ logo,
1716
+ logoClassName: cn("mb-8", logoWrapperClassName),
1717
+ logoImageClassName: logoClassName,
1718
+ optixFlowConfig
1720
1719
  }
1721
1720
  ),
1722
- newsletterButtonText && /* @__PURE__ */ jsxRuntime.jsx(
1723
- "button",
1721
+ /* @__PURE__ */ jsxRuntime.jsx(
1722
+ "div",
1724
1723
  {
1725
- type: "submit",
1726
- className: "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 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2",
1727
- children: newsletterButtonText
1724
+ className: cn(
1725
+ "grid md:flex w-full gap-8 md:gap-6 lg:gap-12 md:flex-wrap md:justify-between grid-cols-2",
1726
+ navGridClassName
1727
+ ),
1728
+ children: sectionsContent
1728
1729
  }
1729
1730
  )
1730
- ] })
1731
- ] }),
1732
- (socialTitle || socialLinksContent) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(socialSectionClassName), children: [
1733
- socialTitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 font-medium", socialTitleClassName), children: socialTitle }),
1734
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("flex items-center gap-4", socialLinksClassName), children: socialLinksContent })
1735
- ] })
1736
- ] })
1737
- ] }),
1738
- /* @__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: [
1739
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-2 md:flex-row md:items-center md:gap-4", copyrightClassName), children: [
1740
- /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
1741
- /* @__PURE__ */ jsxRuntime.jsx(
1742
- BrandAttribution,
1743
- {
1744
- internalBrandSlug: "open_site_ai",
1745
- optionIndex: 1,
1746
- variant: "span",
1747
- linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
1748
- }
1749
- )
1750
- ] }),
1751
- legalLinksContent && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("flex gap-4", legalLinksClassName), children: legalLinksContent })
1752
- ] })
1731
+ ] }),
1732
+ /* @__PURE__ */ jsxRuntime.jsxs(
1733
+ "div",
1734
+ {
1735
+ className: cn(
1736
+ "flex flex-col justify-between mt-0 md:mt-16 space-y-8 md:space-y-12",
1737
+ rightColumnClassName
1738
+ ),
1739
+ children: [
1740
+ formConfig && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("", newsletterClassName), children: [
1741
+ newsletterHeading && /* @__PURE__ */ jsxRuntime.jsx(
1742
+ "h3",
1743
+ {
1744
+ className: cn(
1745
+ "mb-4 font-medium",
1746
+ newsletterHeadingClassName
1747
+ ),
1748
+ children: newsletterHeading
1749
+ }
1750
+ ),
1751
+ newsletterDescription && /* @__PURE__ */ jsxRuntime.jsx(
1752
+ "p",
1753
+ {
1754
+ className: cn(
1755
+ "mb-4 text-sm opacity-80",
1756
+ newsletterDescriptionClassName
1757
+ ),
1758
+ children: newsletterDescription
1759
+ }
1760
+ ),
1761
+ /* @__PURE__ */ jsxRuntime.jsxs(
1762
+ "div",
1763
+ {
1764
+ className: cn(
1765
+ "flex max-w-md gap-2",
1766
+ newsletterFormClassName
1767
+ ),
1768
+ children: [
1769
+ /* @__PURE__ */ jsxRuntime.jsx(
1770
+ "input",
1771
+ {
1772
+ type: "email",
1773
+ placeholder: newsletterPlaceholder,
1774
+ className: "flex h-10 w-full rounded-md border border-input px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
1775
+ }
1776
+ ),
1777
+ newsletterButtonText && /* @__PURE__ */ jsxRuntime.jsx(
1778
+ "button",
1779
+ {
1780
+ type: "submit",
1781
+ className: "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 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2",
1782
+ children: newsletterButtonText
1783
+ }
1784
+ )
1785
+ ]
1786
+ }
1787
+ )
1788
+ ] }),
1789
+ (socialTitle || socialLinksContent) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(socialSectionClassName), children: [
1790
+ socialTitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 font-medium", socialTitleClassName), children: socialTitle }),
1791
+ /* @__PURE__ */ jsxRuntime.jsx(
1792
+ "ul",
1793
+ {
1794
+ className: cn(
1795
+ "flex items-center gap-4",
1796
+ socialLinksClassName
1797
+ ),
1798
+ children: socialLinksContent
1799
+ }
1800
+ )
1801
+ ] })
1802
+ ]
1803
+ }
1804
+ )
1805
+ ]
1806
+ }
1807
+ ),
1808
+ /* @__PURE__ */ jsxRuntime.jsxs(
1809
+ "div",
1810
+ {
1811
+ className: cn(
1812
+ "mt-16 flex flex-col justify-between gap-4 border-t pt-8 text-sm opacity-80 md:flex-row md:items-center",
1813
+ bottomClassName
1814
+ ),
1815
+ children: [
1816
+ /* @__PURE__ */ jsxRuntime.jsxs(
1817
+ "div",
1818
+ {
1819
+ className: cn(
1820
+ "flex flex-col gap-2 md:flex-row md:items-center md:gap-4",
1821
+ copyrightClassName
1822
+ ),
1823
+ children: [
1824
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
1825
+ /* @__PURE__ */ jsxRuntime.jsx(
1826
+ BrandAttribution,
1827
+ {
1828
+ internalBrandSlug: "open_site_ai",
1829
+ optionIndex: 1,
1830
+ variant: "span",
1831
+ linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
1832
+ }
1833
+ )
1834
+ ]
1835
+ }
1836
+ ),
1837
+ legalLinksContent && /* @__PURE__ */ jsxRuntime.jsx(
1838
+ "ul",
1839
+ {
1840
+ className: cn(
1841
+ "pt-4 md:pt-0 gap-4 grid md:flex grid-cols-2 items-center w-full md:w-fit",
1842
+ legalLinksClassName
1843
+ ),
1844
+ children: legalLinksContent
1845
+ }
1846
+ )
1847
+ ]
1848
+ }
1849
+ )
1753
1850
  ] }) })
1754
1851
  }
1755
1852
  );
@@ -86,6 +86,10 @@ interface FooterNavSocialProps {
86
86
  navLinkClassName?: string;
87
87
  /** Additional CSS classes for the right column */
88
88
  rightColumnClassName?: string;
89
+ /** Config for submitting forms to server */
90
+ formConfig?: {
91
+ token: string;
92
+ };
89
93
  /** Additional CSS classes for the newsletter section */
90
94
  newsletterClassName?: string;
91
95
  /** Additional CSS classes for the newsletter heading */
@@ -112,6 +116,10 @@ interface FooterNavSocialProps {
112
116
  legalLinkClassName?: string;
113
117
  /** Section background variant */
114
118
  background?: SectionBackground;
119
+ /**
120
+ * Additional CSS classes for the container
121
+ */
122
+ containerClassName?: string;
115
123
  /** Section spacing variant */
116
124
  spacing?: SectionSpacing;
117
125
  /** Optional background pattern */
@@ -129,6 +137,6 @@ interface FooterNavSocialProps {
129
137
  * websites, and businesses that want a complete footer with all essential elements
130
138
  * organized in a clean, professional layout.
131
139
  */
132
- declare function FooterNavSocial({ logo, sections, socialLinks, newsletterHeading, newsletterDescription, newsletterPlaceholder, newsletterButtonText, socialTitle, copyright, legalLinks, className, contentClassName, gridClassName, leftColumnClassName, logoWrapperClassName, logoClassName, navGridClassName, navSectionClassName, navTitleClassName, navLinksClassName, navLinkClassName, rightColumnClassName, newsletterClassName, newsletterHeadingClassName, newsletterDescriptionClassName, newsletterFormClassName, socialSectionClassName, socialTitleClassName, socialLinksClassName, socialLinkClassName, bottomClassName, copyrightClassName, legalLinksClassName, legalLinkClassName, background, spacing, pattern, patternOpacity, optixFlowConfig, }: FooterNavSocialProps): React.JSX.Element;
140
+ declare function FooterNavSocial({ logo, sections, socialLinks, newsletterHeading, newsletterDescription, newsletterPlaceholder, newsletterButtonText, socialTitle, copyright, legalLinks, className, contentClassName, gridClassName, leftColumnClassName, logoWrapperClassName, formConfig, logoClassName, navGridClassName, navSectionClassName, navTitleClassName, navLinksClassName, navLinkClassName, rightColumnClassName, newsletterClassName, newsletterHeadingClassName, newsletterDescriptionClassName, newsletterFormClassName, socialSectionClassName, socialTitleClassName, socialLinksClassName, socialLinkClassName, bottomClassName, copyrightClassName, legalLinksClassName, legalLinkClassName, background, containerClassName, spacing, pattern, patternOpacity, optixFlowConfig, }: FooterNavSocialProps): React.JSX.Element;
133
141
 
134
142
  export { FooterNavSocial, type FooterNavSocialProps, type FooterNavSocialSection };
@@ -86,6 +86,10 @@ interface FooterNavSocialProps {
86
86
  navLinkClassName?: string;
87
87
  /** Additional CSS classes for the right column */
88
88
  rightColumnClassName?: string;
89
+ /** Config for submitting forms to server */
90
+ formConfig?: {
91
+ token: string;
92
+ };
89
93
  /** Additional CSS classes for the newsletter section */
90
94
  newsletterClassName?: string;
91
95
  /** Additional CSS classes for the newsletter heading */
@@ -112,6 +116,10 @@ interface FooterNavSocialProps {
112
116
  legalLinkClassName?: string;
113
117
  /** Section background variant */
114
118
  background?: SectionBackground;
119
+ /**
120
+ * Additional CSS classes for the container
121
+ */
122
+ containerClassName?: string;
115
123
  /** Section spacing variant */
116
124
  spacing?: SectionSpacing;
117
125
  /** Optional background pattern */
@@ -129,6 +137,6 @@ interface FooterNavSocialProps {
129
137
  * websites, and businesses that want a complete footer with all essential elements
130
138
  * organized in a clean, professional layout.
131
139
  */
132
- declare function FooterNavSocial({ logo, sections, socialLinks, newsletterHeading, newsletterDescription, newsletterPlaceholder, newsletterButtonText, socialTitle, copyright, legalLinks, className, contentClassName, gridClassName, leftColumnClassName, logoWrapperClassName, logoClassName, navGridClassName, navSectionClassName, navTitleClassName, navLinksClassName, navLinkClassName, rightColumnClassName, newsletterClassName, newsletterHeadingClassName, newsletterDescriptionClassName, newsletterFormClassName, socialSectionClassName, socialTitleClassName, socialLinksClassName, socialLinkClassName, bottomClassName, copyrightClassName, legalLinksClassName, legalLinkClassName, background, spacing, pattern, patternOpacity, optixFlowConfig, }: FooterNavSocialProps): React.JSX.Element;
140
+ declare function FooterNavSocial({ logo, sections, socialLinks, newsletterHeading, newsletterDescription, newsletterPlaceholder, newsletterButtonText, socialTitle, copyright, legalLinks, className, contentClassName, gridClassName, leftColumnClassName, logoWrapperClassName, formConfig, logoClassName, navGridClassName, navSectionClassName, navTitleClassName, navLinksClassName, navLinkClassName, rightColumnClassName, newsletterClassName, newsletterHeadingClassName, newsletterDescriptionClassName, newsletterFormClassName, socialSectionClassName, socialTitleClassName, socialLinksClassName, socialLinkClassName, bottomClassName, copyrightClassName, legalLinksClassName, legalLinkClassName, background, containerClassName, spacing, pattern, patternOpacity, optixFlowConfig, }: FooterNavSocialProps): React.JSX.Element;
133
141
 
134
142
  export { FooterNavSocial, type FooterNavSocialProps, type FooterNavSocialSection };
@@ -1523,7 +1523,7 @@ var platformIconMap = {
1523
1523
  yelp: "cib/yelp",
1524
1524
  spotify: "cib/spotify",
1525
1525
  apple: "cib/apple",
1526
- x: "line-md/twitter-x",
1526
+ x: "line-md/twitter-x-alt",
1527
1527
  github: "cib/github",
1528
1528
  snapchat: "cib/snapchat",
1529
1529
  discord: "cib/discord",
@@ -1542,6 +1542,8 @@ var platformIconMap = {
1542
1542
  npmjs: "simple-icons/npm",
1543
1543
  crates: "cib/rust",
1544
1544
  rubygems: "cib/rubygems",
1545
+ behance: "cib/behance",
1546
+ dribbble: "cib/dribbble",
1545
1547
  unknown: "icon-park-solid/circular-connection"
1546
1548
  };
1547
1549
  var SocialLinkIcon = React.forwardRef(
@@ -1608,6 +1610,7 @@ function FooterNavSocial({
1608
1610
  gridClassName,
1609
1611
  leftColumnClassName,
1610
1612
  logoWrapperClassName,
1613
+ formConfig,
1611
1614
  logoClassName,
1612
1615
  navGridClassName,
1613
1616
  navSectionClassName,
@@ -1628,7 +1631,8 @@ function FooterNavSocial({
1628
1631
  legalLinksClassName,
1629
1632
  legalLinkClassName,
1630
1633
  background,
1631
- spacing,
1634
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
1635
+ spacing = "py-12 md:py-40",
1632
1636
  pattern,
1633
1637
  patternOpacity,
1634
1638
  optixFlowConfig
@@ -1637,16 +1641,15 @@ function FooterNavSocial({
1637
1641
  if (!sections || sections.length === 0) return null;
1638
1642
  return sections.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { className: cn(navSectionClassName), children: [
1639
1643
  /* @__PURE__ */ jsx("h3", { className: cn("mb-4 font-semibold", navTitleClassName), children: section.title }),
1640
- /* @__PURE__ */ jsx("ul", { className: cn("space-y-3 text-sm opacity-80", navLinksClassName), children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx("li", { className: cn(navLinkClassName), children: /* @__PURE__ */ jsx(
1641
- Pressable,
1642
- {
1643
- href: link.href,
1644
- className: "hover:opacity-100",
1645
- children: link.name
1646
- }
1647
- ) }, linkIdx)) })
1644
+ /* @__PURE__ */ jsx("ul", { className: cn("space-y-3 text-sm opacity-80", navLinksClassName), children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx("li", { className: cn(navLinkClassName), children: /* @__PURE__ */ jsx(Pressable, { href: link.href, className: "hover:opacity-100", children: link.name }) }, linkIdx)) })
1648
1645
  ] }, sectionIdx));
1649
- }, [sections, navSectionClassName, navTitleClassName, navLinksClassName, navLinkClassName]);
1646
+ }, [
1647
+ sections,
1648
+ navSectionClassName,
1649
+ navTitleClassName,
1650
+ navLinksClassName,
1651
+ navLinkClassName
1652
+ ]);
1650
1653
  const socialLinksContent = useMemo(() => {
1651
1654
  if (!socialLinks || socialLinks.length === 0) return null;
1652
1655
  return socialLinks.map((social, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
@@ -1655,7 +1658,10 @@ function FooterNavSocial({
1655
1658
  href: social.href,
1656
1659
  label: social.label,
1657
1660
  iconNameOverride: social.iconNameOverride,
1658
- className: cn("opacity-80 transition-colors hover:opacity-100", socialLinkClassName)
1661
+ className: cn(
1662
+ "opacity-80 transition-colors hover:opacity-100",
1663
+ socialLinkClassName
1664
+ )
1659
1665
  }
1660
1666
  ) }, idx));
1661
1667
  }, [socialLinks, socialLinkClassName]);
@@ -1671,64 +1677,155 @@ function FooterNavSocial({
1671
1677
  pattern,
1672
1678
  patternOpacity,
1673
1679
  className: cn(className),
1680
+ containerClassName,
1674
1681
  children: /* @__PURE__ */ jsx("div", { className: cn(contentClassName), children: /* @__PURE__ */ jsxs("footer", { children: [
1675
- /* @__PURE__ */ jsxs("div", { className: cn("grid gap-10 lg:grid-cols-2", gridClassName), children: [
1676
- /* @__PURE__ */ jsxs("div", { className: cn(leftColumnClassName), children: [
1677
- logo && /* @__PURE__ */ jsx(
1678
- FooterLogo,
1679
- {
1680
- logo,
1681
- logoClassName: cn("mb-8", logoWrapperClassName),
1682
- logoImageClassName: logoClassName,
1683
- optixFlowConfig
1684
- }
1682
+ /* @__PURE__ */ jsxs(
1683
+ "div",
1684
+ {
1685
+ className: cn(
1686
+ "grid gap-12 md:gap-24 lg:grid-cols-2",
1687
+ gridClassName
1685
1688
  ),
1686
- /* @__PURE__ */ jsx("div", { className: cn("grid gap-8 sm:grid-cols-3", navGridClassName), children: sectionsContent })
1687
- ] }),
1688
- /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col justify-between", rightColumnClassName), children: [
1689
- (newsletterHeading || newsletterDescription) && /* @__PURE__ */ jsxs("div", { className: cn("mb-8", newsletterClassName), children: [
1690
- newsletterHeading && /* @__PURE__ */ jsx("h3", { className: cn("mb-2 text-lg font-semibold", newsletterHeadingClassName), children: newsletterHeading }),
1691
- newsletterDescription && /* @__PURE__ */ jsx("p", { className: cn("mb-4 text-sm opacity-80", newsletterDescriptionClassName), children: newsletterDescription }),
1692
- /* @__PURE__ */ jsxs("div", { className: cn("flex max-w-md gap-2", newsletterFormClassName), children: [
1693
- /* @__PURE__ */ jsx(
1694
- "input",
1689
+ children: [
1690
+ /* @__PURE__ */ jsxs("div", { className: cn(leftColumnClassName), children: [
1691
+ logo && /* @__PURE__ */ jsx(
1692
+ FooterLogo,
1695
1693
  {
1696
- type: "email",
1697
- placeholder: newsletterPlaceholder,
1698
- className: "flex h-10 w-full rounded-md border border-input px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
1694
+ logo,
1695
+ logoClassName: cn("mb-8", logoWrapperClassName),
1696
+ logoImageClassName: logoClassName,
1697
+ optixFlowConfig
1699
1698
  }
1700
1699
  ),
1701
- newsletterButtonText && /* @__PURE__ */ jsx(
1702
- "button",
1700
+ /* @__PURE__ */ jsx(
1701
+ "div",
1703
1702
  {
1704
- type: "submit",
1705
- className: "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 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2",
1706
- children: newsletterButtonText
1703
+ className: cn(
1704
+ "grid md:flex w-full gap-8 md:gap-6 lg:gap-12 md:flex-wrap md:justify-between grid-cols-2",
1705
+ navGridClassName
1706
+ ),
1707
+ children: sectionsContent
1707
1708
  }
1708
1709
  )
1709
- ] })
1710
- ] }),
1711
- (socialTitle || socialLinksContent) && /* @__PURE__ */ jsxs("div", { className: cn(socialSectionClassName), children: [
1712
- socialTitle && /* @__PURE__ */ jsx("p", { className: cn("mb-4 font-medium", socialTitleClassName), children: socialTitle }),
1713
- /* @__PURE__ */ jsx("ul", { className: cn("flex items-center gap-4", socialLinksClassName), children: socialLinksContent })
1714
- ] })
1715
- ] })
1716
- ] }),
1717
- /* @__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: [
1718
- /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-2 md:flex-row md:items-center md:gap-4", copyrightClassName), children: [
1719
- /* @__PURE__ */ jsx(FooterCopyright, { copyright }),
1720
- /* @__PURE__ */ jsx(
1721
- BrandAttribution,
1722
- {
1723
- internalBrandSlug: "open_site_ai",
1724
- optionIndex: 1,
1725
- variant: "span",
1726
- linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
1727
- }
1728
- )
1729
- ] }),
1730
- legalLinksContent && /* @__PURE__ */ jsx("ul", { className: cn("flex gap-4", legalLinksClassName), children: legalLinksContent })
1731
- ] })
1710
+ ] }),
1711
+ /* @__PURE__ */ jsxs(
1712
+ "div",
1713
+ {
1714
+ className: cn(
1715
+ "flex flex-col justify-between mt-0 md:mt-16 space-y-8 md:space-y-12",
1716
+ rightColumnClassName
1717
+ ),
1718
+ children: [
1719
+ formConfig && /* @__PURE__ */ jsxs("div", { className: cn("", newsletterClassName), children: [
1720
+ newsletterHeading && /* @__PURE__ */ jsx(
1721
+ "h3",
1722
+ {
1723
+ className: cn(
1724
+ "mb-4 font-medium",
1725
+ newsletterHeadingClassName
1726
+ ),
1727
+ children: newsletterHeading
1728
+ }
1729
+ ),
1730
+ newsletterDescription && /* @__PURE__ */ jsx(
1731
+ "p",
1732
+ {
1733
+ className: cn(
1734
+ "mb-4 text-sm opacity-80",
1735
+ newsletterDescriptionClassName
1736
+ ),
1737
+ children: newsletterDescription
1738
+ }
1739
+ ),
1740
+ /* @__PURE__ */ jsxs(
1741
+ "div",
1742
+ {
1743
+ className: cn(
1744
+ "flex max-w-md gap-2",
1745
+ newsletterFormClassName
1746
+ ),
1747
+ children: [
1748
+ /* @__PURE__ */ jsx(
1749
+ "input",
1750
+ {
1751
+ type: "email",
1752
+ placeholder: newsletterPlaceholder,
1753
+ className: "flex h-10 w-full rounded-md border border-input px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
1754
+ }
1755
+ ),
1756
+ newsletterButtonText && /* @__PURE__ */ jsx(
1757
+ "button",
1758
+ {
1759
+ type: "submit",
1760
+ className: "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 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2",
1761
+ children: newsletterButtonText
1762
+ }
1763
+ )
1764
+ ]
1765
+ }
1766
+ )
1767
+ ] }),
1768
+ (socialTitle || socialLinksContent) && /* @__PURE__ */ jsxs("div", { className: cn(socialSectionClassName), children: [
1769
+ socialTitle && /* @__PURE__ */ jsx("p", { className: cn("mb-4 font-medium", socialTitleClassName), children: socialTitle }),
1770
+ /* @__PURE__ */ jsx(
1771
+ "ul",
1772
+ {
1773
+ className: cn(
1774
+ "flex items-center gap-4",
1775
+ socialLinksClassName
1776
+ ),
1777
+ children: socialLinksContent
1778
+ }
1779
+ )
1780
+ ] })
1781
+ ]
1782
+ }
1783
+ )
1784
+ ]
1785
+ }
1786
+ ),
1787
+ /* @__PURE__ */ jsxs(
1788
+ "div",
1789
+ {
1790
+ className: cn(
1791
+ "mt-16 flex flex-col justify-between gap-4 border-t pt-8 text-sm opacity-80 md:flex-row md:items-center",
1792
+ bottomClassName
1793
+ ),
1794
+ children: [
1795
+ /* @__PURE__ */ jsxs(
1796
+ "div",
1797
+ {
1798
+ className: cn(
1799
+ "flex flex-col gap-2 md:flex-row md:items-center md:gap-4",
1800
+ copyrightClassName
1801
+ ),
1802
+ children: [
1803
+ /* @__PURE__ */ jsx(FooterCopyright, { copyright }),
1804
+ /* @__PURE__ */ jsx(
1805
+ BrandAttribution,
1806
+ {
1807
+ internalBrandSlug: "open_site_ai",
1808
+ optionIndex: 1,
1809
+ variant: "span",
1810
+ linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
1811
+ }
1812
+ )
1813
+ ]
1814
+ }
1815
+ ),
1816
+ legalLinksContent && /* @__PURE__ */ jsx(
1817
+ "ul",
1818
+ {
1819
+ className: cn(
1820
+ "pt-4 md:pt-0 gap-4 grid md:flex grid-cols-2 items-center w-full md:w-fit",
1821
+ legalLinksClassName
1822
+ ),
1823
+ children: legalLinksContent
1824
+ }
1825
+ )
1826
+ ]
1827
+ }
1828
+ )
1732
1829
  ] }) })
1733
1830
  }
1734
1831
  );
@@ -1175,7 +1175,7 @@ var platformIconMap = {
1175
1175
  yelp: "cib/yelp",
1176
1176
  spotify: "cib/spotify",
1177
1177
  apple: "cib/apple",
1178
- x: "line-md/twitter-x",
1178
+ x: "line-md/twitter-x-alt",
1179
1179
  github: "cib/github",
1180
1180
  snapchat: "cib/snapchat",
1181
1181
  discord: "cib/discord",
@@ -1194,6 +1194,8 @@ var platformIconMap = {
1194
1194
  npmjs: "simple-icons/npm",
1195
1195
  crates: "cib/rust",
1196
1196
  rubygems: "cib/rubygems",
1197
+ behance: "cib/behance",
1198
+ dribbble: "cib/dribbble",
1197
1199
  unknown: "icon-park-solid/circular-connection"
1198
1200
  };
1199
1201
  var SocialLinkIcon = React__namespace.forwardRef(