@opensite/ui 1.3.7 → 1.3.8

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 (53) hide show
  1. package/dist/components.cjs +159 -83
  2. package/dist/components.js +159 -83
  3. package/dist/feature-showcase.cjs +3 -3
  4. package/dist/feature-showcase.js +3 -3
  5. package/dist/footer-accordion-social.cjs +18 -0
  6. package/dist/footer-accordion-social.js +18 -0
  7. package/dist/footer-animated-social.cjs +18 -0
  8. package/dist/footer-animated-social.js +18 -0
  9. package/dist/footer-brand-description.cjs +18 -0
  10. package/dist/footer-brand-description.js +18 -0
  11. package/dist/footer-brand-links-contact.cjs +18 -0
  12. package/dist/footer-brand-links-contact.js +18 -0
  13. package/dist/footer-comprehensive-links.cjs +18 -0
  14. package/dist/footer-comprehensive-links.js +18 -0
  15. package/dist/footer-contact-card.cjs +18 -0
  16. package/dist/footer-contact-card.js +18 -0
  17. package/dist/footer-cta-banner.cjs +18 -0
  18. package/dist/footer-cta-banner.js +18 -0
  19. package/dist/footer-cta-social.cjs +18 -0
  20. package/dist/footer-cta-social.js +18 -0
  21. package/dist/footer-info-cards-accordion.cjs +18 -0
  22. package/dist/footer-info-cards-accordion.js +18 -0
  23. package/dist/footer-links-grid.cjs +9 -14
  24. package/dist/footer-links-grid.d.cts +5 -1
  25. package/dist/footer-links-grid.d.ts +5 -1
  26. package/dist/footer-links-grid.js +9 -14
  27. package/dist/footer-nav-social.cjs +18 -0
  28. package/dist/footer-nav-social.js +18 -0
  29. package/dist/footer-newsletter-contact.cjs +18 -0
  30. package/dist/footer-newsletter-contact.js +18 -0
  31. package/dist/footer-newsletter-grid.cjs +18 -0
  32. package/dist/footer-newsletter-grid.js +18 -0
  33. package/dist/footer-newsletter-minimal.cjs +18 -0
  34. package/dist/footer-newsletter-minimal.js +18 -0
  35. package/dist/footer-social-apps.cjs +18 -0
  36. package/dist/footer-social-apps.js +18 -0
  37. package/dist/footer-social-newsletter.cjs +150 -99
  38. package/dist/footer-social-newsletter.d.cts +5 -1
  39. package/dist/footer-social-newsletter.d.ts +5 -1
  40. package/dist/footer-social-newsletter.js +150 -99
  41. package/dist/footer-split-image-accordion.cjs +18 -0
  42. package/dist/footer-split-image-accordion.js +18 -0
  43. package/dist/index.cjs +159 -83
  44. package/dist/index.js +159 -83
  45. package/dist/navbar-fullscreen-menu.cjs +18 -0
  46. package/dist/navbar-fullscreen-menu.js +18 -0
  47. package/dist/navbar-transparent-overlay.cjs +18 -0
  48. package/dist/navbar-transparent-overlay.js +18 -0
  49. package/dist/registry.cjs +162 -86
  50. package/dist/registry.js +162 -86
  51. package/dist/social-link-icon.cjs +18 -0
  52. package/dist/social-link-icon.js +18 -0
  53. package/package.json +2 -2
@@ -1002,6 +1002,24 @@ var platformIconMap = {
1002
1002
  spotify: "cib/spotify",
1003
1003
  apple: "cib/apple",
1004
1004
  x: "line-md/twitter-x",
1005
+ github: "cib/github",
1006
+ snapchat: "cib/snapchat",
1007
+ discord: "cib/discord",
1008
+ dev: "simple-icons/devdotto",
1009
+ substack: "simple-icons/substack",
1010
+ reddit: "cib/reddit",
1011
+ pinterest: "cib/pinterest",
1012
+ threads: "simple-icons/threads",
1013
+ twitch: "cib/twitch",
1014
+ whatsapp: "cib/whatsapp",
1015
+ telegram: "cib/telegram",
1016
+ medium: "simple-icons/medium",
1017
+ patreon: "cib/patreon",
1018
+ onlyfans: "simple-icons/onlyfans",
1019
+ eventbrite: "cib/eventbrite",
1020
+ npmjs: "simple-icons/npm",
1021
+ crates: "cib/rust",
1022
+ rubygems: "cib/rubygems",
1005
1023
  unknown: "icon-park-solid/circular-connection"
1006
1024
  };
