@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.
@@ -3008,6 +3008,7 @@ var FooterLogo = ({
3008
3008
  }
3009
3009
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("inline-flex items-center", logoClassName), children: logoContent });
3010
3010
  };
3011
+ var footer_logo_default = FooterLogo;
3011
3012
  function FooterCopyright({
3012
3013
  copyright,
3013
3014
  className
@@ -3896,8 +3897,8 @@ function FooterSimpleCentered({
3896
3897
  bottomLinks,
3897
3898
  className,
3898
3899
  footerClassName,
3899
- containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
3900
3900
  contentClassName,
3901
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
3901
3902
  spacing = "py-12 md:py-32",
3902
3903
  brandClassName,
3903
3904
  logoWrapperClassName,
@@ -4691,6 +4692,8 @@ function FooterBackgroundCard({
4691
4692
  menuItems,
4692
4693
  copyright,
4693
4694
  bottomLinks,
4695
+ logoWrapperClassName,
4696
+ logoClassName,
4694
4697
  className,
4695
4698
  cardClassName,
4696
4699
  gridClassName,
@@ -4709,7 +4712,8 @@ function FooterBackgroundCard({
4709
4712
  copyrightClassName,
4710
4713
  bottomLinksClassName,
4711
4714
  background,
4712
- spacing,
4715
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
4716
+ spacing = "py-6 md:py-32",
4713
4717
  pattern,
4714
4718
  patternOpacity,
4715
4719
  optixFlowConfig
@@ -4727,79 +4731,174 @@ function FooterBackgroundCard({
4727
4731
  patternOpacity,
4728
4732
  className: cn("bg-cover bg-center bg-no-repeat", className),
4729
4733
  style: sectionStyle,
4730
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto max-w-7xl rounded-lg p-8 shadow-lg md:p-12", cardClassName), children: [
4731
- /* @__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: [
4732
- (profileImage || tagline || personalMessage || ctaText) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("lg:col-span-1", profileSectionClassName), children: [
4733
- (profileImage || tagline) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 flex items-center gap-4", children: [
4734
- profileImage && /* @__PURE__ */ jsxRuntime.jsx(
4735
- img.Img,
4736
- {
4737
- src: profileImage,
4738
- alt: "Profile",
4739
- className: cn("h-16 w-16 rounded-full object-cover", profileImageClassName),
4740
- optixFlowConfig
4741
- }
4742
- ),
4743
- tagline && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("text-2xl font-medium", taglineClassName), children: tagline })
4744
- ] }),
4745
- personalMessage && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-6 text-sm leading-relaxed opacity-80", messageClassName), children: personalMessage }),
4746
- ctaText && /* @__PURE__ */ jsxRuntime.jsx(
4747
- Pressable,
4748
- {
4749
- href: ctaUrl || "#",
4750
- 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),
4751
- children: ctaText
4752
- }
4753
- )
4754
- ] }),
4755
- menuItems && menuItems.length > 0 && menuItems.map((menu, idx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(menuSectionClassName), children: [
4756
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 text-sm font-medium tracking-wider uppercase", menuTitleClassName), children: menu.title }),
4757
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-3", children: menu.links.map((link, index) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
4758
- Pressable,
4734
+ containerClassName,
4735
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
4736
+ "div",
4737
+ {
4738
+ className: cn(
4739
+ "mx-auto max-w-7xl rounded-2xl p-12 shadow-xl md:p-16 bg-card text-card-foreground",
4740
+ cardClassName
4741
+ ),
4742
+ children: [
4743
+ /* @__PURE__ */ jsxRuntime.jsxs(
4744
+ "div",
4759
4745
  {
4760
- href: link.url,
4761
- className: cn("border-b border-transparent opacity-80 transition-all duration-300 ease-in-out hover:opacity-100", menuLinkClassName),
4762
- children: link.text
4746
+ className: cn(
4747
+ "grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-4 lg:gap-12",
4748
+ gridClassName
4749
+ ),
4750
+ children: [
4751
+ (profileImage || tagline || personalMessage || ctaText || logo) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("lg:col-span-1", profileSectionClassName), children: [
4752
+ /* @__PURE__ */ jsxRuntime.jsx(
4753
+ footer_logo_default,
4754
+ {
4755
+ logo,
4756
+ logoClassName: cn("mb-12", logoWrapperClassName),
4757
+ logoImageClassName: logoClassName,
4758
+ optixFlowConfig
4759
+ }
4760
+ ),
4761
+ (profileImage || tagline) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 flex items-center gap-4", children: [
4762
+ profileImage && /* @__PURE__ */ jsxRuntime.jsx(
4763
+ img.Img,
4764
+ {
4765
+ src: profileImage,
4766
+ alt: "Profile",
4767
+ className: cn(
4768
+ "h-16 w-16 rounded-full object-cover",
4769
+ profileImageClassName
4770
+ ),
4771
+ optixFlowConfig
4772
+ }
4773
+ ),
4774
+ tagline && /* @__PURE__ */ jsxRuntime.jsx(
4775
+ "h3",
4776
+ {
4777
+ className: cn("text-2xl font-medium", taglineClassName),
4778
+ children: tagline
4779
+ }
4780
+ )
4781
+ ] }),
4782
+ personalMessage && /* @__PURE__ */ jsxRuntime.jsx(
4783
+ "p",
4784
+ {
4785
+ className: cn(
4786
+ "mb-6 text-sm leading-relaxed opacity-80",
4787
+ messageClassName
4788
+ ),
4789
+ children: personalMessage
4790
+ }
4791
+ ),
4792
+ ctaText && /* @__PURE__ */ jsxRuntime.jsx(
4793
+ Pressable,
4794
+ {
4795
+ href: ctaUrl || "#",
4796
+ className: cn(
4797
+ "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",
4798
+ ctaClassName
4799
+ ),
4800
+ children: ctaText
4801
+ }
4802
+ )
4803
+ ] }),
4804
+ menuItems && menuItems.length > 0 && menuItems.map((menu, idx) => /* @__PURE__ */ jsxRuntime.jsxs(
4805
+ "div",
4806
+ {
4807
+ className: cn("pl-0 md:pl-8", menuSectionClassName),
4808
+ children: [
4809
+ /* @__PURE__ */ jsxRuntime.jsx(
4810
+ "h3",
4811
+ {
4812
+ className: cn(
4813
+ "mb-4 text-sm font-medium tracking-wider uppercase",
4814
+ menuTitleClassName
4815
+ ),
4816
+ children: menu.title
4817
+ }
4818
+ ),
4819
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-3", children: menu.links.map((link, index) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
4820
+ Pressable,
4821
+ {
4822
+ href: link.url,
4823
+ className: cn(
4824
+ "border-b border-transparent opacity-80 transition-all duration-300 ease-in-out hover:opacity-100",
4825
+ menuLinkClassName
4826
+ ),
4827
+ children: link.text
4828
+ }
4829
+ ) }, index)) })
4830
+ ]
4831
+ },
4832
+ idx
4833
+ )),
4834
+ (contactTitle || contact) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("pl-0 md:pl-8", contactSectionClassName), children: [
4835
+ contactTitle && /* @__PURE__ */ jsxRuntime.jsx(
4836
+ "h3",
4837
+ {
4838
+ className: cn(
4839
+ "mb-4 text-sm font-medium tracking-wider uppercase",
4840
+ contactTitleClassName
4841
+ ),
4842
+ children: contactTitle
4843
+ }
4844
+ ),
4845
+ contact && /* @__PURE__ */ jsxRuntime.jsxs("ul", { className: "space-y-3", children: [
4846
+ contact.phone && /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn("opacity-80", contactItemClassName), children: contact.phone }),
4847
+ contact.email && /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn("opacity-80", contactItemClassName), children: contact.email }),
4848
+ (contact.location || contact.timezone) && /* @__PURE__ */ jsxRuntime.jsxs("li", { className: cn("opacity-80", contactItemClassName), children: [
4849
+ contact.location,
4850
+ contact.location && contact.timezone && " \u2022 ",
4851
+ contact.timezone
4852
+ ] })
4853
+ ] })
4854
+ ] })
4855
+ ]
4763
4856
  }
