@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/registry.js CHANGED
@@ -3866,13 +3866,13 @@ function AboutLocationInfoHero({
3866
3866
  imagesClassName,
3867
3867
  contentPosition = "left",
3868
3868
  mobileStackOrder = "content-first",
3869
- accentColor = "hsl(var(--primary))",
3869
+ accentColor = "hsl(var(--muted))",
3870
3870
  background,
3871
- spacing,
3872
3871
  pattern,
3873
3872
  patternOpacity,
3874
3873
  className,
3875
- containerClassName,
3874
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
3875
+ spacing = "py-6 md:py-32",
3876
3876
  optixFlowConfig
3877
3877
  }) {
3878
3878
  const isSingleImage = (images?.length ?? 0) <= 1;
@@ -3893,21 +3893,27 @@ function AboutLocationInfoHero({
3893
3893
  const hoursSectionsContent = useMemo(() => {
3894
3894
  if (hoursSectionsSlot) return hoursSectionsSlot;
3895
3895
  if (!hoursSections || hoursSections.length === 0) return null;
3896
- return /* @__PURE__ */ jsx("div", { className: cn("space-y-4", hoursSectionsClassName), children: hoursSections.map((section, sectionIndex) => /* @__PURE__ */ jsxs("div", { children: [
3896
+ return /* @__PURE__ */ jsx("div", { className: cn("space-y-6 md:space-y-12", hoursSectionsClassName), children: hoursSections.map((section, sectionIndex) => /* @__PURE__ */ jsxs("div", { children: [
3897
3897
  section.label && (typeof section.label === "string" ? /* @__PURE__ */ jsx(
3898
3898
  "h3",
3899
3899
  {
3900
- className: "mb-2 text-sm font-medium",
3900
+ className: "mb-4 text-lg font-semibold ",
3901
3901
  style: { color: accentColor },
3902
3902
  children: section.label
3903
3903
  }
3904
3904
  ) : section.label),
3905
- section.hours && section.hours.length > 0 && /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-x-6 gap-y-1 text-sm", children: section.hours.map((item, itemIndex) => /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
3906
- item.day && (typeof item.day === "string" ? /* @__PURE__ */ jsx("span", { className: getTextColor(background, "muted"), children: item.day }) : item.day),
3907
- item.time && (typeof item.time === "string" ? /* @__PURE__ */ jsx("span", { children: item.time }) : item.time)
3905
+ section.hours && section.hours.length > 0 && /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-x-4 gap-y-2", children: section.hours.map((item, itemIndex) => /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
3906
+ item.day && (typeof item.day === "string" ? /* @__PURE__ */ jsx("span", { className: "text-white text-sm font-semibold uppercase opacity-60 tracking-wide", children: item.day }) : item.day),
3907
+ item.time && (typeof item.time === "string" ? /* @__PURE__ */ jsx("span", { className: "text-white text-sm font-semibold uppercase opacity-60", children: item.time }) : item.time)
3908
3908
  ] }, itemIndex)) })
3909
3909
  ] }, sectionIndex)) });
3910
- }, [hoursSectionsSlot, hoursSections, hoursSectionsClassName, accentColor, background]);
3910
+ }, [
3911
+ hoursSectionsSlot,
3912
+ hoursSections,
3913
+ hoursSectionsClassName,
3914
+ accentColor,
3915
+ background
3916
+ ]);
3911
3917
  const imagesContent = useMemo(() => {
3912
3918
  if (imagesSlot) return imagesSlot;
3913
3919
  if (!images || images.length === 0) return null;
@@ -3916,7 +3922,7 @@ function AboutLocationInfoHero({
3916
3922
  "div",
3917
3923
  {
3918
3924
  className: cn(
3919
- "relative aspect-[4/3] w-full max-w-lg overflow-hidden rounded-lg shadow-2xl",
3925
+ "relative aspect-4/3 w-full max-w-lg overflow-hidden rounded-lg shadow-2xl",
3920
3926
  imagesClassName
3921
3927
  ),
3922
3928
  children: /* @__PURE__ */ jsx(
@@ -3939,7 +3945,7 @@ function AboutLocationInfoHero({
3939
3945
  imagesClassName
3940
3946
  ),
3941
3947
  children: [
3942
- /* @__PURE__ */ jsx("div", { className: "absolute left-0 top-0 z-10 aspect-[4/3] w-[70%] overflow-hidden rounded-lg shadow-2xl md:w-[65%]", children: /* @__PURE__ */ jsx(
3948
+ /* @__PURE__ */ jsx("div", { className: "absolute left-0 top-0 z-10 aspect-4/3 w-[70%] overflow-hidden rounded-lg shadow-2xl md:w-[65%]", children: /* @__PURE__ */ jsx(
3943
3949
  Img,
3944
3950
  {
3945
3951
  src: images[0]?.src || imagePlaceholders[5],
@@ -3948,7 +3954,7 @@ function AboutLocationInfoHero({
3948
3954
  optixFlowConfig
3949
3955
  }
3950
3956
  ) }),
3951
- /* @__PURE__ */ jsx("div", { className: "absolute bottom-0 right-0 z-20 aspect-[3/4] w-[55%] overflow-hidden rounded-lg shadow-2xl md:w-[50%]", children: /* @__PURE__ */ jsx(
3957
+ /* @__PURE__ */ jsx("div", { className: "absolute bottom-0 right-0 z-20 aspect-3/4 w-[55%] overflow-hidden rounded-lg shadow-2xl md:w-[50%]", children: /* @__PURE__ */ jsx(
3952
3958
  Img,
3953
3959
  {
3954
3960
  src: images[1]?.src || imagePlaceholders[6],
@@ -3968,11 +3974,9 @@ function AboutLocationInfoHero({
3968
3974
  spacing,
3969
3975
  pattern,
3970
3976
  patternOpacity,
3971
- className: cn(
3972
- "relative w-full overflow-hidden",
3973
- className
3974
- ),
3975
- children: /* @__PURE__ */ jsx("div", { className: cn("container relative", containerClassName), children: /* @__PURE__ */ jsxs(
3977
+ className: cn("relative w-full overflow-hidden", className),
3978
+ containerClassName,
3979
+ children: /* @__PURE__ */ jsx("div", { className: cn(" relative"), children: /* @__PURE__ */ jsxs(
3976
3980
  "div",
3977
3981
  {
3978
3982
  className: cn(
@@ -3993,16 +3997,16 @@ function AboutLocationInfoHero({
3993
3997
  }
3994
3998
  ) : /* @__PURE__ */ jsx("div", { className: headlineClassName, children: headline })),
3995
3999
  actionsContent,
3996
- address || phone ? /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
4000
+ address || phone ? /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
3997
4001
  address ? /* @__PURE__ */ jsxs(
3998
4002
  "div",
3999
4003
  {
4000
4004
  className: cn(
4001
- "flex items-center gap-3 text-sm",
4005
+ "flex items-center gap-3 text-md",
4002
4006
  addressClassName
4003
4007
  ),
4004
4008
  children: [
4005
- /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/map-pin", size: 16 }),
4009
+ /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/map-pin", size: 18 }),
4006
4010
  addressHref ? /* @__PURE__ */ jsx(
4007
4011
  Pressable,
4008
4012
  {
@@ -4018,11 +4022,11 @@ function AboutLocationInfoHero({
4018
4022
  "div",
4019
4023
  {
4020
4024
  className: cn(
4021
- "flex items-center gap-3 text-sm",
4025
+ "flex items-center gap-3 text-md",
4022
4026
  phoneClassName
4023
4027
  ),
4024
4028
  children: [
4025
- /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/phone", size: 16 }),
4029
+ /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/phone", size: 18 }),
4026
4030
  phoneHref ? /* @__PURE__ */ jsx(
4027
4031
  Pressable,
4028
4032
  {
@@ -22165,6 +22169,7 @@ var FooterLogo = ({
22165
22169
  }
22166
22170
  return /* @__PURE__ */ jsx("div", { className: cn("inline-flex items-center", logoClassName), children: logoContent });
22167
22171
  };
22172
+ var footer_logo_default = FooterLogo;
22168
22173
  function FooterCopyright({
22169
22174
  copyright,
22170
22175
  className
@@ -23053,8 +23058,8 @@ function FooterSimpleCentered({
23053
23058
  bottomLinks,
23054
23059
  className,
23055
23060
  footerClassName,
23056
- containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
23057
23061
  contentClassName,
23062
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
23058
23063
  spacing = "py-12 md:py-32",
23059
23064
  brandClassName,
23060
23065
  logoWrapperClassName,
@@ -23848,6 +23853,8 @@ function FooterBackgroundCard({
23848
23853
  menuItems,
23849
23854
  copyright,
23850
23855
  bottomLinks,
23856
+ logoWrapperClassName,
23857
+ logoClassName,
23851
23858
  className,
23852
23859
  cardClassName,
23853
23860
  gridClassName,
@@ -23866,7 +23873,8 @@ function FooterBackgroundCard({
23866
23873
  copyrightClassName,
23867
23874
  bottomLinksClassName,
23868
23875
  background,
23869
- spacing,
23876
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
23877
+ spacing = "py-6 md:py-32",
23870
23878
  pattern,
23871
23879
  patternOpacity,
23872
23880
  optixFlowConfig
@@ -23884,79 +23892,174 @@ function FooterBackgroundCard({
23884
23892
  patternOpacity,
23885
23893
  className: cn("bg-cover bg-center bg-no-repeat", className),
23886
23894
  style: sectionStyle,
23887
- children: /* @__PURE__ */ jsxs("div", { className: cn("mx-auto max-w-7xl rounded-lg p-8 shadow-lg md:p-12", cardClassName), children: [
23888
- /* @__PURE__ */ jsxs("div", { className: cn("grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-4 lg:gap-12", gridClassName), children: [
23889
- (profileImage || tagline || personalMessage || ctaText) && /* @__PURE__ */ jsxs("div", { className: cn("lg:col-span-1", profileSectionClassName), children: [
23890
- (profileImage || tagline) && /* @__PURE__ */ jsxs("div", { className: "mb-4 flex items-center gap-4", children: [
23891
- profileImage && /* @__PURE__ */ jsx(
23892
- Img,
23893
- {
23894
- src: profileImage,
23895
- alt: "Profile",
23896
- className: cn("h-16 w-16 rounded-full object-cover", profileImageClassName),
23897
- optixFlowConfig
23898
- }
23899
- ),
23900
- tagline && /* @__PURE__ */ jsx("h3", { className: cn("text-2xl font-medium", taglineClassName), children: tagline })
23901
- ] }),
23902
- personalMessage && /* @__PURE__ */ jsx("p", { className: cn("mb-6 text-sm leading-relaxed opacity-80", messageClassName), children: personalMessage }),
23903
- ctaText && /* @__PURE__ */ jsx(
23904
- Pressable,
23905
- {
23906
- href: ctaUrl || "#",
23907
- 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),
23908
- children: ctaText
23909
- }
23910
- )
23911
- ] }),
23912
- menuItems && menuItems.length > 0 && menuItems.map((menu, idx) => /* @__PURE__ */ jsxs("div", { className: cn(menuSectionClassName), children: [
23913
- /* @__PURE__ */ jsx("h3", { className: cn("mb-4 text-sm font-medium tracking-wider uppercase", menuTitleClassName), children: menu.title }),
23914
- /* @__PURE__ */ jsx("ul", { className: "space-y-3", children: menu.links.map((link, index) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
23915
- Pressable,
23895
+ containerClassName,
23896
+ children: /* @__PURE__ */ jsxs(
23897
+ "div",
23898
+ {
23899
+ className: cn(
23900
+ "mx-auto max-w-7xl rounded-2xl p-12 shadow-xl md:p-16 bg-card text-card-foreground",
23901
+ cardClassName
23902
+ ),
23903
+ children: [
23904
+ /* @__PURE__ */ jsxs(
23905
+ "div",
23916
23906
  {
23917
- href: link.url,
23918
- className: cn("border-b border-transparent opacity-80 transition-all duration-300 ease-in-out hover:opacity-100", menuLinkClassName),
23919
- children: link.text
23907
+ className: cn(
23908
+ "grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-4 lg:gap-12",
23909
+ gridClassName
23910
+ ),
23911
+ children: [
23912
+ (profileImage || tagline || personalMessage || ctaText || logo) && /* @__PURE__ */ jsxs("div", { className: cn("lg:col-span-1", profileSectionClassName), children: [
23913
+ /* @__PURE__ */ jsx(
23914
+ footer_logo_default,
23915
+ {
23916
+ logo,
23917
+ logoClassName: cn("mb-12", logoWrapperClassName),
23918
+ logoImageClassName: logoClassName,
23919
+ optixFlowConfig
23920
+ }
23921
+ ),
23922
+ (profileImage || tagline) && /* @__PURE__ */ jsxs("div", { className: "mb-4 flex items-center gap-4", children: [
23923
+ profileImage && /* @__PURE__ */ jsx(
23924
+ Img,
23925
+ {
23926
+ src: profileImage,
23927
+ alt: "Profile",
23928
+ className: cn(
23929
+ "h-16 w-16 rounded-full object-cover",
23930
+ profileImageClassName
23931
+ ),
23932
+ optixFlowConfig
23933
+ }
23934
+ ),
23935
+ tagline && /* @__PURE__ */ jsx(
23936
+ "h3",
23937
+ {
23938
+ className: cn("text-2xl font-medium", taglineClassName),
23939
+ children: tagline
23940
+ }
23941
+ )
23942
+ ] }),
23943
+ personalMessage && /* @__PURE__ */ jsx(
23944
+ "p",
23945
+ {
23946
+ className: cn(
23947
+ "mb-6 text-sm leading-relaxed opacity-80",
23948
+ messageClassName
23949
+ ),
23950
+ children: personalMessage
23951
+ }
23952
+ ),
23953
+ ctaText && /* @__PURE__ */ jsx(
23954
+ Pressable,
23955
+ {
23956
+ href: ctaUrl || "#",
23957
+ className: cn(
23958
+ "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",
23959
+ ctaClassName
23960
+ ),
23961
+ children: ctaText
23962
+ }
23963
+ )
23964
+ ] }),
23965
+ menuItems && menuItems.length > 0 && menuItems.map((menu, idx) => /* @__PURE__ */ jsxs(
23966
+ "div",
23967
+ {
23968
+ className: cn("pl-0 md:pl-8", menuSectionClassName),
23969
+ children: [
23970
+ /* @__PURE__ */ jsx(
23971
+ "h3",
23972
+ {
23973
+ className: cn(
23974
+ "mb-4 text-sm font-medium tracking-wider uppercase",
23975
+ menuTitleClassName
23976
+ ),
23977
+ children: menu.title
23978
+ }
23979
+ ),
23980
+ /* @__PURE__ */ jsx("ul", { className: "space-y-3", children: menu.links.map((link, index) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
23981
+ Pressable,
23982
+ {
23983
+ href: link.url,
23984
+ className: cn(
23985
+ "border-b border-transparent opacity-80 transition-all duration-300 ease-in-out hover:opacity-100",
23986
+ menuLinkClassName
23987
+ ),
23988
+ children: link.text
23989
+ }
23990
+ ) }, index)) })
23991
+ ]
23992
+ },
23993
+ idx
23994
+ )),
23995
+ (contactTitle || contact) && /* @__PURE__ */ jsxs("div", { className: cn("pl-0 md:pl-8", contactSectionClassName), children: [
23996
+ contactTitle && /* @__PURE__ */ jsx(
23997
+ "h3",
23998
+ {
23999
+ className: cn(
24000
+ "mb-4 text-sm font-medium tracking-wider uppercase",
24001
+ contactTitleClassName
24002
+ ),
24003
+ children: contactTitle
24004
+ }
24005
+ ),
24006
+ contact && /* @__PURE__ */ jsxs("ul", { className: "space-y-3", children: [
24007
+ contact.phone && /* @__PURE__ */ jsx("li", { className: cn("opacity-80", contactItemClassName), children: contact.phone }),
24008
+ contact.email && /* @__PURE__ */ jsx("li", { className: cn("opacity-80", contactItemClassName), children: contact.email }),
24009
+ (contact.location || contact.timezone) && /* @__PURE__ */ jsxs("li", { className: cn("opacity-80", contactItemClassName), children: [
24010
+ contact.location,
24011
+ contact.location && contact.timezone && " \u2022 ",
24012
+ contact.timezone
24013
+ ] })
24014
+ ] })
24015
+ ] })
24016
+ ]
23920
24017
  }
23921
- ) }, index)) })
23922
- ] }, idx)),
23923
- (contactTitle || contact) && /* @__PURE__ */ jsxs("div", { className: cn(contactSectionClassName), children: [
23924
- contactTitle && /* @__PURE__ */ jsx("h3", { className: cn("mb-4 text-sm font-medium tracking-wider uppercase", contactTitleClassName), children: contactTitle }),
23925
- contact && /* @__PURE__ */ jsxs("ul", { className: "space-y-3", children: [
23926
- contact.phone && /* @__PURE__ */ jsx("li", { className: cn("opacity-80", contactItemClassName), children: contact.phone }),
23927
- contact.email && /* @__PURE__ */ jsx("li", { className: cn("opacity-80", contactItemClassName), children: contact.email }),
23928
- (contact.location || contact.timezone) && /* @__PURE__ */ jsxs("li", { className: cn("opacity-80", contactItemClassName), children: [
23929
- contact.location,
23930
- contact.location && contact.timezone && " \u2022 ",
23931
- contact.timezone
23932
- ] })
23933
- ] })
23934
- ] })
23935
- ] }),
23936
- /* @__PURE__ */ jsxs("div", { className: cn("mt-12 flex flex-col items-center justify-between gap-4 border-t pt-8 md:flex-row", bottomClassName), children: [
23937
- /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-2 text-sm opacity-80 md:flex-row md:items-center md:gap-4", copyrightClassName), children: [
23938
- /* @__PURE__ */ jsx(FooterCopyright, { copyright }),
23939
- /* @__PURE__ */ jsx(
23940
- BrandAttribution,
24018
+ ),
24019
+ /* @__PURE__ */ jsxs(
24020
+ "div",
23941
24021
  {
23942
- internalBrandSlug: "open_site_ai",
23943
- optionIndex: 3,
23944
- variant: "span",
23945
- linkClassName: "hover:opacity-100"
24022
+ className: cn(
24023
+ "mt-12 flex flex-col items-center justify-between gap-4 border-t pt-8 md:flex-row",
24024
+ bottomClassName
24025
+ ),
24026
+ children: [
24027
+ /* @__PURE__ */ jsxs(
24028
+ "div",
24029
+ {
24030
+ className: cn(
24031
+ "flex flex-col gap-2 text-sm opacity-80 md:flex-row md:items-center md:gap-4",
24032
+ copyrightClassName
24033
+ ),
24034
+ children: [
24035
+ /* @__PURE__ */ jsx(FooterCopyright, { copyright }),
24036
+ /* @__PURE__ */ jsx(
24037
+ BrandAttribution,
24038
+ {
24039
+ internalBrandSlug: "open_site_ai",
24040
+ optionIndex: 3,
24041
+ variant: "span",
24042
+ linkClassName: "hover:opacity-100"
24043
+ }
24044
+ )
24045
+ ]
24046
+ }
24047
+ ),
24048
+ bottomLinks && bottomLinks.length > 0 && /* @__PURE__ */ jsx("div", { className: cn("flex gap-4", bottomLinksClassName), children: bottomLinks.map((link, idx) => /* @__PURE__ */ jsx(
24049
+ Pressable,
24050
+ {
24051
+ href: link.url,
24052
+ className: "text-sm opacity-80 transition-colors hover:opacity-100",
24053
+ children: link.text
24054
+ },
24055
+ idx
24056
+ )) })
24057
+ ]
23946
24058
  }
23947
24059
  )
23948
- ] }),
23949
- bottomLinks && bottomLinks.length > 0 && /* @__PURE__ */ jsx("div", { className: cn("flex gap-4", bottomLinksClassName), children: bottomLinks.map((link, idx) => /* @__PURE__ */ jsx(
23950
- Pressable,
23951
- {
23952
- href: link.url,
23953
- className: "text-sm opacity-80 transition-colors hover:opacity-100",
23954
- children: link.text
23955
- },
23956
- idx
23957
- )) })
23958
- ] })
23959
- ] })
24060
+ ]
24061
+ }
24062
+ )
23960
24063
  }
23961
24064
  );
23962
24065
  }
@@ -24097,7 +24200,16 @@ function FooterAnimatedSocial({
24097
24200
  "flex flex-row md:flex-col flex-wrap items-center justify-center gap-4 md:gap-2",
24098
24201
  rightColumnClassName
24099
24202
  ),
24100
- children: /* @__PURE__ */ jsx(motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsx("div", { className: cn("flex flex-row md:flex-col items-center gap-4 md:gap-6", socialLinksClassName), children: socialLinksContent }) })
24203
+ children: /* @__PURE__ */ jsx(motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsx(
24204
+ "div",
24205
+ {
24206
+ className: cn(
24207
+ "flex flex-row md:flex-col items-center gap-4 md:gap-6",
24208
+ socialLinksClassName
24209
+ ),
24210
+ children: socialLinksContent
24211
+ }
24212
+ ) })
24101
24213
  }
24102
24214
  )
24103
24215
  ]
@@ -24485,6 +24597,7 @@ function FooterNavSocial({
24485
24597
  gridClassName,
24486
24598
  leftColumnClassName,
24487
24599
  logoWrapperClassName,
24600
+ formConfig,
24488
24601
  logoClassName,
24489
24602
  navGridClassName,
24490
24603
  navSectionClassName,
@@ -24505,7 +24618,8 @@ function FooterNavSocial({
24505
24618
  legalLinksClassName,
24506
24619
  legalLinkClassName,
24507
24620
  background,
24508
- spacing,
24621
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
24622
+ spacing = "py-12 md:py-40",
24509
24623
  pattern,
24510
24624
  patternOpacity,
24511
24625
  optixFlowConfig
@@ -24514,16 +24628,15 @@ function FooterNavSocial({
24514
24628
  if (!sections || sections.length === 0) return null;
24515
24629
  return sections.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { className: cn(navSectionClassName), children: [
24516
24630
  /* @__PURE__ */ jsx("h3", { className: cn("mb-4 font-semibold", navTitleClassName), children: section.title }),
24517
- /* @__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(
24518
- Pressable,
24519
- {
24520
- href: link.href,
24521
- className: "hover:opacity-100",
24522
- children: link.name
24523
- }
24524
- ) }, linkIdx)) })
24631
+ /* @__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)) })
24525
24632
  ] }, sectionIdx));
24526
- }, [sections, navSectionClassName, navTitleClassName, navLinksClassName, navLinkClassName]);
24633
+ }, [
24634
+ sections,
24635
+ navSectionClassName,
24636
+ navTitleClassName,
24637
+ navLinksClassName,
24638
+ navLinkClassName
24639
+ ]);
24527
24640
  const socialLinksContent = useMemo(() => {
24528
24641
  if (!socialLinks || socialLinks.length === 0) return null;
24529
24642
  return socialLinks.map((social, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
@@ -24532,7 +24645,10 @@ function FooterNavSocial({
24532
24645
  href: social.href,
24533
24646
  label: social.label,
24534
24647
  iconNameOverride: social.iconNameOverride,
24535
- className: cn("opacity-80 transition-colors hover:opacity-100", socialLinkClassName)
24648
+ className: cn(
24649
+ "opacity-80 transition-colors hover:opacity-100",
24650
+ socialLinkClassName
24651
+ )
24536
24652
  }
24537
24653
  ) }, idx));
24538
24654
  }, [socialLinks, socialLinkClassName]);
@@ -24548,64 +24664,155 @@ function FooterNavSocial({
24548
24664
  pattern,
24549
24665
  patternOpacity,
24550
24666
  className: cn(className),
24667
+ containerClassName,
24551
24668
  children: /* @__PURE__ */ jsx("div", { className: cn(contentClassName), children: /* @__PURE__ */ jsxs("footer", { children: [
24552
- /* @__PURE__ */ jsxs("div", { className: cn("grid gap-10 lg:grid-cols-2", gridClassName), children: [
24553
- /* @__PURE__ */ jsxs("div", { className: cn(leftColumnClassName), children: [
24554
- logo && /* @__PURE__ */ jsx(
24555
- FooterLogo,
24556
- {
24557
- logo,
24558
- logoClassName: cn("mb-8", logoWrapperClassName),
24559
- logoImageClassName: logoClassName,
24560
- optixFlowConfig
24561
- }
24669
+ /* @__PURE__ */ jsxs(
24670
+ "div",
24671
+ {
24672
+ className: cn(
24673
+ "grid gap-12 md:gap-24 lg:grid-cols-2",
24674
+ gridClassName
24562
24675
  ),
24563
- /* @__PURE__ */ jsx("div", { className: cn("grid gap-8 sm:grid-cols-3", navGridClassName), children: sectionsContent })
24564
- ] }),
24565
- /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col justify-between", rightColumnClassName), children: [
24566
- (newsletterHeading || newsletterDescription) && /* @__PURE__ */ jsxs("div", { className: cn("mb-8", newsletterClassName), children: [
24567
- newsletterHeading && /* @__PURE__ */ jsx("h3", { className: cn("mb-2 text-lg font-semibold", newsletterHeadingClassName), children: newsletterHeading }),
24568
- newsletterDescription && /* @__PURE__ */ jsx("p", { className: cn("mb-4 text-sm opacity-80", newsletterDescriptionClassName), children: newsletterDescription }),
24569
- /* @__PURE__ */ jsxs("div", { className: cn("flex max-w-md gap-2", newsletterFormClassName), children: [
24570
- /* @__PURE__ */ jsx(
24571
- "input",
24676
+ children: [
24677
+ /* @__PURE__ */ jsxs("div", { className: cn(leftColumnClassName), children: [
24678
+ logo && /* @__PURE__ */ jsx(
24679
+ FooterLogo,
24572
24680
  {
24573
- type: "email",
24574
- placeholder: newsletterPlaceholder,
24575
- 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"
24681
+ logo,
24682
+ logoClassName: cn("mb-8", logoWrapperClassName),
24683
+ logoImageClassName: logoClassName,
24684
+ optixFlowConfig
24576
24685
  }
24577
24686
  ),
24578
- newsletterButtonText && /* @__PURE__ */ jsx(
24579
- "button",
24687
+ /* @__PURE__ */ jsx(
24688
+ "div",
24580
24689
  {
24581
- type: "submit",
24582
- 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",
24583
- children: newsletterButtonText
24690
+ className: cn(
24691
+ "grid md:flex w-full gap-8 md:gap-6 lg:gap-12 md:flex-wrap md:justify-between grid-cols-2",
24692
+ navGridClassName
24693
+ ),
24694
+ children: sectionsContent
24584
24695
  }
24585
24696
  )
24586
- ] })
24587
- ] }),
24588
- (socialTitle || socialLinksContent) && /* @__PURE__ */ jsxs("div", { className: cn(socialSectionClassName), children: [
24589
- socialTitle && /* @__PURE__ */ jsx("p", { className: cn("mb-4 font-medium", socialTitleClassName), children: socialTitle }),
24590
- /* @__PURE__ */ jsx("ul", { className: cn("flex items-center gap-4", socialLinksClassName), children: socialLinksContent })
24591
- ] })
24592
- ] })
24593
- ] }),
24594
- /* @__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: [
24595
- /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-2 md:flex-row md:items-center md:gap-4", copyrightClassName), children: [
24596
- /* @__PURE__ */ jsx(FooterCopyright, { copyright }),
24597
- /* @__PURE__ */ jsx(
24598
- BrandAttribution,
24599
- {
24600
- internalBrandSlug: "open_site_ai",
24601
- optionIndex: 1,
24602
- variant: "span",
24603
- linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
24604
- }
24605
- )
24606
- ] }),
24607
- legalLinksContent && /* @__PURE__ */ jsx("ul", { className: cn("flex gap-4", legalLinksClassName), children: legalLinksContent })
24608
- ] })
24697
+ ] }),
24698
+ /* @__PURE__ */ jsxs(
24699
+ "div",
24700
+ {
24701
+ className: cn(
24702
+ "flex flex-col justify-between mt-0 md:mt-16 space-y-8 md:space-y-12",
24703
+ rightColumnClassName
24704
+ ),
24705
+ children: [
24706
+ formConfig && /* @__PURE__ */ jsxs("div", { className: cn("", newsletterClassName), children: [
24707
+ newsletterHeading && /* @__PURE__ */ jsx(
24708
+ "h3",
24709
+ {
24710
+ className: cn(
24711
+ "mb-4 font-medium",
24712
+ newsletterHeadingClassName
24713
+ ),
24714
+ children: newsletterHeading
24715
+ }
24716
+ ),
24717
+ newsletterDescription && /* @__PURE__ */ jsx(
24718
+ "p",
24719
+ {
24720
+ className: cn(
24721
+ "mb-4 text-sm opacity-80",
24722
+ newsletterDescriptionClassName
24723
+ ),
24724
+ children: newsletterDescription
24725
+ }
24726
+ ),
24727
+ /* @__PURE__ */ jsxs(
24728
+ "div",
24729
+ {
24730
+ className: cn(
24731
+ "flex max-w-md gap-2",
24732
+ newsletterFormClassName
24733
+ ),
24734
+ children: [
24735
+ /* @__PURE__ */ jsx(
24736
+ "input",
24737
+ {
24738
+ type: "email",
24739
+ placeholder: newsletterPlaceholder,
24740
+ 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"
24741
+ }
24742
+ ),
24743
+ newsletterButtonText && /* @__PURE__ */ jsx(
24744
+ "button",
24745
+ {
24746
+ type: "submit",
24747
+ 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",
24748
+ children: newsletterButtonText
24749
+ }
24750
+ )
24751
+ ]
24752
+ }
24753
+ )
24754
+ ] }),
24755
+ (socialTitle || socialLinksContent) && /* @__PURE__ */ jsxs("div", { className: cn(socialSectionClassName), children: [
24756
+ socialTitle && /* @__PURE__ */ jsx("p", { className: cn("mb-4 font-medium", socialTitleClassName), children: socialTitle }),
24757
+ /* @__PURE__ */ jsx(
24758
+ "ul",
24759
+ {
24760
+ className: cn(
24761
+ "flex items-center gap-4",
24762
+ socialLinksClassName
24763
+ ),
24764
+ children: socialLinksContent
24765
+ }
24766
+ )
24767
+ ] })
24768
+ ]
24769
+ }
24770
+ )
24771
+ ]
24772
+ }
24773
+ ),
24774
+ /* @__PURE__ */ jsxs(
24775
+ "div",
24776
+ {
24777
+ className: cn(
24778
+ "mt-16 flex flex-col justify-between gap-4 border-t pt-8 text-sm opacity-80 md:flex-row md:items-center",
24779
+ bottomClassName
24780
+ ),
24781
+ children: [
24782
+ /* @__PURE__ */ jsxs(
24783
+ "div",
24784
+ {
24785
+ className: cn(
24786
+ "flex flex-col gap-2 md:flex-row md:items-center md:gap-4",
24787
+ copyrightClassName
24788
+ ),
24789
+ children: [
24790
+ /* @__PURE__ */ jsx(FooterCopyright, { copyright }),
24791
+ /* @__PURE__ */ jsx(
24792
+ BrandAttribution,
24793
+ {
24794
+ internalBrandSlug: "open_site_ai",
24795
+ optionIndex: 1,
24796
+ variant: "span",
24797
+ linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
24798
+ }
24799
+ )
24800
+ ]
24801
+ }
24802
+ ),
24803
+ legalLinksContent && /* @__PURE__ */ jsx(
24804
+ "ul",
24805
+ {
24806
+ className: cn(
24807
+ "pt-4 md:pt-0 gap-4 grid md:flex grid-cols-2 items-center w-full md:w-fit",
24808
+ legalLinksClassName
24809
+ ),
24810
+ children: legalLinksContent
24811
+ }
24812
+ )
24813
+ ]
24814
+ }
24815
+ )
24609
24816
  ] }) })
24610
24817
  }
24611
24818
  );
@@ -49944,11 +50151,11 @@ function HeroCenteredScreenshot({
49944
50151
  imageSrc,
49945
50152
  imageAlt = "placeholder",
49946
50153
  background,
49947
- spacing,
50154
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
50155
+ spacing = "py-12 md:py-32",
49948
50156
  pattern,
49949
50157
  patternOpacity,
49950
50158
  className,
49951
- containerClassName,
49952
50159
  contentClassName,
49953
50160
  headingClassName,
49954
50161
  descriptionClassName,
@@ -49960,7 +50167,14 @@ function HeroCenteredScreenshot({
49960
50167
  if (actionsSlot) return actionsSlot;
49961
50168
  if (!actions || actions.length === 0) return null;
49962
50169
  return actions.map((action, index) => {
49963
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
50170
+ const {
50171
+ label,
50172
+ icon,
50173
+ iconAfter,
50174
+ children,
50175
+ className: actionClassName,
50176
+ ...pressableProps
50177
+ } = action;
49964
50178
  return /* @__PURE__ */ jsx(
49965
50179
  Pressable,
49966
50180
  {
@@ -49985,22 +50199,50 @@ function HeroCenteredScreenshot({
49985
50199
  pattern,
49986
50200
  patternOpacity,
49987
50201
  className: cn(className),
49988
- children: /* @__PURE__ */ jsx("div", { className: cn("overflow-hidden border-b", getBorderColor(background, "muted")), children: /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
49989
- /* @__PURE__ */ jsx("div", { className: "mx-auto flex max-w-5xl flex-col items-center", children: /* @__PURE__ */ jsxs("div", { className: cn("z-10 items-center text-center", contentClassName), children: [
49990
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("mb-8 text-4xl font-semibold text-pretty lg:text-7xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
49991
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mx-auto max-w-3xl lg:text-xl", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
49992
- (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mt-12 flex w-full flex-col justify-center gap-2 sm:flex-row", actionsClassName), children: renderActions })
49993
- ] }) }),
50202
+ containerClassName,
50203
+ children: /* @__PURE__ */ jsxs("div", { className: cn(""), children: [
50204
+ /* @__PURE__ */ jsx("div", { className: "flex flex-col", children: /* @__PURE__ */ jsxs(
50205
+ "div",
50206
+ {
50207
+ className: cn("z-10 items-center text-center", contentClassName),
50208
+ children: [
50209
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
50210
+ "h1",
50211
+ {
50212
+ className: cn(
50213
+ "mb-8 text-4xl font-bold text-balance lg:text-7xl",
50214
+ headingClassName
50215
+ ),
50216
+ children: heading
50217
+ }
50218
+ ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
50219
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
50220
+ "p",
50221
+ {
50222
+ className: cn(
50223
+ "mx-auto max-w-3xl lg:text-xl text-balance opacity-80",
50224
+ descriptionClassName
50225
+ ),
50226
+ children: description
50227
+ }
50228
+ ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
50229
+ (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("lazy", actionsClassName), children: renderActions })
50230
+ ]
50231
+ }
50232
+ ) }),
49994
50233
  imageSrc && /* @__PURE__ */ jsx(
49995
50234
  Img,
49996
50235
  {
49997
50236
  src: imageSrc,
49998
50237
  alt: imageAlt,
49999
- className: cn("mx-auto mt-24 max-h-[700px] w-full max-w-7xl rounded-t-lg object-cover shadow-lg", imageClassName),
50238
+ className: cn(
50239
+ "mx-auto mt-24 max-h-[700px] w-full max-w-7xl rounded-2xl object-cover shadow-lg",
50240
+ imageClassName
50241
+ ),
50000
50242
  optixFlowConfig
50001
50243
  }
50002
50244
  )
50003
- ] }) })
50245
+ ] })
50004
50246
  }
50005
50247
  );
50006
50248
  }