@opensite/ui 1.6.7 → 1.6.8

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 (69) hide show
  1. package/dist/hero-architecture-fullscreen.cjs +7 -54
  2. package/dist/hero-architecture-fullscreen.js +7 -54
  3. package/dist/hero-badge-shadow-overlay.cjs +42 -45
  4. package/dist/hero-badge-shadow-overlay.d.cts +14 -2
  5. package/dist/hero-badge-shadow-overlay.d.ts +14 -2
  6. package/dist/hero-badge-shadow-overlay.js +42 -45
  7. package/dist/hero-billing-platform-logos.cjs +5 -9
  8. package/dist/hero-billing-platform-logos.d.cts +1 -5
  9. package/dist/hero-billing-platform-logos.d.ts +1 -5
  10. package/dist/hero-billing-platform-logos.js +5 -9
  11. package/dist/hero-centered-gradient-cta.cjs +12 -68
  12. package/dist/hero-centered-gradient-cta.js +12 -68
  13. package/dist/hero-conversion-video-play.cjs +13 -64
  14. package/dist/hero-conversion-video-play.js +13 -64
  15. package/dist/hero-customer-support-layered.cjs +1 -1
  16. package/dist/hero-customer-support-layered.js +1 -1
  17. package/dist/hero-dashed-border-features.cjs +8 -71
  18. package/dist/hero-dashed-border-features.js +8 -71
  19. package/dist/hero-design-showcase-logos.cjs +7 -32
  20. package/dist/hero-design-showcase-logos.js +7 -32
  21. package/dist/hero-floating-images.cjs +1 -1
  22. package/dist/hero-floating-images.js +1 -1
  23. package/dist/hero-grid-pattern-solutions.cjs +7 -66
  24. package/dist/hero-grid-pattern-solutions.js +7 -66
  25. package/dist/hero-hiring-animated-text.cjs +10 -5
  26. package/dist/hero-hiring-animated-text.js +10 -5
  27. package/dist/hero-marketplace-scattered-images.cjs +7 -32
  28. package/dist/hero-marketplace-scattered-images.js +7 -32
  29. package/dist/hero-mentorship-video-split.cjs +11 -14
  30. package/dist/hero-mentorship-video-split.js +11 -14
  31. package/dist/hero-mobile-app-download.cjs +2 -2
  32. package/dist/hero-mobile-app-download.d.cts +1 -1
  33. package/dist/hero-mobile-app-download.d.ts +1 -1
  34. package/dist/hero-mobile-app-download.js +2 -2
  35. package/dist/hero-premium-split-avatars.cjs +11 -9
  36. package/dist/hero-premium-split-avatars.d.cts +5 -1
  37. package/dist/hero-premium-split-avatars.d.ts +5 -1
  38. package/dist/hero-premium-split-avatars.js +11 -9
  39. package/dist/hero-presentation-platform-video.cjs +12 -9
  40. package/dist/hero-presentation-platform-video.d.cts +5 -1
  41. package/dist/hero-presentation-platform-video.d.ts +5 -1
  42. package/dist/hero-presentation-platform-video.js +12 -9
  43. package/dist/hero-productivity-launcher-video.cjs +11 -35
  44. package/dist/hero-productivity-launcher-video.js +11 -35
  45. package/dist/hero-spiral-pattern-cards.cjs +49 -92
  46. package/dist/hero-spiral-pattern-cards.d.cts +20 -3
  47. package/dist/hero-spiral-pattern-cards.d.ts +20 -3
  48. package/dist/hero-spiral-pattern-cards.js +49 -92
  49. package/dist/hero-split-spiral-shapes.cjs +43 -90
  50. package/dist/hero-split-spiral-shapes.d.cts +17 -4
  51. package/dist/hero-split-spiral-shapes.d.ts +17 -4
  52. package/dist/hero-split-spiral-shapes.js +43 -90
  53. package/dist/hero-startup-launch-cta.cjs +2 -2
  54. package/dist/hero-startup-launch-cta.js +2 -2
  55. package/dist/hero-task-timer-animated.cjs +64 -156
  56. package/dist/hero-task-timer-animated.d.cts +13 -1
  57. package/dist/hero-task-timer-animated.d.ts +13 -1
  58. package/dist/hero-task-timer-animated.js +64 -156
  59. package/dist/hero-testimonial-image-grid.cjs +10 -38
  60. package/dist/hero-testimonial-image-grid.js +10 -38
  61. package/dist/hero-therapy-testimonial-grid.cjs +11 -40
  62. package/dist/hero-therapy-testimonial-grid.js +11 -40
  63. package/dist/hero-video-background-dark.cjs +10 -34
  64. package/dist/hero-video-background-dark.d.cts +5 -1
  65. package/dist/hero-video-background-dark.d.ts +5 -1
  66. package/dist/hero-video-background-dark.js +10 -34
  67. package/dist/registry.cjs +353 -302
  68. package/dist/registry.js +353 -302
  69. package/package.json +1 -1