4764
- ) }, index)) })
4765
- ] }, idx)),
4766
- (contactTitle || contact) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(contactSectionClassName), children: [
4767
- contactTitle && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 text-sm font-medium tracking-wider uppercase", contactTitleClassName), children: contactTitle }),
4768
- contact && /* @__PURE__ */ jsxRuntime.jsxs("ul", { className: "space-y-3", children: [
4769
- contact.phone && /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn("opacity-80", contactItemClassName), children: contact.phone }),
4770
- contact.email && /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn("opacity-80", contactItemClassName), children: contact.email }),
4771
- (contact.location || contact.timezone) && /* @__PURE__ */ jsxRuntime.jsxs("li", { className: cn("opacity-80", contactItemClassName), children: [
4772
- contact.location,
4773
- contact.location && contact.timezone && " \u2022 ",
4774
- contact.timezone
4775
- ] })
4776
- ] })
4777
- ] })
4778
- ] }),
4779
- /* @__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: [
4780
- /* @__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: [
4781
- /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
4782
- /* @__PURE__ */ jsxRuntime.jsx(
4783
- BrandAttribution,
4857
+ ),
4858
+ /* @__PURE__ */ jsxRuntime.jsxs(
4859
+ "div",
4784
4860
  {
4785
- internalBrandSlug: "open_site_ai",
4786
- optionIndex: 3,
4787
- variant: "span",
4788
- linkClassName: "hover:opacity-100"
4861
+ className: cn(
4862
+ "mt-12 flex flex-col items-center justify-between gap-4 border-t pt-8 md:flex-row",
4863
+ bottomClassName
4864
+ ),
4865
+ children: [
4866
+ /* @__PURE__ */ jsxRuntime.jsxs(
4867
+ "div",
4868
+ {
4869
+ className: cn(
4870
+ "flex flex-col gap-2 text-sm opacity-80 md:flex-row md:items-center md:gap-4",
4871
+ copyrightClassName
4872
+ ),
4873
+ children: [
4874
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
4875
+ /* @__PURE__ */ jsxRuntime.jsx(
4876
+ BrandAttribution,
4877
+ {
4878
+ internalBrandSlug: "open_site_ai",
4879
+ optionIndex: 3,
4880
+ variant: "span",
4881
+ linkClassName: "hover:opacity-100"
4882
+ }
4883
+ )
4884
+ ]
4885
+ }
4886
+ ),
4887
+ bottomLinks && bottomLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex gap-4", bottomLinksClassName), children: bottomLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(
4888
+ Pressable,
4889
+ {
4890
+ href: link.url,
4891
+ className: "text-sm opacity-80 transition-colors hover:opacity-100",
4892
+ children: link.text
4893
+ },
4894
+ idx
4895
+ )) })
4896
+ ]
4789
4897
  }
