@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.
- package/dist/about-location-info-hero.cjs +26 -48
- package/dist/about-location-info-hero.d.cts +1 -1
- package/dist/about-location-info-hero.d.ts +1 -1
- package/dist/about-location-info-hero.js +26 -48
- package/dist/components.cjs +338 -133
- package/dist/components.js +338 -133
- package/dist/footer-accordion-social.cjs +3 -1
- package/dist/footer-accordion-social.js +3 -1
- package/dist/footer-animated-social.cjs +13 -2
- package/dist/footer-animated-social.js +13 -2
- package/dist/footer-background-card.cjs +239 -69
- package/dist/footer-background-card.d.cts +9 -1
- package/dist/footer-background-card.d.ts +9 -1
- package/dist/footer-background-card.js +240 -70
- package/dist/footer-brand-description.cjs +3 -1
- package/dist/footer-brand-description.js +3 -1
- package/dist/footer-brand-links-contact.cjs +3 -1
- package/dist/footer-brand-links-contact.js +3 -1
- package/dist/footer-comprehensive-links.cjs +3 -1
- package/dist/footer-comprehensive-links.js +3 -1
- package/dist/footer-contact-card.cjs +3 -1
- package/dist/footer-contact-card.js +3 -1
- package/dist/footer-cta-banner.cjs +3 -1
- package/dist/footer-cta-banner.js +3 -1
- package/dist/footer-cta-social.cjs +3 -1
- package/dist/footer-cta-social.js +3 -1
- package/dist/footer-info-cards-accordion.cjs +3 -1
- package/dist/footer-info-cards-accordion.js +3 -1
- package/dist/footer-nav-social.cjs +159 -62
- package/dist/footer-nav-social.d.cts +9 -1
- package/dist/footer-nav-social.d.ts +9 -1
- package/dist/footer-nav-social.js +159 -62
- package/dist/footer-newsletter-contact.cjs +3 -1
- package/dist/footer-newsletter-contact.js +3 -1
- package/dist/footer-newsletter-grid.cjs +3 -1
- package/dist/footer-newsletter-grid.js +3 -1
- package/dist/footer-newsletter-minimal.cjs +3 -1
- package/dist/footer-newsletter-minimal.js +3 -1
- package/dist/footer-simple-centered.cjs +1 -1
- package/dist/footer-simple-centered.d.cts +1 -1
- package/dist/footer-simple-centered.d.ts +1 -1
- package/dist/footer-simple-centered.js +1 -1
- package/dist/footer-social-apps.cjs +3 -1
- package/dist/footer-social-apps.js +3 -1
- package/dist/footer-social-newsletter.cjs +3 -1
- package/dist/footer-social-newsletter.js +3 -1
- package/dist/footer-split-image-accordion.cjs +3 -1
- package/dist/footer-split-image-accordion.js +3 -1
- package/dist/hero-centered-screenshot.cjs +46 -59
- package/dist/hero-centered-screenshot.d.cts +1 -1
- package/dist/hero-centered-screenshot.d.ts +1 -1
- package/dist/hero-centered-screenshot.js +46 -59
- package/dist/index.cjs +338 -133
- package/dist/index.js +338 -133
- package/dist/navbar-fullscreen-menu.cjs +3 -1
- package/dist/navbar-fullscreen-menu.js +3 -1
- package/dist/navbar-transparent-overlay.cjs +3 -1
- package/dist/navbar-transparent-overlay.js +3 -1
- package/dist/registry.cjs +410 -166
- package/dist/registry.js +410 -166
- package/dist/social-link-icon.cjs +3 -1
- package/dist/social-link-icon.js +3 -1
- 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,
|
|
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,
|
|
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
|
-
|
|
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 {
|
|
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
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
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(
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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 {
|
|
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
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
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(
|
|
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
|
}
|