@opensite/ui 1.4.1 → 1.4.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.
Files changed (55) hide show
  1. package/dist/components.cjs +28 -28
  2. package/dist/components.js +28 -28
  3. package/dist/footer-accordion-social.cjs +2 -1
  4. package/dist/footer-accordion-social.js +2 -1
  5. package/dist/footer-animated-social.cjs +2 -1
  6. package/dist/footer-animated-social.js +2 -1
  7. package/dist/footer-background-card.cjs +1 -1
  8. package/dist/footer-background-card.js +1 -1
  9. package/dist/footer-brand-description.cjs +6 -5
  10. package/dist/footer-brand-description.js +6 -5
  11. package/dist/footer-brand-links-contact.cjs +22 -28
  12. package/dist/footer-brand-links-contact.d.cts +5 -1
  13. package/dist/footer-brand-links-contact.d.ts +5 -1
  14. package/dist/footer-brand-links-contact.js +22 -28
  15. package/dist/footer-comprehensive-links.cjs +4 -3
  16. package/dist/footer-comprehensive-links.js +4 -3
  17. package/dist/footer-contact-card.cjs +2 -1
  18. package/dist/footer-contact-card.js +2 -1
  19. package/dist/footer-cta-banner.cjs +2 -1
  20. package/dist/footer-cta-banner.js +2 -1
  21. package/dist/footer-cta-social.cjs +2 -1
  22. package/dist/footer-cta-social.js +2 -1
  23. package/dist/footer-info-cards-accordion.cjs +2 -1
  24. package/dist/footer-info-cards-accordion.js +2 -1
  25. package/dist/footer-links-grid.cjs +4 -4
  26. package/dist/footer-links-grid.js +4 -4
  27. package/dist/footer-nav-social.cjs +2 -1
  28. package/dist/footer-nav-social.js +2 -1
  29. package/dist/footer-newsletter-contact.cjs +2 -1
  30. package/dist/footer-newsletter-contact.js +2 -1
  31. package/dist/footer-newsletter-grid.cjs +2 -1
  32. package/dist/footer-newsletter-grid.js +2 -1
  33. package/dist/footer-newsletter-minimal.cjs +2 -1
  34. package/dist/footer-newsletter-minimal.js +2 -1
  35. package/dist/footer-simple-centered.cjs +13 -16
  36. package/dist/footer-simple-centered.js +13 -16
  37. package/dist/footer-social-apps.cjs +9 -6
  38. package/dist/footer-social-apps.d.cts +5 -1
  39. package/dist/footer-social-apps.d.ts +5 -1
  40. package/dist/footer-social-apps.js +9 -6
  41. package/dist/footer-social-newsletter.cjs +2 -1
  42. package/dist/footer-social-newsletter.js +2 -1
  43. package/dist/footer-split-image-accordion.cjs +2 -1
  44. package/dist/footer-split-image-accordion.js +2 -1
  45. package/dist/index.cjs +28 -28
  46. package/dist/index.js +28 -28
  47. package/dist/navbar-fullscreen-menu.cjs +1 -0
  48. package/dist/navbar-fullscreen-menu.js +1 -0
  49. package/dist/navbar-transparent-overlay.cjs +1 -0
  50. package/dist/navbar-transparent-overlay.js +1 -0
  51. package/dist/registry.cjs +50 -57
  52. package/dist/registry.js +50 -57
  53. package/dist/social-link-icon.cjs +1 -0
  54. package/dist/social-link-icon.js +1 -0
  55. package/package.json +1 -1
