@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.js
CHANGED
|
@@ -17245,7 +17245,7 @@ function CarouselAnimatedSections({
|
|
|
17245
17245
|
actionsSlot,
|
|
17246
17246
|
actions,
|
|
17247
17247
|
className,
|
|
17248
|
-
containerClassName,
|
|
17248
|
+
containerClassName = "h-full",
|
|
17249
17249
|
contentClassName,
|
|
17250
17250
|
subtitleClassName,
|
|
17251
17251
|
titleClassName,
|
|
@@ -17256,20 +17256,21 @@ function CarouselAnimatedSections({
|
|
|
17256
17256
|
counterClassName,
|
|
17257
17257
|
overlayClassName,
|
|
17258
17258
|
optixFlowConfig,
|
|
17259
|
-
background = "
|
|
17260
|
-
spacing = "
|
|
17261
|
-
|
|
17262
|
-
|
|
17259
|
+
background = "dark",
|
|
17260
|
+
spacing = "py-0",
|
|
17261
|
+
containerMaxWidth = "full",
|
|
17262
|
+
pattern = "diagonalCrossBasic",
|
|
17263
|
+
patternOpacity = 0.033
|
|
17263
17264
|
}) {
|
|
17264
17265
|
const [currentIndex, setCurrentIndex] = React52.useState(0);
|
|
17265
17266
|
const [direction, setDirection] = React52.useState(0);
|
|
17266
17267
|
const [isAnimating, setIsAnimating] = React52.useState(false);
|
|
17267
17268
|
const goToNext = React52.useCallback(() => {
|
|
17268
|
-
if (isAnimating || currentIndex >= sections
|
|
17269
|
+
if (isAnimating || currentIndex >= (sections?.length ?? 0) - 1) return;
|
|
17269
17270
|
setIsAnimating(true);
|
|
17270
17271
|
setDirection(1);
|
|
17271
17272
|
setCurrentIndex((prev) => prev + 1);
|
|
17272
|
-
}, [currentIndex, isAnimating, sections
|
|
17273
|
+
}, [currentIndex, isAnimating, sections?.length]);
|
|
17273
17274
|
const goToPrev = React52.useCallback(() => {
|
|
17274
17275
|
if (isAnimating || currentIndex <= 0) return;
|
|
17275
17276
|
setIsAnimating(true);
|
|
@@ -17293,25 +17294,6 @@ function CarouselAnimatedSections({
|
|
|
17293
17294
|
window.addEventListener("keydown", handleKeyDown);
|
|
17294
17295
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
17295
17296
|
}, [goToNext, goToPrev]);
|
|
17296
|
-
React52.useEffect(() => {
|
|
17297
|
-
let timeout;
|
|
17298
|
-
const handleWheel = (e) => {
|
|
17299
|
-
e.preventDefault();
|
|
17300
|
-
clearTimeout(timeout);
|
|
17301
|
-
timeout = setTimeout(() => {
|
|
17302
|
-
if (e.deltaY > 0) {
|
|
17303
|
-
goToNext();
|
|
17304
|
-
} else if (e.deltaY < 0) {
|
|
17305
|
-
goToPrev();
|
|
17306
|
-
}
|
|
17307
|
-
}, 50);
|
|
17308
|
-
};
|
|
17309
|
-
window.addEventListener("wheel", handleWheel, { passive: false });
|
|
17310
|
-
return () => {
|
|
17311
|
-
window.removeEventListener("wheel", handleWheel);
|
|
17312
|
-
clearTimeout(timeout);
|
|
17313
|
-
};
|
|
17314
|
-
}, [goToNext, goToPrev]);
|
|
17315
17297
|
const slideVariants2 = {
|
|
17316
17298
|
enter: (direction2) => ({
|
|
17317
17299
|
y: direction2 > 0 ? "100%" : "-100%",
|
|
@@ -17326,7 +17308,7 @@ function CarouselAnimatedSections({
|
|
|
17326
17308
|
opacity: 0
|
|
17327
17309
|
})
|
|
17328
17310
|
};
|
|
17329
|
-
const currentSection = sections[currentIndex];
|
|
17311
|
+
const currentSection = sections?.[currentIndex];
|
|
17330
17312
|
const renderActions = () => {
|
|
17331
17313
|
if (actionsSlot) return actionsSlot;
|
|
17332
17314
|
if (actions && actions.length > 0) {
|
|
@@ -17338,7 +17320,10 @@ function CarouselAnimatedSections({
|
|
|
17338
17320
|
asButton: true,
|
|
17339
17321
|
variant: action.variant,
|
|
17340
17322
|
size: action.size || "lg",
|
|
17341
|
-
className: cn(
|
|
17323
|
+
className: cn(
|
|
17324
|
+
"bg-white text-black hover:bg-white/90",
|
|
17325
|
+
action.className
|
|
17326
|
+
),
|
|
17342
17327
|
children: [
|
|
17343
17328
|
action.label,
|
|
17344
17329
|
action.icon && /* @__PURE__ */ jsx("span", { className: "ml-2", children: action.icon }),
|
|
@@ -17358,8 +17343,10 @@ function CarouselAnimatedSections({
|
|
|
17358
17343
|
className: cn("relative h-screen w-full overflow-hidden", className),
|
|
17359
17344
|
pattern,
|
|
17360
17345
|
patternOpacity,
|
|
17346
|
+
containerMaxWidth,
|
|
17347
|
+
containerClassName,
|
|
17361
17348
|
children: [
|
|
17362
|
-
sectionsSlot ? sectionsSlot : /* @__PURE__ */ jsx(AnimatePresence, { initial: false, custom: direction, mode: "wait", children: /* @__PURE__ */ jsxs(
|
|
17349
|
+
sectionsSlot ? sectionsSlot : currentSection ? /* @__PURE__ */ jsx(AnimatePresence, { initial: false, custom: direction, mode: "wait", children: /* @__PURE__ */ jsxs(
|
|
17363
17350
|
motion.div,
|
|
17364
17351
|
{
|
|
17365
17352
|
custom: direction,
|
|
@@ -17369,103 +17356,174 @@ function CarouselAnimatedSections({
|
|
|
17369
17356
|
exit: "exit",
|
|
17370
17357
|
transition: { duration: 0.6, ease: [0.4, 0, 0.2, 1] },
|
|
17371
17358
|
onAnimationComplete: () => setIsAnimating(false),
|
|
17372
|
-
className: cn("absolute inset-0", currentSection
|
|
17359
|
+
className: cn("absolute inset-0", currentSection?.className),
|
|
17373
17360
|
children: [
|
|
17374
17361
|
/* @__PURE__ */ jsx(
|
|
17375
17362
|
Img,
|
|
17376
17363
|
{
|
|
17377
|
-
src: currentSection
|
|
17378
|
-
alt: typeof currentSection
|
|
17379
|
-
className: cn(
|
|
17364
|
+
src: currentSection?.image,
|
|
17365
|
+
alt: typeof currentSection?.title === "string" ? currentSection?.title : `Section ${currentSection?.id}`,
|
|
17366
|
+
className: cn(
|
|
17367
|
+
"h-full w-full object-cover",
|
|
17368
|
+
currentSection?.imageClassName
|
|
17369
|
+
),
|
|
17380
17370
|
optixFlowConfig
|
|
17381
17371
|
}
|
|
17382
17372
|
),
|
|
17383
|
-
/* @__PURE__ */ jsx(
|
|
17373
|
+
/* @__PURE__ */ jsx(
|
|
17374
|
+
"div",
|
|
17375
|
+
{
|
|
17376
|
+
className: cn("absolute inset-0 bg-black/50", overlayClassName)
|
|
17377
|
+
}
|
|
17378
|
+
)
|
|
17384
17379
|
]
|
|
17385
17380
|
},
|
|
17386
17381
|
currentIndex
|
|
17387
|
-
) }),
|
|
17388
|
-
/* @__PURE__ */ jsx(
|
|
17389
|
-
|
|
17382
|
+
) }) : null,
|
|
17383
|
+
/* @__PURE__ */ jsx(
|
|
17384
|
+
"div",
|
|
17390
17385
|
{
|
|
17391
|
-
|
|
17392
|
-
|
|
17393
|
-
|
|
17394
|
-
|
|
17395
|
-
className: "
|
|
17386
|
+
className: cn(
|
|
17387
|
+
"relative z-10 flex h-full items-center",
|
|
17388
|
+
contentClassName
|
|
17389
|
+
),
|
|
17390
|
+
children: /* @__PURE__ */ jsx("div", { className: cn("container mx-auto px-6", containerClassName), children: /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsxs(
|
|
17391
|
+
motion.div,
|
|
17392
|
+
{
|
|
17393
|
+
initial: { opacity: 0, y: 40 },
|
|
17394
|
+
animate: { opacity: 1, y: 0 },
|
|
17395
|
+
exit: { opacity: 0, y: -40 },
|
|
17396
|
+
transition: { duration: 0.4, delay: 0.2 },
|
|
17397
|
+
className: "max-w-2xl text-white",
|
|
17398
|
+
children: [
|
|
17399
|
+
currentSection?.subtitle && (typeof currentSection?.subtitle === "string" ? /* @__PURE__ */ jsx(
|
|
17400
|
+
"p",
|
|
17401
|
+
{
|
|
17402
|
+
className: cn(
|
|
17403
|
+
"mb-2 text-sm font-medium uppercase tracking-widest text-white/70",
|
|
17404
|
+
subtitleClassName
|
|
17405
|
+
),
|
|
17406
|
+
children: currentSection?.subtitle
|
|
17407
|
+
}
|
|
17408
|
+
) : /* @__PURE__ */ jsx("div", { className: cn("mb-2", subtitleClassName), children: currentSection?.subtitle })),
|
|
17409
|
+
currentSection?.title && (typeof currentSection?.title === "string" ? /* @__PURE__ */ jsx(
|
|
17410
|
+
"h2",
|
|
17411
|
+
{
|
|
17412
|
+
className: cn(
|
|
17413
|
+
"mb-4 text-4xl font-bold md:text-5xl lg:text-6xl",
|
|
17414
|
+
titleClassName
|
|
17415
|
+
),
|
|
17416
|
+
children: currentSection?.title
|
|
17417
|
+
}
|
|
17418
|
+
) : /* @__PURE__ */ jsx("div", { className: cn("mb-4", titleClassName), children: currentSection?.title })),
|
|
17419
|
+
currentSection?.description && (typeof currentSection?.description === "string" ? /* @__PURE__ */ jsx(
|
|
17420
|
+
"p",
|
|
17421
|
+
{
|
|
17422
|
+
className: cn(
|
|
17423
|
+
"mb-8 text-lg text-white/80 text-balance",
|
|
17424
|
+
descriptionClassName
|
|
17425
|
+
),
|
|
17426
|
+
children: currentSection?.description
|
|
17427
|
+
}
|
|
17428
|
+
) : /* @__PURE__ */ jsx("div", { className: cn("mb-8", descriptionClassName), children: currentSection?.description })),
|
|
17429
|
+
/* @__PURE__ */ jsx("div", { className: actionsClassName, children: renderActions() || currentSection?.ctaText && /* @__PURE__ */ jsxs(
|
|
17430
|
+
Pressable,
|
|
17431
|
+
{
|
|
17432
|
+
href: currentSection?.ctaHref,
|
|
17433
|
+
onClick: currentSection?.ctaOnClick,
|
|
17434
|
+
asButton: true,
|
|
17435
|
+
size: "lg",
|
|
17436
|
+
className: "bg-white text-black hover:bg-white/90",
|
|
17437
|
+
children: [
|
|
17438
|
+
currentSection?.ctaText,
|
|
17439
|
+
/* @__PURE__ */ jsx(
|
|
17440
|
+
DynamicIcon,
|
|
17441
|
+
{
|
|
17442
|
+
name: "lucide/arrow-right",
|
|
17443
|
+
size: 16,
|
|
17444
|
+
className: "ml-2"
|
|
17445
|
+
}
|
|
17446
|
+
)
|
|
17447
|
+
]
|
|
17448
|
+
}
|
|
17449
|
+
) })
|
|
17450
|
+
]
|
|
17451
|
+
},
|
|
17452
|
+
currentIndex
|
|
17453
|
+
) }) })
|
|
17454
|
+
}
|
|
17455
|
+
),
|
|
17456
|
+
/* @__PURE__ */ jsx(
|
|
17457
|
+
"div",
|
|
17458
|
+
{
|
|
17459
|
+
className: cn(
|
|
17460
|
+
"absolute right-6 top-1/2 z-20 flex -translate-y-1/2 flex-col gap-3",
|
|
17461
|
+
navigationClassName
|
|
17462
|
+
),
|
|
17463
|
+
children: sections?.map((_, index) => /* @__PURE__ */ jsx(
|
|
17464
|
+
"button",
|
|
17465
|
+
{
|
|
17466
|
+
onClick: () => goToSlide(index),
|
|
17467
|
+
className: cn(
|
|
17468
|
+
"h-3 w-3 rounded-full border-2 transition-all",
|
|
17469
|
+
currentIndex === index ? "scale-125 border-white bg-white" : "border-white/50 bg-transparent hover:border-white"
|
|
17470
|
+
),
|
|
17471
|
+
"aria-label": `Go to section ${index + 1}`
|
|
17472
|
+
},
|
|
17473
|
+
index
|
|
17474
|
+
))
|
|
17475
|
+
}
|
|
17476
|
+
),
|
|
17477
|
+
/* @__PURE__ */ jsxs(
|
|
17478
|
+
"div",
|
|
17479
|
+
{
|
|
17480
|
+
className: cn(
|
|
17481
|
+
"absolute bottom-8 left-1/2 z-20 flex -translate-x-1/2 gap-4",
|
|
17482
|
+
arrowsClassName
|
|
17483
|
+
),
|
|
17396
17484
|
children: [
|
|
17397
|
-
|
|
17398
|
-
currentSection.title && (typeof currentSection.title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("mb-4 text-4xl font-bold md:text-5xl lg:text-6xl", titleClassName), children: currentSection.title }) : /* @__PURE__ */ jsx("div", { className: cn("mb-4", titleClassName), children: currentSection.title })),
|
|
17399
|
-
currentSection.description && (typeof currentSection.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-8 text-lg text-white/80", descriptionClassName), children: currentSection.description }) : /* @__PURE__ */ jsx("div", { className: cn("mb-8", descriptionClassName), children: currentSection.description })),
|
|
17400
|
-
/* @__PURE__ */ jsx("div", { className: actionsClassName, children: renderActions() || currentSection.ctaText && /* @__PURE__ */ jsxs(
|
|
17485
|
+
/* @__PURE__ */ jsx(
|
|
17401
17486
|
Pressable,
|
|
17402
17487
|
{
|
|
17403
|
-
|
|
17404
|
-
onClick: currentSection.ctaOnClick,
|
|
17488
|
+
onClick: goToPrev,
|
|
17405
17489
|
asButton: true,
|
|
17406
|
-
|
|
17407
|
-
|
|
17408
|
-
|
|
17409
|
-
|
|
17410
|
-
|
|
17411
|
-
DynamicIcon,
|
|
17412
|
-
{
|
|
17413
|
-
name: "lucide/arrow-right",
|
|
17414
|
-
size: 16,
|
|
17415
|
-
className: "ml-2"
|
|
17416
|
-
}
|
|
17417
|
-
)
|
|
17418
|
-
]
|
|
17490
|
+
variant: "ghost",
|
|
17491
|
+
size: "icon",
|
|
17492
|
+
disabled: currentIndex === 0,
|
|
17493
|
+
className: "rounded-full border border-white/30 text-white hover:bg-white/10 disabled:opacity-30",
|
|
17494
|
+
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-up", size: 20 })
|
|
17419
17495
|
}
|
|
17420
|
-
)
|
|
17496
|
+
),
|
|
17497
|
+
/* @__PURE__ */ jsx(
|
|
17498
|
+
Pressable,
|
|
17499
|
+
{
|
|
17500
|
+
onClick: goToNext,
|
|
17501
|
+
asButton: true,
|
|
17502
|
+
variant: "ghost",
|
|
17503
|
+
size: "icon",
|
|
17504
|
+
disabled: currentIndex === (sections?.length ?? 0) - 1,
|
|
17505
|
+
className: "rounded-full border border-white/30 text-white hover:bg-white/10 disabled:opacity-30",
|
|
17506
|
+
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-down", size: 20 })
|
|
17507
|
+
}
|
|
17508
|
+
)
|
|
17421
17509
|
]
|
|
17422
|
-
}
|
|
17423
|
-
|
|
17424
|
-
|
|
17425
|
-
|
|
17426
|
-
"button",
|
|
17510
|
+
}
|
|
17511
|
+
),
|
|
17512
|
+
/* @__PURE__ */ jsxs(
|
|
17513
|
+
"div",
|
|
17427
17514
|
{
|
|
17428
|
-
onClick: () => goToSlide(index),
|
|
17429
17515
|
className: cn(
|
|
17430
|
-
"
|
|
17431
|
-
|
|
17516
|
+
"absolute bottom-8 right-8 z-20 text-sm text-white/50",
|
|
17517
|
+
counterClassName
|
|
17432
17518
|
),
|
|
17433
|
-
|
|
17434
|
-
|
|
17435
|
-
|
|
17436
|
-
|
|
17437
|
-
|
|
17438
|
-
|
|
17439
|
-
|
|
17440
|
-
|
|
17441
|
-
onClick: goToPrev,
|
|
17442
|
-
asButton: true,
|
|
17443
|
-
variant: "ghost",
|
|
17444
|
-
size: "icon",
|
|
17445
|
-
disabled: currentIndex === 0,
|
|
17446
|
-
className: "rounded-full border border-white/30 text-white hover:bg-white/10 disabled:opacity-30",
|
|
17447
|
-
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-up", size: 20 })
|
|
17448
|
-
}
|
|
17449
|
-
),
|
|
17450
|
-
/* @__PURE__ */ jsx(
|
|
17451
|
-
Pressable,
|
|
17452
|
-
{
|
|
17453
|
-
onClick: goToNext,
|
|
17454
|
-
asButton: true,
|
|
17455
|
-
variant: "ghost",
|
|
17456
|
-
size: "icon",
|
|
17457
|
-
disabled: currentIndex === sections.length - 1,
|
|
17458
|
-
className: "rounded-full border border-white/30 text-white hover:bg-white/10 disabled:opacity-30",
|
|
17459
|
-
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-down", size: 20 })
|
|
17460
|
-
}
|
|
17461
|
-
)
|
|
17462
|
-
] }),
|
|
17463
|
-
/* @__PURE__ */ jsxs("div", { className: cn("absolute bottom-8 right-8 z-20 text-sm text-white/50", counterClassName), children: [
|
|
17464
|
-
String(currentIndex + 1).padStart(2, "0"),
|
|
17465
|
-
" /",
|
|
17466
|
-
" ",
|
|
17467
|
-
String(sections.length).padStart(2, "0")
|
|
17468
|
-
] })
|
|
17519
|
+
children: [
|
|
17520
|
+
String(currentIndex + 1).padStart(2, "0"),
|
|
17521
|
+
" /",
|
|
17522
|
+
" ",
|
|
17523
|
+
String(sections?.length ?? 0).padStart(2, "0")
|
|
17524
|
+
]
|
|
17525
|
+
}
|
|
17526
|
+
)
|
|
17469
17527
|
]
|
|
17470
17528
|
}
|
|
17471
17529
|
);
|
|
@@ -17492,11 +17550,11 @@ var variants = {
|
|
|
17492
17550
|
function CarouselAutoProgressSlides({
|
|
17493
17551
|
heading,
|
|
17494
17552
|
subheading,
|
|
17495
|
-
slideLabel,
|
|
17496
17553
|
items,
|
|
17497
17554
|
slidesSlot,
|
|
17498
|
-
autoAdvanceInterval =
|
|
17555
|
+
autoAdvanceInterval = 4200,
|
|
17499
17556
|
className,
|
|
17557
|
+
containerClassName = "flex flex-col items-center justify-center gap-6 md:gap-12",
|
|
17500
17558
|
headerClassName,
|
|
17501
17559
|
headingClassName,
|
|
17502
17560
|
subheadingClassName,
|
|
@@ -17505,8 +17563,8 @@ function CarouselAutoProgressSlides({
|
|
|
17505
17563
|
slideContainerClassName,
|
|
17506
17564
|
imageClassName,
|
|
17507
17565
|
optixFlowConfig,
|
|
17508
|
-
background
|
|
17509
|
-
spacing
|
|
17566
|
+
background,
|
|
17567
|
+
spacing,
|
|
17510
17568
|
pattern,
|
|
17511
17569
|
patternOpacity
|
|
17512
17570
|
}) {
|
|
@@ -17562,54 +17620,73 @@ function CarouselAutoProgressSlides({
|
|
|
17562
17620
|
),
|
|
17563
17621
|
pattern,
|
|
17564
17622
|
patternOpacity,
|
|
17623
|
+
containerClassName,
|
|
17565
17624
|
children: [
|
|
17566
17625
|
/* @__PURE__ */ jsxs("div", { className: cn("text-center", headerClassName), children: [
|
|
17567
17626
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-6xl tracking-tighter", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
|
|
17568
|
-
subheading && (typeof subheading === "string" ? /* @__PURE__ */ jsx(
|
|
17569
|
-
|
|
17570
|
-
/* @__PURE__ */ jsxs("div", { className: cn("flex items-center justify-center gap-5", navigationClassName), children: [
|
|
17571
|
-
/* @__PURE__ */ jsx(
|
|
17572
|
-
Pressable,
|
|
17627
|
+
subheading && (typeof subheading === "string" ? /* @__PURE__ */ jsx(
|
|
17628
|
+
"p",
|
|
17573
17629
|
{
|
|
17574
|
-
|
|
17575
|
-
|
|
17576
|
-
|
|
17577
|
-
|
|
17578
|
-
|
|
17579
|
-
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-left", size: 16 })
|
|
17630
|
+
className: cn(
|
|
17631
|
+
"mt-4 text-2xl text-foreground/50",
|
|
17632
|
+
subheadingClassName
|
|
17633
|
+
),
|
|
17634
|
+
children: subheading
|
|
17580
17635
|
}
|
|
17581
|
-
),
|
|
17582
|
-
|
|
17583
|
-
|
|
17584
|
-
|
|
17585
|
-
|
|
17586
|
-
|
|
17587
|
-
|
|
17588
|
-
|
|
17589
|
-
|
|
17590
|
-
|
|
17591
|
-
|
|
17592
|
-
|
|
17636
|
+
) : /* @__PURE__ */ jsx("div", { className: cn("mt-4", subheadingClassName), children: subheading }))
|
|
17637
|
+
] }),
|
|
17638
|
+
/* @__PURE__ */ jsxs(
|
|
17639
|
+
"div",
|
|
17640
|
+
{
|
|
17641
|
+
className: cn(
|
|
17642
|
+
"flex items-center justify-center gap-5",
|
|
17643
|
+
navigationClassName
|
|
17644
|
+
),
|
|
17645
|
+
children: [
|
|
17646
|
+
/* @__PURE__ */ jsx(
|
|
17647
|
+
Pressable,
|
|
17593
17648
|
{
|
|
17594
|
-
|
|
17595
|
-
|
|
17649
|
+
onClick: handlePrev,
|
|
17650
|
+
asButton: true,
|
|
17651
|
+
variant: "ghost",
|
|
17652
|
+
size: "icon",
|
|
17653
|
+
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",
|
|
17654
|
+
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-left", size: 16 })
|
|
17655
|
+
}
|
|
17656
|
+
),
|
|
17657
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center justify-center gap-1", children: items?.map((_, index) => /* @__PURE__ */ jsx(
|
|
17658
|
+
motion.button,
|
|
17659
|
+
{
|
|
17660
|
+
initial: false,
|
|
17661
|
+
onClick: () => handleDotClick(index),
|
|
17662
|
+
animate: {
|
|
17663
|
+
width: index === currentIndex ? "30px" : "8px"
|
|
17664
|
+
},
|
|
17665
|
+
className: "relative flex h-2 cursor-pointer items-center justify-center overflow-hidden rounded-full bg-foreground/15 p-0.5 text-foreground/50",
|
|
17666
|
+
children: currentIndex === index && /* @__PURE__ */ jsx(
|
|
17667
|
+
motion.div,
|
|
17668
|
+
{
|
|
17669
|
+
style: { clipPath },
|
|
17670
|
+
className: "absolute left-0 top-0 h-full w-full origin-left rounded-full bg-foreground"
|
|
17671
|
+
}
|
|
17672
|
+
)
|
|
17673
|
+
},
|
|
17674
|
+
index
|
|
17675
|
+
)) }),
|
|
17676
|
+
/* @__PURE__ */ jsx(
|
|
17677
|
+
Pressable,
|
|
17678
|
+
{
|
|
17679
|
+
onClick: handleNext,
|
|
17680
|
+
asButton: true,
|
|
17681
|
+
variant: "ghost",
|
|
17682
|
+
size: "icon",
|
|
17683
|
+
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",
|
|
17684
|
+
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-right", size: 16 })
|
|
17596
17685
|
}
|
|
17597
17686
|
)
|
|
17598
|
-
|
|
17599
|
-
|
|
17600
|
-
|
|
17601
|
-
/* @__PURE__ */ jsx(
|
|
17602
|
-
Pressable,
|
|
17603
|
-
{
|
|
17604
|
-
onClick: handleNext,
|
|
17605
|
-
asButton: true,
|
|
17606
|
-
variant: "ghost",
|
|
17607
|
-
size: "icon",
|
|
17608
|
-
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",
|
|
17609
|
-
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-right", size: 16 })
|
|
17610
|
-
}
|
|
17611
|
-
)
|
|
17612
|
-
] }),
|
|
17687
|
+
]
|
|
17688
|
+
}
|
|
17689
|
+
),
|
|
17613
17690
|
slidesSlot ? slidesSlot : /* @__PURE__ */ jsx(AnimatePresence, { initial: false, mode: "popLayout", custom: direction, children: currentIndex !== null && /* @__PURE__ */ jsxs(
|
|
17614
17691
|
motion.div,
|
|
17615
17692
|
{
|
|
@@ -17619,26 +17696,51 @@ function CarouselAutoProgressSlides({
|
|
|
17619
17696
|
exit: "exit",
|
|
17620
17697
|
custom: direction,
|
|
17621
17698
|
transition: { type: "spring", stiffness: 100, damping: 30 },
|
|
17622
|
-
className: cn(
|
|
17699
|
+
className: cn(
|
|
17700
|
+
"flex w-full max-w-3xl flex-col items-center justify-center",
|
|
17701
|
+
items?.[currentIndex]?.className
|
|
17702
|
+
),
|
|
17623
17703
|
children: [
|
|
17624
|
-
|
|
17625
|
-
|
|
17626
|
-
motion.div,
|
|
17704
|
+
typeof items?.[currentIndex]?.label === "string" && /* @__PURE__ */ jsx(
|
|
17705
|
+
"p",
|
|
17627
17706
|
{
|
|
17628
|
-
|
|
17629
|
-
|
|
17630
|
-
|
|
17707
|
+
className: cn(
|
|
17708
|
+
"mb-6 font-medium text-center text-lg text-foreground/50",
|
|
17709
|
+
slideLabelClassName
|
|
17710
|
+
),
|
|
17711
|
+
children: items?.[currentIndex]?.label
|
|
17712
|
+
}
|
|
17713
|
+
),
|
|
17714
|
+
/* @__PURE__ */ jsx(
|
|
17715
|
+
"div",
|
|
17716
|
+
{
|
|
17717
|
+
className: cn(
|
|
17718
|
+
"h-[550px] w-full overflow-hidden rounded-3xl bg-foreground/10 p-1",
|
|
17719
|
+
slideContainerClassName
|
|
17720
|
+
),
|
|
17631
17721
|
children: /* @__PURE__ */ jsx(
|
|
17632
|
-
|
|
17722
|
+
motion.div,
|
|
17633
17723
|
{
|
|
17634
|
-
|
|
17635
|
-
|
|
17636
|
-
className:
|
|
17637
|
-
|
|
17724
|
+
initial: { scale: 0.9 },
|
|
17725
|
+
animate: { scale: 1 },
|
|
17726
|
+
className: "h-full w-full",
|
|
17727
|
+
children: /* @__PURE__ */ jsx(
|
|
17728
|
+
Img,
|
|
17729
|
+
{
|
|
17730
|
+
src: items?.[currentIndex]?.src ?? "",
|
|
17731
|
+
alt: typeof items?.[currentIndex]?.label === "string" ? items[currentIndex].label : `Slide ${currentIndex + 1}`,
|
|
17732
|
+
className: cn(
|
|
17733
|
+
"h-full w-full rounded-3xl object-cover",
|
|
17734
|
+
imageClassName,
|
|
17735
|
+
items?.[currentIndex]?.imageClassName
|
|
17736
|
+
),
|
|
17737
|
+
optixFlowConfig
|
|
17738
|
+
}
|
|
17739
|
+
)
|
|
17638
17740
|
}
|
|
17639
17741
|
)
|
|
17640
17742
|
}
|
|
17641
|
-
)
|
|
17743
|
+
)
|
|
17642
17744
|
]
|
|
17643
17745
|
},
|
|
17644
17746
|
currentIndex
|
|
@@ -17770,7 +17872,7 @@ function CarouselAutoplayProgress({
|
|
|
17770
17872
|
pattern,
|
|
17771
17873
|
patternOpacity,
|
|
17772
17874
|
children: [
|
|
17773
|
-
/* @__PURE__ */ jsx("div", { className: cn("overflow-hidden", containerClassName), ref: emblaRef, children: /* @__PURE__ */ jsx("div", { className: cn("ml-auto mr-3 flex touch-pan-y touch-pinch-zoom", trackClassName), children: slidesSlot ? slidesSlot : slides
|
|
17875
|
+
/* @__PURE__ */ jsx("div", { className: cn("overflow-hidden", containerClassName), ref: emblaRef, children: /* @__PURE__ */ jsx("div", { className: cn("ml-auto mr-3 flex touch-pan-y touch-pinch-zoom", trackClassName), children: slidesSlot ? slidesSlot : slides?.map((slide, index) => /* @__PURE__ */ jsxs(
|
|
17774
17876
|
"div",
|
|
17775
17877
|
{
|
|
17776
17878
|
className: cn("flex-[0_0_70%] transform-gpu pl-3", slideClassName, slide.className),
|
|
@@ -17834,7 +17936,7 @@ function CarouselAutoplayProgress({
|
|
|
17834
17936
|
}
|
|
17835
17937
|
)
|
|
17836
17938
|
] }),
|
|
17837
|
-
/* @__PURE__ */ jsx("style", {
|
|
17939
|
+
/* @__PURE__ */ jsx("style", { children: `
|
|
17838
17940
|
@keyframes autoplay-progress {
|
|
17839
17941
|
from {
|
|
17840
17942
|
transform: translateX(0);
|
|
@@ -18114,7 +18216,7 @@ function CarouselFullscreenScrollFx({
|
|
|
18114
18216
|
const [activeIndex, setActiveIndex] = React52.useState(0);
|
|
18115
18217
|
React52.useEffect(() => {
|
|
18116
18218
|
const observers = [];
|
|
18117
|
-
slides
|
|
18219
|
+
slides?.forEach((slide, index) => {
|
|
18118
18220
|
const element = document.getElementById(`fullscreen-${slide.id}`);
|
|
18119
18221
|
if (element) {
|
|
18120
18222
|
const observer = new IntersectionObserver(
|
|
@@ -18145,7 +18247,7 @@ function CarouselFullscreenScrollFx({
|
|
|
18145
18247
|
pattern,
|
|
18146
18248
|
patternOpacity,
|
|
18147
18249
|
children: [
|
|
18148
|
-
/* @__PURE__ */ 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
|
|
18250
|
+
/* @__PURE__ */ 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__ */ jsx(
|
|
18149
18251
|
"button",
|
|
18150
18252
|
{
|
|
18151
18253
|
onClick: () => {
|
|
@@ -18160,7 +18262,7 @@ function CarouselFullscreenScrollFx({
|
|
|
18160
18262
|
},
|
|
18161
18263
|
slide.id
|
|
18162
18264
|
)) }),
|
|
18163
|
-
slidesSlot ? slidesSlot : slides
|
|
18265
|
+
slidesSlot ? slidesSlot : slides?.map((slide, index) => /* @__PURE__ */ jsxs(
|
|
18164
18266
|
"div",
|
|
18165
18267
|
{
|
|
18166
18268
|
id: `fullscreen-${slide.id}`,
|
|
@@ -18190,7 +18292,7 @@ function CarouselFullscreenScrollFx({
|
|
|
18190
18292
|
slide.subtitle && (typeof slide.subtitle === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-4 text-sm font-medium uppercase tracking-widest text-white/70", subtitleClassName), children: slide.subtitle }) : /* @__PURE__ */ jsx("div", { className: subtitleClassName, children: slide.subtitle })),
|
|
18191
18293
|
slide.title && (typeof slide.title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("mb-6 text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl", titleClassName), children: slide.title }) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: slide.title })),
|
|
18192
18294
|
slide.description && (typeof slide.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mx-auto max-w-2xl text-lg text-white/80 md:text-xl", descriptionClassName), children: slide.description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: slide.description })),
|
|
18193
|
-
index < slides
|
|
18295
|
+
index < (slides?.length ?? 0) - 1 && /* @__PURE__ */ jsx("div", { className: cn("absolute bottom-8 left-1/2 -translate-x-1/2", scrollIndicatorClassName), children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-2", children: [
|
|
18194
18296
|
/* @__PURE__ */ jsx("span", { className: "text-xs uppercase tracking-widest text-white/50", children: "Scroll" }),
|
|
18195
18297
|
/* @__PURE__ */ jsx("div", { className: "h-12 w-px animate-pulse bg-gradient-to-b from-white/50 to-transparent" })
|
|
18196
18298
|
] }) })
|
|
@@ -18199,7 +18301,7 @@ function CarouselFullscreenScrollFx({
|
|
|
18199
18301
|
String(index + 1).padStart(2, "0"),
|
|
18200
18302
|
" /",
|
|
18201
18303
|
" ",
|
|
18202
|
-
String(slides
|
|
18304
|
+
String(slides?.length ?? 0).padStart(2, "0")
|
|
18203
18305
|
] })
|
|
18204
18306
|
]
|
|
18205
18307
|
},
|
|
@@ -18231,14 +18333,14 @@ function CarouselGalleryThumbnails({
|
|
|
18231
18333
|
const [currentIndex, setCurrentIndex] = React52.useState(0);
|
|
18232
18334
|
const prevSlide = React52.useCallback(() => {
|
|
18233
18335
|
setCurrentIndex(
|
|
18234
|
-
(prev) => prev === 0 ? images
|
|
18336
|
+
(prev) => prev === 0 ? (images?.length ?? 0) - 1 : prev - 1
|
|
18235
18337
|
);
|
|
18236
|
-
}, [images
|
|
18338
|
+
}, [images?.length]);
|
|
18237
18339
|
const nextSlide = React52.useCallback(() => {
|
|
18238
18340
|
setCurrentIndex(
|
|
18239
|
-
(prev) => prev === images
|
|
18341
|
+
(prev) => prev === (images?.length ?? 0) - 1 ? 0 : prev + 1
|
|
18240
18342
|
);
|
|
18241
|
-
}, [images
|
|
18343
|
+
}, [images?.length]);
|
|
18242
18344
|
React52.useEffect(() => {
|
|
18243
18345
|
if (!autoPlay) return;
|
|
18244
18346
|
const interval = setInterval(() => {
|
|
@@ -18267,7 +18369,7 @@ function CarouselGalleryThumbnails({
|
|
|
18267
18369
|
patternOpacity,
|
|
18268
18370
|
children: [
|
|
18269
18371
|
/* @__PURE__ */ jsxs("div", { className: cn("relative overflow-hidden rounded-lg", containerClassName), children: [
|
|
18270
|
-
/* @__PURE__ */ jsx("div", { className: cn("relative aspect-video w-full overflow-hidden", slideClassName), children: imagesSlot ? imagesSlot : images
|
|
18372
|
+
/* @__PURE__ */ jsx("div", { className: cn("relative aspect-video w-full overflow-hidden", slideClassName), children: imagesSlot ? imagesSlot : images?.map((image, index) => /* @__PURE__ */ jsx(
|
|
18271
18373
|
"div",
|
|
18272
18374
|
{
|
|
18273
18375
|
className: cn(
|
|
@@ -18307,9 +18409,9 @@ function CarouselGalleryThumbnails({
|
|
|
18307
18409
|
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-right", size: 24 })
|
|
18308
18410
|
}
|
|
18309
18411
|
),
|
|
18310
|
-
/* @__PURE__ */ 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__ */ jsx("div", { children: images[currentIndex].alt })) })
|
|
18412
|
+
/* @__PURE__ */ 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__ */ jsx("div", { children: images?.[currentIndex].alt })) })
|
|
18311
18413
|
] }),
|
|
18312
|
-
showThumbnails && /* @__PURE__ */ jsx("div", { className: cn("mt-4 flex gap-2 overflow-x-auto px-2 py-2", thumbnailsClassName), children: images
|
|
18414
|
+
showThumbnails && /* @__PURE__ */ jsx("div", { className: cn("mt-4 flex gap-2 overflow-x-auto px-2 py-2", thumbnailsClassName), children: images?.map((image, index) => /* @__PURE__ */ jsx(
|
|
18313
18415
|
"button",
|
|
18314
18416
|
{
|
|
18315
18417
|
className: cn(
|
|
@@ -19237,18 +19339,18 @@ function CarouselProgressSlider({
|
|
|
19237
19339
|
pattern,
|
|
19238
19340
|
patternOpacity
|
|
19239
19341
|
}) {
|
|
19240
|
-
const [active, setActive] = React52.useState(slides[0]
|
|
19342
|
+
const [active, setActive] = React52.useState(slides?.[0]?.id ?? "");
|
|
19241
19343
|
const [progress, setProgress] = React52.useState(0);
|
|
19242
19344
|
const [isFastForward, setIsFastForward] = React52.useState(false);
|
|
19243
19345
|
const frame = React52.useRef(0);
|
|
19244
19346
|
const firstFrameTime = React52.useRef(performance.now());
|
|
19245
19347
|
const targetValue = React52.useRef(null);
|
|
19246
19348
|
const sliderValues = React52.useMemo(
|
|
19247
|
-
() => slides
|
|
19349
|
+
() => slides?.map((slide) => slide.id),
|
|
19248
19350
|
[slides]
|
|
19249
19351
|
);
|
|
19250
19352
|
React52.useEffect(() => {
|
|
19251
|
-
if (sliderValues
|
|
19353
|
+
if ((sliderValues?.length ?? 0) > 0) {
|
|
19252
19354
|
firstFrameTime.current = performance.now();
|
|
19253
19355
|
frame.current = requestAnimationFrame(animate);
|
|
19254
19356
|
}
|
|
@@ -19273,9 +19375,10 @@ function CarouselProgressSlider({
|
|
|
19273
19375
|
targetValue.current = null;
|
|
19274
19376
|
}
|
|
19275
19377
|
} else {
|
|
19276
|
-
const currentIndex = sliderValues
|
|
19277
|
-
const nextIndex = (currentIndex + 1) % sliderValues
|
|
19278
|
-
|
|
19378
|
+
const currentIndex = sliderValues?.indexOf(active) ?? -1;
|
|
19379
|
+
const nextIndex = (currentIndex + 1) % (sliderValues?.length ?? 1);
|
|
19380
|
+
const nextValue = sliderValues?.[nextIndex];
|
|
19381
|
+
if (nextValue) setActive(nextValue);
|
|
19279
19382
|
}
|
|
19280
19383
|
setProgress(0);
|
|
19281
19384
|
firstFrameTime.current = performance.now();
|
|
@@ -19304,7 +19407,7 @@ function CarouselProgressSlider({
|
|
|
19304
19407
|
pattern,
|
|
19305
19408
|
patternOpacity,
|
|
19306
19409
|
children: /* @__PURE__ */ jsx("div", { className: cn("container mx-auto px-4", containerClassName), children: /* @__PURE__ */ jsxs("div", { className: cn("grid gap-8 lg:grid-cols-2", contentClassName), children: [
|
|
19307
|
-
/* @__PURE__ */ jsx("div", { className: cn("relative min-h-[300px]", imageClassName), children: slidesSlot ? slidesSlot : slides
|
|
19410
|
+
/* @__PURE__ */ jsx("div", { className: cn("relative min-h-[300px]", imageClassName), children: slidesSlot ? slidesSlot : slides?.map((slide) => /* @__PURE__ */ jsx(
|
|
19308
19411
|
SliderWrapper,
|
|
19309
19412
|
{
|
|
19310
19413
|
value: slide.id,
|
|
@@ -19321,7 +19424,7 @@ function CarouselProgressSlider({
|
|
|
19321
19424
|
},
|
|
19322
19425
|
slide.id
|
|
19323
19426
|
)) }),
|
|
19324
|
-
/* @__PURE__ */ jsx("div", { className: cn("flex flex-col justify-center gap-4", navigationClassName), children: slides
|
|
19427
|
+
/* @__PURE__ */ jsx("div", { className: cn("flex flex-col justify-center gap-4", navigationClassName), children: slides?.map((slide) => /* @__PURE__ */ jsxs(
|
|
19325
19428
|
SliderBtn,
|
|
19326
19429
|
{
|
|
19327
19430
|
value: slide.id,
|
|
@@ -32135,7 +32238,7 @@ function BlogGridAuthorCardsComponent({
|
|
|
32135
32238
|
pattern,
|
|
32136
32239
|
patternOpacity,
|
|
32137
32240
|
children: /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
|
|
32138
|
-
(heading || description) && /* @__PURE__ */ jsxs("div", { className: cn("mb-
|
|
32241
|
+
(heading || description) && /* @__PURE__ */ jsxs("div", { className: cn("mb-6 md:mb-14 lg:mb-16", headerClassName), children: [
|
|
32139
32242
|
/* @__PURE__ */ jsx("div", { className: "flex items-start justify-between gap-8", children: /* @__PURE__ */ jsx("div", { children: heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
32140
32243
|
"h2",
|
|
32141
32244
|
{
|
|
@@ -32302,7 +32405,7 @@ function BlogCardsTaglineCta({
|
|
|
32302
32405
|
"div",
|
|
32303
32406
|
{
|
|
32304
32407
|
className: cn(
|
|
32305
|
-
"text-center flex flex-col items-center px-
|
|
32408
|
+
"text-center flex flex-col items-center px-4 md:px-0",
|
|
32306
32409
|
headerClassName
|
|
32307
32410
|
),
|
|
32308
32411
|
children: [
|
|
@@ -32445,7 +32548,7 @@ function BlogCardsReadTime({
|
|
|
32445
32548
|
"div",
|
|
32446
32549
|
{
|
|
32447
32550
|
className: cn(
|
|
32448
|
-
"mx-auto flex max-w-3xl flex-col items-center gap-4 text-center px-
|
|
32551
|
+
"mx-auto flex max-w-3xl flex-col items-center gap-4 text-center px-4 md:px-0",
|
|
32449
32552
|
headerClassName
|
|
32450
32553
|
),
|
|
32451
32554
|
children: [
|
|
@@ -32631,7 +32734,7 @@ function BlogCategoryOverlay({
|
|
|
32631
32734
|
"div",
|
|
32632
32735
|
{
|
|
32633
32736
|
className: cn(
|
|
32634
|
-
"mx-auto flex max-w-3xl flex-col items-center gap-6 text-center px-
|
|
32737
|
+
"mx-auto flex max-w-3xl flex-col items-center gap-6 text-center px-4 md:px-0",
|
|
32635
32738
|
headerClassName
|
|
32636
32739
|
),
|
|
32637
32740
|
children: [
|
|
@@ -32797,7 +32900,7 @@ function BlogFeaturedPopular({
|
|
|
32797
32900
|
"div",
|
|
32798
32901
|
{
|
|
32799
32902
|
className: cn(
|
|
32800
|
-
"mb-6 md:mb-16 text-center px-
|
|
32903
|
+
"mb-6 md:mb-16 text-center px-4 md:px-0",
|
|
32801
32904
|
headerClassName
|
|
32802
32905
|
),
|
|
32803
32906
|
children: [
|
|
@@ -33121,55 +33224,64 @@ function BlogTechInsights({
|
|
|
33121
33224
|
className: cn("dark relative", className),
|
|
33122
33225
|
pattern,
|
|
33123
33226
|
patternOpacity,
|
|
33124
|
-
children: /* @__PURE__ */ jsxs(
|
|
33125
|
-
|
|
33126
|
-
|
|
33127
|
-
|
|
33128
|
-
|
|
33129
|
-
|
|
33130
|
-
|
|
33131
|
-
|
|
33132
|
-
|
|
33133
|
-
|
|
33134
|
-
|
|
33135
|
-
) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
|
|
33136
|
-
/* @__PURE__ */ jsxs("div", { className: "mt-4 flex justify-start", children: [
|
|
33137
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
33138
|
-
"span",
|
|
33139
|
-
{
|
|
33140
|
-
className: cn(
|
|
33141
|
-
"mt-2 block text-sm text-muted-foreground md:text-base",
|
|
33142
|
-
descriptionClassName
|
|
33143
|
-
),
|
|
33144
|
-
children: description
|
|
33145
|
-
}
|
|
33146
|
-
) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
|
|
33147
|
-
readMoreActionContent
|
|
33148
|
-
] })
|
|
33149
|
-
] }),
|
|
33150
|
-
/* @__PURE__ */ jsxs(
|
|
33151
|
-
"div",
|
|
33152
|
-
{
|
|
33153
|
-
className: cn(
|
|
33154
|
-
"mt-12 grid grid-cols-1 gap-8 md:grid-cols-2 lg:gap-12",
|
|
33155
|
-
contentClassName
|
|
33156
|
-
),
|
|
33157
|
-
children: [
|
|
33158
|
-
featuredPostContent,
|
|
33159
|
-
/* @__PURE__ */ jsx(
|
|
33160
|
-
"div",
|
|
33227
|
+
children: /* @__PURE__ */ jsxs(
|
|
33228
|
+
"div",
|
|
33229
|
+
{
|
|
33230
|
+
className: cn(
|
|
33231
|
+
"flex flex-col items-center gap-8 md:gap-14",
|
|
33232
|
+
containerClassName
|
|
33233
|
+
),
|
|
33234
|
+
children: [
|
|
33235
|
+
/* @__PURE__ */ jsxs("div", { className: cn("w-full", headerClassName), children: [
|
|
33236
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
33237
|
+
"h1",
|
|
33161
33238
|
{
|
|
33162
33239
|
className: cn(
|
|
33163
|
-
"
|
|
33164
|
-
|
|
33240
|
+
"text-3xl font-bold text-foreground md:text-4xl lg:text-5xl",
|
|
33241
|
+
headingClassName
|
|
33165
33242
|
),
|
|
33166
|
-
children:
|
|
33243
|
+
children: heading
|
|
33167
33244
|
}
|
|
33168
|
-
)
|
|
33169
|
-
|
|
33170
|
-
|
|
33171
|
-
|
|
33172
|
-
|
|
33245
|
+
) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
|
|
33246
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-4 flex justify-start", children: [
|
|
33247
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
33248
|
+
"span",
|
|
33249
|
+
{
|
|
33250
|
+
className: cn(
|
|
33251
|
+
"mt-2 block text-sm text-muted-foreground md:text-base",
|
|
33252
|
+
descriptionClassName
|
|
33253
|
+
),
|
|
33254
|
+
children: description
|
|
33255
|
+
}
|
|
33256
|
+
) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
|
|
33257
|
+
readMoreActionContent
|
|
33258
|
+
] })
|
|
33259
|
+
] }),
|
|
33260
|
+
/* @__PURE__ */ jsxs(
|
|
33261
|
+
"div",
|
|
33262
|
+
{
|
|
33263
|
+
className: cn(
|
|
33264
|
+
"grid grid-cols-1 gap-8 md:grid-cols-2 lg:gap-12",
|
|
33265
|
+
contentClassName
|
|
33266
|
+
),
|
|
33267
|
+
children: [
|
|
33268
|
+
featuredPostContent,
|
|
33269
|
+
/* @__PURE__ */ jsx(
|
|
33270
|
+
"div",
|
|
33271
|
+
{
|
|
33272
|
+
className: cn(
|
|
33273
|
+
"space-y-6 text-foreground md:space-y-8",
|
|
33274
|
+
secondaryPostsClassName
|
|
33275
|
+
),
|
|
33276
|
+
children: secondaryPostsContent
|
|
33277
|
+
}
|
|
33278
|
+
)
|
|
33279
|
+
]
|
|
33280
|
+
}
|
|
33281
|
+
)
|
|
33282
|
+
]
|
|
33283
|
+
}
|
|
33284
|
+
)
|
|
33173
33285
|
}
|
|
33174
33286
|
);
|
|
33175
33287
|
}
|
|
@@ -33297,7 +33409,7 @@ function BlogHorizontalCards({
|
|
|
33297
33409
|
className: cn(className),
|
|
33298
33410
|
pattern,
|
|
33299
33411
|
patternOpacity,
|
|
33300
|
-
children: /* @__PURE__ */ jsxs("div", { className: cn("
|
|
33412
|
+
children: /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col items-center", containerClassName), children: [
|
|
33301
33413
|
/* @__PURE__ */ jsxs("div", { className: cn("mx-auto max-w-3xl text-center", headerClassName), children: [
|
|
33302
33414
|
badge && (typeof badge === "string" ? /* @__PURE__ */ jsx(Badge, { variant: "secondary", className: cn("mb-6", badgeClassName), children: badge }) : /* @__PURE__ */ jsx("div", { className: cn("mb-6", badgeClassName), children: badge })),
|
|
33303
33415
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
@@ -34075,7 +34187,7 @@ function BlogGridNinePosts({
|
|
|
34075
34187
|
pattern,
|
|
34076
34188
|
patternOpacity,
|
|
34077
34189
|
children: /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
|
|
34078
|
-
/* @__PURE__ */ jsxs("div", { className: cn("mb-
|
|
34190
|
+
/* @__PURE__ */ jsxs("div", { className: cn("mb-6 md:mb-14 lg:mb-16", headerClassName), children: [
|
|
34079
34191
|
/* @__PURE__ */ jsx("div", { className: "flex items-start justify-between gap:4 md:gap-8", children: /* @__PURE__ */ jsx("div", { children: heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
34080
34192
|
"h2",
|
|
34081
34193
|
{
|
|
@@ -97777,7 +97889,6 @@ var BLOCK_REGISTRY = {
|
|
|
97777
97889
|
<CarouselAutoProgressSlides
|
|
97778
97890
|
heading="Featured Products"
|
|
97779
97891
|
subheading="Discover our latest collection"
|
|
97780
|
-
slideLabel="Explore"
|
|
97781
97892
|
items={[
|
|
97782
97893
|
{ src: "/images/product-1.jpg", label: "Product 1" },
|
|
97783
97894
|
{ src: "/images/product-2.jpg", label: "Product 2" }
|