@@ -31,62 +31,6 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
31
31
  function cn(...inputs) {
32
32
  return tailwindMerge.twMerge(clsx.clsx(inputs));
33
33
  }
34
- function getNestedCardBg(parentBg, variant = "muted", options) {
35
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
36
- if (isDark) {
37
- switch (variant) {
38
- case "muted":
39
- return "bg-background";
40
- case "card":
41
- return "bg-card";
42
- case "accent":
43
- return "bg-accent";
44
- case "subtle":
45
- return "bg-background/50";
46
- }
47
- } else {
48
- switch (variant) {
49
- case "muted":
50
- return "bg-muted";
51
- case "card":
52
- return "bg-card";
53
- case "accent":
54
- return "bg-accent";
55
- case "subtle":
56
- return "bg-muted/50";
57
- }
58
- }
59
- }
60
- function getNestedCardTextColor(parentBg, options) {
61
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
62
- return isDark ? "text-foreground" : "";
63
- }
64
- function getTextColor(parentBg, variant = "default", options) {
65
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
66
- if (isDark) {
67
- switch (variant) {
68
- case "default":
69
- return "text-foreground";
70
- case "muted":
71
- return "text-foreground/80";
72
- case "subtle":
73
- return "text-foreground/60";
74
- case "accent":
75
- return "text-accent-foreground";
76
- }
77
- } else {
78
- switch (variant) {
79
- case "default":
80
- return "text-foreground";
81
- case "muted":
82
- return "text-muted-foreground";
83
- case "subtle":
84
- return "text-muted-foreground/70";
85
- case "accent":
86
- return "text-primary";
87
- }
88
- }
89
- }
90
34
  function normalizePhoneNumber(input) {
91
35
  const trimmed = input.trim();
92
36
  if (trimmed.toLowerCase().startsWith("tel:")) {
@@ -891,11 +835,11 @@ function HeroCenteredGradientCta({
891
835
  features,
892
836
  featuresSlot,
893
837
  background,
894
- spacing,
838
+ spacing = "py-32 md:py-32",
895
839
  pattern,
896
840
  patternOpacity,
897
841
  className,
898
- containerClassName,
842
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
899
843
  gradientClassName,
900
844
  badgeClassName,
901
845
  headingClassName,
@@ -935,17 +879,17 @@ function HeroCenteredGradientCta({
935
879
  return /* @__PURE__ */ jsxRuntime.jsxs(
936
880
  Section,
937
881
  {
938
- className: cn(
939
- "relative min-h-screen overflow-hidden bg-background py-32",
940
- className
941
- ),
882
+ background,
883
+ spacing,
884
+ pattern,
885
+ patternOpacity,
886
+ className: cn("relative flex items-center justify-center min-h-screen overflow-hidden bg-background py-32", className),
887
+ containerClassName,
942
888
  children: [
943
889
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("pointer-events-none absolute inset-0 bg-[radial-gradient(ellipse_80%_50%_at_50%_-20%,rgba(120,119,198,0.3),transparent)]", gradientClassName) }),
944
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container relative z-10 flex flex-col items-center text-center", containerClassName), children: [
890
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative z-10 flex flex-col items-center text-center", children: [
945
891
  badge && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(
946
- "inline-flex items-center gap-2 rounded-full border border-border/50 px-4 py-2 text-sm",
947
- getNestedCardBg(background, "muted"),
948
- getNestedCardTextColor(background),
892
+ "inline-flex items-center gap-2 rounded-full border border-border/50 bg-accent px-4 py-2 text-sm",
949
893
  badgeClassName
950
894
  ), children: [
951
895
  badgeIcon,
@@ -956,9 +900,9 @@ function HeroCenteredGradientCta({
956
900
  " ",
957
901
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "bg-linear-to-r from-primary to-purple-600 bg-clip-text text-transparent", children: headingHighlight })
958
902
  ] }) : null),
959
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-6 max-w-2xl text-lg md:text-xl", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
903
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-6 max-w-2xl text-lg text-muted-foreground md:text-xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
960
904
  (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-10 flex flex-col gap-4 sm:flex-row", actionsClassName), children: renderActions }),
961
- (featuresSlot || features && features.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-16 flex items-center gap-8 text-sm", getTextColor(background, "muted"), featuresClassName), children: renderFeatures })
905
+ (featuresSlot || features && features.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-16 flex items-center gap-8 text-sm text-muted-foreground", featuresClassName), children: renderFeatures })
962
906
  ] })
963
907
  ]
964
908
  }
@@ -10,62 +10,6 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
10
10
  function cn(...inputs) {
11
11
  return twMerge(clsx(inputs));
12
12
  }
13
- function getNestedCardBg(parentBg, variant = "muted", options) {
14
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
15
- if (isDark) {
16
- switch (variant) {
17
- case "muted":
18
- return "bg-background";
19
- case "card":
20
- return "bg-card";
21
- case "accent":
22
- return "bg-accent";
23
- case "subtle":
24
- return "bg-background/50";
25
- }
26
- } else {
27
- switch (variant) {
28
- case "muted":
29
- return "bg-muted";
30
- case "card":
31
- return "bg-card";
32
- case "accent":
33
- return "bg-accent";
34
- case "subtle":
35
- return "bg-muted/50";
36
- }
37
- }
38
- }
39
- function getNestedCardTextColor(parentBg, options) {
40
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
41
- return isDark ? "text-foreground" : "";
42
- }
43
- function getTextColor(parentBg, variant = "default", options) {
44
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
45
- if (isDark) {
46
- switch (variant) {
47
- case "default":
48
- return "text-foreground";
49
- case "muted":
50
- return "text-foreground/80";
51
- case "subtle":
52
- return "text-foreground/60";
53
- case "accent":
54
- return "text-accent-foreground";
55
- }
56
- } else {
57
- switch (variant) {
58
- case "default":
59
- return "text-foreground";
60
- case "muted":
61
- return "text-muted-foreground";
62
- case "subtle":
63
- return "text-muted-foreground/70";
64
- case "accent":
65
- return "text-primary";
66
- }
67
- }
68
- }
69
13
  function normalizePhoneNumber(input) {
70
14
  const trimmed = input.trim();
71
15
  if (trimmed.toLowerCase().startsWith("tel:")) {
@@ -870,11 +814,11 @@ function HeroCenteredGradientCta({
870
814
  features,
871
815
  featuresSlot,
872
816
  background,
873
- spacing,
817
+ spacing = "py-32 md:py-32",
874
818
  pattern,
875
819
  patternOpacity,
876
820
  className,
877
- containerClassName,
821
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
878
822
  gradientClassName,
879
823
  badgeClassName,
880
824
  headingClassName,
@@ -914,17 +858,17 @@ function HeroCenteredGradientCta({
914
858
  return /* @__PURE__ */ jsxs(
915
859
  Section,
916
860
  {
917
- className: cn(
918
- "relative min-h-screen overflow-hidden bg-background py-32",
919
- className
920
- ),
861
+ background,
862
+ spacing,
863
+ pattern,
864
+ patternOpacity,
865
+ className: cn("relative flex items-center justify-center min-h-screen overflow-hidden bg-background py-32", className),
866
+ containerClassName,
921
867
  children: [
922
868
  /* @__PURE__ */ jsx("div", { className: cn("pointer-events-none absolute inset-0 bg-[radial-gradient(ellipse_80%_50%_at_50%_-20%,rgba(120,119,198,0.3),transparent)]", gradientClassName) }),
923
- /* @__PURE__ */ jsxs("div", { className: cn("container relative z-10 flex flex-col items-center text-center", containerClassName), children: [
869
+ /* @__PURE__ */ jsxs("div", { className: "relative z-10 flex flex-col items-center text-center", children: [
924
870
  badge && /* @__PURE__ */ jsxs("div", { className: cn(
925
- "inline-flex items-center gap-2 rounded-full border border-border/50 px-4 py-2 text-sm",
926
- getNestedCardBg(background, "muted"),
927
- getNestedCardTextColor(background),
871
+ "inline-flex items-center gap-2 rounded-full border border-border/50 bg-accent px-4 py-2 text-sm",
928
872
  badgeClassName
929
873
  ), children: [
930
874
  badgeIcon,
@@ -935,9 +879,9 @@ function HeroCenteredGradientCta({
935
879
  " ",
936
880
  /* @__PURE__ */ jsx("span", { className: "bg-linear-to-r from-primary to-purple-600 bg-clip-text text-transparent", children: headingHighlight })
937
881
  ] }) : null),
938
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-6 max-w-2xl text-lg md:text-xl", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
882
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-6 max-w-2xl text-lg text-muted-foreground md:text-xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
939
883
  (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mt-10 flex flex-col gap-4 sm:flex-row", actionsClassName), children: renderActions }),
940
- (featuresSlot || features && features.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mt-16 flex items-center gap-8 text-sm", getTextColor(background, "muted"), featuresClassName), children: renderFeatures })
884
+ (featuresSlot || features && features.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mt-16 flex items-center gap-8 text-sm text-muted-foreground", featuresClassName), children: renderFeatures })
941
885
  ] })
942
886
  ]
943
887
  }
@@ -36,58 +36,6 @@ var DialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(DialogPrimitive)
36
36
  function cn(...inputs) {
37
37
  return tailwindMerge.twMerge(clsx.clsx(inputs));
38
38
  }
39
- function getTextColor(parentBg, variant = "default", options) {
40
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
41
- if (isDark) {
42
- switch (variant) {
43
- case "default":
44
- return "text-foreground";
45
- case "muted":
46
- return "text-foreground/80";
47
- case "subtle":
48
- return "text-foreground/60";
49
- case "accent":
50
- return "text-accent-foreground";
51
- }
52
- } else {
53
- switch (variant) {
54
- case "default":
55
- return "text-foreground";
56
- case "muted":
57
- return "text-muted-foreground";
58
- case "subtle":
59
- return "text-muted-foreground/70";
60
- case "accent":
61
- return "text-primary";
62
- }
63
- }
64
- }
65
- function getAccentColor(parentBg, options) {
66
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
67
- return isDark ? "text-accent-foreground" : "text-primary";
68
- }
69
- function getBorderColor(parentBg, variant = "default", options) {
70
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
71
- if (isDark) {
72
- switch (variant) {
73
- case "default":
74
- return "border-foreground/20";
75
- case "muted":
76
- return "border-foreground/10";
77
- case "accent":
78
- return "border-accent-foreground";
79
- }
80
- } else {
81
- switch (variant) {
82
- case "default":
83
- return "border-border";
84
- case "muted":
85
- return "border-muted";
86
- case "accent":
87
- return "border-primary";
88
- }
89
- }
90
- }
91
39
  function normalizePhoneNumber(input) {
92
40
  const trimmed = input.trim();
93
41
  if (trimmed.toLowerCase().startsWith("tel:")) {
@@ -1089,11 +1037,11 @@ function HeroConversionVideoPlay({
1089
1037
  logos,
1090
1038
  logosSlot,
1091
1039
  background,
1092
- spacing,
1040
+ spacing = "py-32 md:py-32",
1093
1041
  pattern,
1094
1042
  patternOpacity,
1095
1043
  className,
1096
- containerClassName,
1044
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
1097
1045
  contentClassName,
1098
1046
  headingClassName,
1099
1047
  descriptionClassName,
@@ -1166,20 +1114,21 @@ function HeroConversionVideoPlay({
1166
1114
  });
1167
1115
  }, [logosSlot, logos, optixFlowConfig]);
1168
1116
  return /* @__PURE__ */ jsxRuntime.jsxs(React.Fragment, { children: [
1169
- /* @__PURE__ */ jsxRuntime.jsxs(
1117
+ /* @__PURE__ */ jsxRuntime.jsx(
1170
1118
  Section,
1171
1119
  {
1172
1120
  background,
1173
1121
  spacing,
1174
1122
  pattern,
1175
1123
  patternOpacity,
1176
- className: cn(className),
1177
- children: [
1178
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("overflow-hidden border-b", getBorderColor(background, "muted")), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-16 md:gap-24", children: [
1124
+ className: cn("relative flex items-center justify-center", className),
1125
+ containerClassName,
1126
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
1127
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-hidden border-b border-border", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-16 md:gap-24", children: [
1179
1128
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col items-center gap-8", contentClassName), children: [
1180
1129
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-7", children: [
1181
1130
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("max-w-[920px] text-center text-4xl leading-tight font-semibold md:text-6xl lg:text-7xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
1182
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-[750px] text-center text-base leading-relaxed font-normal md:text-xl", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
1131
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-[750px] text-center text-base leading-relaxed font-normal md:text-xl text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
1183
1132
  ] }),
1184
1133
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-wrap items-center justify-center gap-8", actionsClassName), children: renderActions })
1185
1134
  ] }),
@@ -1192,12 +1141,12 @@ function HeroConversionVideoPlay({
1192
1141
  optixFlowConfig
1193
1142
  }
1194
1143
  ) }) }) }) : null })
1195
- ] }) }) }),
1196
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col items-center gap-16 py-20", logosClassName), children: [
1197
- logosTagline && (typeof logosTagline === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-center text-xl font-medium", getAccentColor(background)), children: logosTagline }) : logosTagline),
1144
+ ] }) }),
1145
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-16 py-20", children: [
1146
+ logosTagline && (typeof logosTagline === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-center text-xl font-medium text-accent-foreground"), children: logosTagline }) : logosTagline),
1198
1147
  (logosSlot || logos && logos.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap items-center justify-center gap-20", children: renderLogos })
1199
- ] }) })
1200
- ]
1148
+ ] })
1149
+ ] })
1201
1150
  }