package/dist/registry.cjs CHANGED
@@ -21047,6 +21047,7 @@ var SocialLinkIcon = React52__namespace.forwardRef(
21047
21047
  Pressable,
21048
21048
  {
21049
21049
  ref,
21050
+ href,
21050
21051
  "aria-label": accessibleLabel,
21051
21052
  className: cn(
21052
21053
  "inline-flex items-center justify-center transition-colors",
@@ -22171,7 +22172,7 @@ function FooterCopyright({
22171
22172
  currentYear,
22172
22173
  " ",
22173
22174
  copyright,
22174
- ". All Rights Reserved."
22175
+ " All Rights Reserved."
22175
22176
  ] });
22176
22177
  }
22177
22178
  var brandAttributionOptions = [
@@ -22714,7 +22715,7 @@ function FooterLinksGrid({
22714
22715
  className: cn(className),
22715
22716
  containerClassName,
22716
22717
  children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
22717
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4 md:gap-8 md:grid-cols-6", children: [
22718
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-8 md:grid-cols-6", children: [
22718
22719
  (logo || tagline) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex space-y-2 col-span-2 flex-col mb-6 md:mb-0 pr-0 md:pr-6", children: [
22719
22720
  logo && /* @__PURE__ */ jsxRuntime.jsx(
22720
22721
  FooterLogo,
@@ -22724,7 +22725,7 @@ function FooterLinksGrid({
22724
22725
  optixFlowConfig
22725
22726
  }
22726
22727
  ),
22727
- tagline && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-4 font-bold", children: tagline })
22728
+ tagline && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-4", children: tagline })
22728
22729
  ] }),
22729
22730
  menuItems && menuItems.length > 0 && menuItems.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
22730
22731
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 font-bold", children: section.title }),
@@ -22744,7 +22745,7 @@ function FooterLinksGrid({
22744
22745
  }
22745
22746
  )
22746
22747
  ] }),
22747
- bottomLinks && bottomLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex gap-4", children: bottomLinks.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "underline", children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.url, children: link.text }) }, linkIdx)) })
22748
+ bottomLinks && bottomLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "pt-4 md:pt-0 gap-4 grid md:flex grid-cols-2 items-center", children: bottomLinks.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "underline", children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.url, children: link.text }) }, linkIdx)) })
22748
22749
  ] })
22749
22750
  ] })
22750
22751
  }
@@ -22953,14 +22954,15 @@ function FooterSocialApps({
22953
22954
  appLabel,
22954
22955
  copyright,
22955
22956
  background,
22956
- spacing,
22957
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
22958
+ spacing = "py-6 md:py-32",
22957
22959
  pattern,
22958
22960
  patternOpacity,
22959
22961
  optixFlowConfig
22960
22962
  }) {
22961
22963
  const sectionsContent = React52.useMemo(() => {
22962
22964
  if (!sections || sections.length === 0) return null;
22963
- return sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
22965
+ return sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-8 md:mt-0", children: [
22964
22966
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 font-bold", children: section.title }),
22965
22967
  /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-4", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "font-medium ", children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.href, children: link.name }) }, linkIdx)) })
22966
22968
  ] }, sectionIdx));
@@ -23000,6 +23002,7 @@ function FooterSocialApps({
23000
23002
  pattern,
23001
23003
  patternOpacity,
23002
23004
  className: cn(className),
23005
+ containerClassName,
23003
23006
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
23004
23007
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col justify-between gap-10 lg:flex-row lg:gap-20", children: [
23005
23008
  logo && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-6", children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -23007,12 +23010,12 @@ function FooterSocialApps({
23007
23010
  {
23008
23011
  logo,
23009
23012
  logoClassName: "flex items-center gap-2",
23010
- logoImageClassName: "h-10",
23013
+ logoImageClassName: "w-auto object-contain h-8 md:h-10",
23011
23014
  optixFlowConfig
23012
23015
  }
23013
23016
  ) }),
23014
- sections && sections.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid flex-1 gap-8 sm:grid-cols-2 md:grid-cols-3", children: sectionsContent }),
23015
- (socialLinks && socialLinks.length > 0 || appLinks && appLinks.length > 0) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6", children: [
23017
+ sections && sections.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid flex-1 gap-4 md:gap-12 grid-cols-2 md:grid-cols-3", children: sectionsContent }),
23018
+ (socialLinks && socialLinks.length > 0 || appLinks && appLinks.length > 0) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6 md:gap-12", children: [
23016
23019
  socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
23017
23020
  socialLabel && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-3 font-bold", children: socialLabel }),
23018
23021
  /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex items-center gap-2", children: socialLinksContent })
