@opensite/ui 0.7.0 → 0.7.2
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/blog-cards-read-time.cjs +1 -1
- package/dist/blog-cards-read-time.js +1 -1
- package/dist/blog-cards-tagline-cta.cjs +1 -1
- package/dist/blog-cards-tagline-cta.js +1 -1
- package/dist/blog-category-overlay.cjs +1 -1
- package/dist/blog-category-overlay.js +1 -1
- package/dist/blog-featured-popular.cjs +1 -1
- package/dist/blog-featured-popular.js +1 -1
- package/dist/blog-grid-author-cards.cjs +1 -1
- package/dist/blog-grid-author-cards.js +1 -1
- package/dist/blog-grid-nine-posts.cjs +1 -1
- package/dist/blog-grid-nine-posts.js +1 -1
- package/dist/blog-horizontal-cards.cjs +1 -1
- package/dist/blog-horizontal-cards.js +1 -1
- package/dist/blog-tech-insights.cjs +54 -45
- package/dist/blog-tech-insights.js +54 -45
- package/dist/carousel-animated-sections.cjs +1224 -0
- package/dist/carousel-animated-sections.d.cts +154 -0
- package/dist/carousel-animated-sections.d.ts +154 -0
- package/dist/carousel-animated-sections.js +1203 -0
- package/dist/carousel-auto-progress-slides.cjs +1156 -0
- package/dist/carousel-auto-progress-slides.d.cts +122 -0
- package/dist/carousel-auto-progress-slides.d.ts +122 -0
- package/dist/carousel-auto-progress-slides.js +1135 -0
- package/dist/carousel-autoplay-progress.cjs +1141 -0
- package/dist/carousel-autoplay-progress.d.cts +119 -0
- package/dist/carousel-autoplay-progress.d.ts +119 -0
- package/dist/carousel-autoplay-progress.js +1116 -0
- package/dist/carousel-feature-badge.cjs +1216 -0
- package/dist/carousel-feature-badge.d.cts +99 -0
- package/dist/carousel-feature-badge.d.ts +99 -0
- package/dist/carousel-feature-badge.js +1192 -0
- package/dist/carousel-fullscreen-scroll-fx.cjs +526 -0
- package/dist/carousel-fullscreen-scroll-fx.d.cts +122 -0
- package/dist/carousel-fullscreen-scroll-fx.d.ts +122 -0
- package/dist/carousel-fullscreen-scroll-fx.js +505 -0
- package/dist/carousel-gallery-thumbnails.cjs +1059 -0
- package/dist/carousel-gallery-thumbnails.d.cts +122 -0
- package/dist/carousel-gallery-thumbnails.d.ts +122 -0
- package/dist/carousel-gallery-thumbnails.js +1038 -0
- package/dist/carousel-horizontal-cards.cjs +1083 -0
- package/dist/carousel-horizontal-cards.d.cts +126 -0
- package/dist/carousel-horizontal-cards.d.ts +126 -0
- package/dist/carousel-horizontal-cards.js +1062 -0
- package/dist/carousel-image-hero.cjs +1075 -0
- package/dist/carousel-image-hero.d.cts +116 -0
- package/dist/carousel-image-hero.d.ts +116 -0
- package/dist/carousel-image-hero.js +1054 -0
- package/dist/carousel-multi-step-showcase.cjs +1146 -0
- package/dist/carousel-multi-step-showcase.d.cts +142 -0
- package/dist/carousel-multi-step-showcase.d.ts +142 -0
- package/dist/carousel-multi-step-showcase.js +1125 -0
- package/dist/carousel-portfolio-hero.cjs +1063 -0
- package/dist/carousel-portfolio-hero.d.cts +134 -0
- package/dist/carousel-portfolio-hero.d.ts +134 -0
- package/dist/carousel-portfolio-hero.js +1042 -0
- package/dist/carousel-product-feature-showcase.cjs +1127 -0
- package/dist/carousel-product-feature-showcase.d.cts +161 -0
- package/dist/carousel-product-feature-showcase.d.ts +161 -0
- package/dist/carousel-product-feature-showcase.js +1106 -0
- package/dist/carousel-progress-slider.cjs +597 -0
- package/dist/carousel-progress-slider.d.cts +122 -0
- package/dist/carousel-progress-slider.d.ts +122 -0
- package/dist/carousel-progress-slider.js +576 -0
- package/dist/carousel-scrolling-feature-showcase.cjs +530 -0
- package/dist/carousel-scrolling-feature-showcase.d.cts +126 -0
- package/dist/carousel-scrolling-feature-showcase.d.ts +126 -0
- package/dist/carousel-scrolling-feature-showcase.js +509 -0
- package/dist/registry.cjs +349 -238
- package/dist/registry.js +349 -238
- package/package.json +3 -2
package/dist/registry.cjs
CHANGED
|
@@ -17285,7 +17285,7 @@ function CarouselAnimatedSections({
|
|
|
17285
17285
|
actionsSlot,
|
|
17286
17286
|
actions,
|
|
17287
17287
|
className,
|
|
17288
|
-
containerClassName,
|
|
17288
|
+
containerClassName = "h-full",
|
|
17289
17289
|
contentClassName,
|
|
17290
17290
|
subtitleClassName,
|
|
17291
17291
|
titleClassName,
|
|
@@ -17296,20 +17296,21 @@ function CarouselAnimatedSections({
|
|
|
17296
17296
|
counterClassName,
|
|
17297
17297
|
overlayClassName,
|
|
17298
17298
|
optixFlowConfig,
|
|
17299
|
-
background = "
|
|
17300
|
-
spacing = "
|
|
17301
|
-
|
|
17302
|
-
|
|
17299
|
+
background = "dark",
|
|
17300
|
+
spacing = "py-0",
|
|
17301
|
+
containerMaxWidth = "full",
|
|
17302
|
+
pattern = "diagonalCrossBasic",
|
|
17303
|
+
patternOpacity = 0.033
|
|
17303
17304
|
}) {
|
|
17304
17305
|
const [currentIndex, setCurrentIndex] = React52__namespace.useState(0);
|
|
17305
17306
|
const [direction, setDirection] = React52__namespace.useState(0);
|
|
17306
17307
|
const [isAnimating, setIsAnimating] = React52__namespace.useState(false);
|
|
17307
17308
|
const goToNext = React52__namespace.useCallback(() => {
|
|
17308
|
-
if (isAnimating || currentIndex >= sections
|
|
17309
|
+
if (isAnimating || currentIndex >= (sections?.length ?? 0) - 1) return;
|
|
17309
17310
|
setIsAnimating(true);
|
|
17310
17311
|
setDirection(1);
|
|
17311
17312
|
setCurrentIndex((prev) => prev + 1);
|
|
17312
|
-
}, [currentIndex, isAnimating, sections
|
|
17313
|
+
}, [currentIndex, isAnimating, sections?.length]);
|
|
17313
17314
|
const goToPrev = React52__namespace.useCallback(() => {
|
|
17314
17315
|
if (isAnimating || currentIndex <= 0) return;
|
|
17315
17316
|
setIsAnimating(true);
|
|
@@ -17333,25 +17334,6 @@ function CarouselAnimatedSections({
|
|
|
17333
17334
|
window.addEventListener("keydown", handleKeyDown);
|
|
17334
17335
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
17335
17336
|
}, [goToNext, goToPrev]);
|
|
17336
|
-
React52__namespace.useEffect(() => {
|
|
17337
|
-
let timeout;
|
|
17338
|
-
const handleWheel = (e) => {
|
|
17339
|
-
e.preventDefault();
|
|
17340
|
-
clearTimeout(timeout);
|
|
17341
|
-
timeout = setTimeout(() => {
|
|
17342
|
-
if (e.deltaY > 0) {
|
|
17343
|
-
goToNext();
|
|
17344
|
-
} else if (e.deltaY < 0) {
|
|
17345
|
-
goToPrev();
|
|
17346
|
-
}
|
|
17347
|
-
}, 50);
|
|
17348
|
-
};
|
|
17349
|
-
window.addEventListener("wheel", handleWheel, { passive: false });
|
|
17350
|
-
return () => {
|
|
17351
|
-
window.removeEventListener("wheel", handleWheel);
|
|
17352
|
-
clearTimeout(timeout);
|
|
17353
|
-
};
|
|
17354
|
-
}, [goToNext, goToPrev]);
|
|
17355
17337
|
const slideVariants2 = {
|
|
17356
17338
|
enter: (direction2) => ({
|
|
17357
17339
|
y: direction2 > 0 ? "100%" : "-100%",
|
|
@@ -17366,7 +17348,7 @@ function CarouselAnimatedSections({
|
|
|
17366
17348
|
opacity: 0
|
|
17367
17349
|
})
|
|
17368
17350
|
};
|
|
17369
|
-
const currentSection = sections[currentIndex];
|
|
17351
|
+
const currentSection = sections?.[currentIndex];
|
|
17370
17352
|
const renderActions = () => {
|
|
17371
17353
|
if (actionsSlot) return actionsSlot;
|
|
17372
17354
|
if (actions && actions.length > 0) {
|
|
@@ -17378,7 +17360,10 @@ function CarouselAnimatedSections({
|
|
|
17378
17360
|
asButton: true,
|
|
17379
17361
|
variant: action.variant,
|
|
17380
17362
|
size: action.size || "lg",
|
|
17381
|
-
className: cn(
|
|
17363
|
+
className: cn(
|
|
17364
|
+
"bg-white text-black hover:bg-white/90",
|
|
17365
|
+
action.className
|
|
17366
|
+
),
|
|
17382
17367
|
children: [
|
|
17383
17368
|
action.label,
|
|
17384
17369
|
action.icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-2", children: action.icon }),
|
|
@@ -17398,8 +17383,10 @@ function CarouselAnimatedSections({
|
|
|
17398
17383
|
className: cn("relative h-screen w-full overflow-hidden", className),
|
|
17399
17384
|
pattern,
|
|
17400
17385
|
patternOpacity,
|
|
17386
|
+
containerMaxWidth,
|
|
17387
|
+
containerClassName,
|
|
17401
17388
|
children: [
|
|
17402
|
-
sectionsSlot ? sectionsSlot : /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { initial: false, custom: direction, mode: "wait", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
17389
|
+
sectionsSlot ? sectionsSlot : currentSection ? /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { initial: false, custom: direction, mode: "wait", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
17403
17390
|
framerMotion.motion.div,
|
|
17404
17391
|
{
|
|
17405
17392
|
custom: direction,
|
|
@@ -17409,103 +17396,174 @@ function CarouselAnimatedSections({
|
|
|
17409
17396
|
exit: "exit",
|
|
17410
17397
|
transition: { duration: 0.6, ease: [0.4, 0, 0.2, 1] },
|
|
17411
17398
|
onAnimationComplete: () => setIsAnimating(false),
|
|
17412
|
-
className: cn("absolute inset-0", currentSection
|
|
17399
|
+
className: cn("absolute inset-0", currentSection?.className),
|
|
17413
17400
|
children: [
|
|
17414
17401
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17415
17402
|
img.Img,
|
|
17416
17403
|
{
|
|
17417
|
-
src: currentSection
|
|
17418
|
-
alt: typeof currentSection
|
|
17419
|
-
className: cn(
|
|
17404
|
+
src: currentSection?.image,
|
|
17405
|
+
alt: typeof currentSection?.title === "string" ? currentSection?.title : `Section ${currentSection?.id}`,
|
|
17406
|
+
className: cn(
|
|
17407
|
+
"h-full w-full object-cover",
|
|
17408
|
+
currentSection?.imageClassName
|
|
17409
|
+
),
|
|
17420
17410
|
optixFlowConfig
|
|
17421
17411
|
}
|
|
17422
17412
|
),
|
|
17423
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17413
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17414
|
+
"div",
|
|
17415
|
+
{
|
|
17416
|
+
className: cn("absolute inset-0 bg-black/50", overlayClassName)
|
|
17417
|
+
}
|
|
17418
|
+
)
|
|
17424
17419
|
]
|
|
17425
17420
|
},
|
|
17426
17421
|
currentIndex
|
|
17427
|
-
) }),
|
|
17428
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17429
|
-
|
|
17422
|
+
) }) : null,
|
|
17423
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17424
|
+
"div",
|
|
17430
17425
|
{
|
|
17431
|
-
|
|
17432
|
-
|
|
17433
|
-
|
|
17434
|
-
|
|
17435
|
-
className: "
|
|
17426
|
+
className: cn(
|
|
17427
|
+
"relative z-10 flex h-full items-center",
|
|
17428
|
+
contentClassName
|
|
17429
|
+
),
|
|
17430
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container mx-auto px-6", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
17431
|
+
framerMotion.motion.div,
|
|
17432
|
+
{
|
|
17433
|
+
initial: { opacity: 0, y: 40 },
|
|
17434
|
+
animate: { opacity: 1, y: 0 },
|
|
17435
|
+
exit: { opacity: 0, y: -40 },
|
|
17436
|
+
transition: { duration: 0.4, delay: 0.2 },
|
|
17437
|
+
className: "max-w-2xl text-white",
|
|
17438
|
+
children: [
|
|
17439
|
+
currentSection?.subtitle && (typeof currentSection?.subtitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
17440
|
+
"p",
|
|
17441
|
+
{
|
|
17442
|
+
className: cn(
|
|
17443
|
+
"mb-2 text-sm font-medium uppercase tracking-widest text-white/70",
|
|
17444
|
+
subtitleClassName
|
|
17445
|
+
),
|
|
17446
|
+
children: currentSection?.subtitle
|
|
17447
|
+
}
|
|
17448
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-2", subtitleClassName), children: currentSection?.subtitle })),
|
|
17449
|
+
currentSection?.title && (typeof currentSection?.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
17450
|
+
"h2",
|
|
17451
|
+
{
|
|
17452
|
+
className: cn(
|
|
17453
|
+
"mb-4 text-4xl font-bold md:text-5xl lg:text-6xl",
|
|
17454
|
+
titleClassName
|
|
17455
|
+
),
|
|
17456
|
+
children: currentSection?.title
|
|
17457
|
+
}
|
|
17458
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", titleClassName), children: currentSection?.title })),
|
|
17459
|
+
currentSection?.description && (typeof currentSection?.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
17460
|
+
"p",
|
|
17461
|
+
{
|
|
17462
|
+
className: cn(
|
|
17463
|
+
"mb-8 text-lg text-white/80 text-balance",
|
|
17464
|
+
descriptionClassName
|
|
17465
|
+
),
|
|
17466
|
+
children: currentSection?.description
|
|
17467
|
+
}
|
|
17468
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-8", descriptionClassName), children: currentSection?.description })),
|
|
17469
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: actionsClassName, children: renderActions() || currentSection?.ctaText && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
17470
|
+
Pressable,
|
|
17471
|
+
{
|
|
17472
|
+
href: currentSection?.ctaHref,
|
|
17473
|
+
onClick: currentSection?.ctaOnClick,
|
|
17474
|
+
asButton: true,
|
|
17475
|
+
size: "lg",
|
|
17476
|
+
className: "bg-white text-black hover:bg-white/90",
|
|
17477
|
+
children: [
|
|
17478
|
+
currentSection?.ctaText,
|
|
17479
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17480
|
+
DynamicIcon,
|
|
17481
|
+
{
|
|
17482
|
+
name: "lucide/arrow-right",
|
|
17483
|
+
size: 16,
|
|
17484
|
+
className: "ml-2"
|
|
17485
|
+
}
|
|
17486
|
+
)
|
|
17487
|
+
]
|
|
17488
|
+
}
|
|
17489
|
+
) })
|
|
17490
|
+
]
|
|
17491
|
+
},
|
|
17492
|
+
currentIndex
|
|
17493
|
+
) }) })
|
|
17494
|
+
}
|
|
17495
|
+
),
|
|
17496
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17497
|
+
"div",
|
|
17498
|
+
{
|
|
17499
|
+
className: cn(
|
|
17500
|
+
"absolute right-6 top-1/2 z-20 flex -translate-y-1/2 flex-col gap-3",
|
|
17501
|
+
navigationClassName
|
|
17502
|
+
),
|
|
17503
|
+
children: sections?.map((_, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
17504
|
+
"button",
|
|
17505
|
+
{
|
|
17506
|
+
onClick: () => goToSlide(index),
|
|
17507
|
+
className: cn(
|
|
17508
|
+
"h-3 w-3 rounded-full border-2 transition-all",
|
|
17509
|
+
currentIndex === index ? "scale-125 border-white bg-white" : "border-white/50 bg-transparent hover:border-white"
|
|
17510
|
+
),
|
|
17511
|
+
"aria-label": `Go to section ${index + 1}`
|
|
17512
|
+
},
|
|
17513
|
+
index
|
|
17514
|
+
))
|
|
17515
|
+
}
|
|
17516
|
+
),
|
|
17517
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
17518
|
+
"div",
|
|
17519
|
+
{
|
|
17520
|
+
className: cn(
|
|
17521
|
+
"absolute bottom-8 left-1/2 z-20 flex -translate-x-1/2 gap-4",
|
|
17522
|
+
arrowsClassName
|
|
17523
|
+
),
|
|
17436
17524
|
children: [
|
|
17437
|
-
|
|
17438
|
-
currentSection.title && (typeof currentSection.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("mb-4 text-4xl font-bold md:text-5xl lg:text-6xl", titleClassName), children: currentSection.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", titleClassName), children: currentSection.title })),
|
|
17439
|
-
currentSection.description && (typeof currentSection.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-8 text-lg text-white/80", descriptionClassName), children: currentSection.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-8", descriptionClassName), children: currentSection.description })),
|
|
17440
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: actionsClassName, children: renderActions() || currentSection.ctaText && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
17525
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17441
17526
|
Pressable,
|
|
17442
17527
|
{
|
|
17443
|
-
|
|
17444
|
-
onClick: currentSection.ctaOnClick,
|
|
17528
|
+
onClick: goToPrev,
|
|
17445
17529
|
asButton: true,
|
|
17446
|
-
|
|
17447
|
-
|
|
17448
|
-
|
|
17449
|
-
|
|
17450
|
-
|
|
17451
|
-
DynamicIcon,
|
|
17452
|
-
{
|
|
17453
|
-
name: "lucide/arrow-right",
|
|
17454
|
-
size: 16,
|
|
17455
|
-
className: "ml-2"
|
|
17456
|
-
}
|
|
17457
|
-
)
|
|
17458
|
-
]
|
|
17530
|
+
variant: "ghost",
|
|
17531
|
+
size: "icon",
|
|
17532
|
+
disabled: currentIndex === 0,
|
|
17533
|
+
className: "rounded-full border border-white/30 text-white hover:bg-white/10 disabled:opacity-30",
|
|
17534
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-up", size: 20 })
|
|
17459
17535
|
}
|
|
17460
|
-
)
|
|
17536
|
+
),
|
|
17537
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17538
|
+
Pressable,
|
|
17539
|
+
{
|
|
17540
|
+
onClick: goToNext,
|
|
17541
|
+
asButton: true,
|
|
17542
|
+
variant: "ghost",
|
|
17543
|
+
size: "icon",
|
|
17544
|
+
disabled: currentIndex === (sections?.length ?? 0) - 1,
|
|
17545
|
+
className: "rounded-full border border-white/30 text-white hover:bg-white/10 disabled:opacity-30",
|
|
17546
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-down", size: 20 })
|
|
17547
|
+
}
|
|
17548
|
+
)
|
|
17461
17549
|
]
|
|
17462
|
-
}
|
|
17463
|
-
|
|
17464
|
-
|
|
17465
|
-
|
|
17466
|
-
"button",
|
|
17550
|
+
}
|
|
17551
|
+
),
|
|
17552
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
17553
|
+
"div",
|
|
17467
17554
|
{
|
|
17468
|
-
onClick: () => goToSlide(index),
|
|
17469
17555
|
className: cn(
|
|
17470
|
-
"
|
|
17471
|
-
|
|
17556
|
+
"absolute bottom-8 right-8 z-20 text-sm text-white/50",
|
|
17557
|
+
counterClassName
|
|
17472
17558
|
),
|
|
17473
|
-
|
|
17474
|
-
|
|
17475
|
-
|
|
17476
|
-
|
|
17477
|
-
|
|
17478
|
-
|
|
17479
|
-
|
|
17480
|
-
|
|
17481
|
-
onClick: goToPrev,
|
|
17482
|
-
asButton: true,
|
|
17483
|
-
variant: "ghost",
|
|
17484
|
-
size: "icon",
|
|
17485
|
-
disabled: currentIndex === 0,
|
|
17486
|
-
className: "rounded-full border border-white/30 text-white hover:bg-white/10 disabled:opacity-30",
|
|
17487
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-up", size: 20 })
|
|
17488
|
-
}
|
|
17489
|
-
),
|
|
17490
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17491
|
-
Pressable,
|
|
17492
|
-
{
|
|
17493
|
-
onClick: goToNext,
|
|
17494
|
-
asButton: true,
|
|
17495
|
-
variant: "ghost",
|
|
17496
|
-
size: "icon",
|
|
17497
|
-
disabled: currentIndex === sections.length - 1,
|
|
17498
|
-
className: "rounded-full border border-white/30 text-white hover:bg-white/10 disabled:opacity-30",
|
|
17499
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-down", size: 20 })
|
|
17500
|
-
}
|
|
17501
|
-
)
|
|
17502
|
-
] }),
|
|
17503
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("absolute bottom-8 right-8 z-20 text-sm text-white/50", counterClassName), children: [
|
|
17504
|
-
String(currentIndex + 1).padStart(2, "0"),
|
|
17505
|
-
" /",
|
|
17506
|
-
" ",
|
|
17507
|
-
String(sections.length).padStart(2, "0")
|
|
17508
|
-
] })
|
|
17559
|
+
children: [
|
|
17560
|
+
String(currentIndex + 1).padStart(2, "0"),
|
|
17561
|
+
" /",
|
|
17562
|
+
" ",
|
|
17563
|
+
String(sections?.length ?? 0).padStart(2, "0")
|
|
17564
|
+
]
|
|
17565
|
+
}
|
|
17566
|
+
)
|
|
17509
17567
|
]
|
|
17510
17568
|
}
|
|
17511
17569
|
);
|
|
@@ -17532,11 +17590,11 @@ var variants = {
|
|
|
17532
17590
|
function CarouselAutoProgressSlides({
|
|
17533
17591
|
heading,
|
|
17534
17592
|
subheading,
|
|
17535
|
-
slideLabel,
|
|
17536
17593
|
items,
|
|
17537
17594
|
slidesSlot,
|
|
17538
|
-
autoAdvanceInterval =
|
|
17595
|
+
autoAdvanceInterval = 4200,
|
|
17539
17596
|
className,
|
|
17597
|
+
containerClassName = "flex flex-col items-center justify-center gap-6 md:gap-12",
|
|
17540
17598
|
headerClassName,
|
|
17541
17599
|
headingClassName,
|
|
17542
17600
|
subheadingClassName,
|
|
@@ -17545,8 +17603,8 @@ function CarouselAutoProgressSlides({
|
|
|
17545
17603
|
slideContainerClassName,
|
|
17546
17604
|
imageClassName,
|
|
17547
17605
|
optixFlowConfig,
|
|
17548
|
-
background
|
|
17549
|
-
spacing
|
|
17606
|
+
background,
|
|
17607
|
+
spacing,
|
|
17550
17608
|
pattern,
|
|
17551
17609
|
patternOpacity
|
|
17552
17610
|
}) {
|
|
@@ -17602,54 +17660,73 @@ function CarouselAutoProgressSlides({
|
|
|
17602
17660
|
),
|
|
17603
17661
|
pattern,
|
|
17604
17662
|
patternOpacity,
|
|
17663
|
+
containerClassName,
|
|
17605
17664
|
children: [
|
|
17606
17665
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("text-center", headerClassName), children: [
|
|
17607
17666
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-6xl tracking-tighter", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
|
|
17608
|
-
subheading && (typeof subheading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
17609
|
-
|
|
17610
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center justify-center gap-5", navigationClassName), children: [
|
|
17611
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17612
|
-
Pressable,
|
|
17667
|
+
subheading && (typeof subheading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
17668
|
+
"p",
|
|
17613
17669
|
{
|
|
17614
|
-
|
|
17615
|
-
|
|
17616
|
-
|
|
17617
|
-
|
|
17618
|
-
|
|
17619
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-left", size: 16 })
|
|
17670
|
+
className: cn(
|
|
17671
|
+
"mt-4 text-2xl text-foreground/50",
|
|
17672
|
+
subheadingClassName
|
|
17673
|
+
),
|
|
17674
|
+
children: subheading
|
|
17620
17675
|
}
|
|
17621
|
-
),
|
|
17622
|
-
|
|
17623
|
-
|
|
17624
|
-
|
|
17625
|
-
|
|
17626
|
-
|
|
17627
|
-
|
|
17628
|
-
|
|
17629
|
-
|
|
17630
|
-
|
|
17631
|
-
|
|
17632
|
-
|
|
17676
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", subheadingClassName), children: subheading }))
|
|
17677
|
+
] }),
|
|
17678
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
17679
|
+
"div",
|
|
17680
|
+
{
|
|
17681
|
+
className: cn(
|
|
17682
|
+
"flex items-center justify-center gap-5",
|
|
17683
|
+
navigationClassName
|
|
17684
|
+
),
|
|
17685
|
+
children: [
|
|
17686
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17687
|
+
Pressable,
|
|
17633
17688
|
{
|
|
17634
|
-
|
|
17635
|
-
|
|
17689
|
+
onClick: handlePrev,
|
|
17690
|
+
asButton: true,
|
|
17691
|
+
variant: "ghost",
|
|
17692
|
+
size: "icon",
|
|
17693
|
+
className: "flex size-6 cursor-pointer items-center justify-center rounded-full bg-foreground/10 p-0.5 text-foreground/50 hover:bg-foreground/20 active:scale-95",
|
|
17694
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-left", size: 16 })
|
|
17695
|
+
}
|
|
17696
|
+
),
|
|
17697
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center gap-1", children: items?.map((_, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
17698
|
+
framerMotion.motion.button,
|
|
17699
|
+
{
|
|
17700
|
+
initial: false,
|
|
17701
|
+
onClick: () => handleDotClick(index),
|
|
17702
|
+
animate: {
|
|
17703
|
+
width: index === currentIndex ? "30px" : "8px"
|
|
17704
|
+
},
|
|
17705
|
+
className: "relative flex h-2 cursor-pointer items-center justify-center overflow-hidden rounded-full bg-foreground/15 p-0.5 text-foreground/50",
|
|
17706
|
+
children: currentIndex === index && /* @__PURE__ */ jsxRuntime.jsx(
|
|
17707
|
+
framerMotion.motion.div,
|
|
17708
|
+
{
|
|
17709
|
+
style: { clipPath },
|
|
17710
|
+
className: "absolute left-0 top-0 h-full w-full origin-left rounded-full bg-foreground"
|
|
17711
|
+
}
|
|
17712
|
+
)
|
|
17713
|
+
},
|
|
17714
|
+
index
|
|
17715
|
+
)) }),
|
|
17716
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17717
|
+
Pressable,
|
|
17718
|
+
{
|
|
17719
|
+
onClick: handleNext,
|
|
17720
|
+
asButton: true,
|
|
17721
|
+
variant: "ghost",
|
|
17722
|
+
size: "icon",
|
|
17723
|
+
className: "flex size-6 cursor-pointer items-center justify-center rounded-full bg-foreground/10 p-0.5 text-neutral-400 hover:bg-foreground/20 active:scale-95",
|
|
17724
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size: 16 })
|
|
17636
17725
|
}
|
|
17637
17726
|
)
|
|
17638
|
-
|
|
17639
|
-
|
|
17640
|
-
|
|
17641
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17642
|
-
Pressable,
|
|
17643
|
-
{
|
|
17644
|
-
onClick: handleNext,
|
|
17645
|
-
asButton: true,
|
|
17646
|
-
variant: "ghost",
|
|
17647
|
-
size: "icon",
|
|
17648
|
-
className: "flex size-6 cursor-pointer items-center justify-center rounded-full bg-foreground/10 p-0.5 text-neutral-400 hover:bg-foreground/20 active:scale-95",
|
|
17649
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size: 16 })
|
|
17650
|
-
}
|
|
17651
|
-
)
|
|
17652
|
-
] }),
|
|
17727
|
+
]
|
|
17728
|
+
}
|
|
17729
|
+
),
|
|
17653
17730
|
slidesSlot ? slidesSlot : /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { initial: false, mode: "popLayout", custom: direction, children: currentIndex !== null && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
17654
17731
|
framerMotion.motion.div,
|
|
17655
17732
|
{
|
|
@@ -17659,26 +17736,51 @@ function CarouselAutoProgressSlides({
|
|
|
17659
17736
|
exit: "exit",
|
|
17660
17737
|
custom: direction,
|
|
17661
17738
|
transition: { type: "spring", stiffness: 100, damping: 30 },
|
|
17662
|
-
className: cn(
|
|
17739
|
+
className: cn(
|
|
17740
|
+
"flex w-full max-w-3xl flex-col items-center justify-center",
|
|
17741
|
+
items?.[currentIndex]?.className
|
|
17742
|
+
),
|
|
17663
17743
|
children: [
|
|
17664
|
-
|
|
17665
|
-
|
|
17666
|
-
framerMotion.motion.div,
|
|
17744
|
+
typeof items?.[currentIndex]?.label === "string" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
17745
|
+
"p",
|
|
17667
17746
|
{
|
|
17668
|
-
|
|
17669
|
-
|
|
17670
|
-
|
|
17747
|
+
className: cn(
|
|
17748
|
+
"mb-6 font-medium text-center text-lg text-foreground/50",
|
|
17749
|
+
slideLabelClassName
|
|
17750
|
+
),
|
|
17751
|
+
children: items?.[currentIndex]?.label
|
|
17752
|
+
}
|
|
17753
|
+
),
|
|
17754
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17755
|
+
"div",
|
|
17756
|
+
{
|
|
17757
|
+
className: cn(
|
|
17758
|
+
"h-[550px] w-full overflow-hidden rounded-3xl bg-foreground/10 p-1",
|
|
17759
|
+
slideContainerClassName
|
|
17760
|
+
),
|
|
17671
17761
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
17672
|
-
|
|
17762
|
+
framerMotion.motion.div,
|
|
17673
17763
|
{
|
|
17674
|
-
|
|
17675
|
-
|
|
17676
|
-
className:
|
|
17677
|
-
|
|
17764
|
+
initial: { scale: 0.9 },
|
|
17765
|
+
animate: { scale: 1 },
|
|
17766
|
+
className: "h-full w-full",
|
|
17767
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
17768
|
+
img.Img,
|
|
17769
|
+
{
|
|
17770
|
+
src: items?.[currentIndex]?.src ?? "",
|
|
17771
|
+
alt: typeof items?.[currentIndex]?.label === "string" ? items[currentIndex].label : `Slide ${currentIndex + 1}`,
|
|
17772
|
+
className: cn(
|
|
17773
|
+
"h-full w-full rounded-3xl object-cover",
|
|
17774
|
+
imageClassName,
|
|
17775
|
+
items?.[currentIndex]?.imageClassName
|
|
17776
|
+
),
|
|
17777
|
+
optixFlowConfig
|
|
17778
|
+
}
|
|
17779
|
+
)
|
|
17678
17780
|
}
|
|
17679
17781
|
)
|
|
17680
17782
|
}
|
|
17681
|
-
)
|
|
17783
|
+
)
|
|
17682
17784
|
]
|
|
17683
17785
|
},
|
|
17684
17786
|
currentIndex
|
|
@@ -17810,7 +17912,7 @@ function CarouselAutoplayProgress({
|
|
|
17810
17912
|
pattern,
|
|
17811
17913
|
patternOpacity,
|
|
17812
17914
|
children: [
|
|
17813
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("overflow-hidden", containerClassName), ref: emblaRef, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("ml-auto mr-3 flex touch-pan-y touch-pinch-zoom", trackClassName), children: slidesSlot ? slidesSlot : slides
|
|
17915
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("overflow-hidden", containerClassName), ref: emblaRef, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("ml-auto mr-3 flex touch-pan-y touch-pinch-zoom", trackClassName), children: slidesSlot ? slidesSlot : slides?.map((slide, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
17814
17916
|
"div",
|
|
17815
17917
|
{
|
|
17816
17918
|
className: cn("flex-[0_0_70%] transform-gpu pl-3", slideClassName, slide.className),
|
|
@@ -17874,7 +17976,7 @@ function CarouselAutoplayProgress({
|
|
|
17874
17976
|
}
|
|
17875
17977
|
)
|
|
17876
17978
|
] }),
|
|
17877
|
-
/* @__PURE__ */ jsxRuntime.jsx("style", {
|
|
17979
|
+
/* @__PURE__ */ jsxRuntime.jsx("style", { children: `
|
|
17878
17980
|
@keyframes autoplay-progress {
|
|
17879
17981
|
from {
|
|
17880
17982
|
transform: translateX(0);
|
|
@@ -18154,7 +18256,7 @@ function CarouselFullscreenScrollFx({
|
|
|
18154
18256
|
const [activeIndex, setActiveIndex] = React52__namespace.useState(0);
|
|
18155
18257
|
React52__namespace.useEffect(() => {
|
|
18156
18258
|
const observers = [];
|
|
18157
|
-
slides
|
|
18259
|
+
slides?.forEach((slide, index) => {
|
|
18158
18260
|
const element = document.getElementById(`fullscreen-${slide.id}`);
|
|
18159
18261
|
if (element) {
|
|
18160
18262
|
const observer = new IntersectionObserver(
|
|
@@ -18185,7 +18287,7 @@ function CarouselFullscreenScrollFx({
|
|
|
18185
18287
|
pattern,
|
|
18186
18288
|
patternOpacity,
|
|
18187
18289
|
children: [
|
|
18188
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("fixed right-6 top-1/2 z-50 hidden -translate-y-1/2 flex-col gap-3 lg:flex", navigationClassName), children: slides
|
|
18290
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("fixed right-6 top-1/2 z-50 hidden -translate-y-1/2 flex-col gap-3 lg:flex", navigationClassName), children: slides?.map((slide, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
18189
18291
|
"button",
|
|
18190
18292
|
{
|
|
18191
18293
|
onClick: () => {
|
|
@@ -18200,7 +18302,7 @@ function CarouselFullscreenScrollFx({
|
|
|
18200
18302
|
},
|
|
18201
18303
|
slide.id
|
|
18202
18304
|
)) }),
|
|
18203
|
-
slidesSlot ? slidesSlot : slides
|
|
18305
|
+
slidesSlot ? slidesSlot : slides?.map((slide, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
18204
18306
|
"div",
|
|
18205
18307
|
{
|
|
18206
18308
|
id: `fullscreen-${slide.id}`,
|
|
@@ -18230,7 +18332,7 @@ function CarouselFullscreenScrollFx({
|
|
|
18230
18332
|
slide.subtitle && (typeof slide.subtitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 text-sm font-medium uppercase tracking-widest text-white/70", subtitleClassName), children: slide.subtitle }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: subtitleClassName, children: slide.subtitle })),
|
|
18231
18333
|
slide.title && (typeof slide.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("mb-6 text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl", titleClassName), children: slide.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: slide.title })),
|
|
18232
18334
|
slide.description && (typeof slide.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mx-auto max-w-2xl text-lg text-white/80 md:text-xl", descriptionClassName), children: slide.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: slide.description })),
|
|
18233
|
-
index < slides
|
|
18335
|
+
index < (slides?.length ?? 0) - 1 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("absolute bottom-8 left-1/2 -translate-x-1/2", scrollIndicatorClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-2", children: [
|
|
18234
18336
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs uppercase tracking-widest text-white/50", children: "Scroll" }),
|
|
18235
18337
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-12 w-px animate-pulse bg-gradient-to-b from-white/50 to-transparent" })
|
|
18236
18338
|
] }) })
|
|
@@ -18239,7 +18341,7 @@ function CarouselFullscreenScrollFx({
|
|
|
18239
18341
|
String(index + 1).padStart(2, "0"),
|
|
18240
18342
|
" /",
|
|
18241
18343
|
" ",
|
|
18242
|
-
String(slides
|
|
18344
|
+
String(slides?.length ?? 0).padStart(2, "0")
|
|
18243
18345
|
] })
|
|
18244
18346
|
]
|
|
18245
18347
|
},
|
|
@@ -18271,14 +18373,14 @@ function CarouselGalleryThumbnails({
|
|
|
18271
18373
|
const [currentIndex, setCurrentIndex] = React52__namespace.useState(0);
|
|
18272
18374
|
const prevSlide = React52__namespace.useCallback(() => {
|
|
18273
18375
|
setCurrentIndex(
|
|
18274
|
-
(prev) => prev === 0 ? images
|
|
18376
|
+
(prev) => prev === 0 ? (images?.length ?? 0) - 1 : prev - 1
|
|
18275
18377
|
);
|
|
18276
|
-
}, [images
|
|
18378
|
+
}, [images?.length]);
|
|
18277
18379
|
const nextSlide = React52__namespace.useCallback(() => {
|
|
18278
18380
|
setCurrentIndex(
|
|
18279
|
-
(prev) => prev === images
|
|
18381
|
+
(prev) => prev === (images?.length ?? 0) - 1 ? 0 : prev + 1
|
|
18280
18382
|
);
|
|
18281
|
-
}, [images
|
|
18383
|
+
}, [images?.length]);
|
|
18282
18384
|
React52__namespace.useEffect(() => {
|
|
18283
18385
|
if (!autoPlay) return;
|
|
18284
18386
|
const interval = setInterval(() => {
|
|
@@ -18307,7 +18409,7 @@ function CarouselGalleryThumbnails({
|
|
|
18307
18409
|
patternOpacity,
|
|
18308
18410
|
children: [
|
|
18309
18411
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative overflow-hidden rounded-lg", containerClassName), children: [
|
|
18310
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative aspect-video w-full overflow-hidden", slideClassName), children: imagesSlot ? imagesSlot : images
|
|
18412
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative aspect-video w-full overflow-hidden", slideClassName), children: imagesSlot ? imagesSlot : images?.map((image, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
18311
18413
|
"div",
|
|
18312
18414
|
{
|
|
18313
18415
|
className: cn(
|
|
@@ -18347,9 +18449,9 @@ function CarouselGalleryThumbnails({
|
|
|
18347
18449
|
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size: 24 })
|
|
18348
18450
|
}
|
|
18349
18451
|
),
|
|
18350
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/60 to-transparent p-4 text-sm text-white", captionClassName), children: images[currentIndex].alt && (typeof images[currentIndex].alt === "string" ? images[currentIndex].alt : /* @__PURE__ */ jsxRuntime.jsx("div", { children: images[currentIndex].alt })) })
|
|
18452
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/60 to-transparent p-4 text-sm text-white", captionClassName), children: images?.[currentIndex].alt && (typeof images?.[currentIndex].alt === "string" ? images?.[currentIndex].alt : /* @__PURE__ */ jsxRuntime.jsx("div", { children: images?.[currentIndex].alt })) })
|
|
18351
18453
|
] }),
|
|
18352
|
-
showThumbnails && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4 flex gap-2 overflow-x-auto px-2 py-2", thumbnailsClassName), children: images
|
|
18454
|
+
showThumbnails && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4 flex gap-2 overflow-x-auto px-2 py-2", thumbnailsClassName), children: images?.map((image, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
18353
18455
|
"button",
|
|
18354
18456
|
{
|
|
18355
18457
|
className: cn(
|
|
@@ -19277,18 +19379,18 @@ function CarouselProgressSlider({
|
|
|
19277
19379
|
pattern,
|
|
19278
19380
|
patternOpacity
|
|
19279
19381
|
}) {
|
|
19280
|
-
const [active, setActive] = React52__namespace.useState(slides[0]
|
|
19382
|
+
const [active, setActive] = React52__namespace.useState(slides?.[0]?.id ?? "");
|
|
19281
19383
|
const [progress, setProgress] = React52__namespace.useState(0);
|
|
19282
19384
|
const [isFastForward, setIsFastForward] = React52__namespace.useState(false);
|
|
19283
19385
|
const frame = React52__namespace.useRef(0);
|
|
19284
19386
|
const firstFrameTime = React52__namespace.useRef(performance.now());
|
|
19285
19387
|
const targetValue = React52__namespace.useRef(null);
|
|
19286
19388
|
const sliderValues = React52__namespace.useMemo(
|
|
19287
|
-
() => slides
|
|
19389
|
+
() => slides?.map((slide) => slide.id),
|
|
19288
19390
|
[slides]
|
|
19289
19391
|
);
|
|
19290
19392
|
React52__namespace.useEffect(() => {
|
|
19291
|
-
if (sliderValues
|
|
19393
|
+
if ((sliderValues?.length ?? 0) > 0) {
|
|
19292
19394
|
firstFrameTime.current = performance.now();
|
|
19293
19395
|
frame.current = requestAnimationFrame(animate);
|
|
19294
19396
|
}
|
|
@@ -19313,9 +19415,10 @@ function CarouselProgressSlider({
|
|
|
19313
19415
|
targetValue.current = null;
|
|
19314
19416
|
}
|
|
19315
19417
|
} else {
|
|
19316
|
-
const currentIndex = sliderValues
|
|
19317
|
-
const nextIndex = (currentIndex + 1) % sliderValues
|
|
19318
|
-
|
|
19418
|
+
const currentIndex = sliderValues?.indexOf(active) ?? -1;
|
|
19419
|
+
const nextIndex = (currentIndex + 1) % (sliderValues?.length ?? 1);
|
|
19420
|
+
const nextValue = sliderValues?.[nextIndex];
|
|
19421
|
+
if (nextValue) setActive(nextValue);
|
|
19319
19422
|
}
|
|
19320
19423
|
setProgress(0);
|
|
19321
19424
|
firstFrameTime.current = performance.now();
|
|
@@ -19344,7 +19447,7 @@ function CarouselProgressSlider({
|
|
|
19344
19447
|
pattern,
|
|
19345
19448
|
patternOpacity,
|
|
19346
19449
|
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container mx-auto px-4", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-8 lg:grid-cols-2", contentClassName), children: [
|
|
19347
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative min-h-[300px]", imageClassName), children: slidesSlot ? slidesSlot : slides
|
|
19450
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative min-h-[300px]", imageClassName), children: slidesSlot ? slidesSlot : slides?.map((slide) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
19348
19451
|
SliderWrapper,
|
|
19349
19452
|
{
|
|
19350
19453
|
value: slide.id,
|
|
@@ -19361,7 +19464,7 @@ function CarouselProgressSlider({
|
|
|
19361
19464
|
},
|
|
19362
19465
|
slide.id
|
|
19363
19466
|
)) }),
|
|
19364
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col justify-center gap-4", navigationClassName), children: slides
|
|
19467
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col justify-center gap-4", navigationClassName), children: slides?.map((slide) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
19365
19468
|
SliderBtn,
|
|
19366
19469
|
{
|
|
19367
19470
|
value: slide.id,
|
|
@@ -32175,7 +32278,7 @@ function BlogGridAuthorCardsComponent({
|
|
|
32175
32278
|
pattern,
|
|
32176
32279
|
patternOpacity,
|
|
32177
32280
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
|
|
32178
|
-
(heading || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-
|
|
32281
|
+
(heading || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-6 md:mb-14 lg:mb-16", headerClassName), children: [
|
|
32179
32282
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-start justify-between gap-8", children: /* @__PURE__ */ jsxRuntime.jsx("div", { children: heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32180
32283
|
"h2",
|
|
32181
32284
|
{
|
|
@@ -32342,7 +32445,7 @@ function BlogCardsTaglineCta({
|
|
|
32342
32445
|
"div",
|
|
32343
32446
|
{
|
|
32344
32447
|
className: cn(
|
|
32345
|
-
"text-center flex flex-col items-center px-
|
|
32448
|
+
"text-center flex flex-col items-center px-4 md:px-0",
|
|
32346
32449
|
headerClassName
|
|
32347
32450
|
),
|
|
32348
32451
|
children: [
|
|
@@ -32485,7 +32588,7 @@ function BlogCardsReadTime({
|
|
|
32485
32588
|
"div",
|
|
32486
32589
|
{
|
|
32487
32590
|
className: cn(
|
|
32488
|
-
"mx-auto flex max-w-3xl flex-col items-center gap-4 text-center px-
|
|
32591
|
+
"mx-auto flex max-w-3xl flex-col items-center gap-4 text-center px-4 md:px-0",
|
|
32489
32592
|
headerClassName
|
|
32490
32593
|
),
|
|
32491
32594
|
children: [
|
|
@@ -32671,7 +32774,7 @@ function BlogCategoryOverlay({
|
|
|
32671
32774
|
"div",
|
|
32672
32775
|
{
|
|
32673
32776
|
className: cn(
|
|
32674
|
-
"mx-auto flex max-w-3xl flex-col items-center gap-6 text-center px-
|
|
32777
|
+
"mx-auto flex max-w-3xl flex-col items-center gap-6 text-center px-4 md:px-0",
|
|
32675
32778
|
headerClassName
|
|
32676
32779
|
),
|
|
32677
32780
|
children: [
|
|
@@ -32837,7 +32940,7 @@ function BlogFeaturedPopular({
|
|
|
32837
32940
|
"div",
|
|
32838
32941
|
{
|
|
32839
32942
|
className: cn(
|
|
32840
|
-
"mb-6 md:mb-16 text-center px-
|
|
32943
|
+
"mb-6 md:mb-16 text-center px-4 md:px-0",
|
|
32841
32944
|
headerClassName
|
|
32842
32945
|
),
|
|
32843
32946
|
children: [
|
|
@@ -33161,55 +33264,64 @@ function BlogTechInsights({
|
|
|
33161
33264
|
className: cn("dark relative", className),
|
|
33162
33265
|
pattern,
|
|
33163
33266
|
patternOpacity,
|
|
33164
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
33165
|
-
|
|
33166
|
-
|
|
33167
|
-
|
|
33168
|
-
|
|
33169
|
-
|
|
33170
|
-
|
|
33171
|
-
|
|
33172
|
-
|
|
33173
|
-
|
|
33174
|
-
|
|
33175
|
-
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
|
|
33176
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-4 flex justify-start", children: [
|
|
33177
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33178
|
-
"span",
|
|
33179
|
-
{
|
|
33180
|
-
className: cn(
|
|
33181
|
-
"mt-2 block text-sm text-muted-foreground md:text-base",
|
|
33182
|
-
descriptionClassName
|
|
33183
|
-
),
|
|
33184
|
-
children: description
|
|
33185
|
-
}
|
|
33186
|
-
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
|
|
33187
|
-
readMoreActionContent
|
|
33188
|
-
] })
|
|
33189
|
-
] }),
|
|
33190
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
33191
|
-
"div",
|
|
33192
|
-
{
|
|
33193
|
-
className: cn(
|
|
33194
|
-
"mt-12 grid grid-cols-1 gap-8 md:grid-cols-2 lg:gap-12",
|
|
33195
|
-
contentClassName
|
|
33196
|
-
),
|
|
33197
|
-
children: [
|
|
33198
|
-
featuredPostContent,
|
|
33199
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33200
|
-
"div",
|
|
33267
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
33268
|
+
"div",
|
|
33269
|
+
{
|
|
33270
|
+
className: cn(
|
|
33271
|
+
"flex flex-col items-center gap-8 md:gap-14",
|
|
33272
|
+
containerClassName
|
|
33273
|
+
),
|
|
33274
|
+
children: [
|
|
33275
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("w-full", headerClassName), children: [
|
|
33276
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33277
|
+
"h1",
|
|
33201
33278
|
{
|
|
33202
33279
|
className: cn(
|
|
33203
|
-
"
|
|
33204
|
-
|
|
33280
|
+
"text-3xl font-bold text-foreground md:text-4xl lg:text-5xl",
|
|
33281
|
+
headingClassName
|
|
33205
33282
|
),
|
|
33206
|
-
children:
|
|
33283
|
+
children: heading
|
|
33207
33284
|
}
|
|
33208
|
-
)
|
|
33209
|
-
|
|
33210
|
-
|
|
33211
|
-
|
|
33212
|
-
|
|
33285
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
|
|
33286
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-4 flex justify-start", children: [
|
|
33287
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33288
|
+
"span",
|
|
33289
|
+
{
|
|
33290
|
+
className: cn(
|
|
33291
|
+
"mt-2 block text-sm text-muted-foreground md:text-base",
|
|
33292
|
+
descriptionClassName
|
|
33293
|
+
),
|
|
33294
|
+
children: description
|
|
33295
|
+
}
|
|
33296
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
|
|
33297
|
+
readMoreActionContent
|
|
33298
|
+
] })
|
|
33299
|
+
] }),
|
|
33300
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
33301
|
+
"div",
|
|
33302
|
+
{
|
|
33303
|
+
className: cn(
|
|
33304
|
+
"grid grid-cols-1 gap-8 md:grid-cols-2 lg:gap-12",
|
|
33305
|
+
contentClassName
|
|
33306
|
+
),
|
|
33307
|
+
children: [
|
|
33308
|
+
featuredPostContent,
|
|
33309
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33310
|
+
"div",
|
|
33311
|
+
{
|
|
33312
|
+
className: cn(
|
|
33313
|
+
"space-y-6 text-foreground md:space-y-8",
|
|
33314
|
+
secondaryPostsClassName
|
|
33315
|
+
),
|
|
33316
|
+
children: secondaryPostsContent
|
|
33317
|
+
}
|
|
33318
|
+
)
|
|
33319
|
+
]
|
|
33320
|
+
}
|
|
33321
|
+
)
|
|
33322
|
+
]
|
|
33323
|
+
}
|
|
33324
|
+
)
|
|
33213
33325
|
}
|
|
33214
33326
|
);
|
|
33215
33327
|
}
|
|
@@ -33337,7 +33449,7 @@ function BlogHorizontalCards({
|
|
|
33337
33449
|
className: cn(className),
|
|
33338
33450
|
pattern,
|
|
33339
33451
|
patternOpacity,
|
|
33340
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("
|
|
33452
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col items-center", containerClassName), children: [
|
|
33341
33453
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto max-w-3xl text-center", headerClassName), children: [
|
|
33342
33454
|
badge && (typeof badge === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "secondary", className: cn("mb-6", badgeClassName), children: badge }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-6", badgeClassName), children: badge })),
|
|
33343
33455
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -34115,7 +34227,7 @@ function BlogGridNinePosts({
|
|
|
34115
34227
|
pattern,
|
|
34116
34228
|
patternOpacity,
|
|
34117
34229
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
|
|
34118
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-
|
|
34230
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-6 md:mb-14 lg:mb-16", headerClassName), children: [
|
|
34119
34231
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-start justify-between gap:4 md:gap-8", children: /* @__PURE__ */ jsxRuntime.jsx("div", { children: heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
34120
34232
|
"h2",
|
|
34121
34233
|
{
|
|
@@ -97817,7 +97929,6 @@ var BLOCK_REGISTRY = {
|
|
|
97817
97929
|
<CarouselAutoProgressSlides
|
|
97818
97930
|
heading="Featured Products"
|
|
97819
97931
|
subheading="Discover our latest collection"
|
|
97820
|
-
slideLabel="Explore"
|
|
97821
97932
|
items={[
|
|
97822
97933
|
{ src: "/images/product-1.jpg", label: "Product 1" },
|
|
97823
97934
|
{ src: "/images/product-2.jpg", label: "Product 2" }
|