@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.cjs CHANGED
@@ -3906,13 +3906,13 @@ function AboutLocationInfoHero({
3906
3906
  imagesClassName,
3907
3907
  contentPosition = "left",
3908
3908
  mobileStackOrder = "content-first",
3909
- accentColor = "hsl(var(--primary))",
3909
+ accentColor = "hsl(var(--muted))",
3910
3910
  background,
3911
- spacing,
3912
3911
  pattern,
3913
3912
  patternOpacity,
3914
3913
  className,
3915
- containerClassName,
3914
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
3915
+ spacing = "py-6 md:py-32",
3916
3916
  optixFlowConfig
3917
3917
  }) {
3918
3918
  const isSingleImage = (images?.length ?? 0) <= 1;
@@ -3933,21 +3933,27 @@ function AboutLocationInfoHero({
3933
3933
  const hoursSectionsContent = React52.useMemo(() => {
3934
3934
  if (hoursSectionsSlot) return hoursSectionsSlot;
3935
3935
  if (!hoursSections || hoursSections.length === 0) return null;
3936
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("space-y-4", hoursSectionsClassName), children: hoursSections.map((section, sectionIndex) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
3936
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("space-y-6 md:space-y-12", hoursSectionsClassName), children: hoursSections.map((section, sectionIndex) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
3937
3937
  section.label && (typeof section.label === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
3938
3938
  "h3",
3939
3939
  {
3940
- className: "mb-2 text-sm font-medium",
3940
+ className: "mb-4 text-lg font-semibold ",
3941
3941
  style: { color: accentColor },
3942
3942
  children: section.label
3943
3943
  }
3944
3944
  ) : section.label),
3945
- section.hours && section.hours.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-x-6 gap-y-1 text-sm", children: section.hours.map((item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
3946
- item.day && (typeof item.day === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: getTextColor(background, "muted"), children: item.day }) : item.day),
3947
- item.time && (typeof item.time === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { children: item.time }) : item.time)
3945
+ section.hours && section.hours.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-x-4 gap-y-2", children: section.hours.map((item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
3946
+ item.day && (typeof item.day === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-white text-sm font-semibold uppercase opacity-60 tracking-wide", children: item.day }) : item.day),
3947
+ item.time && (typeof item.time === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-white text-sm font-semibold uppercase opacity-60", children: item.time }) : item.time)
3948
3948
  ] }, itemIndex)) })
3949
3949
  ] }, sectionIndex)) });