@@ -23093,20 +23096,17 @@ function FooterSimpleCentered({
23093
23096
  ]);
23094
23097
  const bottomLinksContent = React52.useMemo(() => {
23095
23098
  if (!bottomLinks || bottomLinks.length === 0) return null;
23096
- return bottomLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsxs(React52__namespace.Fragment, { children: [
23097
- idx > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "opacity-70", children: "\u2022" }),
23098
- /* @__PURE__ */ jsxRuntime.jsx(
23099
- Pressable,
23100
- {
23101
- href: link.href,
23102
- className: cn(
23103
- "text-sm opacity-80 transition-colors hover:opacity-100",
23104
- bottomLinkClassName
23105
- ),
23106
- children: link.text
23107
- }
23108
- )
23109
- ] }, link.href));
23099
+ return bottomLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(React52__namespace.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx(
23100
+ Pressable,
23101
+ {
23102
+ href: link.href,
23103
+ className: cn(
23104
+ "text-sm opacity-80 transition-colors hover:opacity-100",
23105
+ bottomLinkClassName
23106
+ ),
23107
+ children: link.text
23108
+ }
23109
+ ) }, link.href));
23110
23110
  }, [bottomLinks, bottomLinkClassName]);
23111
23111
  return /* @__PURE__ */ jsxRuntime.jsx(
23112
23112
  Section,
@@ -23192,7 +23192,7 @@ function FooterSimpleCentered({
23192
23192
  "div",
23193
23193
  {
23194
23194
  className: cn(
23195
- "flex flex-col items-start gap-4 text-xs sm:text-sm md:flex-row lg:items-center",
23195
+ "pt-4 md:pt-0 gap-4 grid md:flex grid-cols-2 items-center w-full md:w-fit",
23196
23196
  bottomLinksClassName
23197
23197
  ),
23198
23198
  children: bottomLinksContent
@@ -23284,7 +23284,7 @@ function FooterBrandDescription({
23284
23284
  "p",
23285
23285
  {
23286
23286
  className: cn(
23287
- "max-w-[70%] text-sm opacity-80",
23287
+ "max-w-full md:max-w-[70%] text-sm opacity-80",
23288
23288
  descriptionClassName
23289
23289
  ),
23290
23290
  children: description
@@ -23318,7 +23318,7 @@ function FooterBrandDescription({
23318
23318
  "div",
23319
23319
  {
23320
23320
  className: cn(
23321
- "grid w-full gap-6 md:grid-cols-3 lg:gap-20",
23321
+ "grid w-full gap-6 grid-cols-2 md:grid-cols-3 lg:gap-20",
23322
23322
  navGridClassName
23323
23323
  ),
23324
23324
  children: sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(navSectionClassName), children: [
@@ -23353,7 +23353,7 @@ function FooterBrandDescription({
23353
23353
  "div",
23354
23354
  {
23355
23355
  className: cn(
23356
- "mt-8 flex flex-col justify-between gap-4 border-t py-8 text-xs font-medium opacity-70 md:flex-row md:items-center md:text-left",
23356
+ "mt-8 flex flex-col justify-between gap-8 md:gap-4 border-t py-8 text-xs font-medium opacity-70 md:flex-row md:items-center md:text-left",
23357
23357
  bottomClassName
23358
23358
  ),
23359
23359
  children: [
@@ -23382,7 +23382,7 @@ function FooterBrandDescription({
23382
23382
  "ul",
23383
23383
  {
23384
23384
  className: cn(
23385
- "order-1 flex flex-col gap-2 md:order-2 md:flex-row",
23385
+ "order-1 md:order-2 pt-4 md:pt-0 gap-4 grid md:flex grid-cols-2 items-center",
23386
23386
  legalLinksClassName
23387
23387
  ),
23388
23388
  children: legalLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -29085,7 +29085,8 @@ function FooterBrandLinksContact({
29085
29085
  copyrightClassName,
29086
29086
  legalLinksClassName,
29087
29087
  background,
29088
- spacing,
29088
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
29089
+ spacing = "py-6 md:py-32",
29089
29090
  pattern,
29090
29091
  patternOpacity,
29091
29092
  optixFlowConfig
@@ -29160,7 +29161,7 @@ function FooterBrandLinksContact({
29160
29161
  idx
29161
29162
  ));
29162
29163
  }, [socialLinks, socialLinkClassName]);
29163
- return /* @__PURE__ */ jsxRuntime.jsx(
29164
+ return /* @__PURE__ */ jsxRuntime.jsxs(
29164
29165
  Section,
29165
29166
  {
29166
29167
  background,
@@ -29168,7 +29169,22 @@ function FooterBrandLinksContact({
29168
29169
  pattern,
29169
29170
  patternOpacity,
29170
29171
  className: cn(className),
29171
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(contentClassName), children: [
29172
+ containerClassName,
29173
+ children: [
29174
+ (logoSrc || tagline || description) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center flex-col mb-20", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-full md:max-w-md flex flex-col gap-4 items-center text-center text-balance", children: [
29175
+ logoSrc && /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: "/", className: "flex w-fit", children: /* @__PURE__ */ jsxRuntime.jsx(
29176
+ img.Img,
29177
+ {
29178
+ src: logoSrc,
29179
+ alt: logoAlt || "Logo",
29180
+ className: "h-auto md:h-24 w-40 max-w-lg md:w-auto object-contain",
29181
+ loading: "lazy",
29182
+ optixFlowConfig
29183
+ }
29184
+ ) }),
29185
+ tagline && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xl font-medium", children: tagline }),
29186
+ description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm leading-relaxed", children: description })
29187
+ ] }) }),
29172
29188
  /* @__PURE__ */ jsxRuntime.jsxs(
29173
29189
  "div",
29174
29190
  {
@@ -29177,29 +29193,6 @@ function FooterBrandLinksContact({
29177
29193
  gridClassName
29178
29194
  ),
29179
29195
  children: [
29180
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(brandClassName), children: [
29181
- logoSrc && /* @__PURE__ */ jsxRuntime.jsx(
29182
- img.Img,
29183
- {
29184
- src: logoSrc,
29185
- alt: logoAlt,
29186
- className: cn("mb-4 h-10 w-auto", logoClassName),
29187
- loading: "eager",
29188
- optixFlowConfig
29189
- }
29190
- ),
29191
- tagline && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 text-base", taglineClassName), children: tagline }),
29192
- description && /* @__PURE__ */ jsxRuntime.jsx(
29193
- "p",
29194
- {
29195
- className: cn(
29196
- "text-sm opacity-80",
29197
- descriptionClassName
29198
- ),
29199
- children: description
29200
- }
29201
- )
29202
- ] }),
29203
29196
  linkGroupsContent,
29204
29197
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(contactColumnClassName), children: [
29205
29198
  contactTitle && /* @__PURE__ */ jsxRuntime.jsx(
@@ -29277,7 +29270,7 @@ function FooterBrandLinksContact({
29277
29270
  ] })
29278
29271
  }
29279
29272
  )
29280
- ] })
29273
+ ]
29281
29274
  }
29282
29275
  );
29283
29276
  }
@@ -29327,7 +29320,7 @@ function FooterComprehensiveLinks({
29327
29320
  summary && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm leading-relaxed", children: summary })
29328
29321
  ] }) }),
29329
29322
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-10 lg:gap-12", children: [
29330
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-8 sm:grid-cols-2 lg:grid-cols-12", children: [
29323
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-8 sm:grid-cols-2 lg:grid-cols-12", children: [
29331
29324
  linkColumns && linkColumns.length > 0 && linkColumns.map((column) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "lg:col-span-2", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
29332
29325
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold", children: column.title }),
29333
29326
  /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-col gap-2.5", children: column.links.map((link) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -29339,7 +29332,7 @@ function FooterComprehensiveLinks({
29339
29332
  }
29340
29333
  ) }, link.href)) })
29341
29334
  ] }) }, column.title)),