1202
1151
  ),
1203
1152
  /* @__PURE__ */ jsxRuntime.jsx(Dialog, { open: isVideoOpen, onOpenChange: setIsVideoOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(DialogContent, { className: "sm:max-w-[800px]", children: [
@@ -13,58 +13,6 @@ import * as DialogPrimitive from '@radix-ui/react-dialog';
13
13
  function cn(...inputs) {
14
14
  return twMerge(clsx(inputs));
15
15
  }
16
- function getTextColor(parentBg, variant = "default", options) {
17
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
18
- if (isDark) {
19
- switch (variant) {
20
- case "default":
21
- return "text-foreground";
22
- case "muted":
23
- return "text-foreground/80";
24
- case "subtle":
25
- return "text-foreground/60";
26
- case "accent":
27
- return "text-accent-foreground";
28
- }
29
- } else {
30
- switch (variant) {
31
- case "default":
32
- return "text-foreground";
33
- case "muted":
34
- return "text-muted-foreground";
35
- case "subtle":
36
- return "text-muted-foreground/70";
37
- case "accent":
38
- return "text-primary";
39
- }
40
- }
41
- }
42
- function getAccentColor(parentBg, options) {
43
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
44
- return isDark ? "text-accent-foreground" : "text-primary";
45
- }
46
- function getBorderColor(parentBg, variant = "default", options) {
47
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
48
- if (isDark) {
49
- switch (variant) {
50
- case "default":
51
- return "border-foreground/20";
52
- case "muted":
53
- return "border-foreground/10";
54
- case "accent":
55
- return "border-accent-foreground";
56
- }
57
- } else {
58
- switch (variant) {
59
- case "default":
60
- return "border-border";
61
- case "muted":
62
- return "border-muted";
63
- case "accent":
64
- return "border-primary";
65
- }
66
- }
67
- }
68
16
  function normalizePhoneNumber(input) {
69
17
  const trimmed = input.trim();
70
18
  if (trimmed.toLowerCase().startsWith("tel:")) {
@@ -1066,11 +1014,11 @@ function HeroConversionVideoPlay({
1066
1014
  logos,
1067
1015
  logosSlot,
1068
1016
  background,
1069
- spacing,
1017
+ spacing = "py-32 md:py-32",
1070
1018
  pattern,
1071
1019
  patternOpacity,
1072
1020
  className,
1073
- containerClassName,
1021
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
1074
1022
  contentClassName,
1075
1023
  headingClassName,
1076
1024
  descriptionClassName,
@@ -1143,20 +1091,21 @@ function HeroConversionVideoPlay({
1143
1091
  });
1144
1092
  }, [logosSlot, logos, optixFlowConfig]);
1145
1093
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [
1146
- /* @__PURE__ */ jsxs(
1094
+ /* @__PURE__ */ jsx(
1147
1095
  Section,
1148
1096
  {
1149
1097
  background,
1150
1098
  spacing,
1151
1099
  pattern,
1152
1100
  patternOpacity,
1153
- className: cn(className),
1154
- children: [
1155
- /* @__PURE__ */ jsx("div", { className: cn("overflow-hidden border-b", getBorderColor(background, "muted")), children: /* @__PURE__ */ jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-16 md:gap-24", children: [
1101
+ className: cn("relative flex items-center justify-center", className),
1102
+ containerClassName,
1103
+ children: /* @__PURE__ */ jsxs("div", { className: "relative", children: [
1104
+ /* @__PURE__ */ jsx("div", { className: "overflow-hidden border-b border-border", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-16 md:gap-24", children: [
1156
1105
  /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col items-center gap-8", contentClassName), children: [
1157
1106
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-7", children: [
1158
1107
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("max-w-[920px] text-center text-4xl leading-tight font-semibold md:text-6xl lg:text-7xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
1159
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("max-w-[750px] text-center text-base leading-relaxed font-normal md:text-xl", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
1108
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("max-w-[750px] text-center text-base leading-relaxed font-normal md:text-xl text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
1160
1109
  ] }),
1161
1110
  /* @__PURE__ */ jsx("div", { className: cn("flex flex-wrap items-center justify-center gap-8", actionsClassName), children: renderActions })
1162
1111
  ] }),
@@ -1169,12 +1118,12 @@ function HeroConversionVideoPlay({
1169
1118
  optixFlowConfig
1170
1119
  }
1171
1120
  ) }) }) }) : null })
1172
- ] }) }) }),
1173
- /* @__PURE__ */ jsx("div", { className: "container", children: /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col items-center gap-16 py-20", logosClassName), children: [
1174
- logosTagline && (typeof logosTagline === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-center text-xl font-medium", getAccentColor(background)), children: logosTagline }) : logosTagline),
1121
+ ] }) }),
1122
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-16 py-20", children: [
1123
+ logosTagline && (typeof logosTagline === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-center text-xl font-medium text-accent-foreground"), children: logosTagline }) : logosTagline),
1175
1124
  (logosSlot || logos && logos.length > 0) && /* @__PURE__ */ jsx("div", { className: "flex flex-wrap items-center justify-center gap-20", children: renderLogos })
1176
- ] }) })
1177
- ]
1125
+ ] })
1126
+ ] })
1178
1127
  }