1007
1025
  var SocialLinkIcon = React__namespace.forwardRef(
@@ -981,6 +981,24 @@ var platformIconMap = {
981
981
  spotify: "cib/spotify",
982
982
  apple: "cib/apple",
983
983
  x: "line-md/twitter-x",
984
+ github: "cib/github",
985
+ snapchat: "cib/snapchat",
986
+ discord: "cib/discord",
987
+ dev: "simple-icons/devdotto",
988
+ substack: "simple-icons/substack",
989
+ reddit: "cib/reddit",
990
+ pinterest: "cib/pinterest",
991
+ threads: "simple-icons/threads",
992
+ twitch: "cib/twitch",
993
+ whatsapp: "cib/whatsapp",
994
+ telegram: "cib/telegram",
995
+ medium: "simple-icons/medium",
996
+ patreon: "cib/patreon",
997
+ onlyfans: "simple-icons/onlyfans",
998
+ eventbrite: "cib/eventbrite",
999
+ npmjs: "simple-icons/npm",
1000
+ crates: "cib/rust",
1001
+ rubygems: "cib/rubygems",
984
1002
  unknown: "icon-park-solid/circular-connection"
985
1003
  };
986
1004
  var SocialLinkIcon = React.forwardRef(
@@ -1074,6 +1074,24 @@ var platformIconMap = {
1074
1074
  spotify: "cib/spotify",
1075
1075
  apple: "cib/apple",
1076
1076
  x: "line-md/twitter-x",
1077
+ github: "cib/github",
1078
+ snapchat: "cib/snapchat",
1079
+ discord: "cib/discord",
1080
+ dev: "simple-icons/devdotto",
1081
+ substack: "simple-icons/substack",
1082
+ reddit: "cib/reddit",
1083
+ pinterest: "cib/pinterest",
1084
+ threads: "simple-icons/threads",
1085
+ twitch: "cib/twitch",
1086
+ whatsapp: "cib/whatsapp",
1087
+ telegram: "cib/telegram",
1088
+ medium: "simple-icons/medium",
1089
+ patreon: "cib/patreon",
1090
+ onlyfans: "simple-icons/onlyfans",
1091
+ eventbrite: "cib/eventbrite",
1092
+ npmjs: "simple-icons/npm",
1093
+ crates: "cib/rust",
1094
+ rubygems: "cib/rubygems",
1077
1095
  unknown: "icon-park-solid/circular-connection"
1078
1096
  };
1079
1097
  var SocialLinkIcon = React__namespace.forwardRef(
@@ -1052,6 +1052,24 @@ var platformIconMap = {
1052
1052
  spotify: "cib/spotify",
1053
1053
  apple: "cib/apple",
1054
1054
  x: "line-md/twitter-x",
1055
+ github: "cib/github",
1056
+ snapchat: "cib/snapchat",
1057
+ discord: "cib/discord",
1058
+ dev: "simple-icons/devdotto",
1059
+ substack: "simple-icons/substack",
1060
+ reddit: "cib/reddit",
1061
+ pinterest: "cib/pinterest",
1062
+ threads: "simple-icons/threads",
1063
+ twitch: "cib/twitch",
1064
+ whatsapp: "cib/whatsapp",
1065
+ telegram: "cib/telegram",
1066
+ medium: "simple-icons/medium",
1067
+ patreon: "cib/patreon",
1068
+ onlyfans: "simple-icons/onlyfans",
1069
+ eventbrite: "cib/eventbrite",
1070
+ npmjs: "simple-icons/npm",
1071
+ crates: "cib/rust",
1072
+ rubygems: "cib/rubygems",
1055
1073
  unknown: "icon-park-solid/circular-connection"
1056
1074
  };
1057
1075
  var SocialLinkIcon = React.forwardRef(
package/dist/registry.cjs CHANGED
@@ -20615,7 +20615,7 @@ function FeatureShowcase({
20615
20615
  },
20616
20616
  style: equalizeOnMobile && mobileSlideHeight ? { minHeight: mobileSlideHeight } : void 0,
20617
20617
  className: cn(
20618
- "flex flex-col gap-8 md:gap-14 md:flex-row md:items-center md:justify-between",
20618
+ "flex flex-col-reverse gap-8 md:gap-14 md:flex-row md:items-center md:justify-between",
20619
20619
  slideClassName
20620
20620
  ),
20621
20621
  children: [
@@ -20624,7 +20624,7 @@ function FeatureShowcase({
20624
20624
  "div",
20625
20625
  {
20626
20626
  className: cn(
20627
- "w-full",
20627
+ "relative w-full min-h-[25dvh] h-[25dvh] max-h-[35dvh] md:min-h-0 md:h-auto md:max-h-none [&>*]:h-full [&>*]:object-cover",
20628
20628
  mediaWrapperClassName,
20629
20629
  mediaClassName
20630
20630
  ),
@@ -20641,7 +20641,7 @@ function FeatureShowcase({
20641
20641
  onNext: () => api?.scrollNext(),
20642
20642
  canScrollPrevious,
20643
20643
  canScrollNext,
20644
- className: "absolute bottom-4 right-0 md:bottom-6"
20644
+ className: "absolute bottom-[calc(25dvh+2rem)] right-4 md:bottom-6 md:right-0"
20645
20645
  }
20646
20646
  )
20647
20647
  ] });
@@ -21167,6 +21167,24 @@ var platformIconMap = {
21167
21167
  spotify: "cib/spotify",
21168
21168
  apple: "cib/apple",
21169
21169
  x: "line-md/twitter-x",
21170
+ github: "cib/github",
21171
+ snapchat: "cib/snapchat",
21172
+ discord: "cib/discord",
21173
+ dev: "simple-icons/devdotto",
21174
+ substack: "simple-icons/substack",
21175
+ reddit: "cib/reddit",
21176
+ pinterest: "cib/pinterest",
21177
+ threads: "simple-icons/threads",
21178
+ twitch: "cib/twitch",
21179
+ whatsapp: "cib/whatsapp",
21180
+ telegram: "cib/telegram",
21181
+ medium: "simple-icons/medium",
21182
+ patreon: "cib/patreon",
21183
+ onlyfans: "simple-icons/onlyfans",
21184
+ eventbrite: "cib/eventbrite",
21185
+ npmjs: "simple-icons/npm",
21186
+ crates: "cib/rust",
21187
+ rubygems: "cib/rubygems",
21170
21188
  unknown: "icon-park-solid/circular-connection"
21171
21189
  };
21172
21190
  var SocialLinkIcon = React52__namespace.forwardRef(
@@ -22316,10 +22334,11 @@ function FooterLinksGrid({
22316
22334
  attributionHref,
22317
22335
  bottomLinks,
22318
22336
  background,
22319
- spacing,
22320
22337
  pattern,
22321
22338
  patternOpacity,
22322
- optixFlowConfig
22339
+ optixFlowConfig,
22340
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
22341
+ spacing = "py-6 md:py-32"
22323
22342
  }) {
22324
22343
  const currentYear = React52.useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
22325
22344
  const copyrightText = copyright ?? `\xA9 ${currentYear}`;
@@ -22331,9 +22350,10 @@ function FooterLinksGrid({
22331
22350
  pattern,
22332
22351
  patternOpacity,
22333
22352
  className: cn(className),
22353
+ containerClassName,
22334
22354
  children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
22335
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-8 lg:grid-cols-6", children: [
22336
- (logo || tagline) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-2 mb-8 lg:mb-0", children: [
22355
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4 md:gap-8 md:grid-cols-6", children: [
22356
+ (logo || tagline) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex space-y-2 col-span-2 flex-col mb-6 md:mb-0 pr-0 md:pr-6", children: [
22337
22357
  logo && /* @__PURE__ */ jsxRuntime.jsx(
22338
22358
  FooterLogo,
22339
22359
  {
@@ -22346,17 +22366,10 @@ function FooterLinksGrid({
22346
22366
  ] }),
22347
22367
  menuItems && menuItems.length > 0 && menuItems.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
22348
22368
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 font-bold", children: section.title }),
22349
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-4 text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx(
22350
- "li",
22351
- {
22352
- className: "font-medium hover:text-primary",
22353
- children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.url, children: link.text })
22354
- },
22355
- linkIdx
22356
- )) })
22369
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-4", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "text-sm font-medium", children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.url, children: link.text }) }, linkIdx)) })
22357
22370
  ] }, sectionIdx))
22358
22371
  ] }),