3950
- }, [hoursSectionsSlot, hoursSections, hoursSectionsClassName, accentColor, background]);
3950
+ }, [
3951
+ hoursSectionsSlot,
3952
+ hoursSections,
3953
+ hoursSectionsClassName,
3954
+ accentColor,
3955
+ background
3956
+ ]);
3951
3957
  const imagesContent = React52.useMemo(() => {
3952
3958
  if (imagesSlot) return imagesSlot;
3953
3959
  if (!images || images.length === 0) return null;
@@ -3956,7 +3962,7 @@ function AboutLocationInfoHero({
3956
3962
  "div",
3957
3963
  {
3958
3964
  className: cn(
3959
- "relative aspect-[4/3] w-full max-w-lg overflow-hidden rounded-lg shadow-2xl",
3965
+ "relative aspect-4/3 w-full max-w-lg overflow-hidden rounded-lg shadow-2xl",
3960
3966
  imagesClassName
3961
3967
  ),
3962
3968
  children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -3979,7 +3985,7 @@ function AboutLocationInfoHero({
3979
3985
  imagesClassName
3980
3986
  ),
3981
3987
  children: [
3982
- /* @__PURE__ */ jsxRuntime.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__ */ jsxRuntime.jsx(
3988
+ /* @__PURE__ */ jsxRuntime.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__ */ jsxRuntime.jsx(
3983
3989
  img.Img,
3984
3990
  {
3985
3991
  src: images[0]?.src || imagePlaceholders[5],
@@ -3988,7 +3994,7 @@ function AboutLocationInfoHero({
3988
3994
  optixFlowConfig
3989
3995
  }
3990
3996
  ) }),
3991
- /* @__PURE__ */ jsxRuntime.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__ */ jsxRuntime.jsx(
3997
+ /* @__PURE__ */ jsxRuntime.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__ */ jsxRuntime.jsx(
3992
3998
  img.Img,
3993
3999
  {
3994
4000
  src: images[1]?.src || imagePlaceholders[6],
@@ -4008,11 +4014,9 @@ function AboutLocationInfoHero({
4008
4014
  spacing,
4009
4015
  pattern,
4010
4016
  patternOpacity,
4011
- className: cn(
4012
- "relative w-full overflow-hidden",
4013
- className
4014
- ),
4015
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container relative", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs(
4017
+ className: cn("relative w-full overflow-hidden", className),
4018
+ containerClassName,
4019
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(" relative"), children: /* @__PURE__ */ jsxRuntime.jsxs(
4016
4020
  "div",
4017
4021
  {
4018
4022
  className: cn(
@@ -4033,16 +4037,16 @@ function AboutLocationInfoHero({
4033
4037
  }
4034
4038
  ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headlineClassName, children: headline })),
4035
4039
  actionsContent,
4036
- address || phone ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
4040
+ address || phone ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
4037
4041
  address ? /* @__PURE__ */ jsxRuntime.jsxs(
4038
4042
  "div",
4039
4043
  {
4040
4044
  className: cn(
4041
- "flex items-center gap-3 text-sm",
4045
+ "flex items-center gap-3 text-md",
4042
4046
  addressClassName
4043
4047
  ),
4044
4048
  children: [
4045
- /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/map-pin", size: 16 }),
4049
+ /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/map-pin", size: 18 }),
4046
4050
  addressHref ? /* @__PURE__ */ jsxRuntime.jsx(
4047
4051
  Pressable,
4048
4052
  {
@@ -4058,11 +4062,11 @@ function AboutLocationInfoHero({
4058
4062
  "div",
4059
4063
  {
4060
4064
  className: cn(
4061
- "flex items-center gap-3 text-sm",
4065
+ "flex items-center gap-3 text-md",
4062
4066
  phoneClassName
4063
4067
  ),
4064
4068
  children: [
4065
- /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/phone", size: 16 }),
4069
+ /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/phone", size: 18 }),
4066
4070
  phoneHref ? /* @__PURE__ */ jsxRuntime.jsx(
4067
4071
  Pressable,
4068
4072
  {
@@ -22205,6 +22209,7 @@ var FooterLogo = ({
22205
22209
  }
22206
22210
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("inline-flex items-center", logoClassName), children: logoContent });
22207
22211
  };
22212
+ var footer_logo_default = FooterLogo;
22208
22213
  function FooterCopyright({
22209
22214
  copyright,
22210
22215
  className
@@ -23093,8 +23098,8 @@ function FooterSimpleCentered({
23093
23098
  bottomLinks,
23094
23099
  className,
23095
23100
  footerClassName,
23096
- containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
23097
23101
  contentClassName,
23102
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
23098
23103
  spacing = "py-12 md:py-32",
23099
23104
  brandClassName,
23100
23105
  logoWrapperClassName,
@@ -23888,6 +23893,8 @@ function FooterBackgroundCard({
23888
23893
  menuItems,
23889
23894
  copyright,
23890
23895
  bottomLinks,
23896
+ logoWrapperClassName,
23897
+ logoClassName,
23891
23898
  className,
23892
23899
  cardClassName,
23893
23900
  gridClassName,
@@ -23906,7 +23913,8 @@ function FooterBackgroundCard({
23906
23913
  copyrightClassName,
23907
23914
  bottomLinksClassName,
23908
23915
  background,
23909
- spacing,
23916
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
23917
+ spacing = "py-6 md:py-32",
23910
23918
  pattern,
23911
23919
  patternOpacity,
23912
23920
  optixFlowConfig
@@ -23924,79 +23932,174 @@ function FooterBackgroundCard({
23924
23932
  patternOpacity,
23925
23933
  className: cn("bg-cover bg-center bg-no-repeat", className),
23926
23934
  style: sectionStyle,
23927
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto max-w-7xl rounded-lg p-8 shadow-lg md:p-12", cardClassName), children: [
23928
- /* @__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: [
23929
- (profileImage || tagline || personalMessage || ctaText) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("lg:col-span-1", profileSectionClassName), children: [
23930
- (profileImage || tagline) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 flex items-center gap-4", children: [
23931
- profileImage && /* @__PURE__ */ jsxRuntime.jsx(
23932
- img.Img,
23933
- {
23934
- src: profileImage,
23935
- alt: "Profile",
23936
- className: cn("h-16 w-16 rounded-full object-cover", profileImageClassName),
23937
- optixFlowConfig
23938
- }
23939
- ),
23940
- tagline && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("text-2xl font-medium", taglineClassName), children: tagline })
23941
- ] }),
23942
- personalMessage && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-6 text-sm leading-relaxed opacity-80", messageClassName), children: personalMessage }),
23943
- ctaText && /* @__PURE__ */ jsxRuntime.jsx(
23944
- Pressable,
23945
- {
23946
- href: ctaUrl || "#",
23947
- 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),
23948
- children: ctaText
23949
- }
23950
- )
23951
- ] }),
23952
- menuItems && menuItems.length > 0 && menuItems.map((menu, idx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(menuSectionClassName), children: [
23953
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 text-sm font-medium tracking-wider uppercase", menuTitleClassName), children: menu.title }),
23954
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-3", children: menu.links.map((link, index) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
23955
- Pressable,
23935
+ containerClassName,
23936
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
23937
+ "div",
23938
+ {
23939
+ className: cn(
23940
+ "mx-auto max-w-7xl rounded-2xl p-12 shadow-xl md:p-16 bg-card text-card-foreground",
23941
+ cardClassName
23942
+ ),
23943
+ children: [
23944
+ /* @__PURE__ */ jsxRuntime.jsxs(
23945
+ "div",
23956
23946
  {
23957
- href: link.url,
23958
- className: cn("border-b border-transparent opacity-80 transition-all duration-300 ease-in-out hover:opacity-100", menuLinkClassName),
23959
- children: link.text
23947
+ className: cn(
23948
+ "grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-4 lg:gap-12",
23949
+ gridClassName
23950
+ ),
23951
+ children: [
23952
+ (profileImage || tagline || personalMessage || ctaText || logo) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("lg:col-span-1", profileSectionClassName), children: [
23953
+ /* @__PURE__ */ jsxRuntime.jsx(
23954
+ footer_logo_default,
23955
+ {
23956
+ logo,
23957
+ logoClassName: cn("mb-12", logoWrapperClassName),
23958
+ logoImageClassName: logoClassName,
23959
+ optixFlowConfig
23960
+ }
23961
+ ),
23962
+ (profileImage || tagline) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 flex items-center gap-4", children: [
23963
+ profileImage && /* @__PURE__ */ jsxRuntime.jsx(
23964
+ img.Img,
23965
+ {
23966
+ src: profileImage,
23967
+ alt: "Profile",
23968
+ className: cn(
23969
+ "h-16 w-16 rounded-full object-cover",
23970
+ profileImageClassName
23971
+ ),
23972
+ optixFlowConfig
23973
+ }
23974
+ ),
23975
+ tagline && /* @__PURE__ */ jsxRuntime.jsx(
23976
+ "h3",
23977
+ {
23978
+ className: cn("text-2xl font-medium", taglineClassName),
23979
+ children: tagline
23980
+ }
23981
+ )
23982
+ ] }),
23983
+ personalMessage && /* @__PURE__ */ jsxRuntime.jsx(
23984
+ "p",
23985
+ {
23986
+ className: cn(
23987
+ "mb-6 text-sm leading-relaxed opacity-80",
23988
+ messageClassName
23989
+ ),
23990
+ children: personalMessage
23991
+ }
23992
+ ),
23993
+ ctaText && /* @__PURE__ */ jsxRuntime.jsx(
23994
+ Pressable,
23995
+ {
23996
+ href: ctaUrl || "#",
23997
+ className: cn(
23998
+ "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",
23999
+ ctaClassName
24000
+ ),
24001
+ children: ctaText
24002
+ }
24003
+ )
24004
+ ] }),
24005
+ menuItems && menuItems.length > 0 && menuItems.map((menu, idx) => /* @__PURE__ */ jsxRuntime.jsxs(
24006
+ "div",
24007
+ {
24008
+ className: cn("pl-0 md:pl-8", menuSectionClassName),
24009
+ children: [
24010
+ /* @__PURE__ */ jsxRuntime.jsx(
24011
+ "h3",
24012
+ {
24013
+ className: cn(
24014
+ "mb-4 text-sm font-medium tracking-wider uppercase",
24015
+ menuTitleClassName
24016
+ ),
24017
+ children: menu.title
24018
+ }
24019
+ ),
24020
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-3", children: menu.links.map((link, index) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
24021
+ Pressable,
24022
+ {
24023
+ href: link.url,
24024
+ className: cn(
24025
+ "border-b border-transparent opacity-80 transition-all duration-300 ease-in-out hover:opacity-100",
24026
+ menuLinkClassName
24027
+ ),
24028
+ children: link.text
24029
+ }
24030
+ ) }, index)) })
24031
+ ]
24032
+ },
24033
+ idx
24034
+ )),
24035
+ (contactTitle || contact) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("pl-0 md:pl-8", contactSectionClassName), children: [
24036
+ contactTitle && /* @__PURE__ */ jsxRuntime.jsx(
24037
+ "h3",
24038
+ {
24039
+ className: cn(
24040
+ "mb-4 text-sm font-medium tracking-wider uppercase",
24041
+ contactTitleClassName
24042
+ ),
24043
+ children: contactTitle
24044
+ }
24045
+ ),
24046
+ contact && /* @__PURE__ */ jsxRuntime.jsxs("ul", { className: "space-y-3", children: [
24047
+ contact.phone && /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn("opacity-80", contactItemClassName), children: contact.phone }),
24048
+ contact.email && /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn("opacity-80", contactItemClassName), children: contact.email }),
24049
+ (contact.location || contact.timezone) && /* @__PURE__ */ jsxRuntime.jsxs("li", { className: cn("opacity-80", contactItemClassName), children: [
24050
+ contact.location,
24051
+ contact.location && contact.timezone && " \u2022 ",
24052
+ contact.timezone
24053
+ ] })
24054
+ ] })
24055
+ ] })
24056
+ ]
23960
24057
  }
23961
- ) }, index)) })
23962
- ] }, idx)),
23963
- (contactTitle || contact) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(contactSectionClassName), children: [
23964
- contactTitle && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 text-sm font-medium tracking-wider uppercase", contactTitleClassName), children: contactTitle }),
23965
- contact && /* @__PURE__ */ jsxRuntime.jsxs("ul", { className: "space-y-3", children: [
23966
- contact.phone && /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn("opacity-80", contactItemClassName), children: contact.phone }),
23967
- contact.email && /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn("opacity-80", contactItemClassName), children: contact.email }),
23968
- (contact.location || contact.timezone) && /* @__PURE__ */ jsxRuntime.jsxs("li", { className: cn("opacity-80", contactItemClassName), children: [
23969
- contact.location,
23970
- contact.location && contact.timezone && " \u2022 ",
23971
- contact.timezone
23972
- ] })
23973
- ] })
23974
- ] })
23975
- ] }),
23976
- /* @__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: [
23977
- /* @__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: [
23978
- /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
23979
- /* @__PURE__ */ jsxRuntime.jsx(
23980
- BrandAttribution,
24058
+ ),
24059
+ /* @__PURE__ */ jsxRuntime.jsxs(
24060
+ "div",
23981
24061
  {
23982
- internalBrandSlug: "open_site_ai",
23983
- optionIndex: 3,
23984
- variant: "span",
23985
- linkClassName: "hover:opacity-100"
24062
+ className: cn(
24063
+ "mt-12 flex flex-col items-center justify-between gap-4 border-t pt-8 md:flex-row",
24064
+ bottomClassName
24065
+ ),
24066
+ children: [
24067
+ /* @__PURE__ */ jsxRuntime.jsxs(
24068
+ "div",
24069
+ {
24070
+ className: cn(
24071
+ "flex flex-col gap-2 text-sm opacity-80 md:flex-row md:items-center md:gap-4",
24072
+ copyrightClassName
24073
+ ),
24074
+ children: [
24075
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
24076
+ /* @__PURE__ */ jsxRuntime.jsx(
24077
+ BrandAttribution,
24078
+ {
24079
+ internalBrandSlug: "open_site_ai",
24080
+ optionIndex: 3,
24081
+ variant: "span",
24082
+ linkClassName: "hover:opacity-100"
24083
+ }
24084
+ )
24085
+ ]
24086
+ }
24087
+ ),
24088
+ bottomLinks && bottomLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex gap-4", bottomLinksClassName), children: bottomLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(
24089
+ Pressable,
24090
+ {
24091
+ href: link.url,
24092
+ className: "text-sm opacity-80 transition-colors hover:opacity-100",
24093
+ children: link.text
24094
+ },
24095
+ idx
24096
+ )) })
24097
+ ]
23986
24098
  }