29342
- contact || (socialLinks?.length ?? 0) > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-12 col-span-2 lg:col-span-12 w-full", children: [
29335
+ contact || (socialLinks?.length ?? 0) > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-12 col-span-1 sm:col-span-2 lg:col-span-4", children: [
29343
29336
  contact ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
29344
29337
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold", children: "Contact" }),
29345
29338
  /* @__PURE__ */ jsxRuntime.jsxs("ul", { className: "flex flex-col gap-3", children: [
package/dist/registry.js CHANGED
@@ -21007,6 +21007,7 @@ var SocialLinkIcon = React52.forwardRef(
21007
21007
  Pressable,
21008
21008
  {
21009
21009
  ref,
21010
+ href,
21010
21011
  "aria-label": accessibleLabel,
21011
21012
  className: cn(
21012
21013
  "inline-flex items-center justify-center transition-colors",
@@ -22131,7 +22132,7 @@ function FooterCopyright({
22131
22132
  currentYear,
22132
22133
  " ",
22133
22134
  copyright,
22134
- ". All Rights Reserved."
22135
+ " All Rights Reserved."
22135
22136
  ] });
22136
22137
  }
22137
22138
  var brandAttributionOptions = [
@@ -22674,7 +22675,7 @@ function FooterLinksGrid({
22674
22675
  className: cn(className),
22675
22676
  containerClassName,
22676
22677
  children: /* @__PURE__ */ jsxs("footer", { children: [
22677
- /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4 md:gap-8 md:grid-cols-6", children: [
22678
+ /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-8 md:grid-cols-6", children: [
22678
22679
  (logo || tagline) && /* @__PURE__ */ jsxs("div", { className: "flex space-y-2 col-span-2 flex-col mb-6 md:mb-0 pr-0 md:pr-6", children: [
22679
22680
  logo && /* @__PURE__ */ jsx(
22680
22681
  FooterLogo,
@@ -22684,7 +22685,7 @@ function FooterLinksGrid({
22684
22685
  optixFlowConfig
22685
22686
  }
22686
22687
  ),
22687
- tagline && /* @__PURE__ */ jsx("p", { className: "mt-4 font-bold", children: tagline })
22688
+ tagline && /* @__PURE__ */ jsx("p", { className: "mt-4", children: tagline })
22688
22689
  ] }),
22689
22690
  menuItems && menuItems.length > 0 && menuItems.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { children: [
22690
22691
  /* @__PURE__ */ jsx("h3", { className: "mb-4 font-bold", children: section.title }),
@@ -22704,7 +22705,7 @@ function FooterLinksGrid({
22704
22705
  }
22705
22706
  )
22706
22707
  ] }),
22707
- bottomLinks && bottomLinks.length > 0 && /* @__PURE__ */ jsx("ul", { className: "flex gap-4", children: bottomLinks.map((link, linkIdx) => /* @__PURE__ */ jsx("li", { className: "underline", children: /* @__PURE__ */ jsx(Pressable, { href: link.url, children: link.text }) }, linkIdx)) })
22708
+ bottomLinks && bottomLinks.length > 0 && /* @__PURE__ */ jsx("ul", { className: "pt-4 md:pt-0 gap-4 grid md:flex grid-cols-2 items-center", children: bottomLinks.map((link, linkIdx) => /* @__PURE__ */ jsx("li", { className: "underline", children: /* @__PURE__ */ jsx(Pressable, { href: link.url, children: link.text }) }, linkIdx)) })
22708
22709
  ] })
22709
22710
  ] })
22710
22711
  }
@@ -22913,14 +22914,15 @@ function FooterSocialApps({
22913
22914
  appLabel,
22914
22915
  copyright,
22915
22916
  background,
22916
- spacing,
22917
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
22918
+ spacing = "py-6 md:py-32",
22917
22919
  pattern,
22918
22920
  patternOpacity,
22919
22921
  optixFlowConfig
22920
22922
  }) {
22921
22923
  const sectionsContent = useMemo(() => {
22922
22924
  if (!sections || sections.length === 0) return null;
22923
- return sections.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { children: [
22925
+ return sections.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { className: "mt-8 md:mt-0", children: [
22924
22926
  /* @__PURE__ */ jsx("h3", { className: "mb-4 font-bold", children: section.title }),
22925
22927
  /* @__PURE__ */ jsx("ul", { className: "space-y-4", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx("li", { className: "font-medium ", children: /* @__PURE__ */ jsx(Pressable, { href: link.href, children: link.name }) }, linkIdx)) })
22926
22928
  ] }, sectionIdx));
@@ -22960,6 +22962,7 @@ function FooterSocialApps({
22960
22962
  pattern,
22961
22963
  patternOpacity,
22962
22964
  className: cn(className),
22965
+ containerClassName,
22963
22966
  children: /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs("footer", { children: [
22964
22967
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-between gap-10 lg:flex-row lg:gap-20", children: [
22965
22968
  logo && /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-6", children: /* @__PURE__ */ jsx(
@@ -22967,12 +22970,12 @@ function FooterSocialApps({
22967
22970
  {
22968
22971
  logo,
22969
22972
  logoClassName: "flex items-center gap-2",
22970
- logoImageClassName: "h-10",
22973
+ logoImageClassName: "w-auto object-contain h-8 md:h-10",
22971
22974
  optixFlowConfig
22972
22975
  }
22973
22976
  ) }),
22974
- sections && sections.length > 0 && /* @__PURE__ */ jsx("div", { className: "grid flex-1 gap-8 sm:grid-cols-2 md:grid-cols-3", children: sectionsContent }),
22975
- (socialLinks && socialLinks.length > 0 || appLinks && appLinks.length > 0) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
22977
+ sections && sections.length > 0 && /* @__PURE__ */ jsx("div", { className: "grid flex-1 gap-4 md:gap-12 grid-cols-2 md:grid-cols-3", children: sectionsContent }),
22978
+ (socialLinks && socialLinks.length > 0 || appLinks && appLinks.length > 0) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6 md:gap-12", children: [
22976
22979
  socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsxs("div", { children: [
22977
22980
  socialLabel && /* @__PURE__ */ jsx("p", { className: "mb-3 font-bold", children: socialLabel }),
22978
22981
  /* @__PURE__ */ jsx("ul", { className: "flex items-center gap-2", children: socialLinksContent })
@@ -23053,20 +23056,17 @@ function FooterSimpleCentered({
23053
23056
  ]);
23054
23057
  const bottomLinksContent = useMemo(() => {
23055
23058
  if (!bottomLinks || bottomLinks.length === 0) return null;
23056
- return bottomLinks.map((link, idx) => /* @__PURE__ */ jsxs(React52.Fragment, { children: [
23057
- idx > 0 && /* @__PURE__ */ jsx("span", { className: "opacity-70", children: "\u2022" }),
23058
- /* @__PURE__ */ jsx(
23059
- Pressable,
23060
- {
23061
- href: link.href,
23062
- className: cn(
23063
- "text-sm opacity-80 transition-colors hover:opacity-100",
23064
- bottomLinkClassName
23065
- ),
23066
- children: link.text
23067
- }
23068
- )
23069
- ] }, link.href));
23059
+ return bottomLinks.map((link, idx) => /* @__PURE__ */ jsx(React52.Fragment, { children: /* @__PURE__ */ jsx(
23060
+ Pressable,
23061
+ {
23062
+ href: link.href,
23063
+ className: cn(
23064
+ "text-sm opacity-80 transition-colors hover:opacity-100",
23065
+ bottomLinkClassName
23066
+ ),
23067
+ children: link.text
23068
+ }
23069
+ ) }, link.href));
23070
23070
  }, [bottomLinks, bottomLinkClassName]);
23071
23071
  return /* @__PURE__ */ jsx(
23072
23072
  Section,
@@ -23152,7 +23152,7 @@ function FooterSimpleCentered({
23152
23152
  "div",
23153
23153
  {
23154
23154
  className: cn(
23155
- "flex flex-col items-start gap-4 text-xs sm:text-sm md:flex-row lg:items-center",
23155
+ "pt-4 md:pt-0 gap-4 grid md:flex grid-cols-2 items-center w-full md:w-fit",
23156
23156
  bottomLinksClassName
23157
23157
  ),
23158
23158
  children: bottomLinksContent
@@ -23244,7 +23244,7 @@ function FooterBrandDescription({
23244
23244
  "p",
23245
23245
  {
23246
23246
  className: cn(
23247
- "max-w-[70%] text-sm opacity-80",
23247
+ "max-w-full md:max-w-[70%] text-sm opacity-80",
23248
23248
  descriptionClassName
23249
23249
  ),
23250
23250
  children: description
@@ -23278,7 +23278,7 @@ function FooterBrandDescription({
23278
23278
  "div",
23279
23279
  {
23280
23280
  className: cn(
23281
- "grid w-full gap-6 md:grid-cols-3 lg:gap-20",
23281
+ "grid w-full gap-6 grid-cols-2 md:grid-cols-3 lg:gap-20",
23282
23282
  navGridClassName
23283
23283
  ),
23284
23284
  children: sections.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { className: cn(navSectionClassName), children: [
@@ -23313,7 +23313,7 @@ function FooterBrandDescription({
23313
23313
  "div",
23314
23314
  {
23315
23315
  className: cn(
23316
- "mt-8 flex flex-col justify-between gap-4 border-t py-8 text-xs font-medium opacity-70 md:flex-row md:items-center md:text-left",
23316
+ "mt-8 flex flex-col justify-between gap-8 md:gap-4 border-t py-8 text-xs font-medium opacity-70 md:flex-row md:items-center md:text-left",
23317
23317
  bottomClassName
23318
23318
  ),
23319
23319
  children: [
@@ -23342,7 +23342,7 @@ function FooterBrandDescription({
23342
23342
  "ul",
23343
23343
  {
23344
23344
  className: cn(
23345
- "order-1 flex flex-col gap-2 md:order-2 md:flex-row",
23345
+ "order-1 md:order-2 pt-4 md:pt-0 gap-4 grid md:flex grid-cols-2 items-center",
23346
23346
  legalLinksClassName
23347
23347
  ),
23348
23348
  children: legalLinks.map((link, idx) => /* @__PURE__ */ jsx(
@@ -29045,7 +29045,8 @@ function FooterBrandLinksContact({
29045
29045
  copyrightClassName,
29046
29046
  legalLinksClassName,
29047
29047
  background,
29048
- spacing,
29048
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
29049
+ spacing = "py-6 md:py-32",
29049
29050
  pattern,
29050
29051
  patternOpacity,
29051
29052
  optixFlowConfig
@@ -29120,7 +29121,7 @@ function FooterBrandLinksContact({
29120
29121
  idx
29121
29122
  ));
29122
29123
  }, [socialLinks, socialLinkClassName]);
29123
- return /* @__PURE__ */ jsx(
29124
+ return /* @__PURE__ */ jsxs(
29124
29125
  Section,
29125
29126
  {
29126
29127
  background,
@@ -29128,7 +29129,22 @@ function FooterBrandLinksContact({
29128
29129
  pattern,
29129
29130
  patternOpacity,
29130
29131
  className: cn(className),
29131
- children: /* @__PURE__ */ jsxs("div", { className: cn(contentClassName), children: [
29132
+ containerClassName,
29133
+ children: [
29134
+ (logoSrc || tagline || description) && /* @__PURE__ */ jsx("div", { className: "flex items-center flex-col mb-20", children: /* @__PURE__ */ jsxs("div", { className: "max-w-full md:max-w-md flex flex-col gap-4 items-center text-center text-balance", children: [
29135
+ logoSrc && /* @__PURE__ */ jsx(Pressable, { href: "/", className: "flex w-fit", children: /* @__PURE__ */ jsx(
29136
+ Img,
29137
+ {
29138
+ src: logoSrc,
29139
+ alt: logoAlt || "Logo",
29140
+ className: "h-auto md:h-24 w-40 max-w-lg md:w-auto object-contain",
29141
+ loading: "lazy",
29142
+ optixFlowConfig
29143
+ }
29144
+ ) }),
29145
+ tagline && /* @__PURE__ */ jsx("p", { className: "text-xl font-medium", children: tagline }),
29146
+ description && /* @__PURE__ */ jsx("p", { className: "text-sm leading-relaxed", children: description })
29147
+ ] }) }),
29132
29148
  /* @__PURE__ */ jsxs(
29133
29149
  "div",
29134
29150
  {
@@ -29137,29 +29153,6 @@ function FooterBrandLinksContact({
29137
29153
  gridClassName
29138
29154
  ),
29139
29155
  children: [
29140
- /* @__PURE__ */ jsxs("div", { className: cn(brandClassName), children: [
29141
- logoSrc && /* @__PURE__ */ jsx(
29142
- Img,
29143
- {
29144
- src: logoSrc,
29145
- alt: logoAlt,
29146
- className: cn("mb-4 h-10 w-auto", logoClassName),
29147
- loading: "eager",
29148
- optixFlowConfig
29149
- }
29150
- ),
29151
- tagline && /* @__PURE__ */ jsx("p", { className: cn("mb-4 text-base", taglineClassName), children: tagline }),
29152
- description && /* @__PURE__ */ jsx(
29153
- "p",
29154
- {
29155
- className: cn(
29156
- "text-sm opacity-80",
29157
- descriptionClassName
29158
- ),
29159
- children: description
29160
- }
29161
- )
29162
- ] }),
29163
29156
  linkGroupsContent,
29164
29157
  /* @__PURE__ */ jsxs("div", { className: cn(contactColumnClassName), children: [
29165
29158
  contactTitle && /* @__PURE__ */ jsx(
@@ -29237,7 +29230,7 @@ function FooterBrandLinksContact({
29237
29230
  ] })
29238
29231
  }
29239
29232
  )
29240
- ] })
29233
+ ]
29241
29234
  }
29242
29235
  );
29243
29236
  }
@@ -29287,7 +29280,7 @@ function FooterComprehensiveLinks({
29287
29280
  summary && /* @__PURE__ */ jsx("p", { className: "text-sm leading-relaxed", children: summary })
29288
29281
  ] }) }),
29289
29282
  /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 gap-10 lg:gap-12", children: [
29290
- /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-8 sm:grid-cols-2 lg:grid-cols-12", children: [
29283
+ /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 gap-8 sm:grid-cols-2 lg:grid-cols-12", children: [
29291
29284
  linkColumns && linkColumns.length > 0 && linkColumns.map((column) => /* @__PURE__ */ jsx("div", { className: "lg:col-span-2", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4", children: [
29292
29285
  /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold", children: column.title }),
29293
29286
  /* @__PURE__ */ jsx("ul", { className: "flex flex-col gap-2.5", children: column.links.map((link) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
@@ -29299,7 +29292,7 @@ function FooterComprehensiveLinks({
29299
29292
  }
29300
29293
  ) }, link.href)) })
29301
29294
  ] }) }, column.title)),
29302
- contact || (socialLinks?.length ?? 0) > 0 ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-12 col-span-2 lg:col-span-12 w-full", children: [
29295
+ contact || (socialLinks?.length ?? 0) > 0 ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-12 col-span-1 sm:col-span-2 lg:col-span-4", children: [
29303
29296
  contact ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4", children: [
29304
29297
  /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold", children: "Contact" }),
29305
29298
  /* @__PURE__ */ jsxs("ul", { className: "flex flex-col gap-3", children: [
@@ -611,6 +611,7 @@ var SocialLinkIcon = React__namespace.forwardRef(
611
611
  Pressable,
612
612
  {
613
613
  ref,
614
+ href,
614
615
  "aria-label": accessibleLabel,
615
616
  className: cn(
616
617
  "inline-flex items-center justify-center transition-colors",
@@ -589,6 +589,7 @@ var SocialLinkIcon = React.forwardRef(
589
589
  Pressable,
590
590
  {
591
591
  ref,
592
+ href,
592
593
  "aria-label": accessibleLabel,
593
594
  className: cn(
594
595
  "inline-flex items-center justify-center transition-colors",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensite/ui",
3
- "version": "1.4.1",
3
+ "version": "1.4.3",
4
4
  "description": "Foundational UI component library for OpenSite Semantic Site Builder with tree-shakable exports and abstract styling",
5
5
  "keywords": [
6
6
  "react",