@opensite/ui 1.5.1 → 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.
Files changed (63) hide show
  1. package/dist/about-location-info-hero.cjs +26 -48
  2. package/dist/about-location-info-hero.d.cts +1 -1
  3. package/dist/about-location-info-hero.d.ts +1 -1
  4. package/dist/about-location-info-hero.js +26 -48
  5. package/dist/components.cjs +338 -133
  6. package/dist/components.js +338 -133
  7. package/dist/footer-accordion-social.cjs +3 -1
  8. package/dist/footer-accordion-social.js +3 -1
  9. package/dist/footer-animated-social.cjs +13 -2
  10. package/dist/footer-animated-social.js +13 -2
  11. package/dist/footer-background-card.cjs +239 -69
  12. package/dist/footer-background-card.d.cts +9 -1
  13. package/dist/footer-background-card.d.ts +9 -1
  14. package/dist/footer-background-card.js +240 -70
  15. package/dist/footer-brand-description.cjs +3 -1
  16. package/dist/footer-brand-description.js +3 -1
  17. package/dist/footer-brand-links-contact.cjs +3 -1
  18. package/dist/footer-brand-links-contact.js +3 -1
  19. package/dist/footer-comprehensive-links.cjs +3 -1
  20. package/dist/footer-comprehensive-links.js +3 -1
  21. package/dist/footer-contact-card.cjs +3 -1
  22. package/dist/footer-contact-card.js +3 -1
  23. package/dist/footer-cta-banner.cjs +3 -1
  24. package/dist/footer-cta-banner.js +3 -1
  25. package/dist/footer-cta-social.cjs +3 -1
  26. package/dist/footer-cta-social.js +3 -1
  27. package/dist/footer-info-cards-accordion.cjs +3 -1
  28. package/dist/footer-info-cards-accordion.js +3 -1
  29. package/dist/footer-nav-social.cjs +159 -62
  30. package/dist/footer-nav-social.d.cts +9 -1
  31. package/dist/footer-nav-social.d.ts +9 -1
  32. package/dist/footer-nav-social.js +159 -62
  33. package/dist/footer-newsletter-contact.cjs +3 -1
  34. package/dist/footer-newsletter-contact.js +3 -1
  35. package/dist/footer-newsletter-grid.cjs +3 -1
  36. package/dist/footer-newsletter-grid.js +3 -1
  37. package/dist/footer-newsletter-minimal.cjs +3 -1
  38. package/dist/footer-newsletter-minimal.js +3 -1
  39. package/dist/footer-simple-centered.cjs +1 -1
  40. package/dist/footer-simple-centered.d.cts +1 -1
  41. package/dist/footer-simple-centered.d.ts +1 -1
  42. package/dist/footer-simple-centered.js +1 -1
  43. package/dist/footer-social-apps.cjs +3 -1
  44. package/dist/footer-social-apps.js +3 -1
  45. package/dist/footer-social-newsletter.cjs +3 -1
  46. package/dist/footer-social-newsletter.js +3 -1
  47. package/dist/footer-split-image-accordion.cjs +3 -1
  48. package/dist/footer-split-image-accordion.js +3 -1
  49. package/dist/hero-centered-screenshot.cjs +46 -59
  50. package/dist/hero-centered-screenshot.d.cts +1 -1
  51. package/dist/hero-centered-screenshot.d.ts +1 -1
  52. package/dist/hero-centered-screenshot.js +46 -59
  53. package/dist/index.cjs +338 -133
  54. package/dist/index.js +338 -133
  55. package/dist/navbar-fullscreen-menu.cjs +3 -1
  56. package/dist/navbar-fullscreen-menu.js +3 -1
  57. package/dist/navbar-transparent-overlay.cjs +3 -1
  58. package/dist/navbar-transparent-overlay.js +3 -1
  59. package/dist/registry.cjs +410 -166
  60. package/dist/registry.js +410 -166
  61. package/dist/social-link-icon.cjs +3 -1
  62. package/dist/social-link-icon.js +3 -1
  63. package/package.json +2 -2
