@opensite/ui 1.5.2 → 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.
package/dist/index.cjs CHANGED
@@ -3039,6 +3039,7 @@ var FooterLogo = ({
3039
3039
  }
3040
3040
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("inline-flex items-center", logoClassName), children: logoContent });
3041
3041
  };
3042
+ var footer_logo_default = FooterLogo;
3042
3043
  function FooterCopyright({
3043
3044
  copyright,
3044
3045
  className
@@ -3927,8 +3928,8 @@ function FooterSimpleCentered({
3927
3928
  bottomLinks,
3928
3929
  className,
3929
3930
  footerClassName,
3930
- containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
3931
3931
  contentClassName,
3932
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
3932
3933
  spacing = "py-12 md:py-32",
3933
3934
  brandClassName,
3934
3935
  logoWrapperClassName,
@@ -4722,6 +4723,8 @@ function FooterBackgroundCard({
4722
4723
  menuItems,
4723
4724
  copyright,
4724
4725
  bottomLinks,
4726
+ logoWrapperClassName,
4727
+ logoClassName,
4725
4728
  className,
4726
4729
  cardClassName,
4727
4730
  gridClassName,
@@ -4740,7 +4743,8 @@ function FooterBackgroundCard({
4740
4743
  copyrightClassName,
4741
4744
  bottomLinksClassName,
4742
4745
  background,
4743
- spacing,
4746
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
4747
+ spacing = "py-6 md:py-32",
4744
4748
  pattern,
4745
4749
  patternOpacity,
4746
4750
  optixFlowConfig
@@ -4758,79 +4762,174 @@ function FooterBackgroundCard({
4758
4762
  patternOpacity,
4759
4763
  className: cn("bg-cover bg-center bg-no-repeat", className),
4760
4764
  style: sectionStyle,
4761
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto max-w-7xl rounded-lg p-8 shadow-lg md:p-12", cardClassName), children: [
4762
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-4 lg:gap-12", gridClassName), children: [
4763
- (profileImage || tagline || personalMessage || ctaText) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("lg:col-span-1", profileSectionClassName), children: [
4764
- (profileImage || tagline) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 flex items-center gap-4", children: [
4765
- profileImage && /* @__PURE__ */ jsxRuntime.jsx(
4766
- img.Img,
4767
- {
4768
- src: profileImage,
4769
- alt: "Profile",
4770
- className: cn("h-16 w-16 rounded-full object-cover", profileImageClassName),
4771
- optixFlowConfig
4772
- }
4773
- ),
4774
- tagline && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("text-2xl font-medium", taglineClassName), children: tagline })
4775
- ] }),
4776
- personalMessage && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-6 text-sm leading-relaxed opacity-80", messageClassName), children: personalMessage }),
4777
- ctaText && /* @__PURE__ */ jsxRuntime.jsx(
4778
- Pressable,
4779
- {
4780
- href: ctaUrl || "#",
4781
- className: cn("inline-flex items-center justify-center whitespace-nowrap rounded-md border 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 hover:opacity-80 h-10 px-4 py-2", ctaClassName),
4782
- children: ctaText
4783
- }
4784
- )
4785
- ] }),
4786
- menuItems && menuItems.length > 0 && menuItems.map((menu, idx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(menuSectionClassName), children: [
4787
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 text-sm font-medium tracking-wider uppercase", menuTitleClassName), children: menu.title }),
4788
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-3", children: menu.links.map((link, index) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
4789
- Pressable,
4765
+ containerClassName,
4766
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
4767
+ "div",
4768
+ {
4769
+ className: cn(
4770
+ "mx-auto max-w-7xl rounded-2xl p-12 shadow-xl md:p-16 bg-card text-card-foreground",
4771
+ cardClassName
4772
+ ),
4773
+ children: [
4774
+ /* @__PURE__ */ jsxRuntime.jsxs(
4775
+ "div",
4790
4776
  {
4791
- href: link.url,
4792
- className: cn("border-b border-transparent opacity-80 transition-all duration-300 ease-in-out hover:opacity-100", menuLinkClassName),
4793
- children: link.text
4777
+ className: cn(
4778
+ "grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-4 lg:gap-12",
4779
+ gridClassName
4780
+ ),
4781
+ children: [
4782
+ (profileImage || tagline || personalMessage || ctaText || logo) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("lg:col-span-1", profileSectionClassName), children: [
4783
+ /* @__PURE__ */ jsxRuntime.jsx(
4784
+ footer_logo_default,
4785
+ {
4786
+ logo,
4787
+ logoClassName: cn("mb-12", logoWrapperClassName),
4788
+ logoImageClassName: logoClassName,
4789
+ optixFlowConfig
4790
+ }
4791
+ ),
4792
+ (profileImage || tagline) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 flex items-center gap-4", children: [
4793
+ profileImage && /* @__PURE__ */ jsxRuntime.jsx(
4794
+ img.Img,
4795
+ {
4796
+ src: profileImage,
4797
+ alt: "Profile",
4798
+ className: cn(
4799
+ "h-16 w-16 rounded-full object-cover",
4800
+ profileImageClassName
4801
+ ),
4802
+ optixFlowConfig
4803
+ }
4804
+ ),
4805
+ tagline && /* @__PURE__ */ jsxRuntime.jsx(
4806
+ "h3",
4807
+ {
4808
+ className: cn("text-2xl font-medium", taglineClassName),
4809
+ children: tagline
4810
+ }
4811
+ )
4812
+ ] }),
4813
+ personalMessage && /* @__PURE__ */ jsxRuntime.jsx(
4814
+ "p",
4815
+ {
4816
+ className: cn(
4817
+ "mb-6 text-sm leading-relaxed opacity-80",
4818
+ messageClassName
4819
+ ),
4820
+ children: personalMessage
4821
+ }
4822
+ ),
4823
+ ctaText && /* @__PURE__ */ jsxRuntime.jsx(
4824
+ Pressable,
4825
+ {
4826
+ href: ctaUrl || "#",
4827
+ className: cn(
4828
+ "inline-flex items-center justify-center whitespace-nowrap rounded-md border 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 hover:opacity-80 h-10 px-4 py-2",
4829
+ ctaClassName
4830
+ ),
4831
+ children: ctaText
4832
+ }
4833
+ )
4834
+ ] }),
4835
+ menuItems && menuItems.length > 0 && menuItems.map((menu, idx) => /* @__PURE__ */ jsxRuntime.jsxs(
4836
+ "div",
4837
+ {
4838
+ className: cn("pl-0 md:pl-8", menuSectionClassName),
4839
+ children: [
4840
+ /* @__PURE__ */ jsxRuntime.jsx(
4841
+ "h3",
4842
+ {
4843
+ className: cn(
4844
+ "mb-4 text-sm font-medium tracking-wider uppercase",
4845
+ menuTitleClassName
4846
+ ),
4847
+ children: menu.title
4848
+ }
4849
+ ),
4850
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-3", children: menu.links.map((link, index) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
4851
+ Pressable,
4852
+ {
4853
+ href: link.url,
4854
+ className: cn(
4855
+ "border-b border-transparent opacity-80 transition-all duration-300 ease-in-out hover:opacity-100",
4856
+ menuLinkClassName
4857
+ ),
4858
+ children: link.text
4859
+ }
4860
+ ) }, index)) })
4861
+ ]
4862
+ },
4863
+ idx
4864
+ )),
4865
+ (contactTitle || contact) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("pl-0 md:pl-8", contactSectionClassName), children: [
4866
+ contactTitle && /* @__PURE__ */ jsxRuntime.jsx(
4867
+ "h3",
4868
+ {
4869
+ className: cn(
4870
+ "mb-4 text-sm font-medium tracking-wider uppercase",
4871
+ contactTitleClassName
4872
+ ),
4873
+ children: contactTitle
4874
+ }
4875
+ ),
4876
+ contact && /* @__PURE__ */ jsxRuntime.jsxs("ul", { className: "space-y-3", children: [
4877
+ contact.phone && /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn("opacity-80", contactItemClassName), children: contact.phone }),
4878
+ contact.email && /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn("opacity-80", contactItemClassName), children: contact.email }),
4879
+ (contact.location || contact.timezone) && /* @__PURE__ */ jsxRuntime.jsxs("li", { className: cn("opacity-80", contactItemClassName), children: [
4880
+ contact.location,
4881
+ contact.location && contact.timezone && " \u2022 ",
4882
+ contact.timezone
4883
+ ] })
4884
+ ] })
4885
+ ] })
4886
+ ]
4794
4887
  }