4790
4898
  )
4791
- ] }),
4792
- bottomLinks && bottomLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex gap-4", bottomLinksClassName), children: bottomLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(
4793
- Pressable,
4794
- {
4795
- href: link.url,
4796
- className: "text-sm opacity-80 transition-colors hover:opacity-100",
4797
- children: link.text
4798
- },
4799
- idx
4800
- )) })
4801
- ] })
4802
- ] })
4899
+ ]
4900
+ }
4901
+ )
4803
4902
  }
4804
4903
  );
4805
4904
  }
@@ -4940,7 +5039,16 @@ function FooterAnimatedSocial({
4940
5039
  "flex flex-row md:flex-col flex-wrap items-center justify-center gap-4 md:gap-2",
4941
5040
  rightColumnClassName
4942
5041
  ),
4943
- 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 }) })
5042
+ children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsxRuntime.jsx(
5043
+ "div",
5044
+ {
5045
+ className: cn(
5046
+ "flex flex-row md:flex-col items-center gap-4 md:gap-6",
5047
+ socialLinksClassName
5048
+ ),
5049
+ children: socialLinksContent
5050
+ }
5051
+ ) })
4944
5052
  }
4945
5053
  )
4946
5054
  ]
@@ -5448,6 +5556,7 @@ function FooterNavSocial({
5448
5556
  gridClassName,
5449
5557
  leftColumnClassName,
5450
5558
  logoWrapperClassName,
5559
+ formConfig,
5451
5560
  logoClassName,
5452
5561
  navGridClassName,
5453
5562
  navSectionClassName,
@@ -5468,7 +5577,8 @@ function FooterNavSocial({
5468
5577
  legalLinksClassName,
5469
5578
  legalLinkClassName,
5470
5579
  background,
5471
- spacing,
5580
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
5581
+ spacing = "py-12 md:py-40",
5472
5582
  pattern,
5473
5583
  patternOpacity,
5474
5584
  optixFlowConfig
@@ -5477,16 +5587,15 @@ function FooterNavSocial({
5477
5587
  if (!sections || sections.length === 0) return null;
5478
5588
  return sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(navSectionClassName), children: [
5479
5589
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 font-semibold", navTitleClassName), children: section.title }),
5480
- /* @__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(
5481
- Pressable,
5482
- {
5483
- href: link.href,
5484
- className: "hover:opacity-100",
5485
- children: link.name
5486
- }
5487
- ) }, linkIdx)) })
5590
+ /* @__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)) })
5488
5591
  ] }, sectionIdx));
5489
- }, [sections, navSectionClassName, navTitleClassName, navLinksClassName, navLinkClassName]);
5592
+ }, [
5593
+ sections,
5594
+ navSectionClassName,
5595
+ navTitleClassName,
5596
+ navLinksClassName,
5597
+ navLinkClassName
5598
+ ]);
5490
5599
  const socialLinksContent = React4.useMemo(() => {
5491
5600
  if (!socialLinks || socialLinks.length === 0) return null;
5492
5601
  return socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -5495,7 +5604,10 @@ function FooterNavSocial({
5495
5604
  href: social.href,
5496
5605
  label: social.label,
5497
5606
  iconNameOverride: social.iconNameOverride,
5498
- className: cn("opacity-80 transition-colors hover:opacity-100", socialLinkClassName)
5607
+ className: cn(
5608
+ "opacity-80 transition-colors hover:opacity-100",
5609
+ socialLinkClassName
5610
+ )
5499
5611
  }
5500
5612
  ) }, idx));
5501
5613
  }, [socialLinks, socialLinkClassName]);
@@ -5511,64 +5623,155 @@ function FooterNavSocial({
5511
5623
  pattern,
5512
5624
  patternOpacity,
5513
5625
  className: cn(className),
5626
+ containerClassName,
5514
5627
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(contentClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
5515
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-10 lg:grid-cols-2", gridClassName), children: [
5516
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(leftColumnClassName), children: [
5517
- logo && /* @__PURE__ */ jsxRuntime.jsx(
5518
- FooterLogo,
5519
- {
5520
- logo,
5521
- logoClassName: cn("mb-8", logoWrapperClassName),
5522
- logoImageClassName: logoClassName,
5523
- optixFlowConfig
5524
- }
5628
+ /* @__PURE__ */ jsxRuntime.jsxs(
5629
+ "div",
5630
+ {
5631
+ className: cn(
5632
+ "grid gap-12 md:gap-24 lg:grid-cols-2",
5633
+ gridClassName
5525
5634
  ),
5526
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid gap-8 sm:grid-cols-3", navGridClassName), children: sectionsContent })
5527
- ] }),
5528
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col justify-between", rightColumnClassName), children: [
5529
- (newsletterHeading || newsletterDescription) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-8", newsletterClassName), children: [
5530
- newsletterHeading && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-2 text-lg font-semibold", newsletterHeadingClassName), children: newsletterHeading }),
5531
- newsletterDescription && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 text-sm opacity-80", newsletterDescriptionClassName), children: newsletterDescription }),
5532
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex max-w-md gap-2", newsletterFormClassName), children: [
5533
- /* @__PURE__ */ jsxRuntime.jsx(
5534
- "input",
5635
+ children: [
5636
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(leftColumnClassName), children: [
5637
+ logo && /* @__PURE__ */ jsxRuntime.jsx(
5638
+ FooterLogo,
5535
5639
  {
5536
- type: "email",
5537
- placeholder: newsletterPlaceholder,
5538
- 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"
5640
+ logo,
5641
+ logoClassName: cn("mb-8", logoWrapperClassName),
5642
+ logoImageClassName: logoClassName,
5643
+ optixFlowConfig
5539
5644
  }
5540
5645
  ),
5541
- newsletterButtonText && /* @__PURE__ */ jsxRuntime.jsx(
5542
- "button",
5646
+ /* @__PURE__ */ jsxRuntime.jsx(
5647
+ "div",
5543
5648
  {
5544
- type: "submit",
5545
- 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",
5546
- children: newsletterButtonText
5649
+ className: cn(
5650
+ "grid md:flex w-full gap-8 md:gap-6 lg:gap-12 md:flex-wrap md:justify-between grid-cols-2",
5651
+ navGridClassName
5652
+ ),
5653
+ children: sectionsContent
5547
5654
  }
5548
5655
  )
5549
- ] })
5550
- ] }),
5551
- (socialTitle || socialLinksContent) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(socialSectionClassName), children: [
5552
- socialTitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 font-medium", socialTitleClassName), children: socialTitle }),
5553
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("flex items-center gap-4", socialLinksClassName), children: socialLinksContent })
5554
- ] })
5555
- ] })
5556
- ] }),
5557
- /* @__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: [
5558
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-2 md:flex-row md:items-center md:gap-4", copyrightClassName), children: [
5559
- /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
5560
- /* @__PURE__ */ jsxRuntime.jsx(
5561
- BrandAttribution,
5562
- {
5563
- internalBrandSlug: "open_site_ai",
5564
- optionIndex: 1,
5565
- variant: "span",
5566
- linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
5567
- }
5568
- )
5569
- ] }),
5570
- legalLinksContent && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("flex gap-4", legalLinksClassName), children: legalLinksContent })
5571
- ] })
5656
+ ] }),
5657
+ /* @__PURE__ */ jsxRuntime.jsxs(
5658
+ "div",
5659
+ {
5660
+ className: cn(
5661
+ "flex flex-col justify-between mt-0 md:mt-16 space-y-8 md:space-y-12",
5662
+ rightColumnClassName
5663
+ ),
5664
+ children: [
5665
+ formConfig && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("", newsletterClassName), children: [
5666
+ newsletterHeading && /* @__PURE__ */ jsxRuntime.jsx(
5667
+ "h3",
5668
+ {
5669
+ className: cn(
5670
+ "mb-4 font-medium",
5671
+ newsletterHeadingClassName
5672
+ ),
5673
+ children: newsletterHeading
5674
+ }
5675
+ ),
5676
+ newsletterDescription && /* @__PURE__ */ jsxRuntime.jsx(
5677
+ "p",
5678
+ {
5679
+ className: cn(
5680
+ "mb-4 text-sm opacity-80",
5681
+ newsletterDescriptionClassName
5682
+ ),
5683
+ children: newsletterDescription
5684
+ }
5685
+ ),
5686
+ /* @__PURE__ */ jsxRuntime.jsxs(
5687
+ "div",
5688
+ {
5689
+ className: cn(
5690
+ "flex max-w-md gap-2",
5691
+ newsletterFormClassName
5692
+ ),
5693
+ children: [
5694
+ /* @__PURE__ */ jsxRuntime.jsx(
5695
+ "input",
5696
+ {
5697
+ type: "email",
5698
+ placeholder: newsletterPlaceholder,
5699
+ 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"
5700
+ }
5701
+ ),
5702
+ newsletterButtonText && /* @__PURE__ */ jsxRuntime.jsx(
5703
+ "button",
5704
+ {
5705
+ type: "submit",
5706
+ 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",
5707
+ children: newsletterButtonText
5708
+ }
5709
+ )
5710
+ ]
5711
+ }
5712
+ )
5713
+ ] }),
5714
+ (socialTitle || socialLinksContent) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(socialSectionClassName), children: [
5715
+ socialTitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 font-medium", socialTitleClassName), children: socialTitle }),
5716
+ /* @__PURE__ */ jsxRuntime.jsx(
5717
+ "ul",
5718
+ {
5719
+ className: cn(
5720
+ "flex items-center gap-4",
5721
+ socialLinksClassName
5722
+ ),
5723
+ children: socialLinksContent
5724
+ }
5725
+ )
5726
+ ] })
5727
+ ]
5728
+ }
5729
+ )
5730
+ ]
5731
+ }
5732
+ ),
5733
+ /* @__PURE__ */ jsxRuntime.jsxs(
5734
+ "div",
5735
+ {
5736
+ className: cn(
5737
+ "mt-16 flex flex-col justify-between gap-4 border-t pt-8 text-sm opacity-80 md:flex-row md:items-center",
5738
+ bottomClassName
5739
+ ),
5740
+ children: [
5741
+ /* @__PURE__ */ jsxRuntime.jsxs(
5742
+ "div",
5743
+ {
5744
+ className: cn(
5745
+ "flex flex-col gap-2 md:flex-row md:items-center md:gap-4",
5746
+ copyrightClassName
5747
+ ),
5748
+ children: [
5749
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
5750
+ /* @__PURE__ */ jsxRuntime.jsx(
5751
+ BrandAttribution,
5752
+ {
5753
+ internalBrandSlug: "open_site_ai",
5754
+ optionIndex: 1,
5755
+ variant: "span",
5756
+ linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
5757
+ }
5758
+ )
5759
+ ]
5760
+ }
5761
+ ),
5762
+ legalLinksContent && /* @__PURE__ */ jsxRuntime.jsx(
5763
+ "ul",
5764
+ {
5765
+ className: cn(
5766
+ "pt-4 md:pt-0 gap-4 grid md:flex grid-cols-2 items-center w-full md:w-fit",
5767
+ legalLinksClassName
5768
+ ),
5769
+ children: legalLinksContent
5770
+ }
5771
+ )
5772
+ ]
5773
+ }
5774
+ )
5572
5775
  ] }) })
5573
5776
  }
5574
5777
  );