@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.
- package/dist/hero-architecture-fullscreen.cjs +7 -54
- package/dist/hero-architecture-fullscreen.js +7 -54
- package/dist/hero-badge-shadow-overlay.cjs +42 -45
- package/dist/hero-badge-shadow-overlay.d.cts +14 -2
- package/dist/hero-badge-shadow-overlay.d.ts +14 -2
- package/dist/hero-badge-shadow-overlay.js +42 -45
- package/dist/hero-billing-platform-logos.cjs +5 -9
- package/dist/hero-billing-platform-logos.d.cts +1 -5
- package/dist/hero-billing-platform-logos.d.ts +1 -5
- package/dist/hero-billing-platform-logos.js +5 -9
- package/dist/hero-centered-gradient-cta.cjs +12 -68
- package/dist/hero-centered-gradient-cta.js +12 -68
- package/dist/hero-conversion-video-play.cjs +13 -64
- package/dist/hero-conversion-video-play.js +13 -64
- package/dist/hero-customer-support-layered.cjs +1 -1
- package/dist/hero-customer-support-layered.js +1 -1
- package/dist/hero-dashed-border-features.cjs +8 -71
- package/dist/hero-dashed-border-features.js +8 -71
- package/dist/hero-design-showcase-logos.cjs +7 -32
- package/dist/hero-design-showcase-logos.js +7 -32
- package/dist/hero-floating-images.cjs +1 -1
- package/dist/hero-floating-images.js +1 -1
- package/dist/hero-grid-pattern-solutions.cjs +7 -66
- package/dist/hero-grid-pattern-solutions.js +7 -66
- package/dist/hero-hiring-animated-text.cjs +10 -5
- package/dist/hero-hiring-animated-text.js +10 -5
- package/dist/hero-marketplace-scattered-images.cjs +7 -32
- package/dist/hero-marketplace-scattered-images.js +7 -32
- package/dist/hero-mentorship-video-split.cjs +11 -14
- package/dist/hero-mentorship-video-split.js +11 -14
- package/dist/hero-mobile-app-download.cjs +2 -2
- package/dist/hero-mobile-app-download.d.cts +1 -1
- package/dist/hero-mobile-app-download.d.ts +1 -1
- package/dist/hero-mobile-app-download.js +2 -2
- package/dist/hero-premium-split-avatars.cjs +11 -9
- package/dist/hero-premium-split-avatars.d.cts +5 -1
- package/dist/hero-premium-split-avatars.d.ts +5 -1
- package/dist/hero-premium-split-avatars.js +11 -9
- package/dist/hero-presentation-platform-video.cjs +12 -9
- package/dist/hero-presentation-platform-video.d.cts +5 -1
- package/dist/hero-presentation-platform-video.d.ts +5 -1
- package/dist/hero-presentation-platform-video.js +12 -9
- package/dist/hero-productivity-launcher-video.cjs +11 -35
- package/dist/hero-productivity-launcher-video.js +11 -35
- package/dist/hero-spiral-pattern-cards.cjs +49 -92
- package/dist/hero-spiral-pattern-cards.d.cts +20 -3
- package/dist/hero-spiral-pattern-cards.d.ts +20 -3
- package/dist/hero-spiral-pattern-cards.js +49 -92
- package/dist/hero-split-spiral-shapes.cjs +43 -90
- package/dist/hero-split-spiral-shapes.d.cts +17 -4
- package/dist/hero-split-spiral-shapes.d.ts +17 -4
- package/dist/hero-split-spiral-shapes.js +43 -90
- package/dist/hero-startup-launch-cta.cjs +2 -2
- package/dist/hero-startup-launch-cta.js +2 -2
- package/dist/hero-task-timer-animated.cjs +64 -156
- package/dist/hero-task-timer-animated.d.cts +13 -1
- package/dist/hero-task-timer-animated.d.ts +13 -1
- package/dist/hero-task-timer-animated.js +64 -156
- package/dist/hero-testimonial-image-grid.cjs +10 -38
- package/dist/hero-testimonial-image-grid.js +10 -38
- package/dist/hero-therapy-testimonial-grid.cjs +11 -40
- package/dist/hero-therapy-testimonial-grid.js +11 -40
- package/dist/hero-video-background-dark.cjs +10 -34
- package/dist/hero-video-background-dark.d.cts +5 -1
- package/dist/hero-video-background-dark.d.ts +5 -1
- package/dist/hero-video-background-dark.js +10 -34
- package/dist/registry.cjs +353 -302
- package/dist/registry.js +353 -302
- package/package.json +1 -1
|
@@ -31,54 +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 getTextColor(parentBg, variant = "default", options) {
|
|
35
|
-
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
36
|
-
if (isDark) {
|
|
37
|
-
switch (variant) {
|
|
38
|
-
case "default":
|
|
39
|
-
return "text-foreground";
|
|
40
|
-
case "muted":
|
|
41
|
-
return "text-foreground/80";
|
|
42
|
-
case "subtle":
|
|
43
|
-
return "text-foreground/60";
|
|
44
|
-
case "accent":
|
|
45
|
-
return "text-accent-foreground";
|
|
46
|
-
}
|
|
47
|
-
} else {
|
|
48
|
-
switch (variant) {
|
|
49
|
-
case "default":
|
|
50
|
-
return "text-foreground";
|
|
51
|
-
case "muted":
|
|
52
|
-
return "text-muted-foreground";
|
|
53
|
-
case "subtle":
|
|
54
|
-
return "text-muted-foreground/70";
|
|
55
|
-
case "accent":
|
|
56
|
-
return "text-primary";
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
function getBorderColor(parentBg, variant = "default", options) {
|
|
61
|
-
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
62
|
-
if (isDark) {
|
|
63
|
-
switch (variant) {
|
|
64
|
-
case "default":
|
|
65
|
-
return "border-foreground/20";
|
|
66
|
-
case "muted":
|
|
67
|
-
return "border-foreground/10";
|
|
68
|
-
case "accent":
|
|
69
|
-
return "border-accent-foreground";
|
|
70
|
-
}
|
|
71
|
-
} else {
|
|
72
|
-
switch (variant) {
|
|
73
|
-
case "default":
|
|
74
|
-
return "border-border";
|
|
75
|
-
case "muted":
|
|
76
|
-
return "border-muted";
|
|
77
|
-
case "accent":
|
|
78
|
-
return "border-primary";
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
34
|
function normalizePhoneNumber(input) {
|
|
83
35
|
const trimmed = input.trim();
|
|
84
36
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -880,11 +832,11 @@ function HeroArchitectureFullscreen({
|
|
|
880
832
|
actionSlot,
|
|
881
833
|
backgroundImage,
|
|
882
834
|
background,
|
|
883
|
-
spacing,
|
|
835
|
+
spacing = "py-32 md:py-32",
|
|
884
836
|
pattern,
|
|
885
837
|
patternOpacity,
|
|
886
838
|
className,
|
|
887
|
-
containerClassName,
|
|
839
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
888
840
|
taglineClassName,
|
|
889
841
|
headingClassName,
|
|
890
842
|
descriptionClassName
|
|
@@ -915,17 +867,18 @@ function HeroArchitectureFullscreen({
|
|
|
915
867
|
pattern,
|
|
916
868
|
patternOpacity,
|
|
917
869
|
className: cn(
|
|
918
|
-
"dark
|
|
870
|
+
"relative flex items-center justify-center dark h-svh max-h-[1400px] w-full overflow-hidden bg-cover bg-center bg-no-repeat font-poppins after:absolute after:top-0 after:left-0 after:block after:h-full after:w-full after:bg-foreground/65 after:content-['']",
|
|
919
871
|
className
|
|
920
872
|
),
|
|
873
|
+
containerClassName,
|
|
921
874
|
style: { backgroundImage: backgroundImage ? `url('${backgroundImage}')` : void 0 },
|
|
922
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
875
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative z-20 h-full w-full max-w-340", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full w-full flex-col justify-end gap-12", children: [
|
|
923
876
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex max-w-245.5 flex-col gap-1", children: [
|
|
924
|
-
tagline && (typeof tagline === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm leading-none uppercase
|
|
877
|
+
tagline && (typeof tagline === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm leading-none uppercase text-muted-foreground", taglineClassName), children: tagline }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: taglineClassName, children: tagline })),
|
|
925
878
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-3xl leading-snug! md:text-4xl lg:text-6xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading }))
|
|
926
879
|
] }),
|
|
927
880
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full flex-col justify-between gap-5 sm:flex-row sm:items-center", children: [
|
|
928
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-81 border-l pl-6 text-base
|
|
881
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-81 border-l border-border pl-6 text-base text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
|
|
929
882
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: renderAction })
|
|
930
883
|
] })
|
|
931
884
|
] }) })
|
|
@@ -10,54 +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 getTextColor(parentBg, variant = "default", options) {
|
|
14
|
-
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
15
|
-
if (isDark) {
|
|
16
|
-
switch (variant) {
|
|
17
|
-
case "default":
|
|
18
|
-
return "text-foreground";
|
|
19
|
-
case "muted":
|
|
20
|
-
return "text-foreground/80";
|
|
21
|
-
case "subtle":
|
|
22
|
-
return "text-foreground/60";
|
|
23
|
-
case "accent":
|
|
24
|
-
return "text-accent-foreground";
|
|
25
|
-
}
|
|
26
|
-
} else {
|
|
27
|
-
switch (variant) {
|
|
28
|
-
case "default":
|
|
29
|
-
return "text-foreground";
|
|
30
|
-
case "muted":
|
|
31
|
-
return "text-muted-foreground";
|
|
32
|
-
case "subtle":
|
|
33
|
-
return "text-muted-foreground/70";
|
|
34
|
-
case "accent":
|
|
35
|
-
return "text-primary";
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
function getBorderColor(parentBg, variant = "default", options) {
|
|
40
|
-
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
41
|
-
if (isDark) {
|
|
42
|
-
switch (variant) {
|
|
43
|
-
case "default":
|
|
44
|
-
return "border-foreground/20";
|
|
45
|
-
case "muted":
|
|
46
|
-
return "border-foreground/10";
|
|
47
|
-
case "accent":
|
|
48
|
-
return "border-accent-foreground";
|
|
49
|
-
}
|
|
50
|
-
} else {
|
|
51
|
-
switch (variant) {
|
|
52
|
-
case "default":
|
|
53
|
-
return "border-border";
|
|
54
|
-
case "muted":
|
|
55
|
-
return "border-muted";
|
|
56
|
-
case "accent":
|
|
57
|
-
return "border-primary";
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
13
|
function normalizePhoneNumber(input) {
|
|
62
14
|
const trimmed = input.trim();
|
|
63
15
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -859,11 +811,11 @@ function HeroArchitectureFullscreen({
|
|
|
859
811
|
actionSlot,
|
|
860
812
|
backgroundImage,
|
|
861
813
|
background,
|
|
862
|
-
spacing,
|
|
814
|
+
spacing = "py-32 md:py-32",
|
|
863
815
|
pattern,
|
|
864
816
|
patternOpacity,
|
|
865
817
|
className,
|
|
866
|
-
containerClassName,
|
|
818
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
867
819
|
taglineClassName,
|
|
868
820
|
headingClassName,
|
|
869
821
|
descriptionClassName
|
|
@@ -894,17 +846,18 @@ function HeroArchitectureFullscreen({
|
|
|
894
846
|
pattern,
|
|
895
847
|
patternOpacity,
|
|
896
848
|
className: cn(
|
|
897
|
-
"dark
|
|
849
|
+
"relative flex items-center justify-center dark h-svh max-h-[1400px] w-full overflow-hidden bg-cover bg-center bg-no-repeat font-poppins after:absolute after:top-0 after:left-0 after:block after:h-full after:w-full after:bg-foreground/65 after:content-['']",
|
|
898
850
|
className
|
|
899
851
|
),
|
|
852
|
+
containerClassName,
|
|
900
853
|
style: { backgroundImage: backgroundImage ? `url('${backgroundImage}')` : void 0 },
|
|
901
|
-
children: /* @__PURE__ */ jsx("div", { className:
|
|
854
|
+
children: /* @__PURE__ */ jsx("div", { className: "relative z-20 h-full w-full max-w-340", children: /* @__PURE__ */ jsxs("div", { className: "flex h-full w-full flex-col justify-end gap-12", children: [
|
|
902
855
|
/* @__PURE__ */ jsxs("div", { className: "flex max-w-245.5 flex-col gap-1", children: [
|
|
903
|
-
tagline && (typeof tagline === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm leading-none uppercase
|
|
856
|
+
tagline && (typeof tagline === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm leading-none uppercase text-muted-foreground", taglineClassName), children: tagline }) : /* @__PURE__ */ jsx("div", { className: taglineClassName, children: tagline })),
|
|
904
857
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-3xl leading-snug! md:text-4xl lg:text-6xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading }))
|
|
905
858
|
] }),
|
|
906
859
|
/* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col justify-between gap-5 sm:flex-row sm:items-center", children: [
|
|
907
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("max-w-81 border-l pl-6 text-base
|
|
860
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("max-w-81 border-l border-border pl-6 text-base text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
|
|
908
861
|
/* @__PURE__ */ jsx("div", { className: "shrink-0", children: renderAction })
|
|
909
862
|
] })
|
|
910
863
|
] }) })
|
|
@@ -7,6 +7,7 @@ var tailwindMerge = require('tailwind-merge');
|
|
|
7
7
|
var reactSlot = require('@radix-ui/react-slot');
|
|
8
8
|
var classVarianceAuthority = require('class-variance-authority');
|
|
9
9
|
var jsxRuntime = require('react/jsx-runtime');
|
|
10
|
+
var img = require('@page-speed/img');
|
|
10
11
|
|
|
11
12
|
function _interopNamespace(e) {
|
|
12
13
|
if (e && e.__esModule) return e;
|
|
@@ -32,32 +33,6 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
|
32
33
|
function cn(...inputs) {
|
|
33
34
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
34
35
|
}
|
|
35
|
-
function getNestedCardBg(parentBg, variant = "muted", options) {
|
|
36
|
-
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
37
|
-
if (isDark) {
|
|
38
|
-
switch (variant) {
|
|
39
|
-
case "muted":
|
|
40
|
-
return "bg-background";
|
|
41
|
-
case "card":
|
|
42
|
-
return "bg-card";
|
|
43
|
-
case "accent":
|
|
44
|
-
return "bg-accent";
|
|
45
|
-
case "subtle":
|
|
46
|
-
return "bg-background/50";
|
|
47
|
-
}
|
|
48
|
-
} else {
|
|
49
|
-
switch (variant) {
|
|
50
|
-
case "muted":
|
|
51
|
-
return "bg-muted";
|
|
52
|
-
case "card":
|
|
53
|
-
return "bg-card";
|
|
54
|
-
case "accent":
|
|
55
|
-
return "bg-accent";
|
|
56
|
-
case "subtle":
|
|
57
|
-
return "bg-muted/50";
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
36
|
var badgeVariants = classVarianceAuthority.cva(
|
|
62
37
|
"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",
|
|
63
38
|
{
|
|
@@ -991,17 +966,20 @@ Section.displayName = "Section";
|
|
|
991
966
|
function HeroBadgeShadowOverlay({
|
|
992
967
|
announcementBadge,
|
|
993
968
|
announcementText,
|
|
994
|
-
announcementHref
|
|
969
|
+
announcementHref,
|
|
970
|
+
description,
|
|
971
|
+
descriptionClassName,
|
|
995
972
|
heading,
|
|
996
973
|
actions,
|
|
997
974
|
actionsSlot,
|
|
998
|
-
backgroundImageUrl
|
|
975
|
+
backgroundImageUrl,
|
|
976
|
+
optixFlowConfig,
|
|
999
977
|
background,
|
|
1000
|
-
spacing,
|
|
978
|
+
spacing = "py-0 md:py-0",
|
|
1001
979
|
pattern,
|
|
1002
980
|
patternOpacity,
|
|
1003
981
|
className,
|
|
1004
|
-
containerClassName,
|
|
982
|
+
containerClassName = "mx-0 w-screen px-0 sm:px-0 lg:px-0 max-w-screen relative z-10 min-h-screen h-full",
|
|
1005
983
|
announcementClassName,
|
|
1006
984
|
headingClassName,
|
|
1007
985
|
actionsClassName
|
|
@@ -1009,8 +987,15 @@ function HeroBadgeShadowOverlay({
|
|
|
1009
987
|
const renderActions = React.useMemo(() => {
|
|
1010
988
|
if (actionsSlot) return actionsSlot;
|
|
1011
989
|
if (!actions || actions.length === 0) return null;
|
|
1012
|
-
return actions.map((action, index) => {
|
|
1013
|
-
const {
|
|
990
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col md:flex-row gap-4", actionsClassName), children: actions.map((action, index) => {
|
|
991
|
+
const {
|
|
992
|
+
label,
|
|
993
|
+
icon,
|
|
994
|
+
iconAfter,
|
|
995
|
+
children,
|
|
996
|
+
className: actionClassName,
|
|
997
|
+
...pressableProps
|
|
998
|
+
} = action;
|
|
1014
999
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1015
1000
|
Pressable,
|
|
1016
1001
|
{
|
|
@@ -1025,8 +1010,8 @@ function HeroBadgeShadowOverlay({
|
|
|
1025
1010
|
},
|
|
1026
1011
|
index
|
|
1027
1012
|
);
|
|
1028
|
-
});
|
|
1029
|
-
}, [actionsSlot, actions]);
|
|
1013
|
+
}) });
|
|
1014
|
+
}, [actionsSlot, actions, actionsClassName]);
|
|
1030
1015
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1031
1016
|
Section,
|
|
1032
1017
|
{
|
|
@@ -1034,33 +1019,45 @@ function HeroBadgeShadowOverlay({
|
|
|
1034
1019
|
spacing,
|
|
1035
1020
|
pattern,
|
|
1036
1021
|
patternOpacity,
|
|
1037
|
-
className: cn("relative", className),
|
|
1022
|
+
className: cn("relative flex items-center justify-center", className),
|
|
1023
|
+
containerClassName,
|
|
1038
1024
|
children: [
|
|
1039
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1025
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col min-h-screen h-full justify-center items-center", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-10 text-center px-6 max-full md:max-w-lg", children: [
|
|
1040
1026
|
(announcementBadge || announcementText) && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1041
1027
|
Pressable,
|
|
1042
1028
|
{
|
|
1043
1029
|
href: announcementHref,
|
|
1044
1030
|
className: cn(
|
|
1045
|
-
"flex items-center gap-2 rounded-full px-2 py-1 text-sm
|
|
1046
|
-
`hover:${getNestedCardBg(background)}`,
|
|
1031
|
+
"flex items-center gap-2 rounded-full px-2 py-1 text-sm bg-card text-card-foreground",
|
|
1047
1032
|
announcementClassName
|
|
1048
1033
|
),
|
|
1049
1034
|
children: [
|
|
1050
1035
|
announcementBadge && /* @__PURE__ */ jsxRuntime.jsx(Badge, { children: announcementBadge }),
|
|
1051
1036
|
announcementText,
|
|
1052
|
-
/* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-right", size: 16 })
|
|
1037
|
+
/* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-up-right", size: 16 })
|
|
1053
1038
|
]
|
|
1054
1039
|
}
|
|
1055
1040
|
),
|
|
1056
|
-
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1057
|
-
|
|
1041
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1042
|
+
"h1",
|
|
1043
|
+
{
|
|
1044
|
+
className: cn(
|
|
1045
|
+
"text-4xl font-semibold lg:text-8xl text-white text-balance text-shadow-xl text-center",
|
|
1046
|
+
headingClassName
|
|
1047
|
+
),
|
|
1048
|
+
children: heading
|
|
1049
|
+
}
|
|
1050
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
|
|
1051
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-lg text-balance", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
|
|
1052
|
+
renderActions
|
|
1058
1053
|
] }) }),
|
|
1059
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1060
|
-
|
|
1054
|
+
backgroundImageUrl && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1055
|
+
img.Img,
|
|
1061
1056
|
{
|
|
1062
|
-
|
|
1063
|
-
|
|
1057
|
+
src: backgroundImageUrl,
|
|
1058
|
+
alt: "Background Image",
|
|
1059
|
+
className: "absolute inset-0 -z-10 h-full w-full object-cover brightness-50",
|
|
1060
|
+
optixFlowConfig
|
|
1064
1061
|
}
|
|
1065
1062
|
)
|
|
1066
1063
|
]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { f as SectionBackground, g as SectionSpacing, t as PatternName } from './community-initiatives-r_NhxVet.cjs';
|
|
3
|
-
import { A as ActionConfig } from './blocks-DP3Vofl4.cjs';
|
|
3
|
+
import { A as ActionConfig, O as OptixFlowConfig } from './blocks-DP3Vofl4.cjs';
|
|
4
4
|
import 'react/jsx-runtime';
|
|
5
5
|
import 'class-variance-authority';
|
|
6
6
|
import './button-variants-CdNtNOuP.cjs';
|
|
@@ -71,7 +71,19 @@ interface HeroBadgeShadowOverlayProps {
|
|
|
71
71
|
* Additional CSS classes for the actions container
|
|
72
72
|
*/
|
|
73
73
|
actionsClassName?: string;
|
|
74
|
+
/**
|
|
75
|
+
* Description text below heading
|
|
76
|
+
*/
|
|
77
|
+
description?: React.ReactNode;
|
|
78
|
+
/**
|
|
79
|
+
* Additional CSS classes for the description
|
|
80
|
+
*/
|
|
81
|
+
descriptionClassName?: string;
|
|
82
|
+
/**
|
|
83
|
+
* OptixFlow image optimization configuration
|
|
84
|
+
*/
|
|
85
|
+
optixFlowConfig?: OptixFlowConfig;
|
|
74
86
|
}
|
|
75
|
-
declare function HeroBadgeShadowOverlay({ announcementBadge, announcementText, announcementHref, heading, actions, actionsSlot, backgroundImageUrl, background, spacing, pattern, patternOpacity, className, containerClassName, announcementClassName, headingClassName, actionsClassName, }: HeroBadgeShadowOverlayProps): React.JSX.Element;
|
|
87
|
+
declare function HeroBadgeShadowOverlay({ announcementBadge, announcementText, announcementHref, description, descriptionClassName, heading, actions, actionsSlot, backgroundImageUrl, optixFlowConfig, background, spacing, pattern, patternOpacity, className, containerClassName, announcementClassName, headingClassName, actionsClassName, }: HeroBadgeShadowOverlayProps): React.JSX.Element;
|
|
76
88
|
|
|
77
89
|
export { HeroBadgeShadowOverlay, type HeroBadgeShadowOverlayProps };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { f as SectionBackground, g as SectionSpacing, t as PatternName } from './community-initiatives-DmVsuoHE.js';
|
|
3
|
-
import { A as ActionConfig } from './blocks-XLPGq8A5.js';
|
|
3
|
+
import { A as ActionConfig, O as OptixFlowConfig } from './blocks-XLPGq8A5.js';
|
|
4
4
|
import 'react/jsx-runtime';
|
|
5
5
|
import 'class-variance-authority';
|
|
6
6
|
import './button-variants-CdNtNOuP.js';
|
|
@@ -71,7 +71,19 @@ interface HeroBadgeShadowOverlayProps {
|
|
|
71
71
|
* Additional CSS classes for the actions container
|
|
72
72
|
*/
|
|
73
73
|
actionsClassName?: string;
|
|
74
|
+
/**
|
|
75
|
+
* Description text below heading
|
|
76
|
+
*/
|
|
77
|
+
description?: React.ReactNode;
|
|
78
|
+
/**
|
|
79
|
+
* Additional CSS classes for the description
|
|
80
|
+
*/
|
|
81
|
+
descriptionClassName?: string;
|
|
82
|
+
/**
|
|
83
|
+
* OptixFlow image optimization configuration
|
|
84
|
+
*/
|
|
85
|
+
optixFlowConfig?: OptixFlowConfig;
|
|
74
86
|
}
|
|
75
|
-
declare function HeroBadgeShadowOverlay({ announcementBadge, announcementText, announcementHref, heading, actions, actionsSlot, backgroundImageUrl, background, spacing, pattern, patternOpacity, className, containerClassName, announcementClassName, headingClassName, actionsClassName, }: HeroBadgeShadowOverlayProps): React.JSX.Element;
|
|
87
|
+
declare function HeroBadgeShadowOverlay({ announcementBadge, announcementText, announcementHref, description, descriptionClassName, heading, actions, actionsSlot, backgroundImageUrl, optixFlowConfig, background, spacing, pattern, patternOpacity, className, containerClassName, announcementClassName, headingClassName, actionsClassName, }: HeroBadgeShadowOverlayProps): React.JSX.Element;
|
|
76
88
|
|
|
77
89
|
export { HeroBadgeShadowOverlay, type HeroBadgeShadowOverlayProps };
|
|
@@ -6,37 +6,12 @@ import { twMerge } from 'tailwind-merge';
|
|
|
6
6
|
import { Slot } from '@radix-ui/react-slot';
|
|
7
7
|
import { cva } from 'class-variance-authority';
|
|
8
8
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
9
|
+
import { Img } from '@page-speed/img';
|
|
9
10
|
|
|
10
11
|
// components/blocks/hero/hero-badge-shadow-overlay.tsx
|
|
11
12
|
function cn(...inputs) {
|
|
12
13
|
return twMerge(clsx(inputs));
|
|
13
14
|
}
|
|
14
|
-
function getNestedCardBg(parentBg, variant = "muted", options) {
|
|
15
|
-
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
16
|
-
if (isDark) {
|
|
17
|
-
switch (variant) {
|
|
18
|
-
case "muted":
|
|
19
|
-
return "bg-background";
|
|
20
|
-
case "card":
|
|
21
|
-
return "bg-card";
|
|
22
|
-
case "accent":
|
|
23
|
-
return "bg-accent";
|
|
24
|
-
case "subtle":
|
|
25
|
-
return "bg-background/50";
|
|
26
|
-
}
|
|
27
|
-
} else {
|
|
28
|
-
switch (variant) {
|
|
29
|
-
case "muted":
|
|
30
|
-
return "bg-muted";
|
|
31
|
-
case "card":
|
|
32
|
-
return "bg-card";
|
|
33
|
-
case "accent":
|
|
34
|
-
return "bg-accent";
|
|
35
|
-
case "subtle":
|
|
36
|
-
return "bg-muted/50";
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
15
|
var badgeVariants = cva(
|
|
41
16
|
"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",
|
|
42
17
|
{
|
|
@@ -970,17 +945,20 @@ Section.displayName = "Section";
|
|
|
970
945
|
function HeroBadgeShadowOverlay({
|
|
971
946
|
announcementBadge,
|
|
972
947
|
announcementText,
|
|
973
|
-
announcementHref
|
|
948
|
+
announcementHref,
|
|
949
|
+
description,
|
|
950
|
+
descriptionClassName,
|
|
974
951
|
heading,
|
|
975
952
|
actions,
|
|
976
953
|
actionsSlot,
|
|
977
|
-
backgroundImageUrl
|
|
954
|
+
backgroundImageUrl,
|
|
955
|
+
optixFlowConfig,
|
|
978
956
|
background,
|
|
979
|
-
spacing,
|
|
957
|
+
spacing = "py-0 md:py-0",
|
|
980
958
|
pattern,
|
|
981
959
|
patternOpacity,
|
|
982
960
|
className,
|
|
983
|
-
containerClassName,
|
|
961
|
+
containerClassName = "mx-0 w-screen px-0 sm:px-0 lg:px-0 max-w-screen relative z-10 min-h-screen h-full",
|
|
984
962
|
announcementClassName,
|
|
985
963
|
headingClassName,
|
|
986
964
|
actionsClassName
|
|
@@ -988,8 +966,15 @@ function HeroBadgeShadowOverlay({
|
|
|
988
966
|
const renderActions = useMemo(() => {
|
|
989
967
|
if (actionsSlot) return actionsSlot;
|
|
990
968
|
if (!actions || actions.length === 0) return null;
|
|
991
|
-
return actions.map((action, index) => {
|
|
992
|
-
const {
|
|
969
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex flex-col md:flex-row gap-4", actionsClassName), children: actions.map((action, index) => {
|
|
970
|
+
const {
|
|
971
|
+
label,
|
|
972
|
+
icon,
|
|
973
|
+
iconAfter,
|
|
974
|
+
children,
|
|
975
|
+
className: actionClassName,
|
|
976
|
+
...pressableProps
|
|
977
|
+
} = action;
|
|
993
978
|
return /* @__PURE__ */ jsx(
|
|
994
979
|
Pressable,
|
|
995
980
|
{
|
|
@@ -1004,8 +989,8 @@ function HeroBadgeShadowOverlay({
|
|
|
1004
989
|
},
|
|
1005
990
|
index
|
|
1006
991
|
);
|
|
1007
|
-
});
|
|
1008
|
-
}, [actionsSlot, actions]);
|
|
992
|
+
}) });
|
|
993
|
+
}, [actionsSlot, actions, actionsClassName]);
|
|
1009
994
|
return /* @__PURE__ */ jsxs(
|
|
1010
995
|
Section,
|
|
1011
996
|
{
|
|
@@ -1013,33 +998,45 @@ function HeroBadgeShadowOverlay({
|
|
|
1013
998
|
spacing,
|
|
1014
999
|
pattern,
|
|
1015
1000
|
patternOpacity,
|
|
1016
|
-
className: cn("relative", className),
|
|
1001
|
+
className: cn("relative flex items-center justify-center", className),
|
|
1002
|
+
containerClassName,
|
|
1017
1003
|
children: [
|
|
1018
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
1004
|
+
/* @__PURE__ */ jsx("div", { className: "flex flex-col min-h-screen h-full justify-center items-center", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-10 text-center px-6 max-full md:max-w-lg", children: [
|
|
1019
1005
|
(announcementBadge || announcementText) && /* @__PURE__ */ jsxs(
|
|
1020
1006
|
Pressable,
|
|
1021
1007
|
{
|
|
1022
1008
|
href: announcementHref,
|
|
1023
1009
|
className: cn(
|
|
1024
|
-
"flex items-center gap-2 rounded-full px-2 py-1 text-sm
|
|
1025
|
-
`hover:${getNestedCardBg(background)}`,
|
|
1010
|
+
"flex items-center gap-2 rounded-full px-2 py-1 text-sm bg-card text-card-foreground",
|
|
1026
1011
|
announcementClassName
|
|
1027
1012
|
),
|
|
1028
1013
|
children: [
|
|
1029
1014
|
announcementBadge && /* @__PURE__ */ jsx(Badge, { children: announcementBadge }),
|
|
1030
1015
|
announcementText,
|
|
1031
|
-
/* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-right", size: 16 })
|
|
1016
|
+
/* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-up-right", size: 16 })
|
|
1032
1017
|
]
|
|
1033
1018
|
}
|
|
1034
1019
|
),
|
|
1035
|
-
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
1036
|
-
|
|
1020
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
1021
|
+
"h1",
|
|
1022
|
+
{
|
|
1023
|
+
className: cn(
|
|
1024
|
+
"text-4xl font-semibold lg:text-8xl text-white text-balance text-shadow-xl text-center",
|
|
1025
|
+
headingClassName
|
|
1026
|
+
),
|
|
1027
|
+
children: heading
|
|
1028
|
+
}
|
|
1029
|
+
) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
|
|
1030
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-lg text-balance", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
|
|
1031
|
+
renderActions
|
|
1037
1032
|
] }) }),
|
|
1038
|
-
/* @__PURE__ */ jsx(
|
|
1039
|
-
|
|
1033
|
+
backgroundImageUrl && /* @__PURE__ */ jsx(
|
|
1034
|
+
Img,
|
|
1040
1035
|
{
|
|
1041
|
-
|
|
1042
|
-
|
|
1036
|
+
src: backgroundImageUrl,
|
|
1037
|
+
alt: "Background Image",
|
|
1038
|
+
className: "absolute inset-0 -z-10 h-full w-full object-cover brightness-50",
|
|
1039
|
+
optixFlowConfig
|
|
1043
1040
|
}
|
|
1044
1041
|
)
|
|
1045
1042
|
]
|
|
@@ -973,13 +973,12 @@ function HeroBillingPlatformLogos({
|
|
|
973
973
|
logosTagline,
|
|
974
974
|
logos,
|
|
975
975
|
logosSlot,
|
|
976
|
-
backgroundNoiseUrl = "https://cdn.ing/assets/i/r/286188/zrqcp9hynh3j7p2laihwzfbujgrl/noise.png",
|
|
977
976
|
background,
|
|
978
|
-
spacing,
|
|
977
|
+
spacing = "py-32 md:py-32",
|
|
979
978
|
pattern,
|
|
980
979
|
patternOpacity,
|
|
981
980
|
className,
|
|
982
|
-
containerClassName,
|
|
981
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
983
982
|
contentClassName,
|
|
984
983
|
headingClassName,
|
|
985
984
|
descriptionClassName,
|
|
@@ -1030,13 +1029,10 @@ function HeroBillingPlatformLogos({
|
|
|
1030
1029
|
spacing,
|
|
1031
1030
|
pattern,
|
|
1032
1031
|
patternOpacity,
|
|
1033
|
-
className: cn(
|
|
1034
|
-
|
|
1035
|
-
className
|
|
1036
|
-
),
|
|
1037
|
-
style: { backgroundImage: backgroundNoiseUrl ? `url('${backgroundNoiseUrl}')` : void 0 },
|
|
1032
|
+
className: cn("relative flex items-center justify-center dark font-sans", className),
|
|
1033
|
+
containerClassName,
|
|
1038
1034
|
children: [
|
|
1039
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1035
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 items-center justify-center gap-12 lg:grid-cols-[minmax(33.75rem,1fr)_1.5fr] lg:gap-8", children: [
|
|
1040
1036
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: contentClassName, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-3", children: [
|
|
1041
1037
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-4xl leading-tight md:text-5xl lg:text-[3.5rem]", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
|
|
1042
1038
|
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-5 text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
|
|
@@ -47,10 +47,6 @@ interface HeroBillingPlatformLogosProps {
|
|
|
47
47
|
* Custom slot for logos (overrides logos array)
|
|
48
48
|
*/
|
|
49
49
|
logosSlot?: React.ReactNode;
|
|
50
|
-
/**
|
|
51
|
-
* Background noise texture URL
|
|
52
|
-
*/
|
|
53
|
-
backgroundNoiseUrl?: string;
|
|
54
50
|
/**
|
|
55
51
|
* Background style for the section
|
|
56
52
|
*/
|
|
@@ -100,6 +96,6 @@ interface HeroBillingPlatformLogosProps {
|
|
|
100
96
|
*/
|
|
101
97
|
optixFlowConfig?: OptixFlowConfig;
|
|
102
98
|
}
|
|
103
|
-
declare function HeroBillingPlatformLogos({ heading, description, actions, actionsSlot, mainImage, overlayImages, imagesSlot, logosTagline, logos, logosSlot,
|
|
99
|
+
declare function HeroBillingPlatformLogos({ heading, description, actions, actionsSlot, mainImage, overlayImages, imagesSlot, logosTagline, logos, logosSlot, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, actionsClassName, logosClassName, optixFlowConfig, }: HeroBillingPlatformLogosProps): React.JSX.Element;
|
|
104
100
|
|
|
105
101
|
export { HeroBillingPlatformLogos, type HeroBillingPlatformLogosProps };
|
|
@@ -47,10 +47,6 @@ interface HeroBillingPlatformLogosProps {
|
|
|
47
47
|
* Custom slot for logos (overrides logos array)
|
|
48
48
|
*/
|
|
49
49
|
logosSlot?: React.ReactNode;
|
|
50
|
-
/**
|
|
51
|
-
* Background noise texture URL
|
|
52
|
-
*/
|
|
53
|
-
backgroundNoiseUrl?: string;
|
|
54
50
|
/**
|
|
55
51
|
* Background style for the section
|
|
56
52
|
*/
|
|
@@ -100,6 +96,6 @@ interface HeroBillingPlatformLogosProps {
|
|
|
100
96
|
*/
|
|
101
97
|
optixFlowConfig?: OptixFlowConfig;
|
|
102
98
|
}
|
|
103
|
-
declare function HeroBillingPlatformLogos({ heading, description, actions, actionsSlot, mainImage, overlayImages, imagesSlot, logosTagline, logos, logosSlot,
|
|
99
|
+
declare function HeroBillingPlatformLogos({ heading, description, actions, actionsSlot, mainImage, overlayImages, imagesSlot, logosTagline, logos, logosSlot, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, actionsClassName, logosClassName, optixFlowConfig, }: HeroBillingPlatformLogosProps): React.JSX.Element;
|
|
104
100
|
|
|
105
101
|
export { HeroBillingPlatformLogos, type HeroBillingPlatformLogosProps };
|
|
@@ -947,13 +947,12 @@ function HeroBillingPlatformLogos({
|
|
|
947
947
|
logosTagline,
|
|
948
948
|
logos,
|
|
949
949
|
logosSlot,
|
|
950
|
-
backgroundNoiseUrl = "https://cdn.ing/assets/i/r/286188/zrqcp9hynh3j7p2laihwzfbujgrl/noise.png",
|
|
951
950
|
background,
|
|
952
|
-
spacing,
|
|
951
|
+
spacing = "py-32 md:py-32",
|
|
953
952
|
pattern,
|
|
954
953
|
patternOpacity,
|
|
955
954
|
className,
|
|
956
|
-
containerClassName,
|
|
955
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
957
956
|
contentClassName,
|
|
958
957
|
headingClassName,
|
|
959
958
|
descriptionClassName,
|
|
@@ -1004,13 +1003,10 @@ function HeroBillingPlatformLogos({
|
|
|
1004
1003
|
spacing,
|
|
1005
1004
|
pattern,
|
|
1006
1005
|
patternOpacity,
|
|
1007
|
-
className: cn(
|
|
1008
|
-
|
|
1009
|
-
className
|
|
1010
|
-
),
|
|
1011
|
-
style: { backgroundImage: backgroundNoiseUrl ? `url('${backgroundNoiseUrl}')` : void 0 },
|
|
1006
|
+
className: cn("relative flex items-center justify-center dark font-sans", className),
|
|
1007
|
+
containerClassName,
|
|
1012
1008
|
children: [
|
|
1013
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
1009
|
+
/* @__PURE__ */ jsx("div", { className: "relative", children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 items-center justify-center gap-12 lg:grid-cols-[minmax(33.75rem,1fr)_1.5fr] lg:gap-8", children: [
|
|
1014
1010
|
/* @__PURE__ */ jsx("div", { className: contentClassName, children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3", children: [
|
|
1015
1011
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-4xl leading-tight md:text-5xl lg:text-[3.5rem]", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
|
|
1016
1012
|
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-5 text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
|