4795
- ) }, index)) })
4796
- ] }, idx)),
4797
- (contactTitle || contact) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(contactSectionClassName), children: [
4798
- contactTitle && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 text-sm font-medium tracking-wider uppercase", contactTitleClassName), children: contactTitle }),
4799
- contact && /* @__PURE__ */ jsxRuntime.jsxs("ul", { className: "space-y-3", children: [
4800
- contact.phone && /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn("opacity-80", contactItemClassName), children: contact.phone }),
4801
- contact.email && /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn("opacity-80", contactItemClassName), children: contact.email }),
4802
- (contact.location || contact.timezone) && /* @__PURE__ */ jsxRuntime.jsxs("li", { className: cn("opacity-80", contactItemClassName), children: [
4803
- contact.location,
4804
- contact.location && contact.timezone && " \u2022 ",
4805
- contact.timezone
4806
- ] })
4807
- ] })
4808
- ] })
4809
- ] }),
4810
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-12 flex flex-col items-center justify-between gap-4 border-t pt-8 md:flex-row", bottomClassName), children: [
4811
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-2 text-sm opacity-80 md:flex-row md:items-center md:gap-4", copyrightClassName), children: [
4812
- /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
4813
- /* @__PURE__ */ jsxRuntime.jsx(
4814
- BrandAttribution,
4888
+ ),
4889
+ /* @__PURE__ */ jsxRuntime.jsxs(
4890
+ "div",
4815
4891
  {
4816
- internalBrandSlug: "open_site_ai",
4817
- optionIndex: 3,
4818
- variant: "span",
4819
- linkClassName: "hover:opacity-100"
4892
+ className: cn(
4893
+ "mt-12 flex flex-col items-center justify-between gap-4 border-t pt-8 md:flex-row",
4894
+ bottomClassName
4895
+ ),
4896
+ children: [
4897
+ /* @__PURE__ */ jsxRuntime.jsxs(
4898
+ "div",
4899
+ {
4900
+ className: cn(
4901
+ "flex flex-col gap-2 text-sm opacity-80 md:flex-row md:items-center md:gap-4",
4902
+ copyrightClassName
4903
+ ),
4904
+ children: [
4905
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
4906
+ /* @__PURE__ */ jsxRuntime.jsx(
4907
+ BrandAttribution,
4908
+ {
4909
+ internalBrandSlug: "open_site_ai",
4910
+ optionIndex: 3,
4911
+ variant: "span",
4912
+ linkClassName: "hover:opacity-100"
4913
+ }
4914
+ )
4915
+ ]
4916
+ }
4917
+ ),
4918
+ bottomLinks && bottomLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex gap-4", bottomLinksClassName), children: bottomLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(
4919
+ Pressable,
4920
+ {
4921
+ href: link.url,
4922
+ className: "text-sm opacity-80 transition-colors hover:opacity-100",
4923
+ children: link.text
4924
+ },
4925
+ idx
4926
+ )) })
4927
+ ]
4820
4928
  }
