@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
|
@@ -117,10 +117,15 @@ interface CarouselGalleryThumbnailsProps {
|
|
|
117
117
|
*/
|
|
118
118
|
patternOpacity?: number;
|
|
119
119
|
/**
|
|
120
|
-
*
|
|
120
|
+
* Intensity of the gradient overlay on slide images
|
|
121
|
+
* @default "default"
|
|
122
|
+
*/
|
|
123
|
+
slideMediaOverlayIntensity?: "low" | "default" | "high" | "very-high";
|
|
124
|
+
/**
|
|
125
|
+
* Brightness level for slide images (deprecated - prefer slideMediaOverlayIntensity)
|
|
121
126
|
*/
|
|
122
127
|
slideMediaBrightness?: "10" | "20" | "25" | "30" | "40" | "50" | "75" | "100";
|
|
123
128
|
}
|
|
124
|
-
declare function CarouselGalleryThumbnails({ images, imagesSlot, autoPlay, autoPlayInterval, showThumbnails, className, containerClassName, slideClassName, navigationClassName, captionClassName, thumbnailsClassName, thumbnailClassName, optixFlowConfig, background, spacing, pattern, patternOpacity, slideMediaBrightness, }: CarouselGalleryThumbnailsProps): React.JSX.Element;
|
|
129
|
+
declare function CarouselGalleryThumbnails({ images, imagesSlot, autoPlay, autoPlayInterval, showThumbnails, className, containerClassName, slideClassName, navigationClassName, captionClassName, thumbnailsClassName, thumbnailClassName, optixFlowConfig, background, spacing, pattern, patternOpacity, slideMediaBrightness, slideMediaOverlayIntensity, }: CarouselGalleryThumbnailsProps): React.JSX.Element;
|
|
125
130
|
|
|
126
131
|
export { CarouselGalleryThumbnails, type CarouselGalleryThumbnailsProps, type GalleryImage };
|
|
@@ -12,16 +12,6 @@ import { Img } from '@page-speed/img';
|
|
|
12
12
|
function cn(...inputs) {
|
|
13
13
|
return twMerge(clsx(inputs));
|
|
14
14
|
}
|
|
15
|
-
var BRIGHTNESS_CLASS_MAP = {
|
|
16
|
-
"10": "brightness-[.1]",
|
|
17
|
-
"20": "brightness-[.2]",
|
|
18
|
-
"25": "brightness-[.25]",
|
|
19
|
-
"30": "brightness-[.3]",
|
|
20
|
-
"40": "brightness-[.4]",
|
|
21
|
-
"50": "brightness-50",
|
|
22
|
-
"75": "brightness-75",
|
|
23
|
-
"100": "brightness-100"
|
|
24
|
-
};
|
|
25
15
|
function normalizePhoneNumber(input) {
|
|
26
16
|
const trimmed = input.trim();
|
|
27
17
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -448,6 +438,67 @@ var DynamicIcon = React.memo(function DynamicIcon2({
|
|
|
448
438
|
return /* @__PURE__ */ jsx(Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
|
|
449
439
|
});
|
|
450
440
|
DynamicIcon.displayName = "DynamicIcon";
|
|
441
|
+
var DIRECTION_STYLES = {
|
|
442
|
+
"bottom-to-top": "bg-linear-to-t",
|
|
443
|
+
"top-to-bottom": "bg-linear-to-b",
|
|
444
|
+
"left-to-right": "bg-linear-to-r",
|
|
445
|
+
"right-to-left": "bg-linear-to-l",
|
|
446
|
+
"bottom-left-to-top-right": "bg-linear-to-tr",
|
|
447
|
+
"bottom-right-to-top-left": "bg-linear-to-tl",
|
|
448
|
+
"top-left-to-bottom-right": "bg-linear-to-br",
|
|
449
|
+
"top-right-to-bottom-left": "bg-linear-to-bl"
|
|
450
|
+
};
|
|
451
|
+
var INTENSITY_STOPS = {
|
|
452
|
+
low: "from-black/40 via-black/20 to-transparent",
|
|
453
|
+
default: "from-black/70 via-black/35 to-transparent",
|
|
454
|
+
high: "from-black/85 via-black/50 to-transparent",
|
|
455
|
+
"very-high": "from-black/95 via-black/60 to-black/20"
|
|
456
|
+
};
|
|
457
|
+
var RADIAL_INTENSITY = {
|
|
458
|
+
low: {
|
|
459
|
+
background: "radial-gradient(ellipse at center, rgba(0,0,0,0.40) 0%, rgba(0,0,0,0.20) 50%, transparent 100%)"
|
|
460
|
+
},
|
|
461
|
+
default: {
|
|
462
|
+
background: "radial-gradient(ellipse at center, rgba(0,0,0,0.70) 0%, rgba(0,0,0,0.35) 50%, transparent 100%)"
|
|
463
|
+
},
|
|
464
|
+
high: {
|
|
465
|
+
background: "radial-gradient(ellipse at center, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.50) 50%, transparent 100%)"
|
|
466
|
+
},
|
|
467
|
+
"very-high": {
|
|
468
|
+
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%)"
|
|
469
|
+
}
|
|
470
|
+
};
|
|
471
|
+
function GradientOverlay({
|
|
472
|
+
direction = "bottom-to-top",
|
|
473
|
+
intensity = "default",
|
|
474
|
+
className,
|
|
475
|
+
style,
|
|
476
|
+
...props
|
|
477
|
+
}) {
|
|
478
|
+
if (direction === "radial-center") {
|
|
479
|
+
return /* @__PURE__ */ jsx(
|
|
480
|
+
"div",
|
|
481
|
+
{
|
|
482
|
+
className: cn("absolute inset-0", className),
|
|
483
|
+
style: { ...RADIAL_INTENSITY[intensity], ...style },
|
|
484
|
+
...props
|
|
485
|
+
}
|
|
486
|
+
);
|
|
487
|
+
}
|
|
488
|
+
return /* @__PURE__ */ jsx(
|
|
489
|
+
"div",
|
|
490
|
+
{
|
|
491
|
+
className: cn(
|
|
492
|
+
"absolute inset-0",
|
|
493
|
+
DIRECTION_STYLES[direction],
|
|
494
|
+
INTENSITY_STOPS[intensity],
|
|
495
|
+
className
|
|
496
|
+
),
|
|
497
|
+
style,
|
|
498
|
+
...props
|
|
499
|
+
}
|
|
500
|
+
);
|
|
501
|
+
}
|
|
451
502
|
var maxWidthStyles = {
|
|
452
503
|
sm: "max-w-screen-sm",
|
|
453
504
|
md: "max-w-screen-md",
|
|
@@ -842,7 +893,8 @@ function CarouselGalleryThumbnails({
|
|
|
842
893
|
spacing = "sm",
|
|
843
894
|
pattern,
|
|
844
895
|
patternOpacity,
|
|
845
|
-
slideMediaBrightness
|
|
896
|
+
slideMediaBrightness,
|
|
897
|
+
slideMediaOverlayIntensity = "default"
|
|
846
898
|
}) {
|
|
847
899
|
const [currentIndex, setCurrentIndex] = React.useState(0);
|
|
848
900
|
const prevSlide = React.useCallback(() => {
|
|
@@ -891,7 +943,7 @@ function CarouselGalleryThumbnails({
|
|
|
891
943
|
"relative aspect-video w-full overflow-hidden",
|
|
892
944
|
slideClassName
|
|
893
945
|
),
|
|
894
|
-
children: imagesSlot ? imagesSlot : images?.map((image, index) => /* @__PURE__ */
|
|
946
|
+
children: imagesSlot ? imagesSlot : images?.map((image, index) => /* @__PURE__ */ jsxs(
|
|
895
947
|
"div",
|
|
896
948
|
{
|
|
897
949
|
className: cn(
|
|
@@ -899,19 +951,21 @@ function CarouselGalleryThumbnails({
|
|
|
899
951
|
index === currentIndex ? "translate-x-0 opacity-100" : index < currentIndex ? "-translate-x-full opacity-0" : "translate-x-full opacity-0",
|
|
900
952
|
image.className
|
|
901
953
|
),
|
|
902
|
-
children:
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
954
|
+
children: [
|
|
955
|
+
/* @__PURE__ */ jsx(
|
|
956
|
+
Img,
|
|
957
|
+
{
|
|
958
|
+
src: image.src,
|
|
959
|
+
alt: typeof image.alt === "string" ? image.alt : `Image ${index + 1}`,
|
|
960
|
+
className: cn(
|
|
961
|
+
"h-full w-full object-cover",
|
|
962
|
+
image.imageClassName
|
|
963
|
+
),
|
|
964
|
+
optixFlowConfig
|
|
965
|
+
}
|
|
966
|
+
),
|
|
967
|
+
/* @__PURE__ */ jsx(GradientOverlay, { intensity: slideMediaOverlayIntensity })
|
|
968
|
+
]
|
|
915
969
|
},
|
|
916
970
|
`slide-${index}`
|
|
917
971
|
))
|
|
@@ -1164,7 +1164,8 @@ function CarouselIconSidebar({
|
|
|
1164
1164
|
src: image.src,
|
|
1165
1165
|
alt: typeof image.title === "string" ? image.title : image.alt || "Carousel image",
|
|
1166
1166
|
className: cn(
|
|
1167
|
-
"
|
|
1167
|
+
"aspect-4/3",
|
|
1168
|
+
"h-full w-full object-cover cursor-pointer aspect-4/3",
|
|
1168
1169
|
imageClassName
|
|
1169
1170
|
),
|
|
1170
1171
|
loading: "lazy",
|
|
@@ -1224,13 +1225,13 @@ function CarouselIconSidebar({
|
|
|
1224
1225
|
/* @__PURE__ */ jsxRuntime.jsx(Carousel, { setApi, className: cn("w-full", carouselClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-4 md:gap-6 md:grid-cols-5", children: [
|
|
1225
1226
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "md:col-span-2", children: sidebarContent }),
|
|
1226
1227
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-full md:col-span-3", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1227
|
-
|
|
1228
|
+
"div",
|
|
1228
1229
|
{
|
|
1229
1230
|
className: cn(
|
|
1230
|
-
"overflow-hidden rounded-2xl shadow-lg
|
|
1231
|
+
"overflow-hidden rounded-2xl shadow-lg",
|
|
1231
1232
|
carouselContentClassName
|
|
1232
1233
|
),
|
|
1233
|
-
children: itemsContent
|
|
1234
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(CarouselContent, { children: itemsContent })
|
|
1234
1235
|
}
|
|
1235
1236
|
) })
|
|
1236
1237
|
] }) }),
|
|
@@ -1140,7 +1140,8 @@ function CarouselIconSidebar({
|
|
|
1140
1140
|
src: image.src,
|
|
1141
1141
|
alt: typeof image.title === "string" ? image.title : image.alt || "Carousel image",
|
|
1142
1142
|
className: cn(
|
|
1143
|
-
"
|
|
1143
|
+
"aspect-4/3",
|
|
1144
|
+
"h-full w-full object-cover cursor-pointer aspect-4/3",
|
|
1144
1145
|
imageClassName
|
|
1145
1146
|
),
|
|
1146
1147
|
loading: "lazy",
|
|
@@ -1200,13 +1201,13 @@ function CarouselIconSidebar({
|
|
|
1200
1201
|
/* @__PURE__ */ jsx(Carousel, { setApi, className: cn("w-full", carouselClassName), children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 gap-4 md:gap-6 md:grid-cols-5", children: [
|
|
1201
1202
|
/* @__PURE__ */ jsx("div", { className: "md:col-span-2", children: sidebarContent }),
|
|
1202
1203
|
/* @__PURE__ */ jsx("div", { className: "h-full md:col-span-3", children: /* @__PURE__ */ jsx(
|
|
1203
|
-
|
|
1204
|
+
"div",
|
|
1204
1205
|
{
|
|
1205
1206
|
className: cn(
|
|
1206
|
-
"overflow-hidden rounded-2xl shadow-lg
|
|
1207
|
+
"overflow-hidden rounded-2xl shadow-lg",
|
|
1207
1208
|
carouselContentClassName
|
|
1208
1209
|
),
|
|
1209
|
-
children: itemsContent
|
|
1210
|
+
children: /* @__PURE__ */ jsx(CarouselContent, { children: itemsContent })
|
|
1210
1211
|
}
|
|
1211
1212
|
) })
|
|
1212
1213
|
] }) }),
|
|
@@ -34,16 +34,6 @@ var React6__namespace = /*#__PURE__*/_interopNamespace(React6);
|
|
|
34
34
|
function cn(...inputs) {
|
|
35
35
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
36
36
|
}
|
|
37
|
-
var BRIGHTNESS_CLASS_MAP = {
|
|
38
|
-
"10": "brightness-[.1]",
|
|
39
|
-
"20": "brightness-[.2]",
|
|
40
|
-
"25": "brightness-[.25]",
|
|
41
|
-
"30": "brightness-[.3]",
|
|
42
|
-
"40": "brightness-[.4]",
|
|
43
|
-
"50": "brightness-50",
|
|
44
|
-
"75": "brightness-75",
|
|
45
|
-
"100": "brightness-100"
|
|
46
|
-
};
|
|
47
37
|
function getNestedCardBg(parentBg, variant = "muted", options) {
|
|
48
38
|
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
49
39
|
if (isDark) {
|
|
@@ -500,6 +490,67 @@ var DynamicIcon = React6__namespace.memo(function DynamicIcon2({
|
|
|
500
490
|
return /* @__PURE__ */ jsxRuntime.jsx(icon.Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
|
|
501
491
|
});
|
|
502
492
|
DynamicIcon.displayName = "DynamicIcon";
|
|
493
|
+
var DIRECTION_STYLES = {
|
|
494
|
+
"bottom-to-top": "bg-linear-to-t",
|
|
495
|
+
"top-to-bottom": "bg-linear-to-b",
|
|
496
|
+
"left-to-right": "bg-linear-to-r",
|
|
497
|
+
"right-to-left": "bg-linear-to-l",
|
|
498
|
+
"bottom-left-to-top-right": "bg-linear-to-tr",
|
|
499
|
+
"bottom-right-to-top-left": "bg-linear-to-tl",
|
|
500
|
+
"top-left-to-bottom-right": "bg-linear-to-br",
|
|
501
|
+
"top-right-to-bottom-left": "bg-linear-to-bl"
|
|
502
|
+
};
|
|
503
|
+
var INTENSITY_STOPS = {
|
|
504
|
+
low: "from-black/40 via-black/20 to-transparent",
|
|
505
|
+
default: "from-black/70 via-black/35 to-transparent",
|
|
506
|
+
high: "from-black/85 via-black/50 to-transparent",
|
|
507
|
+
"very-high": "from-black/95 via-black/60 to-black/20"
|
|
508
|
+
};
|
|
509
|
+
var RADIAL_INTENSITY = {
|
|
510
|
+
low: {
|
|
511
|
+
background: "radial-gradient(ellipse at center, rgba(0,0,0,0.40) 0%, rgba(0,0,0,0.20) 50%, transparent 100%)"
|
|
512
|
+
},
|
|
513
|
+
default: {
|
|
514
|
+
background: "radial-gradient(ellipse at center, rgba(0,0,0,0.70) 0%, rgba(0,0,0,0.35) 50%, transparent 100%)"
|
|
515
|
+
},
|
|
516
|
+
high: {
|
|
517
|
+
background: "radial-gradient(ellipse at center, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.50) 50%, transparent 100%)"
|
|
518
|
+
},
|
|
519
|
+
"very-high": {
|
|
520
|
+
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%)"
|
|
521
|
+
}
|
|
522
|
+
};
|
|
523
|
+
function GradientOverlay({
|
|
524
|
+
direction = "bottom-to-top",
|
|
525
|
+
intensity = "default",
|
|
526
|
+
className,
|
|
527
|
+
style,
|
|
528
|
+
...props
|
|
529
|
+
}) {
|
|
530
|
+
if (direction === "radial-center") {
|
|
531
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
532
|
+
"div",
|
|
533
|
+
{
|
|
534
|
+
className: cn("absolute inset-0", className),
|
|
535
|
+
style: { ...RADIAL_INTENSITY[intensity], ...style },
|
|
536
|
+
...props
|
|
537
|
+
}
|
|
538
|
+
);
|
|
539
|
+
}
|
|
540
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
541
|
+
"div",
|
|
542
|
+
{
|
|
543
|
+
className: cn(
|
|
544
|
+
"absolute inset-0",
|
|
545
|
+
DIRECTION_STYLES[direction],
|
|
546
|
+
INTENSITY_STOPS[intensity],
|
|
547
|
+
className
|
|
548
|
+
),
|
|
549
|
+
style,
|
|
550
|
+
...props
|
|
551
|
+
}
|
|
552
|
+
);
|
|
553
|
+
}
|
|
503
554
|
var maxWidthStyles = {
|
|
504
555
|
sm: "max-w-screen-sm",
|
|
505
556
|
md: "max-w-screen-md",
|
|
@@ -992,7 +1043,8 @@ function CarouselPortfolioHero({
|
|
|
992
1043
|
spacing = "none",
|
|
993
1044
|
pattern,
|
|
994
1045
|
patternOpacity,
|
|
995
|
-
slideMediaBrightness
|
|
1046
|
+
slideMediaBrightness,
|
|
1047
|
+
slideMediaOverlayIntensity = "high"
|
|
996
1048
|
}) {
|
|
997
1049
|
const [currentIndex, setCurrentIndex] = React6__namespace.useState(0);
|
|
998
1050
|
const intervalRef = React6__namespace.useRef(null);
|
|
@@ -1033,7 +1085,7 @@ function CarouselPortfolioHero({
|
|
|
1033
1085
|
patternOpacity,
|
|
1034
1086
|
containerClassName,
|
|
1035
1087
|
children: [
|
|
1036
|
-
slidesSlot ? slidesSlot : slides?.map((slide, index) => /* @__PURE__ */ jsxRuntime.
|
|
1088
|
+
slidesSlot ? slidesSlot : slides?.map((slide, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1037
1089
|
"div",
|
|
1038
1090
|
{
|
|
1039
1091
|
className: cn(
|
|
@@ -1041,19 +1093,21 @@ function CarouselPortfolioHero({
|
|
|
1041
1093
|
index === currentIndex ? "opacity-100" : "opacity-0",
|
|
1042
1094
|
slide.className
|
|
1043
1095
|
),
|
|
1044
|
-
children:
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1096
|
+
children: [
|
|
1097
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1098
|
+
img.Img,
|
|
1099
|
+
{
|
|
1100
|
+
src: slide.image,
|
|
1101
|
+
alt: typeof slide.title === "string" ? slide.title : `Slide ${index + 1}`,
|
|
1102
|
+
className: cn(
|
|
1103
|
+
"h-full w-full object-cover",
|
|
1104
|
+
slide.imageClassName
|
|
1105
|
+
),
|
|
1106
|
+
optixFlowConfig
|
|
1107
|
+
}
|
|
1108
|
+
),
|
|
1109
|
+
/* @__PURE__ */ jsxRuntime.jsx(GradientOverlay, { intensity: slideMediaOverlayIntensity })
|
|
1110
|
+
]
|
|
1057
1111
|
},
|
|
1058
1112
|
slide.id
|
|
1059
1113
|
)),
|
|
@@ -129,10 +129,15 @@ interface CarouselPortfolioHeroProps {
|
|
|
129
129
|
*/
|
|
130
130
|
patternOpacity?: number;
|
|
131
131
|
/**
|
|
132
|
-
*
|
|
132
|
+
* Intensity of the gradient overlay on slide images
|
|
133
|
+
* @default "high"
|
|
134
|
+
*/
|
|
135
|
+
slideMediaOverlayIntensity?: "low" | "default" | "high" | "very-high";
|
|
136
|
+
/**
|
|
137
|
+
* Brightness level for slide images (deprecated - prefer slideMediaOverlayIntensity)
|
|
133
138
|
*/
|
|
134
139
|
slideMediaBrightness?: "10" | "20" | "25" | "30" | "40" | "50" | "75" | "100";
|
|
135
140
|
}
|
|
136
|
-
declare function CarouselPortfolioHero({ slides, slidesSlot, actions, actionsSlot, autoPlayInterval, className, containerClassName, contentClassName, tagClassName, titleClassName, descriptionClassName, actionsClassName, navigationClassName, counterClassName, optixFlowConfig, background, spacing, pattern, patternOpacity, slideMediaBrightness, }: CarouselPortfolioHeroProps): React.JSX.Element;
|
|
141
|
+
declare function CarouselPortfolioHero({ slides, slidesSlot, actions, actionsSlot, autoPlayInterval, className, containerClassName, contentClassName, tagClassName, titleClassName, descriptionClassName, actionsClassName, navigationClassName, counterClassName, optixFlowConfig, background, spacing, pattern, patternOpacity, slideMediaBrightness, slideMediaOverlayIntensity, }: CarouselPortfolioHeroProps): React.JSX.Element;
|
|
137
142
|
|
|
138
143
|
export { CarouselPortfolioHero, type CarouselPortfolioHeroProps, type PortfolioSlide };
|
|
@@ -129,10 +129,15 @@ interface CarouselPortfolioHeroProps {
|
|
|
129
129
|
*/
|
|
130
130
|
patternOpacity?: number;
|
|
131
131
|
/**
|
|
132
|
-
*
|
|
132
|
+
* Intensity of the gradient overlay on slide images
|
|
133
|
+
* @default "high"
|
|
134
|
+
*/
|
|
135
|
+
slideMediaOverlayIntensity?: "low" | "default" | "high" | "very-high";
|
|
136
|
+
/**
|
|
137
|
+
* Brightness level for slide images (deprecated - prefer slideMediaOverlayIntensity)
|
|
133
138
|
*/
|
|
134
139
|
slideMediaBrightness?: "10" | "20" | "25" | "30" | "40" | "50" | "75" | "100";
|
|
135
140
|
}
|
|
136
|
-
declare function CarouselPortfolioHero({ slides, slidesSlot, actions, actionsSlot, autoPlayInterval, className, containerClassName, contentClassName, tagClassName, titleClassName, descriptionClassName, actionsClassName, navigationClassName, counterClassName, optixFlowConfig, background, spacing, pattern, patternOpacity, slideMediaBrightness, }: CarouselPortfolioHeroProps): React.JSX.Element;
|
|
141
|
+
declare function CarouselPortfolioHero({ slides, slidesSlot, actions, actionsSlot, autoPlayInterval, className, containerClassName, contentClassName, tagClassName, titleClassName, descriptionClassName, actionsClassName, navigationClassName, counterClassName, optixFlowConfig, background, spacing, pattern, patternOpacity, slideMediaBrightness, slideMediaOverlayIntensity, }: CarouselPortfolioHeroProps): React.JSX.Element;
|
|
137
142
|
|
|
138
143
|
export { CarouselPortfolioHero, type CarouselPortfolioHeroProps, type PortfolioSlide };
|
|
@@ -13,16 +13,6 @@ import { Slot } from '@radix-ui/react-slot';
|
|
|
13
13
|
function cn(...inputs) {
|
|
14
14
|
return twMerge(clsx(inputs));
|
|
15
15
|
}
|
|
16
|
-
var BRIGHTNESS_CLASS_MAP = {
|
|
17
|
-
"10": "brightness-[.1]",
|
|
18
|
-
"20": "brightness-[.2]",
|
|
19
|
-
"25": "brightness-[.25]",
|
|
20
|
-
"30": "brightness-[.3]",
|
|
21
|
-
"40": "brightness-[.4]",
|
|
22
|
-
"50": "brightness-50",
|
|
23
|
-
"75": "brightness-75",
|
|
24
|
-
"100": "brightness-100"
|
|
25
|
-
};
|
|
26
16
|
function getNestedCardBg(parentBg, variant = "muted", options) {
|
|
27
17
|
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
28
18
|
if (isDark) {
|
|
@@ -479,6 +469,67 @@ var DynamicIcon = React6.memo(function DynamicIcon2({
|
|
|
479
469
|
return /* @__PURE__ */ jsx(Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
|
|
480
470
|
});
|
|
481
471
|
DynamicIcon.displayName = "DynamicIcon";
|
|
472
|
+
var DIRECTION_STYLES = {
|
|
473
|
+
"bottom-to-top": "bg-linear-to-t",
|
|
474
|
+
"top-to-bottom": "bg-linear-to-b",
|
|
475
|
+
"left-to-right": "bg-linear-to-r",
|
|
476
|
+
"right-to-left": "bg-linear-to-l",
|
|
477
|
+
"bottom-left-to-top-right": "bg-linear-to-tr",
|
|
478
|
+
"bottom-right-to-top-left": "bg-linear-to-tl",
|
|
479
|
+
"top-left-to-bottom-right": "bg-linear-to-br",
|
|
480
|
+
"top-right-to-bottom-left": "bg-linear-to-bl"
|
|
481
|
+
};
|
|
482
|
+
var INTENSITY_STOPS = {
|
|
483
|
+
low: "from-black/40 via-black/20 to-transparent",
|
|
484
|
+
default: "from-black/70 via-black/35 to-transparent",
|
|
485
|
+
high: "from-black/85 via-black/50 to-transparent",
|
|
486
|
+
"very-high": "from-black/95 via-black/60 to-black/20"
|
|
487
|
+
};
|
|
488
|
+
var RADIAL_INTENSITY = {
|
|
489
|
+
low: {
|
|
490
|
+
background: "radial-gradient(ellipse at center, rgba(0,0,0,0.40) 0%, rgba(0,0,0,0.20) 50%, transparent 100%)"
|
|
491
|
+
},
|
|
492
|
+
default: {
|
|
493
|
+
background: "radial-gradient(ellipse at center, rgba(0,0,0,0.70) 0%, rgba(0,0,0,0.35) 50%, transparent 100%)"
|
|
494
|
+
},
|
|
495
|
+
high: {
|
|
496
|
+
background: "radial-gradient(ellipse at center, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.50) 50%, transparent 100%)"
|
|
497
|
+
},
|
|
498
|
+
"very-high": {
|
|
499
|
+
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%)"
|
|
500
|
+
}
|
|
501
|
+
};
|
|
502
|
+
function GradientOverlay({
|
|
503
|
+
direction = "bottom-to-top",
|
|
504
|
+
intensity = "default",
|
|
505
|
+
className,
|
|
506
|
+
style,
|
|
507
|
+
...props
|
|
508
|
+
}) {
|
|
509
|
+
if (direction === "radial-center") {
|
|
510
|
+
return /* @__PURE__ */ jsx(
|
|
511
|
+
"div",
|
|
512
|
+
{
|
|
513
|
+
className: cn("absolute inset-0", className),
|
|
514
|
+
style: { ...RADIAL_INTENSITY[intensity], ...style },
|
|
515
|
+
...props
|
|
516
|
+
}
|
|
517
|
+
);
|
|
518
|
+
}
|
|
519
|
+
return /* @__PURE__ */ jsx(
|
|
520
|
+
"div",
|
|
521
|
+
{
|
|
522
|
+
className: cn(
|
|
523
|
+
"absolute inset-0",
|
|
524
|
+
DIRECTION_STYLES[direction],
|
|
525
|
+
INTENSITY_STOPS[intensity],
|
|
526
|
+
className
|
|
527
|
+
),
|
|
528
|
+
style,
|
|
529
|
+
...props
|
|
530
|
+
}
|
|
531
|
+
);
|
|
532
|
+
}
|
|
482
533
|
var maxWidthStyles = {
|
|
483
534
|
sm: "max-w-screen-sm",
|
|
484
535
|
md: "max-w-screen-md",
|
|
@@ -971,7 +1022,8 @@ function CarouselPortfolioHero({
|
|
|
971
1022
|
spacing = "none",
|
|
972
1023
|
pattern,
|
|
973
1024
|
patternOpacity,
|
|
974
|
-
slideMediaBrightness
|
|
1025
|
+
slideMediaBrightness,
|
|
1026
|
+
slideMediaOverlayIntensity = "high"
|
|
975
1027
|
}) {
|
|
976
1028
|
const [currentIndex, setCurrentIndex] = React6.useState(0);
|
|
977
1029
|
const intervalRef = React6.useRef(null);
|
|
@@ -1012,7 +1064,7 @@ function CarouselPortfolioHero({
|
|
|
1012
1064
|
patternOpacity,
|
|
1013
1065
|
containerClassName,
|
|
1014
1066
|
children: [
|
|
1015
|
-
slidesSlot ? slidesSlot : slides?.map((slide, index) => /* @__PURE__ */
|
|
1067
|
+
slidesSlot ? slidesSlot : slides?.map((slide, index) => /* @__PURE__ */ jsxs(
|
|
1016
1068
|
"div",
|
|
1017
1069
|
{
|
|
1018
1070
|
className: cn(
|
|
@@ -1020,19 +1072,21 @@ function CarouselPortfolioHero({
|
|
|
1020
1072
|
index === currentIndex ? "opacity-100" : "opacity-0",
|
|
1021
1073
|
slide.className
|
|
1022
1074
|
),
|
|
1023
|
-
children:
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1075
|
+
children: [
|
|
1076
|
+
/* @__PURE__ */ jsx(
|
|
1077
|
+
Img,
|
|
1078
|
+
{
|
|
1079
|
+
src: slide.image,
|
|
1080
|
+
alt: typeof slide.title === "string" ? slide.title : `Slide ${index + 1}`,
|
|
1081
|
+
className: cn(
|
|
1082
|
+
"h-full w-full object-cover",
|
|
1083
|
+
slide.imageClassName
|
|
1084
|
+
),
|
|
1085
|
+
optixFlowConfig
|
|
1086
|
+
}
|
|
1087
|
+
),
|
|
1088
|
+
/* @__PURE__ */ jsx(GradientOverlay, { intensity: slideMediaOverlayIntensity })
|
|
1089
|
+
]
|
|
1036
1090
|
},
|
|
1037
1091
|
slide.id
|
|
1038
1092
|
)),
|