23987
24099
  )
23988
- ] }),
23989
- bottomLinks && bottomLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex gap-4", bottomLinksClassName), children: bottomLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(
23990
- Pressable,
23991
- {
23992
- href: link.url,
23993
- className: "text-sm opacity-80 transition-colors hover:opacity-100",
23994
- children: link.text
23995
- },
23996
- idx
23997
- )) })
23998
- ] })
23999
- ] })
24100
+ ]
24101
+ }
24102
+ )
24000
24103
  }
24001
24104
  );
24002
24105
  }
@@ -24137,7 +24240,16 @@ function FooterAnimatedSocial({
24137
24240
  "flex flex-row md:flex-col flex-wrap items-center justify-center gap-4 md:gap-2",
24138
24241
  rightColumnClassName
24139
24242
  ),
24140
- 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 }) })
24243
+ children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsxRuntime.jsx(
24244
+ "div",
24245
+ {
24246
+ className: cn(
24247
+ "flex flex-row md:flex-col items-center gap-4 md:gap-6",
24248
+ socialLinksClassName
24249
+ ),
24250
+ children: socialLinksContent
24251
+ }
24252
+ ) })
24141
24253
  }
24142
24254
  )
24143
24255
  ]
@@ -24525,6 +24637,7 @@ function FooterNavSocial({
24525
24637
  gridClassName,
24526
24638
  leftColumnClassName,
24527
24639
  logoWrapperClassName,
24640
+ formConfig,
24528
24641
  logoClassName,
24529
24642
  navGridClassName,
24530
24643
  navSectionClassName,
@@ -24545,7 +24658,8 @@ function FooterNavSocial({
24545
24658
  legalLinksClassName,
24546
24659
  legalLinkClassName,
24547
24660
  background,
24548
- spacing,
24661
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
24662
+ spacing = "py-12 md:py-40",
24549
24663
  pattern,
24550
24664
  patternOpacity,
24551
24665
  optixFlowConfig
@@ -24554,16 +24668,15 @@ function FooterNavSocial({
24554
24668
  if (!sections || sections.length === 0) return null;
24555
24669
  return sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(navSectionClassName), children: [
24556
24670
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 font-semibold", navTitleClassName), children: section.title }),
24557
- /* @__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(
24558
- Pressable,
24559
- {
24560
- href: link.href,
24561
- className: "hover:opacity-100",
24562
- children: link.name
24563
- }
24564
- ) }, linkIdx)) })
24671
+ /* @__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)) })
24565
24672
  ] }, sectionIdx));
24566
- }, [sections, navSectionClassName, navTitleClassName, navLinksClassName, navLinkClassName]);
24673
+ }, [
24674
+ sections,
24675
+ navSectionClassName,
24676
+ navTitleClassName,
24677
+ navLinksClassName,
24678
+ navLinkClassName
24679
+ ]);
24567
24680
  const socialLinksContent = React52.useMemo(() => {
24568
24681
  if (!socialLinks || socialLinks.length === 0) return null;
24569
24682
  return socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -24572,7 +24685,10 @@ function FooterNavSocial({
24572
24685
  href: social.href,
24573
24686
  label: social.label,
24574
24687
  iconNameOverride: social.iconNameOverride,
24575
- className: cn("opacity-80 transition-colors hover:opacity-100", socialLinkClassName)
24688
+ className: cn(
24689
+ "opacity-80 transition-colors hover:opacity-100",
24690
+ socialLinkClassName
24691
+ )
24576
24692
  }
24577
24693
  ) }, idx));
24578
24694
  }, [socialLinks, socialLinkClassName]);
@@ -24588,64 +24704,155 @@ function FooterNavSocial({
24588
24704
  pattern,
24589
24705
  patternOpacity,
24590
24706
  className: cn(className),
24707
+ containerClassName,
24591
24708
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(contentClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
24592
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-10 lg:grid-cols-2", gridClassName), children: [
24593
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(leftColumnClassName), children: [
24594
- logo && /* @__PURE__ */ jsxRuntime.jsx(
24595
- FooterLogo,
24596
- {
24597
- logo,
24598
- logoClassName: cn("mb-8", logoWrapperClassName),
24599
- logoImageClassName: logoClassName,
24600
- optixFlowConfig
24601
- }
24709
+ /* @__PURE__ */ jsxRuntime.jsxs(
24710
+ "div",
24711
+ {
24712
+ className: cn(
24713
+ "grid gap-12 md:gap-24 lg:grid-cols-2",
24714
+ gridClassName
24602
24715
  ),
24603
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid gap-8 sm:grid-cols-3", navGridClassName), children: sectionsContent })
24604
- ] }),
24605
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col justify-between", rightColumnClassName), children: [
24606
- (newsletterHeading || newsletterDescription) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-8", newsletterClassName), children: [
24607
- newsletterHeading && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-2 text-lg font-semibold", newsletterHeadingClassName), children: newsletterHeading }),
24608
- newsletterDescription && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 text-sm opacity-80", newsletterDescriptionClassName), children: newsletterDescription }),
24609
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex max-w-md gap-2", newsletterFormClassName), children: [
24610
- /* @__PURE__ */ jsxRuntime.jsx(
24611
- "input",
24716
+ children: [
24717
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(leftColumnClassName), children: [
24718
+ logo && /* @__PURE__ */ jsxRuntime.jsx(
24719
+ FooterLogo,
24612
24720
  {
24613
- type: "email",
24614
- placeholder: newsletterPlaceholder,
24615
- 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"
24721
+ logo,
24722
+ logoClassName: cn("mb-8", logoWrapperClassName),
24723
+ logoImageClassName: logoClassName,
24724
+ optixFlowConfig
24616
24725
  }
24617
24726
  ),
24618
- newsletterButtonText && /* @__PURE__ */ jsxRuntime.jsx(
24619
- "button",
24727
+ /* @__PURE__ */ jsxRuntime.jsx(
24728
+ "div",
24620
24729
  {
24621
- type: "submit",
24622
- 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",
24623
- children: newsletterButtonText
24730
+ className: cn(
24731
+ "grid md:flex w-full gap-8 md:gap-6 lg:gap-12 md:flex-wrap md:justify-between grid-cols-2",
24732
+ navGridClassName
24733
+ ),
24734
+ children: sectionsContent
24624
24735
  }
24625
24736
  )
24626
- ] })
24627
- ] }),
24628
- (socialTitle || socialLinksContent) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(socialSectionClassName), children: [
24629
- socialTitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 font-medium", socialTitleClassName), children: socialTitle }),
24630
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("flex items-center gap-4", socialLinksClassName), children: socialLinksContent })
24631
- ] })
24632
- ] })
24633
- ] }),
24634
- /* @__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: [
24635
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-2 md:flex-row md:items-center md:gap-4", copyrightClassName), children: [
24636
- /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
24637
- /* @__PURE__ */ jsxRuntime.jsx(
24638
- BrandAttribution,
24639
- {
24640
- internalBrandSlug: "open_site_ai",
24641
- optionIndex: 1,
24642
- variant: "span",
24643
- linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
24644
- }
24645
- )
24646
- ] }),
24647
- legalLinksContent && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("flex gap-4", legalLinksClassName), children: legalLinksContent })
24648
- ] })
24737
+ ] }),
24738
+ /* @__PURE__ */ jsxRuntime.jsxs(
24739
+ "div",
24740
+ {
24741
+ className: cn(
24742
+ "flex flex-col justify-between mt-0 md:mt-16 space-y-8 md:space-y-12",
24743
+ rightColumnClassName
24744
+ ),
24745
+ children: [
24746
+ formConfig && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("", newsletterClassName), children: [
24747
+ newsletterHeading && /* @__PURE__ */ jsxRuntime.jsx(
24748
+ "h3",
24749
+ {
24750
+ className: cn(
24751
+ "mb-4 font-medium",
24752
+ newsletterHeadingClassName
24753
+ ),
24754
+ children: newsletterHeading
24755
+ }
24756
+ ),
24757
+ newsletterDescription && /* @__PURE__ */ jsxRuntime.jsx(
24758
+ "p",
24759
+ {
24760
+ className: cn(
24761
+ "mb-4 text-sm opacity-80",
24762
+ newsletterDescriptionClassName
24763
+ ),
24764
+ children: newsletterDescription
24765
+ }
24766
+ ),
24767
+ /* @__PURE__ */ jsxRuntime.jsxs(
24768
+ "div",
24769
+ {
24770
+ className: cn(
24771
+ "flex max-w-md gap-2",
24772
+ newsletterFormClassName
24773
+ ),
24774
+ children: [
24775
+ /* @__PURE__ */ jsxRuntime.jsx(
24776
+ "input",
24777
+ {
24778
+ type: "email",
24779
+ placeholder: newsletterPlaceholder,
24780
+ 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"
24781
+ }
24782
+ ),
24783
+ newsletterButtonText && /* @__PURE__ */ jsxRuntime.jsx(
24784
+ "button",
24785
+ {
24786
+ type: "submit",
24787
+ 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",
24788
+ children: newsletterButtonText
24789
+ }
24790
+ )
24791
+ ]
24792
+ }
24793
+ )
24794
+ ] }),
24795
+ (socialTitle || socialLinksContent) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(socialSectionClassName), children: [
24796
+ socialTitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 font-medium", socialTitleClassName), children: socialTitle }),
24797
+ /* @__PURE__ */ jsxRuntime.jsx(
24798
+ "ul",
24799
+ {
24800
+ className: cn(
24801
+ "flex items-center gap-4",
24802
+ socialLinksClassName
24803
+ ),
24804
+ children: socialLinksContent
24805
+ }
24806
+ )
24807
+ ] })
24808
+ ]
24809
+ }
24810
+ )
24811
+ ]
24812
+ }
24813
+ ),
24814
+ /* @__PURE__ */ jsxRuntime.jsxs(
24815
+ "div",
24816
+ {
24817
+ className: cn(
24818
+ "mt-16 flex flex-col justify-between gap-4 border-t pt-8 text-sm opacity-80 md:flex-row md:items-center",
24819
+ bottomClassName
24820
+ ),
24821
+ children: [
24822
+ /* @__PURE__ */ jsxRuntime.jsxs(
24823
+ "div",
24824
+ {
24825
+ className: cn(
24826
+ "flex flex-col gap-2 md:flex-row md:items-center md:gap-4",
24827
+ copyrightClassName
24828
+ ),
24829
+ children: [
24830
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
24831
+ /* @__PURE__ */ jsxRuntime.jsx(
24832
+ BrandAttribution,
24833
+ {
24834
+ internalBrandSlug: "open_site_ai",
24835
+ optionIndex: 1,
24836
+ variant: "span",
24837
+ linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
24838
+ }
24839
+ )
24840
+ ]
24841
+ }
24842
+ ),
24843
+ legalLinksContent && /* @__PURE__ */ jsxRuntime.jsx(
24844
+ "ul",
24845
+ {
24846
+ className: cn(
24847
+ "pt-4 md:pt-0 gap-4 grid md:flex grid-cols-2 items-center w-full md:w-fit",
24848
+ legalLinksClassName
24849
+ ),
24850
+ children: legalLinksContent
24851
+ }
24852
+ )
24853
+ ]
24854
+ }
24855
+ )
24649
24856
  ] }) })