4821
4929
  )
4822
- ] }),
4823
- bottomLinks && bottomLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex gap-4", bottomLinksClassName), children: bottomLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(
4824
- Pressable,
4825
- {
4826
- href: link.url,
4827
- className: "text-sm opacity-80 transition-colors hover:opacity-100",
4828
- children: link.text
4829
- },
4830
- idx
4831
- )) })
4832
- ] })
4833
- ] })
4930
+ ]
4931
+ }
4932
+ )
4834
4933
  }
4835
4934
  );
4836
4935
  }
@@ -4971,7 +5070,16 @@ function FooterAnimatedSocial({
4971
5070
  "flex flex-row md:flex-col flex-wrap items-center justify-center gap-4 md:gap-2",
4972
5071
  rightColumnClassName
4973
5072
  ),
4974
- children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-row md:flex-col items-center gap-4 md:gap-6", socialLinksClassName), children: socialLinksContent }) })
5073
+ children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsxRuntime.jsx(
5074
+ "div",
5075
+ {
5076
+ className: cn(
5077
+ "flex flex-row md:flex-col items-center gap-4 md:gap-6",
5078
+ socialLinksClassName
5079
+ ),
5080
+ children: socialLinksContent
5081
+ }
5082
+ ) })
4975
5083
  }