22359
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-24 flex flex-col justify-between gap-4 border-t pt-8 text-sm font-medium text-muted-foreground md:flex-row md:items-center", children: [
22372
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-24 flex flex-col justify-between gap-4 border-t pt-8 text-sm font-medium md:flex-row md:items-center", children: [
22360
22373
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:gap-4", children: [
22361
22374
  /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyrightText }),
22362
22375
  attributionText && /* @__PURE__ */ jsxRuntime.jsx(
@@ -22368,7 +22381,7 @@ function FooterLinksGrid({
22368
22381
  }
22369
22382
  )
22370
22383
  ] }),
22371
- bottomLinks && bottomLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex gap-4", children: bottomLinks.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "underline hover:text-primary", children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.url, children: link.text }) }, linkIdx)) })
22384
+ bottomLinks && bottomLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex gap-4", children: bottomLinks.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "underline", children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.url, children: link.text }) }, linkIdx)) })
22372
22385
  ] })
22373
22386
  ] })
22374
22387
  }
@@ -22406,7 +22419,8 @@ function FooterSocialNewsletter({
22406
22419
  bottomClassName,
22407
22420
  copyrightClassName,
22408
22421
  background,
22409
- spacing,
22422
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
22423
+ spacing = "py-6 md:py-32",
22410
22424
  pattern,
22411
22425
  patternOpacity,
22412
22426
  optixFlowConfig
@@ -22421,88 +22435,150 @@ function FooterSocialNewsletter({
22421
22435
  pattern,
22422
22436
  patternOpacity,
22423
22437
  className: cn(className),
22438
+ containerClassName,
22424
22439
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(contentClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
22425
22440
  logo && /* @__PURE__ */ jsxRuntime.jsx(
22426
22441
  FooterLogo,
22427
22442
  {
22428
22443
  logo,
22429
- logoClassName: cn("flex items-center gap-2", logoWrapperClassName),
22444
+ logoClassName: cn(
22445
+ "flex items-center gap-2",
22446
+ logoWrapperClassName
22447
+ ),
22430
22448
  logoImageClassName: cn("h-10", logoClassName),
22431
22449
  optixFlowConfig
22432
22450
  }
22433
22451
  ),
22434
- (sections && sections.length > 0 || socialLinks && socialLinks.length > 0 || newsletterLabel || newsletterButtonText) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-14 grid gap-8 md:grid-cols-2 lg:grid-cols-5 xl:grid-cols-4", gridClassName), children: [
22435
- sections && sections.length > 0 && sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(navSectionClassName), children: [
22436
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 font-bold", navTitleClassName), children: section.title }),
22437
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("space-y-4 text-muted-foreground", navLinksClassName), children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx(
22438
- "li",
22439
- {
22440
- className: cn("font-medium hover:text-primary", navLinkClassName),
22441
- children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.href, children: link.name })
22442
- },
22443
- linkIdx
22444
- )) })
22445
- ] }, sectionIdx)),
22446
- (socialLinks && socialLinks.length > 0 || newsletterLabel || newsletterButtonText) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("lg:col-span-2 xl:col-span-1", socialColumnClassName), children: [
22447
- socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mb-10 flex items-center gap-2 text-muted-foreground", socialLinksClassName), children: socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsxRuntime.jsx(
22448
- SocialLinkIcon,
22449
- {
22450
- href: social.href,
22451
- label: social.label,
22452
- iconNameOverride: social.iconNameOverride,
22453
- iconSize: 24,
22454
- className: cn(
22455
- "flex size-12 items-center justify-center rounded-full transition-colors hover:text-primary",
22456
- getNestedCardBg(background),
22457
- getNestedCardTextColor(background),
22458
- socialLinkClassName
22459
- )
22460
- }
22461
- ) }, idx)) }),
22462
- (newsletterLabel || newsletterButtonText) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid w-full max-w-sm items-center gap-1.5", newsletterClassName), children: [
22463
- newsletterLabel && /* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: "newsletter-email", className: "text-sm font-medium", children: newsletterLabel }),
22464
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full max-w-sm items-center space-x-2", children: [
22465
- /* @__PURE__ */ jsxRuntime.jsx(
22466
- "input",
22452
+ sections && sections.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
22453
+ "div",
22454
+ {
22455
+ className: cn(
22456
+ "mt-14 grid gap-8 md:grid-cols-2 lg:grid-cols-5 xl:grid-cols-4",
22457
+ gridClassName
22458
+ ),
22459
+ children: sections && sections.length > 0 && sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(navSectionClassName), children: [
22460
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 font-bold", navTitleClassName), children: section.title }),
22461
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("space-y-4", navLinksClassName), children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx(
22462
+ "li",
22463
+ {
22464
+ className: cn("font-medium", navLinkClassName),
22465
+ children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.href, children: link.name })
22466
+ },
22467
+ linkIdx
22468
+ )) })
22469
+ ] }, sectionIdx))
22470
+ }
22471
+ ) : null,
22472
+ (socialLinks && socialLinks.length > 0 || newsletterLabel || newsletterButtonText) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("lg:col-span-2 xl:col-span-1"), children: [
22473
+ (newsletterLabel || newsletterButtonText) && /* @__PURE__ */ jsxRuntime.jsxs(
22474
+ "div",
22475
+ {
22476
+ className: cn(
22477
+ "grid w-full max-w-sm items-center gap-1.5",
22478
+ newsletterClassName
22479
+ ),
22480
+ children: [
22481
+ newsletterLabel && /* @__PURE__ */ jsxRuntime.jsx(
22482
+ "label",
22467
22483
  {
22468
- type: "email",
22469
- id: "newsletter-email",
22470
- placeholder: newsletterPlaceholder || "Email",
22471
- className: cn("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", newsletterInputClassName)
22484
+ htmlFor: "newsletter-email",
22485
+ className: "text-sm font-medium",
22486
+ children: newsletterLabel
22472
22487
  }
22473
22488
  ),
22474
- newsletterButtonText && /* @__PURE__ */ jsxRuntime.jsx(
22475
- Pressable,
22476
- {
22477
- onClick: (e) => {
22478
- e.preventDefault();
22479
- },
22480
- variant: "default",
22481
- size: "default",
22482
- asButton: true,
22483
- className: cn(newsletterButtonClassName),
22484
- children: newsletterButtonText
22485
- }
22486
- )
22487
- ] }),
22488
- (privacyConsentText || privacyLinkText) && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: cn("mt-1 text-xs text-muted-foreground", privacyClassName), children: [
22489
- privacyConsentText,
22490
- privacyLinkText && /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: privacyLinkUrl || "#", className: "ml-1 text-primary hover:underline", children: privacyLinkText })
22491
- ] })
22492
- ] })
22493
- ] })
22494
- ] }),
22495
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-20 flex flex-col justify-between gap-4 border-t pt-8 text-sm font-medium text-muted-foreground md:flex-row md:items-center", bottomClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-2 md:flex-row md:items-center md:gap-4", copyrightClassName), children: [
22496
- /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyrightText }),
22497
- attributionText && /* @__PURE__ */ jsxRuntime.jsx(
22498
- Pressable,
22489
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full max-w-sm items-center space-x-2", children: [
22490
+ /* @__PURE__ */ jsxRuntime.jsx(
22491
+ "input",
22492
+ {
22493
+ type: "email",
22494
+ id: "newsletter-email",
22495
+ placeholder: newsletterPlaceholder || "Email",
22496
+ className: cn(
22497
+ "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 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
22498
+ newsletterInputClassName
22499
+ )
22500
+ }
22501
+ ),
22502
+ newsletterButtonText && /* @__PURE__ */ jsxRuntime.jsx(
22503
+ Pressable,
22504
+ {
22505
+ onClick: (e) => {
22506
+ e.preventDefault();
22507
+ },
22508
+ variant: "default",
22509
+ size: "default",
22510
+ asButton: true,
22511
+ className: cn(newsletterButtonClassName),
22512
+ children: newsletterButtonText
22513
+ }
22514
+ )
22515
+ ] }),
22516
+ (privacyConsentText || privacyLinkText) && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: cn("mt-1 text-xs ", privacyClassName), children: [
22517
+ privacyConsentText,
22518
+ privacyLinkText && /* @__PURE__ */ jsxRuntime.jsx(
22519
+ Pressable,
22520
+ {
22521
+ href: privacyLinkUrl || "#",
22522
+ className: "ml-1 hover:underline",
22523
+ children: privacyLinkText
22524
+ }
22525
+ )
22526
+ ] })
22527
+ ]
22528
+ }
22529
+ ),
22530
+ socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("", socialColumnClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
22531
+ "ul",
22499
22532
  {
22500
- href: attributionHref || "https://opensite.ai",
22501
- className: "hover:text-primary",
22502
- children: attributionText
22533
+ className: cn(
22534
+ "mb-10 flex items-center gap-2",
22535
+ socialLinksClassName
22536
+ ),
22537
+ children: socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsxRuntime.jsx(
22538
+ SocialLinkIcon,
22539
+ {
22540
+ href: social.href,
22541
+ label: social.label,
22542
+ iconNameOverride: social.iconNameOverride,
22543
+ iconSize: 24,
22544
+ className: cn(
22545
+ "flex size-12 items-center justify-center rounded-full transition-colors",
22546
+ socialLinkClassName
22547
+ )
22548
+ }
22549
+ ) }, idx))
22503
22550
  }
22504
- )
22505
- ] }) })
22551
+ ) })
22552
+ ] }),
22553
+ /* @__PURE__ */ jsxRuntime.jsx(
22554
+ "div",
22555
+ {
22556
+ className: cn(
22557
+ "mt-20 flex flex-col justify-between gap-4 border-t pt-8 text-sm font-medium md:flex-row md:items-center",
22558
+ bottomClassName
22559
+ ),
22560
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
22561
+ "div",
22562
+ {
22563
+ className: cn(
22564
+ "flex flex-col gap-2 md:flex-row md:items-center md:gap-4",
22565
+ copyrightClassName
22566
+ ),
22567
+ children: [
22568
+ /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyrightText }),
22569
+ attributionText && /* @__PURE__ */ jsxRuntime.jsx(
22570
+ Pressable,
22571
+ {
22572
+ href: attributionHref || "https://opensite.ai",
22573
+ className: "hover:text-primary",
22574
+ children: attributionText
22575
+ }
22576
+ )
22577
+ ]
22578
+ }
22579
+ )
22580
+ }
22581
+ )
22506
22582
  ] }) })
22507
22583
  }
22508
22584
  );