@@ -1153,7 +1153,7 @@ var platformIconMap = {
1153
1153
  yelp: "cib/yelp",
1154
1154
  spotify: "cib/spotify",
1155
1155
  apple: "cib/apple",
1156
- x: "line-md/twitter-x",
1156
+ x: "line-md/twitter-x-alt",
1157
1157
  github: "cib/github",
1158
1158
  snapchat: "cib/snapchat",
1159
1159
  discord: "cib/discord",
@@ -1172,6 +1172,8 @@ var platformIconMap = {
1172
1172
  npmjs: "simple-icons/npm",
1173
1173
  crates: "cib/rust",
1174
1174
  rubygems: "cib/rubygems",
1175
+ behance: "cib/behance",
1176
+ dribbble: "cib/dribbble",
1175
1177
  unknown: "icon-park-solid/circular-connection"
1176
1178
  };
1177
1179
  var SocialLinkIcon = React.forwardRef(
@@ -1544,7 +1544,7 @@ var platformIconMap = {
1544
1544
  yelp: "cib/yelp",
1545
1545
  spotify: "cib/spotify",
1546
1546
  apple: "cib/apple",
1547
- x: "line-md/twitter-x",
1547
+ x: "line-md/twitter-x-alt",
1548
1548
  github: "cib/github",
1549
1549
  snapchat: "cib/snapchat",
1550
1550
  discord: "cib/discord",
@@ -1563,6 +1563,8 @@ var platformIconMap = {
1563
1563
  npmjs: "simple-icons/npm",
1564
1564
  crates: "cib/rust",
1565
1565
  rubygems: "cib/rubygems",
1566
+ behance: "cib/behance",
1567
+ dribbble: "cib/dribbble",
1566
1568
  unknown: "icon-park-solid/circular-connection"
1567
1569
  };
1568
1570
  var SocialLinkIcon = React__namespace.forwardRef(
@@ -1523,7 +1523,7 @@ var platformIconMap = {
1523
1523
  yelp: "cib/yelp",
1524
1524
  spotify: "cib/spotify",
1525
1525
  apple: "cib/apple",
1526
- x: "line-md/twitter-x",
1526
+ x: "line-md/twitter-x-alt",
1527
1527
  github: "cib/github",
1528
1528
  snapchat: "cib/snapchat",
1529
1529
  discord: "cib/discord",
@@ -1542,6 +1542,8 @@ var platformIconMap = {
1542
1542
  npmjs: "simple-icons/npm",
1543
1543
  crates: "cib/rust",
1544
1544
  rubygems: "cib/rubygems",
1545
+ behance: "cib/behance",
1546
+ dribbble: "cib/dribbble",
1545
1547
  unknown: "icon-park-solid/circular-connection"
1546
1548
  };
1547
1549
  var SocialLinkIcon = React.forwardRef(
@@ -1102,7 +1102,7 @@ var platformIconMap = {
1102
1102
  yelp: "cib/yelp",
1103
1103
  spotify: "cib/spotify",
1104
1104
  apple: "cib/apple",
1105
- x: "line-md/twitter-x",
1105
+ x: "line-md/twitter-x-alt",
1106
1106
  github: "cib/github",
1107
1107
  snapchat: "cib/snapchat",
1108
1108
  discord: "cib/discord",
@@ -1121,6 +1121,8 @@ var platformIconMap = {
1121
1121
  npmjs: "simple-icons/npm",
1122
1122
  crates: "cib/rust",
1123
1123
  rubygems: "cib/rubygems",
1124
+ behance: "cib/behance",
1125
+ dribbble: "cib/dribbble",
1124
1126
  unknown: "icon-park-solid/circular-connection"
1125
1127
  };
1126
1128
  var SocialLinkIcon = React__namespace.forwardRef(
@@ -1081,7 +1081,7 @@ var platformIconMap = {
1081
1081
  yelp: "cib/yelp",
1082
1082
  spotify: "cib/spotify",
1083
1083
  apple: "cib/apple",
1084
- x: "line-md/twitter-x",
1084
+ x: "line-md/twitter-x-alt",
1085
1085
  github: "cib/github",
1086
1086
  snapchat: "cib/snapchat",
1087
1087
  discord: "cib/discord",
@@ -1100,6 +1100,8 @@ var platformIconMap = {
1100
1100
  npmjs: "simple-icons/npm",
1101
1101
  crates: "cib/rust",
1102
1102
  rubygems: "cib/rubygems",
1103
+ behance: "cib/behance",
1104
+ dribbble: "cib/dribbble",
1103
1105
  unknown: "icon-park-solid/circular-connection"
1104
1106
  };
1105
1107
  var SocialLinkIcon = React.forwardRef(
@@ -1436,8 +1436,8 @@ function FooterSimpleCentered({
1436
1436
  bottomLinks,
1437
1437
  className,
1438
1438
  footerClassName,
1439
- containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
1440
1439
  contentClassName,
1440
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
1441
1441
  spacing = "py-12 md:py-32",
1442
1442
  brandClassName,
1443
1443
  logoWrapperClassName,
@@ -105,6 +105,6 @@ interface FooterSimpleCenteredProps {
105
105
  * Ideal for corporate websites, landing pages, and products that prefer a clean,
106
106
  * uncluttered footer design without social media or newsletter elements.
107
107
  */
108
- declare function FooterSimpleCentered({ logo, tagline, sitemap, copyright, bottomLinks, className, footerClassName, containerClassName, contentClassName, spacing, brandClassName, logoWrapperClassName, logoClassName, taglineClassName, sitemapWrapperClassName, sitemapSectionClassName, sitemapTitleClassName, sitemapLinksClassName, sitemapLinkClassName, bottomBarClassName, copyrightClassName, bottomLinksClassName, bottomLinkClassName, background, pattern, patternOpacity, optixFlowConfig, }: FooterSimpleCenteredProps): React.JSX.Element;
108
+ declare function FooterSimpleCentered({ logo, tagline, sitemap, copyright, bottomLinks, className, footerClassName, contentClassName, containerClassName, spacing, brandClassName, logoWrapperClassName, logoClassName, taglineClassName, sitemapWrapperClassName, sitemapSectionClassName, sitemapTitleClassName, sitemapLinksClassName, sitemapLinkClassName, bottomBarClassName, copyrightClassName, bottomLinksClassName, bottomLinkClassName, background, pattern, patternOpacity, optixFlowConfig, }: FooterSimpleCenteredProps): React.JSX.Element;
109
109
 
110
110
  export { FooterSimpleCentered, type FooterSimpleCenteredProps, type FooterSimpleCenteredSection };
@@ -105,6 +105,6 @@ interface FooterSimpleCenteredProps {
105
105
  * Ideal for corporate websites, landing pages, and products that prefer a clean,
106
106
  * uncluttered footer design without social media or newsletter elements.
107
107
  */
108
- declare function FooterSimpleCentered({ logo, tagline, sitemap, copyright, bottomLinks, className, footerClassName, containerClassName, contentClassName, spacing, brandClassName, logoWrapperClassName, logoClassName, taglineClassName, sitemapWrapperClassName, sitemapSectionClassName, sitemapTitleClassName, sitemapLinksClassName, sitemapLinkClassName, bottomBarClassName, copyrightClassName, bottomLinksClassName, bottomLinkClassName, background, pattern, patternOpacity, optixFlowConfig, }: FooterSimpleCenteredProps): React.JSX.Element;
108
+ declare function FooterSimpleCentered({ logo, tagline, sitemap, copyright, bottomLinks, className, footerClassName, contentClassName, containerClassName, spacing, brandClassName, logoWrapperClassName, logoClassName, taglineClassName, sitemapWrapperClassName, sitemapSectionClassName, sitemapTitleClassName, sitemapLinksClassName, sitemapLinkClassName, bottomBarClassName, copyrightClassName, bottomLinksClassName, bottomLinkClassName, background, pattern, patternOpacity, optixFlowConfig, }: FooterSimpleCenteredProps): React.JSX.Element;
109
109
 
110
110
  export { FooterSimpleCentered, type FooterSimpleCenteredProps, type FooterSimpleCenteredSection };
@@ -1415,8 +1415,8 @@ function FooterSimpleCentered({
1415
1415
  bottomLinks,
1416
1416
  className,
1417
1417
  footerClassName,
1418
- containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
1419
1418
  contentClassName,
1419
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
1420
1420
  spacing = "py-12 md:py-32",
1421
1421
  brandClassName,
1422
1422
  logoWrapperClassName,
@@ -1544,7 +1544,7 @@ var platformIconMap = {
1544
1544
  yelp: "cib/yelp",
1545
1545
  spotify: "cib/spotify",
1546
1546
  apple: "cib/apple",
1547
- x: "line-md/twitter-x",
1547
+ x: "line-md/twitter-x-alt",
1548
1548
  github: "cib/github",
1549
1549
  snapchat: "cib/snapchat",
1550
1550
  discord: "cib/discord",
@@ -1563,6 +1563,8 @@ var platformIconMap = {
1563
1563
  npmjs: "simple-icons/npm",
1564
1564
  crates: "cib/rust",
1565
1565
  rubygems: "cib/rubygems",
1566
+ behance: "cib/behance",
1567
+ dribbble: "cib/dribbble",
1566
1568
  unknown: "icon-park-solid/circular-connection"
1567
1569
  };
1568
1570
  var SocialLinkIcon = React__namespace.forwardRef(
@@ -1523,7 +1523,7 @@ var platformIconMap = {
1523
1523
  yelp: "cib/yelp",
1524
1524
  spotify: "cib/spotify",
1525
1525
  apple: "cib/apple",
1526
- x: "line-md/twitter-x",
1526
+ x: "line-md/twitter-x-alt",
1527
1527
  github: "cib/github",
1528
1528
  snapchat: "cib/snapchat",
1529
1529
  discord: "cib/discord",
@@ -1542,6 +1542,8 @@ var platformIconMap = {
1542
1542
  npmjs: "simple-icons/npm",
1543
1543
  crates: "cib/rust",
1544
1544
  rubygems: "cib/rubygems",
1545
+ behance: "cib/behance",
1546
+ dribbble: "cib/dribbble",
1545
1547
  unknown: "icon-park-solid/circular-connection"
1546
1548
  };
1547
1549
  var SocialLinkIcon = React.forwardRef(
@@ -1544,7 +1544,7 @@ var platformIconMap = {
1544
1544
  yelp: "cib/yelp",
1545
1545
  spotify: "cib/spotify",
1546
1546
  apple: "cib/apple",
1547
- x: "line-md/twitter-x",
1547
+ x: "line-md/twitter-x-alt",
1548
1548
  github: "cib/github",
1549
1549
  snapchat: "cib/snapchat",
1550
1550
  discord: "cib/discord",
@@ -1563,6 +1563,8 @@ var platformIconMap = {
1563
1563
  npmjs: "simple-icons/npm",
1564
1564
  crates: "cib/rust",
1565
1565
  rubygems: "cib/rubygems",
1566
+ behance: "cib/behance",
1567
+ dribbble: "cib/dribbble",
1566
1568
  unknown: "icon-park-solid/circular-connection"
1567
1569
  };
1568
1570
  var SocialLinkIcon = React__namespace.forwardRef(
@@ -1523,7 +1523,7 @@ var platformIconMap = {
1523
1523
  yelp: "cib/yelp",
1524
1524
  spotify: "cib/spotify",
1525
1525
  apple: "cib/apple",
1526
- x: "line-md/twitter-x",
1526
+ x: "line-md/twitter-x-alt",
1527
1527
  github: "cib/github",
1528
1528
  snapchat: "cib/snapchat",
1529
1529
  discord: "cib/discord",
@@ -1542,6 +1542,8 @@ var platformIconMap = {
1542
1542
  npmjs: "simple-icons/npm",
1543
1543
  crates: "cib/rust",
1544
1544
  rubygems: "cib/rubygems",
1545
+ behance: "cib/behance",
1546
+ dribbble: "cib/dribbble",
1545
1547
  unknown: "icon-park-solid/circular-connection"
1546
1548
  };
1547
1549
  var SocialLinkIcon = React.forwardRef(
@@ -1217,7 +1217,7 @@ var platformIconMap = {
1217
1217
  yelp: "cib/yelp",
1218
1218
  spotify: "cib/spotify",
1219
1219
  apple: "cib/apple",
1220
- x: "line-md/twitter-x",
1220
+ x: "line-md/twitter-x-alt",
1221
1221
  github: "cib/github",
1222
1222
  snapchat: "cib/snapchat",
1223
1223
  discord: "cib/discord",
@@ -1236,6 +1236,8 @@ var platformIconMap = {
1236
1236
  npmjs: "simple-icons/npm",
1237
1237
  crates: "cib/rust",
1238
1238
  rubygems: "cib/rubygems",
1239
+ behance: "cib/behance",
1240
+ dribbble: "cib/dribbble",
1239
1241
  unknown: "icon-park-solid/circular-connection"
1240
1242
  };
1241
1243
  var SocialLinkIcon = React__namespace.forwardRef(
@@ -1195,7 +1195,7 @@ var platformIconMap = {
1195
1195
  yelp: "cib/yelp",
1196
1196
  spotify: "cib/spotify",
1197
1197
  apple: "cib/apple",
1198
- x: "line-md/twitter-x",
1198
+ x: "line-md/twitter-x-alt",
1199
1199
  github: "cib/github",
1200
1200
  snapchat: "cib/snapchat",
1201
1201
  discord: "cib/discord",
@@ -1214,6 +1214,8 @@ var platformIconMap = {
1214
1214
  npmjs: "simple-icons/npm",
1215
1215
  crates: "cib/rust",
1216
1216
  rubygems: "cib/rubygems",
1217
+ behance: "cib/behance",
1218
+ dribbble: "cib/dribbble",
1217
1219
  unknown: "icon-park-solid/circular-connection"
1218
1220
  };
1219
1221
  var SocialLinkIcon = React.forwardRef(
@@ -32,54 +32,6 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
32
32
  function cn(...inputs) {
33
33
  return tailwindMerge.twMerge(clsx.clsx(inputs));
34
34
  }
35
- function getTextColor(parentBg, variant = "default", options) {
36
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
37
- if (isDark) {
38
- switch (variant) {
39
- case "default":
40
- return "text-foreground";
41
- case "muted":
42
- return "text-foreground/80";
43
- case "subtle":
44
- return "text-foreground/60";
45
- case "accent":
46
- return "text-accent-foreground";
47
- }
48
- } else {
49
- switch (variant) {
50
- case "default":
51
- return "text-foreground";
52
- case "muted":
53
- return "text-muted-foreground";
54
- case "subtle":
55
- return "text-muted-foreground/70";
56
- case "accent":
57
- return "text-primary";
58
- }
59
- }
60
- }
61
- function getBorderColor(parentBg, variant = "default", options) {
62
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
63
- if (isDark) {
64
- switch (variant) {
65
- case "default":
66
- return "border-foreground/20";
67
- case "muted":
68
- return "border-foreground/10";
69
- case "accent":
70
- return "border-accent-foreground";
71
- }
72
- } else {
73
- switch (variant) {
74
- case "default":
75
- return "border-border";
76
- case "muted":
77
- return "border-muted";
78
- case "accent":
79
- return "border-primary";
80
- }
81
- }
82
- }
83
35
  function normalizePhoneNumber(input) {
84
36
  const trimmed = input.trim();
85
37
  if (trimmed.toLowerCase().startsWith("tel:")) {
@@ -881,11 +833,11 @@ function HeroCenteredScreenshot({
881
833
  imageSrc,
882
834
  imageAlt = "placeholder",
883
835
  background,
884
- spacing,
836
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
837
+ spacing = "py-12 md:py-32",
885
838
  pattern,
886
839
  patternOpacity,
887
840
  className,
888
- containerClassName,
889
841
  contentClassName,
890
842
  headingClassName,
891
843
  descriptionClassName,
@@ -897,7 +849,14 @@ function HeroCenteredScreenshot({
897
849
  if (actionsSlot) return actionsSlot;
898
850
  if (!actions || actions.length === 0) return null;
899
851
  return actions.map((action, index) => {
900
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
852
+ const {
853
+ label,
854
+ icon,
855
+ iconAfter,
856
+ children,
857
+ className: actionClassName,
858
+ ...pressableProps
859
+ } = action;
901
860
  return /* @__PURE__ */ jsxRuntime.jsx(
902
861
  Pressable,
903
862
  {
@@ -922,22 +881,50 @@ function HeroCenteredScreenshot({
922
881
  pattern,
923
882
  patternOpacity,
924
883
  className: cn(className),
925
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("overflow-hidden border-b", getBorderColor(background, "muted")), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
926
- /* @__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: [
927
- 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 })),
928
- 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 })),
929
- (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 })
930
- ] }) }),
884
+ containerClassName,
885
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(""), children: [
886
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col", children: /* @__PURE__ */ jsxRuntime.jsxs(
887
+ "div",
888
+ {
889
+ className: cn("z-10 items-center text-center", contentClassName),
890
+ children: [
891
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
892
+ "h1",
893
+ {
894
+ className: cn(
895
+ "mb-8 text-4xl font-bold text-balance lg:text-7xl",
896
+ headingClassName
897
+ ),
898
+ children: heading
899
+ }
900
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
901
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
902
+ "p",
903
+ {
904
+ className: cn(
905
+ "mx-auto max-w-3xl lg:text-xl text-balance opacity-80",
906
+ descriptionClassName
907
+ ),
908
+ children: description
909
+ }
910
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
911
+ (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("lazy", actionsClassName), children: renderActions })
912
+ ]
913
+ }
914
+ ) }),
931
915
  imageSrc && /* @__PURE__ */ jsxRuntime.jsx(
932
916
  img.Img,
933
917
  {
934
918
  src: imageSrc,
935
919
  alt: imageAlt,
936
- className: cn("mx-auto mt-24 max-h-[700px] w-full max-w-7xl rounded-t-lg object-cover shadow-lg", imageClassName),
920
+ className: cn(
921
+ "mx-auto mt-24 max-h-[700px] w-full max-w-7xl rounded-2xl object-cover shadow-lg",
922
+ imageClassName
923
+ ),
937
924
  optixFlowConfig
938
925
  }
939
926
  )
940
- ] }) })
927
+ ] })
941
928
  }
942
929
  );
943
930
  }
@@ -80,6 +80,6 @@ interface HeroCenteredScreenshotProps {
80
80
  */
81
81
  optixFlowConfig?: OptixFlowConfig;
82
82
  }
83
- declare function HeroCenteredScreenshot({ heading, description, actions, actionsSlot, imageSrc, imageAlt, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, actionsClassName, imageClassName, optixFlowConfig, }: HeroCenteredScreenshotProps): React.JSX.Element;
83
+ declare function HeroCenteredScreenshot({ heading, description, actions, actionsSlot, imageSrc, imageAlt, background, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, imageClassName, optixFlowConfig, }: HeroCenteredScreenshotProps): React.JSX.Element;
84
84
 
85
85
  export { HeroCenteredScreenshot, type HeroCenteredScreenshotProps };
@@ -80,6 +80,6 @@ interface HeroCenteredScreenshotProps {
80
80
  */
81
81
  optixFlowConfig?: OptixFlowConfig;
82
82
  }
83
- declare function HeroCenteredScreenshot({ heading, description, actions, actionsSlot, imageSrc, imageAlt, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, actionsClassName, imageClassName, optixFlowConfig, }: HeroCenteredScreenshotProps): React.JSX.Element;
83
+ declare function HeroCenteredScreenshot({ heading, description, actions, actionsSlot, imageSrc, imageAlt, background, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, imageClassName, optixFlowConfig, }: HeroCenteredScreenshotProps): React.JSX.Element;
84
84
 
85
85
  export { HeroCenteredScreenshot, type HeroCenteredScreenshotProps };
@@ -11,54 +11,6 @@ import { Img } from '@page-speed/img';
11
11
  function cn(...inputs) {
12
12
  return twMerge(clsx(inputs));
13
13
  }
14
- function getTextColor(parentBg, variant = "default", options) {
15
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
16
- if (isDark) {
17
- switch (variant) {
18
- case "default":
19
- return "text-foreground";
20
- case "muted":
21
- return "text-foreground/80";
22
- case "subtle":
23
- return "text-foreground/60";
24
- case "accent":
25
- return "text-accent-foreground";
26
- }
27
- } else {
28
- switch (variant) {
29
- case "default":
30
- return "text-foreground";
31
- case "muted":
32
- return "text-muted-foreground";
33
- case "subtle":
34
- return "text-muted-foreground/70";
35
- case "accent":
36
- return "text-primary";
37
- }
38
- }
39
- }
40
- function getBorderColor(parentBg, variant = "default", options) {
41
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
42
- if (isDark) {
43
- switch (variant) {
44
- case "default":
45
- return "border-foreground/20";
46
- case "muted":
47
- return "border-foreground/10";
48
- case "accent":
49
- return "border-accent-foreground";
50
- }
51
- } else {
52
- switch (variant) {
53
- case "default":
54
- return "border-border";
55
- case "muted":
56
- return "border-muted";
57
- case "accent":
58
- return "border-primary";
59
- }
60
- }
61
- }
62
14
  function normalizePhoneNumber(input) {
63
15
  const trimmed = input.trim();
64
16
  if (trimmed.toLowerCase().startsWith("tel:")) {
@@ -860,11 +812,11 @@ function HeroCenteredScreenshot({
860
812
  imageSrc,
861
813
  imageAlt = "placeholder",
862
814
  background,
863
- spacing,
815
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
816
+ spacing = "py-12 md:py-32",
864
817
  pattern,
865
818
  patternOpacity,
866
819
  className,
867
- containerClassName,
868
820
  contentClassName,
869
821
  headingClassName,
870
822
  descriptionClassName,
@@ -876,7 +828,14 @@ function HeroCenteredScreenshot({
876
828
  if (actionsSlot) return actionsSlot;
877
829
  if (!actions || actions.length === 0) return null;
878
830
  return actions.map((action, index) => {
879
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
831
+ const {
832
+ label,
833
+ icon,
834
+ iconAfter,
835
+ children,
836
+ className: actionClassName,
837
+ ...pressableProps
838
+ } = action;
880
839
  return /* @__PURE__ */ jsx(
881
840
  Pressable,
882
841
  {
@@ -901,22 +860,50 @@ function HeroCenteredScreenshot({
901
860
  pattern,
902
861
  patternOpacity,
903
862
  className: cn(className),
904
- children: /* @__PURE__ */ jsx("div", { className: cn("overflow-hidden border-b", getBorderColor(background, "muted")), children: /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
905
- /* @__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: [
906
- 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 })),
907
- 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 })),
908
- (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 })
909
- ] }) }),
863
+ containerClassName,
864
+ children: /* @__PURE__ */ jsxs("div", { className: cn(""), children: [
865
+ /* @__PURE__ */ jsx("div", { className: "flex flex-col", children: /* @__PURE__ */ jsxs(
866
+ "div",
867
+ {
868
+ className: cn("z-10 items-center text-center", contentClassName),
869
+ children: [
870
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
871
+ "h1",
872
+ {
873
+ className: cn(
874
+ "mb-8 text-4xl font-bold text-balance lg:text-7xl",
875
+ headingClassName
876
+ ),
877
+ children: heading
878
+ }
879
+ ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
880
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
881
+ "p",
882
+ {
883
+ className: cn(
884
+ "mx-auto max-w-3xl lg:text-xl text-balance opacity-80",
885
+ descriptionClassName
886
+ ),
887
+ children: description
888
+ }
889
+ ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
890
+ (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("lazy", actionsClassName), children: renderActions })
891
+ ]
892
+ }
893
+ ) }),
910
894
  imageSrc && /* @__PURE__ */ jsx(
911
895
  Img,
912
896
  {
913
897
  src: imageSrc,
914
898
  alt: imageAlt,
915
- className: cn("mx-auto mt-24 max-h-[700px] w-full max-w-7xl rounded-t-lg object-cover shadow-lg", imageClassName),
899
+ className: cn(
900
+ "mx-auto mt-24 max-h-[700px] w-full max-w-7xl rounded-2xl object-cover shadow-lg",
901
+ imageClassName
902
+ ),
916
903
  optixFlowConfig
917
904
  }
918
905
  )
919
- ] }) })
906
+ ] })
920
907
  }
921
908
  );
922
909
  }