24650
24857
  }
24651
24858
  );
@@ -49984,11 +50191,11 @@ function HeroCenteredScreenshot({
49984
50191
  imageSrc,
49985
50192
  imageAlt = "placeholder",
49986
50193
  background,
49987
- spacing,
50194
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
50195
+ spacing = "py-12 md:py-32",
49988
50196
  pattern,
49989
50197
  patternOpacity,
49990
50198
  className,
49991
- containerClassName,
49992
50199
  contentClassName,
49993
50200
  headingClassName,
49994
50201
  descriptionClassName,
@@ -50000,7 +50207,14 @@ function HeroCenteredScreenshot({
50000
50207
  if (actionsSlot) return actionsSlot;
50001
50208
  if (!actions || actions.length === 0) return null;
50002
50209
  return actions.map((action, index) => {
50003
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
50210
+ const {
50211
+ label,
50212
+ icon,
50213
+ iconAfter,
50214
+ children,
50215
+ className: actionClassName,
50216
+ ...pressableProps
50217
+ } = action;
50004
50218
  return /* @__PURE__ */ jsxRuntime.jsx(
50005
50219
  Pressable,
50006
50220
  {
@@ -50025,22 +50239,50 @@ function HeroCenteredScreenshot({
50025
50239
  pattern,
50026
50240
  patternOpacity,
50027
50241
  className: cn(className),
50028
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("overflow-hidden border-b", getBorderColor(background, "muted")), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
50029
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-auto flex max-w-5xl flex-col items-center", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("z-10 items-center text-center", contentClassName), children: [
50030
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("mb-8 text-4xl font-semibold text-pretty lg:text-7xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
50031
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mx-auto max-w-3xl lg:text-xl", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
50032
- (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-12 flex w-full flex-col justify-center gap-2 sm:flex-row", actionsClassName), children: renderActions })
50033
- ] }) }),
50242
+ containerClassName,
50243
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(""), children: [
50244
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col", children: /* @__PURE__ */ jsxRuntime.jsxs(
50245
+ "div",
50246
+ {
50247
+ className: cn("z-10 items-center text-center", contentClassName),
50248
+ children: [
50249
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
50250
+ "h1",
50251
+ {
50252
+ className: cn(
50253
+ "mb-8 text-4xl font-bold text-balance lg:text-7xl",
50254
+ headingClassName
50255
+ ),
50256
+ children: heading
50257
+ }
50258
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
50259
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
50260
+ "p",
50261
+ {
50262
+ className: cn(
50263
+ "mx-auto max-w-3xl lg:text-xl text-balance opacity-80",
50264
+ descriptionClassName
50265
+ ),
50266
+ children: description
50267
+ }
50268
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
50269
+ (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("lazy", actionsClassName), children: renderActions })
50270
+ ]
50271
+ }
50272
+ ) }),
50034
50273
  imageSrc && /* @__PURE__ */ jsxRuntime.jsx(
50035
50274
  img.Img,
50036
50275
  {
50037
50276
  src: imageSrc,
50038
50277
  alt: imageAlt,
50039
- className: cn("mx-auto mt-24 max-h-[700px] w-full max-w-7xl rounded-t-lg object-cover shadow-lg", imageClassName),
50278
+ className: cn(
50279
+ "mx-auto mt-24 max-h-[700px] w-full max-w-7xl rounded-2xl object-cover shadow-lg",
50280
+ imageClassName
50281
+ ),
50040
50282
  optixFlowConfig
50041
50283
  }
50042
50284
  )
50043
- ] }) })
50285
+ ] })
50044
50286
  }
50045
50287
  );
50046
50288
  }