1179
1128
  ),
1180
1129
  /* @__PURE__ */ jsx(Dialog, { open: isVideoOpen, onOpenChange: setIsVideoOpen, children: /* @__PURE__ */ jsxs(DialogContent, { className: "sm:max-w-[800px]", children: [
@@ -473,7 +473,7 @@ function HeroCustomerSupportLayered({
473
473
  optixFlowConfig
474
474
  }
475
475
  ) }),
476
- images[2] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute right-0 top-[10%] z-30 aspect-3/4 w-[45%] overflow-hidden rounded-lg shadow-2xl md:w-[40%]", children: /* @__PURE__ */ jsxRuntime.jsx(
476
+ images[2] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute left-[50%] top-[40%] md:top-[10%] z-30 aspect-3/4 w-[45%] overflow-hidden rounded-lg shadow-2xl md:w-[40%]", children: /* @__PURE__ */ jsxRuntime.jsx(
477
477
  img.Img,
478
478
  {
479
479
  src: images[2].src,
@@ -467,7 +467,7 @@ function HeroCustomerSupportLayered({
467
467
  optixFlowConfig
468
468
  }
469
469
  ) }),
470
- images[2] && /* @__PURE__ */ jsx("div", { className: "absolute right-0 top-[10%] z-30 aspect-3/4 w-[45%] overflow-hidden rounded-lg shadow-2xl md:w-[40%]", children: /* @__PURE__ */ jsx(
470
+ images[2] && /* @__PURE__ */ jsx("div", { className: "absolute left-[50%] top-[40%] md:top-[10%] z-30 aspect-3/4 w-[45%] overflow-hidden rounded-lg shadow-2xl md:w-[40%]", children: /* @__PURE__ */ jsx(
471
471
  Img,
472
472
  {
473
473
  src: images[2].src,
@@ -34,62 +34,6 @@ var AvatarPrimitive__namespace = /*#__PURE__*/_interopNamespace(AvatarPrimitive)
34
34
  function cn(...inputs) {
35
35
  return tailwindMerge.twMerge(clsx.clsx(inputs));
36
36
  }
37
- function getNestedCardBg(parentBg, variant = "muted", options) {
38
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
39
- if (isDark) {
40
- switch (variant) {
41
- case "muted":
42
- return "bg-background";
43
- case "card":
44
- return "bg-card";
45
- case "accent":
46
- return "bg-accent";
47
- case "subtle":
48
- return "bg-background/50";
49
- }
50
- } else {
51
- switch (variant) {
52
- case "muted":
53
- return "bg-muted";
54
- case "card":
55
- return "bg-card";
56
- case "accent":
57
- return "bg-accent";
58
- case "subtle":
59
- return "bg-muted/50";
60
- }
61
- }
62
- }
63
- function getNestedCardTextColor(parentBg, options) {
64
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
65
- return isDark ? "text-foreground" : "";
66
- }
67
- function getTextColor(parentBg, variant = "default", options) {
68
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
69
- if (isDark) {
70
- switch (variant) {
71
- case "default":
72
- return "text-foreground";
73
- case "muted":
74
- return "text-foreground/80";
75
- case "subtle":
76
- return "text-foreground/60";
77
- case "accent":
78
- return "text-accent-foreground";
79
- }
80
- } else {
81
- switch (variant) {
82
- case "default":
83
- return "text-foreground";
84
- case "muted":
85
- return "text-muted-foreground";
86
- case "subtle":
87
- return "text-muted-foreground/70";
88
- case "accent":
89
- return "text-primary";
90
- }
91
- }
92
- }
93
37
  var badgeVariants = classVarianceAuthority.cva(
94
38
  "inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
95
39
  {
@@ -1062,11 +1006,11 @@ function HeroDashedBorderFeatures({
1062
1006
  features,
1063
1007
  featuresSlot,
1064
1008
  background,
1065
- spacing,
1009
+ spacing = "py-32 md:py-32",
1066
1010
  pattern,
1067
1011
  patternOpacity,
1068
1012
  className,
1069
- containerClassName,
1013
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
1070
1014
  contentClassName,
1071
1015
  headingClassName,
1072
1016
  descriptionClassName,
@@ -1079,11 +1023,7 @@ function HeroDashedBorderFeatures({
1079
1023
  Pressable,
1080
1024
  {
1081
1025
  href: announcementHref,
1082
- className: cn(
1083
- "mx-auto mb-4 flex w-fit items-center gap-2 rounded-full px-4 py-2 text-sm",
1084
- getNestedCardBg(background),
1085
- getNestedCardTextColor(background)
1086
- ),
1026
+ className: "mx-auto mb-4 flex w-fit items-center gap-2 rounded-full px-4 py-2 text-sm bg-card",
1087
1027
  children: [
1088
1028
  /* @__PURE__ */ jsxRuntime.jsx(Badge, { children: badgeText }),
1089
1029
  announcementText,
@@ -1146,11 +1086,7 @@ function HeroDashedBorderFeatures({
1146
1086
  index === 1 && "border-x"
1147
1087
  ),
1148
1088
  children: [
1149
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(
1150
- "flex size-10 shrink-0 items-center justify-center rounded-md text-sm lg:size-12 lg:text-base",
1151
- getNestedCardBg(background),
1152
- getNestedCardTextColor(background)
1153
- ), children: feature.icon ?? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: feature.iconName || "lucide/check", size: 20 }) }),
1089
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex size-10 shrink-0 items-center justify-center rounded-md text-sm lg:size-12 lg:text-base bg-card", children: feature.icon ?? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: feature.iconName || "lucide/check", size: 20 }) }),
1154
1090
  feature.title
1155
1091
  ]
1156
1092
  },
@@ -1164,12 +1100,13 @@ function HeroDashedBorderFeatures({
1164
1100
  spacing,
1165
1101
  pattern,
1166
1102
  patternOpacity,
1167
- className,
1168
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
1103
+ className: cn("relative flex items-center justify-center", className),
1104
+ containerClassName,
1105
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
1169
1106
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("border-x border-t border-dashed px-4 py-20 md:px-16", contentClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto max-w-3xl", children: [
1170
1107
  renderAnnouncement,
1171
1108
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("my-4 mb-6 text-center text-3xl font-semibold lg:text-8xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
1172
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mx-auto mb-6 max-w-2xl text-center lg:text-xl", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
1109
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mx-auto mb-6 max-w-2xl text-center lg:text-xl text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
1173
1110
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col justify-center gap-2 sm:flex-row", actionsClassName), children: renderActions })
1174
1111
  ] }) }),
1175
1112
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative grid border-x border-dashed md:grid-cols-3", featuresClassName), children: [