@opensite/ui 2.8.6 → 2.8.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/about-developer-profile.cjs +17 -10
- package/dist/about-developer-profile.js +17 -10
- package/dist/article-chapters-author.cjs +17 -10
- package/dist/article-chapters-author.js +17 -10
- package/dist/carousel-animated-sections.cjs +79 -25
- package/dist/carousel-animated-sections.d.cts +7 -2
- package/dist/carousel-animated-sections.d.ts +7 -2
- package/dist/carousel-animated-sections.js +79 -25
- package/dist/carousel-gallery-thumbnails.cjs +79 -25
- package/dist/carousel-gallery-thumbnails.d.cts +7 -2
- package/dist/carousel-gallery-thumbnails.d.ts +7 -2
- package/dist/carousel-gallery-thumbnails.js +79 -25
- package/dist/carousel-icon-sidebar.cjs +5 -4
- package/dist/carousel-icon-sidebar.js +5 -4
- package/dist/carousel-portfolio-hero.cjs +79 -25
- package/dist/carousel-portfolio-hero.d.cts +7 -2
- package/dist/carousel-portfolio-hero.d.ts +7 -2
- package/dist/carousel-portfolio-hero.js +79 -25
- package/dist/components.cjs +81 -42
- package/dist/components.d.cts +29 -2
- package/dist/components.d.ts +29 -2
- package/dist/components.js +81 -43
- package/dist/contact-map.cjs +46 -32
- package/dist/contact-map.js +46 -32
- package/dist/footer-accordion-social.cjs +17 -10
- package/dist/footer-accordion-social.js +17 -10
- package/dist/footer-animated-social.cjs +17 -10
- package/dist/footer-animated-social.js +17 -10
- package/dist/footer-brand-description.cjs +17 -10
- package/dist/footer-brand-description.js +17 -10
- package/dist/footer-brand-links-contact.cjs +17 -10
- package/dist/footer-brand-links-contact.js +17 -10
- package/dist/footer-comprehensive-links.cjs +17 -10
- package/dist/footer-comprehensive-links.js +17 -10
- package/dist/footer-contact-card.cjs +17 -10
- package/dist/footer-contact-card.js +17 -10
- package/dist/footer-cta-banner.cjs +17 -10
- package/dist/footer-cta-banner.js +17 -10
- package/dist/footer-cta-social.cjs +17 -10
- package/dist/footer-cta-social.js +17 -10
- package/dist/footer-info-cards-accordion.cjs +17 -10
- package/dist/footer-info-cards-accordion.js +17 -10
- package/dist/footer-nav-social.cjs +17 -10
- package/dist/footer-nav-social.js +17 -10
- package/dist/footer-newsletter-contact.cjs +17 -10
- package/dist/footer-newsletter-contact.js +17 -10
- package/dist/footer-newsletter-grid.cjs +17 -10
- package/dist/footer-newsletter-grid.js +17 -10
- package/dist/footer-newsletter-minimal.cjs +17 -10
- package/dist/footer-newsletter-minimal.js +17 -10
- package/dist/footer-social-apps.cjs +17 -10
- package/dist/footer-social-apps.js +17 -10
- package/dist/footer-social-newsletter.cjs +17 -10
- package/dist/footer-social-newsletter.js +17 -10
- package/dist/footer-split-image-accordion.cjs +17 -10
- package/dist/footer-split-image-accordion.js +17 -10
- package/dist/geo-map.cjs +46 -32
- package/dist/geo-map.js +46 -32
- package/dist/hero-coming-soon-countdown.cjs +17 -10
- package/dist/hero-coming-soon-countdown.js +17 -10
- package/dist/hero-video-background-dark.cjs +78 -16
- package/dist/hero-video-background-dark.d.cts +7 -2
- package/dist/hero-video-background-dark.d.ts +7 -2
- package/dist/hero-video-background-dark.js +78 -16
- package/dist/index.cjs +81 -42
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +81 -43
- package/dist/link-page-bento-layout.cjs +17 -10
- package/dist/link-page-bento-layout.js +17 -10
- package/dist/link-page-grid-cards.cjs +17 -10
- package/dist/link-page-grid-cards.js +17 -10
- package/dist/link-page-minimal-profile.cjs +17 -10
- package/dist/link-page-minimal-profile.js +17 -10
- package/dist/link-page-newsletter-social.cjs +17 -10
- package/dist/link-page-newsletter-social.js +17 -10
- package/dist/link-tree-block.cjs +17 -10
- package/dist/link-tree-block.js +17 -10
- package/dist/navbar-fullscreen-menu.cjs +17 -10
- package/dist/navbar-fullscreen-menu.js +17 -10
- package/dist/navbar-transparent-overlay.cjs +17 -10
- package/dist/navbar-transparent-overlay.js +17 -10
- package/dist/registry.cjs +967 -620
- package/dist/registry.js +967 -620
- package/dist/social-link-icon.cjs +17 -10
- package/dist/social-link-icon.d.cts +5 -0
- package/dist/social-link-icon.d.ts +5 -0
- package/dist/social-link-icon.js +17 -10
- package/dist/testimonials-bento-grid.cjs +1 -1
- package/dist/testimonials-bento-grid.js +1 -1
- package/dist/testimonials-carousel-image.cjs +16 -2
- package/dist/testimonials-carousel-image.d.cts +5 -1
- package/dist/testimonials-carousel-image.d.ts +5 -1
- package/dist/testimonials-carousel-image.js +16 -2
- package/dist/testimonials-centered-avatars.cjs +1 -1
- package/dist/testimonials-centered-avatars.js +1 -1
- package/dist/testimonials-grid-add-review.cjs +51 -29
- package/dist/testimonials-grid-add-review.js +51 -29
- package/dist/testimonials-images-helpful.cjs +181 -160
- package/dist/testimonials-images-helpful.d.cts +9 -1
- package/dist/testimonials-images-helpful.d.ts +9 -1
- package/dist/testimonials-images-helpful.js +181 -159
- package/dist/testimonials-large-quote.cjs +74 -43
- package/dist/testimonials-large-quote.d.cts +5 -1
- package/dist/testimonials-large-quote.d.ts +5 -1
- package/dist/testimonials-large-quote.js +74 -43
- package/dist/testimonials-list-verified.cjs +63 -44
- package/dist/testimonials-list-verified.d.cts +5 -1
- package/dist/testimonials-list-verified.d.ts +5 -1
- package/dist/testimonials-list-verified.js +64 -45
- package/dist/testimonials-logo-cards.cjs +55 -25
- package/dist/testimonials-logo-cards.d.cts +5 -1
- package/dist/testimonials-logo-cards.d.ts +5 -1
- package/dist/testimonials-logo-cards.js +55 -25
- package/dist/testimonials-marquee.cjs +440 -28
- package/dist/testimonials-marquee.js +441 -26
- package/dist/testimonials-masonry-grid.cjs +486 -69
- package/dist/testimonials-masonry-grid.d.cts +5 -1
- package/dist/testimonials-masonry-grid.d.ts +5 -1
- package/dist/testimonials-masonry-grid.js +483 -63
- package/dist/testimonials-mini-dividers.cjs +119 -83
- package/dist/testimonials-mini-dividers.d.cts +10 -6
- package/dist/testimonials-mini-dividers.d.ts +10 -6
- package/dist/testimonials-mini-dividers.js +119 -83
- package/dist/testimonials-minimal-numbered.cjs +9 -7
- package/dist/testimonials-minimal-numbered.d.cts +5 -1
- package/dist/testimonials-minimal-numbered.d.ts +5 -1
- package/dist/testimonials-minimal-numbered.js +9 -7
- package/dist/testimonials-parallax-number.cjs +14 -9
- package/dist/testimonials-parallax-number.js +14 -9
- package/dist/testimonials-scrolling-columns.cjs +100 -21
- package/dist/testimonials-scrolling-columns.js +100 -21
- package/dist/testimonials-simple-grid.cjs +22 -5
- package/dist/testimonials-simple-grid.js +22 -5
- package/dist/testimonials-slider-minimal.cjs +1 -1
- package/dist/testimonials-slider-minimal.js +1 -1
- package/dist/testimonials-stats-header.cjs +528 -87
- package/dist/testimonials-stats-header.d.cts +39 -3
- package/dist/testimonials-stats-header.d.ts +39 -3
- package/dist/testimonials-stats-header.js +523 -82
- package/dist/testimonials-twitter-cards.cjs +20 -12
- package/dist/testimonials-twitter-cards.js +20 -12
- package/package.json +11 -1
package/dist/geo-map.js
CHANGED
|
@@ -542,41 +542,55 @@ function MarkerMediaCarousel({
|
|
|
542
542
|
React4.useEffect(() => {
|
|
543
543
|
setActiveIndex(0);
|
|
544
544
|
}, [mediaResetKey]);
|
|
545
|
-
const activeMediaItem = mediaItems[activeItemIndex];
|
|
546
|
-
const mediaType = resolveMediaType(activeMediaItem);
|
|
547
545
|
return /* @__PURE__ */ jsxs("div", { className: "relative border-b border-border/60 bg-muted/40", children: [
|
|
548
|
-
/* @__PURE__ */ jsx("div", { className: "relative
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
546
|
+
/* @__PURE__ */ jsx("div", { className: "relative aspect-video w-full overflow-hidden", children: mediaItems.map((item, index) => {
|
|
547
|
+
const isActive = index === activeItemIndex;
|
|
548
|
+
const mediaType = resolveMediaType(item);
|
|
549
|
+
return /* @__PURE__ */ jsx(
|
|
550
|
+
"div",
|
|
551
|
+
{
|
|
552
|
+
"aria-hidden": !isActive,
|
|
553
|
+
className: cn(
|
|
554
|
+
"absolute inset-0 transition-opacity duration-500 ease-in-out",
|
|
555
|
+
isActive ? "opacity-100 z-[1]" : "opacity-0 z-0 pointer-events-none"
|
|
556
|
+
),
|
|
557
|
+
children: mediaType === "video" ? /* @__PURE__ */ jsx(
|
|
558
|
+
"video",
|
|
559
|
+
{
|
|
560
|
+
className: "h-full w-full object-cover",
|
|
561
|
+
controls: isActive,
|
|
562
|
+
preload: "metadata",
|
|
563
|
+
poster: item.poster,
|
|
564
|
+
tabIndex: isActive ? 0 : -1,
|
|
565
|
+
children: /* @__PURE__ */ jsx("source", { src: item.src })
|
|
566
|
+
}
|
|
567
|
+
) : /* @__PURE__ */ jsx(
|
|
568
|
+
Img,
|
|
569
|
+
{
|
|
570
|
+
src: item.src,
|
|
571
|
+
alt: item.alt ?? "Map marker media",
|
|
572
|
+
className: "h-full w-full object-cover",
|
|
573
|
+
loading: "eager",
|
|
574
|
+
optixFlowConfig
|
|
575
|
+
}
|
|
576
|
+
)
|
|
577
|
+
},
|
|
578
|
+
normalizeId(item.id, `media-slide-${index}`)
|
|
579
|
+
);
|
|
580
|
+
}) }),
|
|
567
581
|
totalItems > 1 ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
568
582
|
/* @__PURE__ */ jsx(
|
|
569
583
|
"button",
|
|
570
584
|
{
|
|
571
585
|
type: "button",
|
|
572
586
|
"aria-label": "Show previous media",
|
|
573
|
-
className: "absolute left-
|
|
587
|
+
className: "absolute left-4 top-1/2 inline-flex size-10 -translate-y-1/2 items-center justify-center rounded-2xl bg-card text-card-foreground shadow-lg border-4 border-black hover:border-white hover:bg-black hover:text-white transition-all duration-500 z-[2]",
|
|
574
588
|
onClick: () => {
|
|
575
589
|
setActiveIndex(
|
|
576
590
|
(current) => (current - 1 + totalItems) % totalItems
|
|
577
591
|
);
|
|
578
592
|
},
|
|
579
|
-
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-left", size:
|
|
593
|
+
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-left", size: 18 })
|
|
580
594
|
}
|
|
581
595
|
),
|
|
582
596
|
/* @__PURE__ */ jsx(
|
|
@@ -584,20 +598,20 @@ function MarkerMediaCarousel({
|
|
|
584
598
|
{
|
|
585
599
|
type: "button",
|
|
586
600
|
"aria-label": "Show next media",
|
|
587
|
-
className: "absolute right-
|
|
601
|
+
className: "absolute right-4 top-1/2 inline-flex size-10 -translate-y-1/2 items-center justify-center rounded-2xl bg-card text-card-foreground shadow-lg border-4 border-black hover:border-white hover:bg-black hover:text-white transition-all duration-500 z-[2]",
|
|
588
602
|
onClick: () => {
|
|
589
603
|
setActiveIndex((current) => (current + 1) % totalItems);
|
|
590
604
|
},
|
|
591
|
-
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-right", size:
|
|
605
|
+
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-right", size: 18 })
|
|
592
606
|
}
|
|
593
607
|
),
|
|
594
|
-
/* @__PURE__ */ jsx("div", { className: "absolute bottom-2 left-1/2 flex -translate-x-1/2 items-center gap-1.5", children: mediaItems.map((item, index) => /* @__PURE__ */ jsx(
|
|
608
|
+
/* @__PURE__ */ jsx("div", { className: "absolute bottom-2 left-1/2 flex -translate-x-1/2 items-center gap-1.5 z-[2]", children: mediaItems.map((item, index) => /* @__PURE__ */ jsx(
|
|
595
609
|
"button",
|
|
596
610
|
{
|
|
597
611
|
type: "button",
|
|
598
612
|
"aria-label": `Show media item ${index + 1}`,
|
|
599
613
|
className: cn(
|
|
600
|
-
"h-2 rounded-full transition-all",
|
|
614
|
+
"h-2 rounded-full transition-all duration-300",
|
|
601
615
|
index === activeItemIndex ? "w-6 bg-card" : "w-2 bg-card opacity-50 hover:opacity-100"
|
|
602
616
|
),
|
|
603
617
|
onClick: () => setActiveIndex(index)
|
|
@@ -928,9 +942,9 @@ function GeoMap({
|
|
|
928
942
|
{
|
|
929
943
|
type: "button",
|
|
930
944
|
"aria-label": "Close marker details",
|
|
931
|
-
className: "flex size-
|
|
945
|
+
className: "\n flex size-12 items-center justify-center rounded-bl-lg rounded-br-0 rounded-t-0 bg-black text-white transition-all duration-500 absolute top-0 right-0 z-10 cursor-pointer ring-4 ring-white\n",
|
|
932
946
|
onClick: clearSelection,
|
|
933
|
-
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", size:
|
|
947
|
+
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", size: 20 })
|
|
934
948
|
}
|
|
935
949
|
),
|
|
936
950
|
markerMediaItems.length > 0 ? /* @__PURE__ */ jsx(
|
|
@@ -952,7 +966,7 @@ function GeoMap({
|
|
|
952
966
|
{
|
|
953
967
|
name: "lucide:map-pin",
|
|
954
968
|
className: "opacity-50",
|
|
955
|
-
size:
|
|
969
|
+
size: 18
|
|
956
970
|
}
|
|
957
971
|
),
|
|
958
972
|
typeof selectedMarker.locationLine === "string" ? /* @__PURE__ */ jsx(
|
|
@@ -974,7 +988,7 @@ function GeoMap({
|
|
|
974
988
|
{
|
|
975
989
|
name: "lucide:clock",
|
|
976
990
|
className: "opacity-50",
|
|
977
|
-
size:
|
|
991
|
+
size: 18
|
|
978
992
|
}
|
|
979
993
|
),
|
|
980
994
|
typeof selectedMarker.hoursLine === "string" ? /* @__PURE__ */ jsx("div", { className: "font-medium", children: selectedMarker.hoursLine }) : selectedMarker.hoursLine
|
|
@@ -1002,7 +1016,7 @@ function GeoMap({
|
|
|
1002
1016
|
"aria-label": "Close cluster details",
|
|
1003
1017
|
className: "flex size-8 items-center justify-center rounded-full border border-border bg-card text-card-foreground transition hover:bg-muted hover:text-foreground absolute top-2 right-2 z-10",
|
|
1004
1018
|
onClick: clearSelection,
|
|
1005
|
-
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", size:
|
|
1019
|
+
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", size: 20 })
|
|
1006
1020
|
}
|
|
1007
1021
|
),
|
|
1008
1022
|
/* @__PURE__ */ jsx("div", { className: "mb-3 flex items-start justify-between gap-3", children: /* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
|
|
@@ -914,6 +914,7 @@ var SocialLinkIcon = React__namespace.forwardRef(
|
|
|
914
914
|
iconClassName,
|
|
915
915
|
className,
|
|
916
916
|
iconNameOverride,
|
|
917
|
+
iconOnly = false,
|
|
917
918
|
...pressableProps
|
|
918
919
|
}, ref) => {
|
|
919
920
|
const platform = usePlatformFromUrl.usePlatformFromUrl(href);
|
|
@@ -926,6 +927,21 @@ var SocialLinkIcon = React__namespace.forwardRef(
|
|
|
926
927
|
const accessibleLabel = React__namespace.useMemo(() => {
|
|
927
928
|
return label || platformName;
|
|
928
929
|
}, [label, platformName]);
|
|
930
|
+
const icon = React__namespace.useMemo(() => {
|
|
931
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
932
|
+
DynamicIcon,
|
|
933
|
+
{
|
|
934
|
+
name: iconName,
|
|
935
|
+
size: iconSize,
|
|
936
|
+
color: iconColor,
|
|
937
|
+
className: iconClassName,
|
|
938
|
+
alt: accessibleLabel
|
|
939
|
+
}
|
|
940
|
+
);
|
|
941
|
+
}, [iconName, iconSize, iconColor, iconClassName, accessibleLabel]);
|
|
942
|
+
if (iconOnly) {
|
|
943
|
+
return icon;
|
|
944
|
+
}
|
|
929
945
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
930
946
|
Pressable,
|
|
931
947
|
{
|
|
@@ -937,16 +953,7 @@ var SocialLinkIcon = React__namespace.forwardRef(
|
|
|
937
953
|
className
|
|
938
954
|
),
|
|
939
955
|
...pressableProps,
|
|
940
|
-
children:
|
|
941
|
-
DynamicIcon,
|
|
942
|
-
{
|
|
943
|
-
name: iconName,
|
|
944
|
-
size: iconSize,
|
|
945
|
-
color: iconColor,
|
|
946
|
-
className: iconClassName,
|
|
947
|
-
alt: accessibleLabel
|
|
948
|
-
}
|
|
949
|
-
)
|
|
956
|
+
children: icon
|
|
950
957
|
}
|
|
951
958
|
);
|
|
952
959
|
}
|
|
@@ -893,6 +893,7 @@ var SocialLinkIcon = React.forwardRef(
|
|
|
893
893
|
iconClassName,
|
|
894
894
|
className,
|
|
895
895
|
iconNameOverride,
|
|
896
|
+
iconOnly = false,
|
|
896
897
|
...pressableProps
|
|
897
898
|
}, ref) => {
|
|
898
899
|
const platform = usePlatformFromUrl(href);
|
|
@@ -905,6 +906,21 @@ var SocialLinkIcon = React.forwardRef(
|
|
|
905
906
|
const accessibleLabel = React.useMemo(() => {
|
|
906
907
|
return label || platformName;
|
|
907
908
|
}, [label, platformName]);
|
|
909
|
+
const icon = React.useMemo(() => {
|
|
910
|
+
return /* @__PURE__ */ jsx(
|
|
911
|
+
DynamicIcon,
|
|
912
|
+
{
|
|
913
|
+
name: iconName,
|
|
914
|
+
size: iconSize,
|
|
915
|
+
color: iconColor,
|
|
916
|
+
className: iconClassName,
|
|
917
|
+
alt: accessibleLabel
|
|
918
|
+
}
|
|
919
|
+
);
|
|
920
|
+
}, [iconName, iconSize, iconColor, iconClassName, accessibleLabel]);
|
|
921
|
+
if (iconOnly) {
|
|
922
|
+
return icon;
|
|
923
|
+
}
|
|
908
924
|
return /* @__PURE__ */ jsx(
|
|
909
925
|
Pressable,
|
|
910
926
|
{
|
|
@@ -916,16 +932,7 @@ var SocialLinkIcon = React.forwardRef(
|
|
|
916
932
|
className
|
|
917
933
|
),
|
|
918
934
|
...pressableProps,
|
|
919
|
-
children:
|
|
920
|
-
DynamicIcon,
|
|
921
|
-
{
|
|
922
|
-
name: iconName,
|
|
923
|
-
size: iconSize,
|
|
924
|
-
color: iconColor,
|
|
925
|
-
className: iconClassName,
|
|
926
|
-
alt: accessibleLabel
|
|
927
|
-
}
|
|
928
|
-
)
|
|
935
|
+
children: icon
|
|
929
936
|
}
|
|
930
937
|
);
|
|
931
938
|
}
|
|
@@ -408,6 +408,67 @@ var Section = React3__namespace.default.forwardRef(
|
|
|
408
408
|
}
|
|
409
409
|
);
|
|
410
410
|
Section.displayName = "Section";
|
|
411
|
+
var DIRECTION_STYLES = {
|
|
412
|
+
"bottom-to-top": "bg-linear-to-t",
|
|
413
|
+
"top-to-bottom": "bg-linear-to-b",
|
|
414
|
+
"left-to-right": "bg-linear-to-r",
|
|
415
|
+
"right-to-left": "bg-linear-to-l",
|
|
416
|
+
"bottom-left-to-top-right": "bg-linear-to-tr",
|
|
417
|
+
"bottom-right-to-top-left": "bg-linear-to-tl",
|
|
418
|
+
"top-left-to-bottom-right": "bg-linear-to-br",
|
|
419
|
+
"top-right-to-bottom-left": "bg-linear-to-bl"
|
|
420
|
+
};
|
|
421
|
+
var INTENSITY_STOPS = {
|
|
422
|
+
low: "from-black/40 via-black/20 to-transparent",
|
|
423
|
+
default: "from-black/70 via-black/35 to-transparent",
|
|
424
|
+
high: "from-black/85 via-black/50 to-transparent",
|
|
425
|
+
"very-high": "from-black/95 via-black/60 to-black/20"
|
|
426
|
+
};
|
|
427
|
+
var RADIAL_INTENSITY = {
|
|
428
|
+
low: {
|
|
429
|
+
background: "radial-gradient(ellipse at center, rgba(0,0,0,0.40) 0%, rgba(0,0,0,0.20) 50%, transparent 100%)"
|
|
430
|
+
},
|
|
431
|
+
default: {
|
|
432
|
+
background: "radial-gradient(ellipse at center, rgba(0,0,0,0.70) 0%, rgba(0,0,0,0.35) 50%, transparent 100%)"
|
|
433
|
+
},
|
|
434
|
+
high: {
|
|
435
|
+
background: "radial-gradient(ellipse at center, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.50) 50%, transparent 100%)"
|
|
436
|
+
},
|
|
437
|
+
"very-high": {
|
|
438
|
+
background: "radial-gradient(ellipse at center, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.60) 50%, rgba(0,0,0,0.20) 100%)"
|
|
439
|
+
}
|
|
440
|
+
};
|
|
441
|
+
function GradientOverlay({
|
|
442
|
+
direction = "bottom-to-top",
|
|
443
|
+
intensity = "default",
|
|
444
|
+
className,
|
|
445
|
+
style,
|
|
446
|
+
...props
|
|
447
|
+
}) {
|
|
448
|
+
if (direction === "radial-center") {
|
|
449
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
450
|
+
"div",
|
|
451
|
+
{
|
|
452
|
+
className: cn("absolute inset-0", className),
|
|
453
|
+
style: { ...RADIAL_INTENSITY[intensity], ...style },
|
|
454
|
+
...props
|
|
455
|
+
}
|
|
456
|
+
);
|
|
457
|
+
}
|
|
458
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
459
|
+
"div",
|
|
460
|
+
{
|
|
461
|
+
className: cn(
|
|
462
|
+
"absolute inset-0",
|
|
463
|
+
DIRECTION_STYLES[direction],
|
|
464
|
+
INTENSITY_STOPS[intensity],
|
|
465
|
+
className
|
|
466
|
+
),
|
|
467
|
+
style,
|
|
468
|
+
...props
|
|
469
|
+
}
|
|
470
|
+
);
|
|
471
|
+
}
|
|
411
472
|
function normalizePhoneNumber(input) {
|
|
412
473
|
const trimmed = input.trim();
|
|
413
474
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -932,7 +993,8 @@ function HeroVideoBackgroundDark({
|
|
|
932
993
|
videoSrc,
|
|
933
994
|
videoSlot,
|
|
934
995
|
background,
|
|
935
|
-
videoBrightness
|
|
996
|
+
videoBrightness,
|
|
997
|
+
videoOverlayIntensity = "high",
|
|
936
998
|
spacing = "py-0 md:py-0",
|
|
937
999
|
pattern,
|
|
938
1000
|
patternOpacity,
|
|
@@ -944,21 +1006,21 @@ function HeroVideoBackgroundDark({
|
|
|
944
1006
|
}) {
|
|
945
1007
|
const renderVideo = React3.useMemo(() => {
|
|
946
1008
|
if (videoSlot) return videoSlot;
|
|
947
|
-
return /* @__PURE__ */ jsxRuntime.
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
"absolute top-0 left-0 size-full object-cover",
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
}
|
|
960
|
-
);
|
|
961
|
-
}, [videoSlot, videoSrc,
|
|
1009
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1010
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1011
|
+
"video",
|
|
1012
|
+
{
|
|
1013
|
+
loop: true,
|
|
1014
|
+
playsInline: true,
|
|
1015
|
+
src: videoSrc,
|
|
1016
|
+
className: "absolute top-0 left-0 size-full object-cover",
|
|
1017
|
+
autoPlay: true,
|
|
1018
|
+
muted: true
|
|
1019
|
+
}
|
|
1020
|
+
),
|
|
1021
|
+
/* @__PURE__ */ jsxRuntime.jsx(GradientOverlay, { intensity: videoOverlayIntensity })
|
|
1022
|
+
] });
|
|
1023
|
+
}, [videoSlot, videoSrc, videoOverlayIntensity]);
|
|
962
1024
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
963
1025
|
Section,
|
|
964
1026
|
{
|
|
@@ -41,7 +41,12 @@ interface HeroVideoBackgroundDarkProps {
|
|
|
41
41
|
*/
|
|
42
42
|
videoSlot?: React.ReactNode;
|
|
43
43
|
/**
|
|
44
|
-
*
|
|
44
|
+
* Intensity of the gradient overlay on the video
|
|
45
|
+
* @default "high"
|
|
46
|
+
*/
|
|
47
|
+
videoOverlayIntensity?: "low" | "default" | "high" | "very-high";
|
|
48
|
+
/**
|
|
49
|
+
* Granular control of brightness for video (deprecated - prefer videoOverlayIntensity)
|
|
45
50
|
* @default "50"
|
|
46
51
|
*/
|
|
47
52
|
videoBrightness?: "10" | "20" | "25" | "30" | "40" | "50" | "75" | "100";
|
|
@@ -82,6 +87,6 @@ interface HeroVideoBackgroundDarkProps {
|
|
|
82
87
|
*/
|
|
83
88
|
descriptionClassName?: string;
|
|
84
89
|
}
|
|
85
|
-
declare function HeroVideoBackgroundDark({ badgeText, heading, description, actions, actionsSlot, actionsClassName, videoSrc, videoSlot, background, videoBrightness, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, }: HeroVideoBackgroundDarkProps): React.JSX.Element;
|
|
90
|
+
declare function HeroVideoBackgroundDark({ badgeText, heading, description, actions, actionsSlot, actionsClassName, videoSrc, videoSlot, background, videoBrightness, videoOverlayIntensity, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, }: HeroVideoBackgroundDarkProps): React.JSX.Element;
|
|
86
91
|
|
|
87
92
|
export { HeroVideoBackgroundDark, type HeroVideoBackgroundDarkProps };
|
|
@@ -41,7 +41,12 @@ interface HeroVideoBackgroundDarkProps {
|
|
|
41
41
|
*/
|
|
42
42
|
videoSlot?: React.ReactNode;
|
|
43
43
|
/**
|
|
44
|
-
*
|
|
44
|
+
* Intensity of the gradient overlay on the video
|
|
45
|
+
* @default "high"
|
|
46
|
+
*/
|
|
47
|
+
videoOverlayIntensity?: "low" | "default" | "high" | "very-high";
|
|
48
|
+
/**
|
|
49
|
+
* Granular control of brightness for video (deprecated - prefer videoOverlayIntensity)
|
|
45
50
|
* @default "50"
|
|
46
51
|
*/
|
|
47
52
|
videoBrightness?: "10" | "20" | "25" | "30" | "40" | "50" | "75" | "100";
|
|
@@ -82,6 +87,6 @@ interface HeroVideoBackgroundDarkProps {
|
|
|
82
87
|
*/
|
|
83
88
|
descriptionClassName?: string;
|
|
84
89
|
}
|
|
85
|
-
declare function HeroVideoBackgroundDark({ badgeText, heading, description, actions, actionsSlot, actionsClassName, videoSrc, videoSlot, background, videoBrightness, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, }: HeroVideoBackgroundDarkProps): React.JSX.Element;
|
|
90
|
+
declare function HeroVideoBackgroundDark({ badgeText, heading, description, actions, actionsSlot, actionsClassName, videoSrc, videoSlot, background, videoBrightness, videoOverlayIntensity, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, }: HeroVideoBackgroundDarkProps): React.JSX.Element;
|
|
86
91
|
|
|
87
92
|
export { HeroVideoBackgroundDark, type HeroVideoBackgroundDarkProps };
|
|
@@ -387,6 +387,67 @@ var Section = React3__default.forwardRef(
|
|
|
387
387
|
}
|
|
388
388
|
);
|
|
389
389
|
Section.displayName = "Section";
|
|
390
|
+
var DIRECTION_STYLES = {
|
|
391
|
+
"bottom-to-top": "bg-linear-to-t",
|
|
392
|
+
"top-to-bottom": "bg-linear-to-b",
|
|
393
|
+
"left-to-right": "bg-linear-to-r",
|
|
394
|
+
"right-to-left": "bg-linear-to-l",
|
|
395
|
+
"bottom-left-to-top-right": "bg-linear-to-tr",
|
|
396
|
+
"bottom-right-to-top-left": "bg-linear-to-tl",
|
|
397
|
+
"top-left-to-bottom-right": "bg-linear-to-br",
|
|
398
|
+
"top-right-to-bottom-left": "bg-linear-to-bl"
|
|
399
|
+
};
|
|
400
|
+
var INTENSITY_STOPS = {
|
|
401
|
+
low: "from-black/40 via-black/20 to-transparent",
|
|
402
|
+
default: "from-black/70 via-black/35 to-transparent",
|
|
403
|
+
high: "from-black/85 via-black/50 to-transparent",
|
|
404
|
+
"very-high": "from-black/95 via-black/60 to-black/20"
|
|
405
|
+
};
|
|
406
|
+
var RADIAL_INTENSITY = {
|
|
407
|
+
low: {
|
|
408
|
+
background: "radial-gradient(ellipse at center, rgba(0,0,0,0.40) 0%, rgba(0,0,0,0.20) 50%, transparent 100%)"
|
|
409
|
+
},
|
|
410
|
+
default: {
|
|
411
|
+
background: "radial-gradient(ellipse at center, rgba(0,0,0,0.70) 0%, rgba(0,0,0,0.35) 50%, transparent 100%)"
|
|
412
|
+
},
|
|
413
|
+
high: {
|
|
414
|
+
background: "radial-gradient(ellipse at center, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.50) 50%, transparent 100%)"
|
|
415
|
+
},
|
|
416
|
+
"very-high": {
|
|
417
|
+
background: "radial-gradient(ellipse at center, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.60) 50%, rgba(0,0,0,0.20) 100%)"
|
|
418
|
+
}
|
|
419
|
+
};
|
|
420
|
+
function GradientOverlay({
|
|
421
|
+
direction = "bottom-to-top",
|
|
422
|
+
intensity = "default",
|
|
423
|
+
className,
|
|
424
|
+
style,
|
|
425
|
+
...props
|
|
426
|
+
}) {
|
|
427
|
+
if (direction === "radial-center") {
|
|
428
|
+
return /* @__PURE__ */ jsx(
|
|
429
|
+
"div",
|
|
430
|
+
{
|
|
431
|
+
className: cn("absolute inset-0", className),
|
|
432
|
+
style: { ...RADIAL_INTENSITY[intensity], ...style },
|
|
433
|
+
...props
|
|
434
|
+
}
|
|
435
|
+
);
|
|
436
|
+
}
|
|
437
|
+
return /* @__PURE__ */ jsx(
|
|
438
|
+
"div",
|
|
439
|
+
{
|
|
440
|
+
className: cn(
|
|
441
|
+
"absolute inset-0",
|
|
442
|
+
DIRECTION_STYLES[direction],
|
|
443
|
+
INTENSITY_STOPS[intensity],
|
|
444
|
+
className
|
|
445
|
+
),
|
|
446
|
+
style,
|
|
447
|
+
...props
|
|
448
|
+
}
|
|
449
|
+
);
|
|
450
|
+
}
|
|
390
451
|
function normalizePhoneNumber(input) {
|
|
391
452
|
const trimmed = input.trim();
|
|
392
453
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -911,7 +972,8 @@ function HeroVideoBackgroundDark({
|
|
|
911
972
|
videoSrc,
|
|
912
973
|
videoSlot,
|
|
913
974
|
background,
|
|
914
|
-
videoBrightness
|
|
975
|
+
videoBrightness,
|
|
976
|
+
videoOverlayIntensity = "high",
|
|
915
977
|
spacing = "py-0 md:py-0",
|
|
916
978
|
pattern,
|
|
917
979
|
patternOpacity,
|
|
@@ -923,21 +985,21 @@ function HeroVideoBackgroundDark({
|
|
|
923
985
|
}) {
|
|
924
986
|
const renderVideo = useMemo(() => {
|
|
925
987
|
if (videoSlot) return videoSlot;
|
|
926
|
-
return /* @__PURE__ */
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
"absolute top-0 left-0 size-full object-cover",
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
}
|
|
939
|
-
);
|
|
940
|
-
}, [videoSlot, videoSrc,
|
|
988
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
989
|
+
/* @__PURE__ */ jsx(
|
|
990
|
+
"video",
|
|
991
|
+
{
|
|
992
|
+
loop: true,
|
|
993
|
+
playsInline: true,
|
|
994
|
+
src: videoSrc,
|
|
995
|
+
className: "absolute top-0 left-0 size-full object-cover",
|
|
996
|
+
autoPlay: true,
|
|
997
|
+
muted: true
|
|
998
|
+
}
|
|
999
|
+
),
|
|
1000
|
+
/* @__PURE__ */ jsx(GradientOverlay, { intensity: videoOverlayIntensity })
|
|
1001
|
+
] });
|
|
1002
|
+
}, [videoSlot, videoSrc, videoOverlayIntensity]);
|
|
941
1003
|
return /* @__PURE__ */ jsx(
|
|
942
1004
|
Section,
|
|
943
1005
|
{
|