4976
5084
  )
4977
5085
  ]
@@ -5479,6 +5587,7 @@ function FooterNavSocial({
5479
5587
  gridClassName,
5480
5588
  leftColumnClassName,
5481
5589
  logoWrapperClassName,
5590
+ formConfig,
5482
5591
  logoClassName,
5483
5592
  navGridClassName,
5484
5593
  navSectionClassName,
@@ -5499,7 +5608,8 @@ function FooterNavSocial({
5499
5608
  legalLinksClassName,
5500
5609
  legalLinkClassName,
5501
5610
  background,
5502
- spacing,
5611
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
5612
+ spacing = "py-12 md:py-40",
5503
5613
  pattern,
5504
5614
  patternOpacity,
5505
5615
  optixFlowConfig
@@ -5508,16 +5618,15 @@ function FooterNavSocial({
5508
5618
  if (!sections || sections.length === 0) return null;
5509
5619
  return sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(navSectionClassName), children: [
5510
5620
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 font-semibold", navTitleClassName), children: section.title }),
5511
- /* @__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(
5512
- Pressable,
5513
- {
5514
- href: link.href,
5515
- className: "hover:opacity-100",
5516
- children: link.name
5517
- }
5518
- ) }, linkIdx)) })
5621
+ /* @__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)) })
5519
5622
  ] }, sectionIdx));
5520
- }, [sections, navSectionClassName, navTitleClassName, navLinksClassName, navLinkClassName]);
5623
+ }, [
5624
+ sections,
5625
+ navSectionClassName,
5626
+ navTitleClassName,
5627
+ navLinksClassName,
5628
+ navLinkClassName
5629
+ ]);
5521
5630
  const socialLinksContent = React4.useMemo(() => {
5522
5631
  if (!socialLinks || socialLinks.length === 0) return null;
5523
5632
  return socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -5526,7 +5635,10 @@ function FooterNavSocial({
5526
5635
  href: social.href,
5527
5636
  label: social.label,
5528
5637
  iconNameOverride: social.iconNameOverride,
5529
- className: cn("opacity-80 transition-colors hover:opacity-100", socialLinkClassName)
5638
+ className: cn(
5639
+ "opacity-80 transition-colors hover:opacity-100",
5640
+ socialLinkClassName
5641
+ )
5530
5642
  }
5531
5643
  ) }, idx));
5532
5644
  }, [socialLinks, socialLinkClassName]);
@@ -5542,64 +5654,155 @@ function FooterNavSocial({
5542
5654
  pattern,
5543
5655
  patternOpacity,
5544
5656
  className: cn(className),
5657
+ containerClassName,
5545
5658
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(contentClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
5546
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-10 lg:grid-cols-2", gridClassName), children: [
5547
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(leftColumnClassName), children: [
5548
- logo && /* @__PURE__ */ jsxRuntime.jsx(
5549
- FooterLogo,
5550
- {
5551
- logo,
5552
- logoClassName: cn("mb-8", logoWrapperClassName),
5553
- logoImageClassName: logoClassName,
5554
- optixFlowConfig
5555
- }
5659
+ /* @__PURE__ */ jsxRuntime.jsxs(
5660
+ "div",
5661
+ {
5662
+ className: cn(
5663
+ "grid gap-12 md:gap-24 lg:grid-cols-2",
5664
+ gridClassName
5556
5665
  ),
5557
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid gap-8 sm:grid-cols-3", navGridClassName), children: sectionsContent })
5558
- ] }),
5559
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col justify-between", rightColumnClassName), children: [
5560
- (newsletterHeading || newsletterDescription) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-8", newsletterClassName), children: [
5561
- newsletterHeading && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-2 text-lg font-semibold", newsletterHeadingClassName), children: newsletterHeading }),
5562
- newsletterDescription && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 text-sm opacity-80", newsletterDescriptionClassName), children: newsletterDescription }),
5563
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex max-w-md gap-2", newsletterFormClassName), children: [
5564
- /* @__PURE__ */ jsxRuntime.jsx(
5565
- "input",
5666
+ children: [
5667
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(leftColumnClassName), children: [
5668
+ logo && /* @__PURE__ */ jsxRuntime.jsx(
5669
+ FooterLogo,
5566
5670
  {
5567
- type: "email",
5568
- placeholder: newsletterPlaceholder,
5569
- 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"
5671
+ logo,
5672
+ logoClassName: cn("mb-8", logoWrapperClassName),
5673
+ logoImageClassName: logoClassName,
5674
+ optixFlowConfig
5570
5675
  }
5571
5676
  ),
5572
- newsletterButtonText && /* @__PURE__ */ jsxRuntime.jsx(
5573
- "button",
5677
+ /* @__PURE__ */ jsxRuntime.jsx(
5678
+ "div",
5574
5679
  {
5575
- type: "submit",
5576
- 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",
5577
- children: newsletterButtonText
5680
+ className: cn(
5681
+ "grid md:flex w-full gap-8 md:gap-6 lg:gap-12 md:flex-wrap md:justify-between grid-cols-2",
5682
+ navGridClassName
5683
+ ),
5684
+ children: sectionsContent
5578
5685
  }
5579
5686
  )
5580
- ] })
5581
- ] }),
5582
- (socialTitle || socialLinksContent) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(socialSectionClassName), children: [
5583
- socialTitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 font-medium", socialTitleClassName), children: socialTitle }),
5584
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("flex items-center gap-4", socialLinksClassName), children: socialLinksContent })
5585
- ] })
5586
- ] })
5587
- ] }),
5588
- /* @__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: [
5589
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-2 md:flex-row md:items-center md:gap-4", copyrightClassName), children: [
5590
- /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
5591
- /* @__PURE__ */ jsxRuntime.jsx(
5592
- BrandAttribution,
5593
- {
5594
- internalBrandSlug: "open_site_ai",
5595
- optionIndex: 1,
5596
- variant: "span",
5597
- linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
5598
- }
5599
- )
5600
- ] }),
5601
- legalLinksContent && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("flex gap-4", legalLinksClassName), children: legalLinksContent })
5602
- ] })
5687
+ ] }),
5688
+ /* @__PURE__ */ jsxRuntime.jsxs(
5689
+ "div",
5690
+ {
5691
+ className: cn(
5692
+ "flex flex-col justify-between mt-0 md:mt-16 space-y-8 md:space-y-12",
5693
+ rightColumnClassName
5694
+ ),
5695
+ children: [
5696
+ formConfig && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("", newsletterClassName), children: [
5697
+ newsletterHeading && /* @__PURE__ */ jsxRuntime.jsx(
5698
+ "h3",
5699
+ {
5700
+ className: cn(
5701
+ "mb-4 font-medium",
5702
+ newsletterHeadingClassName
5703
+ ),
5704
+ children: newsletterHeading
5705
+ }
5706
+ ),
5707
+ newsletterDescription && /* @__PURE__ */ jsxRuntime.jsx(
5708
+ "p",
5709
+ {
5710
+ className: cn(
5711
+ "mb-4 text-sm opacity-80",
5712
+ newsletterDescriptionClassName
5713
+ ),
5714
+ children: newsletterDescription
5715
+ }
5716
+ ),
5717
+ /* @__PURE__ */ jsxRuntime.jsxs(
5718
+ "div",
5719
+ {
5720
+ className: cn(
5721
+ "flex max-w-md gap-2",
5722
+ newsletterFormClassName
5723
+ ),
5724
+ children: [
5725
+ /* @__PURE__ */ jsxRuntime.jsx(
5726
+ "input",
5727
+ {
5728
+ type: "email",
5729
+ placeholder: newsletterPlaceholder,
5730
+ 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"
5731
+ }
5732
+ ),
5733
+ newsletterButtonText && /* @__PURE__ */ jsxRuntime.jsx(
5734
+ "button",
5735
+ {
5736
+ type: "submit",
5737
+ 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",
5738
+ children: newsletterButtonText
5739
+ }
5740
+ )
5741
+ ]
5742
+ }
5743
+ )
5744
+ ] }),
5745
+ (socialTitle || socialLinksContent) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(socialSectionClassName), children: [
5746
+ socialTitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 font-medium", socialTitleClassName), children: socialTitle }),
5747
+ /* @__PURE__ */ jsxRuntime.jsx(
5748
+ "ul",
5749
+ {
5750
+ className: cn(
5751
+ "flex items-center gap-4",
5752
+ socialLinksClassName
5753
+ ),
5754
+ children: socialLinksContent
5755
+ }
5756
+ )
5757
+ ] })
5758
+ ]
5759
+ }
5760
+ )
5761
+ ]
5762
+ }
5763
+ ),
5764
+ /* @__PURE__ */ jsxRuntime.jsxs(
5765
+ "div",
5766
+ {
5767
+ className: cn(
5768
+ "mt-16 flex flex-col justify-between gap-4 border-t pt-8 text-sm opacity-80 md:flex-row md:items-center",
5769
+ bottomClassName
5770
+ ),
5771
+ children: [
5772
+ /* @__PURE__ */ jsxRuntime.jsxs(
5773
+ "div",
5774
+ {
5775
+ className: cn(
5776
+ "flex flex-col gap-2 md:flex-row md:items-center md:gap-4",
5777
+ copyrightClassName
5778
+ ),
5779
+ children: [
5780
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
5781
+ /* @__PURE__ */ jsxRuntime.jsx(
5782
+ BrandAttribution,
5783
+ {
5784
+ internalBrandSlug: "open_site_ai",
5785
+ optionIndex: 1,
5786
+ variant: "span",
5787
+ linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
5788
+ }
5789
+ )
5790
+ ]
5791
+ }
5792
+ ),
5793
+ legalLinksContent && /* @__PURE__ */ jsxRuntime.jsx(
5794
+ "ul",
5795
+ {
5796
+ className: cn(
5797
+ "pt-4 md:pt-0 gap-4 grid md:flex grid-cols-2 items-center w-full md:w-fit",
5798
+ legalLinksClassName
5799
+ ),
5800
+ children: legalLinksContent
5801
+ }
5802
+ )
5803
+ ]
5804
+ }
5805
+ )
5603
5806
  ] }) })
5604
5807
  }
5605
5808
  );