@opensite/ui 0.8.1 → 0.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/carousel-horizontal-cards.cjs +8 -6
- package/dist/carousel-horizontal-cards.js +8 -6
- package/dist/carousel-image-hero.cjs +119 -177
- package/dist/carousel-image-hero.d.cts +1 -5
- package/dist/carousel-image-hero.d.ts +1 -5
- package/dist/carousel-image-hero.js +119 -177
- package/dist/carousel-portfolio-hero.cjs +138 -59
- package/dist/carousel-portfolio-hero.js +138 -59
- package/dist/carousel-product-feature-showcase.cjs +148 -95
- package/dist/carousel-product-feature-showcase.js +148 -95
- package/dist/carousel-progress-slider.cjs +13 -9
- package/dist/carousel-progress-slider.js +13 -9
- package/dist/carousel-scrolling-feature-showcase.cjs +105 -54
- package/dist/carousel-scrolling-feature-showcase.js +105 -54
- package/dist/feature-accordion-image.cjs +9 -8
- package/dist/feature-accordion-image.js +9 -8
- package/dist/feature-animated-carousel.cjs +65 -49
- package/dist/feature-animated-carousel.js +65 -49
- package/dist/feature-badge-grid-six.cjs +20 -17
- package/dist/feature-badge-grid-six.js +21 -18
- package/dist/feature-bento-image-grid.cjs +12 -8
- package/dist/feature-bento-image-grid.js +12 -8
- package/dist/feature-bento-utilities.cjs +9 -5
- package/dist/feature-bento-utilities.js +9 -5
- package/dist/feature-capabilities-grid.cjs +41 -38
- package/dist/feature-capabilities-grid.js +41 -38
- package/dist/feature-card-grid-linked.cjs +18 -18
- package/dist/feature-card-grid-linked.js +19 -19
- package/dist/feature-carousel-progress.cjs +3 -3
- package/dist/feature-carousel-progress.js +4 -4
- package/dist/feature-category-image-cards.cjs +3 -3
- package/dist/feature-category-image-cards.js +4 -4
- package/dist/feature-checklist-image.cjs +2 -2
- package/dist/feature-checklist-image.js +2 -2
- package/dist/feature-checklist-three-column.cjs +6 -6
- package/dist/feature-checklist-three-column.js +7 -7
- package/dist/feature-icon-grid-accent.cjs +2 -2
- package/dist/feature-icon-grid-accent.js +2 -2
- package/dist/feature-icon-grid-bordered.cjs +29 -31
- package/dist/feature-icon-grid-bordered.d.cts +9 -9
- package/dist/feature-icon-grid-bordered.d.ts +9 -9
- package/dist/feature-icon-grid-bordered.js +30 -32
- package/dist/feature-icon-grid-muted.cjs +6 -6
- package/dist/feature-icon-grid-muted.d.cts +9 -9
- package/dist/feature-icon-grid-muted.d.ts +9 -9
- package/dist/feature-icon-grid-muted.js +7 -7
- package/dist/feature-icon-tabs-content.cjs +8 -8
- package/dist/feature-icon-tabs-content.d.cts +13 -13
- package/dist/feature-icon-tabs-content.d.ts +13 -13
- package/dist/feature-icon-tabs-content.js +9 -9
- package/dist/feature-image-cards-three-column.cjs +26 -27
- package/dist/feature-image-cards-three-column.js +27 -28
- package/dist/feature-image-overlay-badge.cjs +23 -21
- package/dist/feature-image-overlay-badge.js +24 -22
- package/dist/feature-integration-cards.cjs +19 -18
- package/dist/feature-integration-cards.js +20 -19
- package/dist/feature-numbered-cards.cjs +2 -2
- package/dist/feature-numbered-cards.js +3 -3
- package/dist/feature-pattern-grid-links.cjs +26 -29
- package/dist/feature-pattern-grid-links.d.cts +1 -5
- package/dist/feature-pattern-grid-links.d.ts +1 -5
- package/dist/feature-pattern-grid-links.js +27 -30
- package/dist/feature-showcase.cjs +441 -40
- package/dist/feature-showcase.d.cts +62 -5
- package/dist/feature-showcase.d.ts +62 -5
- package/dist/feature-showcase.js +438 -37
- package/dist/feature-split-image-reverse.cjs +15 -36
- package/dist/feature-split-image-reverse.js +16 -37
- package/dist/feature-split-image.cjs +15 -36
- package/dist/feature-split-image.js +16 -37
- package/dist/feature-stats-highlight.cjs +20 -32
- package/dist/feature-stats-highlight.js +21 -33
- package/dist/feature-tabbed-content-image.cjs +11 -6
- package/dist/feature-tabbed-content-image.js +11 -6
- package/dist/feature-three-column-values.cjs +6 -6
- package/dist/feature-three-column-values.js +6 -6
- package/dist/feature-utility-cards-grid.cjs +17 -15
- package/dist/feature-utility-cards-grid.js +18 -16
- package/dist/navbar-tabbed-sections.cjs +23 -16
- package/dist/navbar-tabbed-sections.js +23 -16
- package/dist/registry.cjs +964 -714
- package/dist/registry.js +966 -716
- package/package.json +1 -1
|
@@ -422,8 +422,8 @@ function CarouselScrollingFeatureShowcase({
|
|
|
422
422
|
featuresClassName,
|
|
423
423
|
numberBadgeClassName,
|
|
424
424
|
optixFlowConfig,
|
|
425
|
-
background
|
|
426
|
-
spacing = "
|
|
425
|
+
background,
|
|
426
|
+
spacing = "md",
|
|
427
427
|
pattern,
|
|
428
428
|
patternOpacity
|
|
429
429
|
}) {
|
|
@@ -473,62 +473,113 @@ function CarouselScrollingFeatureShowcase({
|
|
|
473
473
|
patternOpacity,
|
|
474
474
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container mx-auto px-4", containerClassName), children: [
|
|
475
475
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-12 text-center", headerClassName), children: [
|
|
476
|
-
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
477
|
-
|
|
478
|
-
] }),
|
|
479
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-8 lg:grid-cols-2 lg:gap-12", contentClassName), children: [
|
|
480
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "hidden lg:block", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "sticky top-24", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("aspect-video overflow-hidden rounded-xl bg-muted", imageClassName), children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { mode: "wait", children: activeFeatureData && /* @__PURE__ */ jsxRuntime.jsx(
|
|
481
|
-
framerMotion.motion.div,
|
|
476
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
477
|
+
"h2",
|
|
482
478
|
{
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
alt: typeof activeFeatureData.title === "string" ? activeFeatureData.title : `Feature ${activeFeatureData.id}`,
|
|
493
|
-
className: cn("h-full w-full object-cover", activeFeatureData.imageClassName),
|
|
494
|
-
optixFlowConfig
|
|
495
|
-
}
|
|
496
|
-
)
|
|
497
|
-
},
|
|
498
|
-
activeFeatureData.id
|
|
499
|
-
) }) }) }) }),
|
|
500
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("space-y-24 lg:space-y-32", featuresClassName), children: featuresSlot ? featuresSlot : features?.map((feature, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
501
|
-
"div",
|
|
479
|
+
className: cn(
|
|
480
|
+
"text-3xl font-bold tracking-tight md:text-4xl",
|
|
481
|
+
headingClassName
|
|
482
|
+
),
|
|
483
|
+
children: heading
|
|
484
|
+
}
|
|
485
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
|
|
486
|
+
subheading && (typeof subheading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
487
|
+
"p",
|
|
502
488
|
{
|
|
503
|
-
ref: setFeatureRef(feature.id),
|
|
504
|
-
"data-feature-id": feature.id,
|
|
505
489
|
className: cn(
|
|
506
|
-
"
|
|
507
|
-
|
|
508
|
-
feature.className
|
|
490
|
+
"mt-4 text-lg text-muted-foreground",
|
|
491
|
+
subheadingClassName
|
|
509
492
|
),
|
|
510
|
-
children:
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
493
|
+
children: subheading
|
|
494
|
+
}
|
|
495
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", subheadingClassName), children: subheading }))
|
|
496
|
+
] }),
|
|
497
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
498
|
+
"div",
|
|
499
|
+
{
|
|
500
|
+
className: cn(
|
|
501
|
+
"grid gap-8 lg:grid-cols-2 lg:gap-12",
|
|
502
|
+
contentClassName
|
|
503
|
+
),
|
|
504
|
+
children: [
|
|
505
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "hidden lg:block", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "sticky top-24", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
506
|
+
"div",
|
|
507
|
+
{
|
|
508
|
+
className: cn(
|
|
509
|
+
"aspect-video overflow-hidden rounded-xl bg-muted",
|
|
510
|
+
imageClassName
|
|
511
|
+
),
|
|
512
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { mode: "wait", children: activeFeatureData && /* @__PURE__ */ jsxRuntime.jsx(
|
|
513
|
+
framerMotion.motion.div,
|
|
514
|
+
{
|
|
515
|
+
initial: { opacity: 0 },
|
|
516
|
+
animate: { opacity: 1 },
|
|
517
|
+
exit: { opacity: 0 },
|
|
518
|
+
transition: { duration: 0.3 },
|
|
519
|
+
className: "h-full w-full",
|
|
520
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
521
|
+
img.Img,
|
|
522
|
+
{
|
|
523
|
+
src: activeFeatureData.image,
|
|
524
|
+
alt: typeof activeFeatureData.title === "string" ? activeFeatureData.title : `Feature ${activeFeatureData.id}`,
|
|
525
|
+
className: cn(
|
|
526
|
+
"h-full w-full object-cover",
|
|
527
|
+
activeFeatureData.imageClassName
|
|
528
|
+
),
|
|
529
|
+
optixFlowConfig
|
|
530
|
+
}
|
|
531
|
+
)
|
|
532
|
+
},
|
|
533
|
+
activeFeatureData.id
|
|
534
|
+
) })
|
|
535
|
+
}
|
|
536
|
+
) }) }),
|
|
537
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("space-y-24 lg:space-y-32", featuresClassName), children: featuresSlot ? featuresSlot : features?.map((feature, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
538
|
+
"div",
|
|
539
|
+
{
|
|
540
|
+
ref: setFeatureRef(feature.id),
|
|
541
|
+
"data-feature-id": feature.id,
|
|
542
|
+
className: cn(
|
|
543
|
+
"scroll-mt-24 transition-opacity duration-300",
|
|
544
|
+
activeFeature === feature.id ? "opacity-100" : "opacity-50",
|
|
545
|
+
feature.className
|
|
546
|
+
),
|
|
547
|
+
children: [
|
|
548
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-6 lg:hidden", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "aspect-video overflow-hidden rounded-lg bg-muted", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
549
|
+
img.Img,
|
|
550
|
+
{
|
|
551
|
+
src: feature.image,
|
|
552
|
+
alt: typeof feature.title === "string" ? feature.title : `Feature ${feature.id}`,
|
|
553
|
+
className: cn(
|
|
554
|
+
"h-full w-full object-cover",
|
|
555
|
+
feature.imageClassName
|
|
556
|
+
),
|
|
557
|
+
optixFlowConfig
|
|
558
|
+
}
|
|
559
|
+
) }) }),
|
|
560
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-4", children: [
|
|
561
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
562
|
+
"div",
|
|
563
|
+
{
|
|
564
|
+
className: cn(
|
|
565
|
+
"flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-primary text-primary-foreground",
|
|
566
|
+
numberBadgeClassName
|
|
567
|
+
),
|
|
568
|
+
children: index + 1
|
|
569
|
+
}
|
|
570
|
+
),
|
|
571
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
572
|
+
feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-2xl font-semibold", children: feature.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { children: feature.title })),
|
|
573
|
+
feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-4 text-lg text-muted-foreground", children: feature.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4", children: feature.description }))
|
|
574
|
+
] })
|
|
575
|
+
] })
|
|
576
|
+
]
|
|
577
|
+
},
|
|
578
|
+
feature.id
|
|
579
|
+
)) })
|
|
580
|
+
]
|
|
581
|
+
}
|
|
582
|
+
)
|
|
532
583
|
] })
|
|
533
584
|
}
|
|
534
585
|
);
|
|
@@ -401,8 +401,8 @@ function CarouselScrollingFeatureShowcase({
|
|
|
401
401
|
featuresClassName,
|
|
402
402
|
numberBadgeClassName,
|
|
403
403
|
optixFlowConfig,
|
|
404
|
-
background
|
|
405
|
-
spacing = "
|
|
404
|
+
background,
|
|
405
|
+
spacing = "md",
|
|
406
406
|
pattern,
|
|
407
407
|
patternOpacity
|
|
408
408
|
}) {
|
|
@@ -452,62 +452,113 @@ function CarouselScrollingFeatureShowcase({
|
|
|
452
452
|
patternOpacity,
|
|
453
453
|
children: /* @__PURE__ */ jsxs("div", { className: cn("container mx-auto px-4", containerClassName), children: [
|
|
454
454
|
/* @__PURE__ */ jsxs("div", { className: cn("mb-12 text-center", headerClassName), children: [
|
|
455
|
-
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
456
|
-
|
|
457
|
-
] }),
|
|
458
|
-
/* @__PURE__ */ jsxs("div", { className: cn("grid gap-8 lg:grid-cols-2 lg:gap-12", contentClassName), children: [
|
|
459
|
-
/* @__PURE__ */ jsx("div", { className: "hidden lg:block", children: /* @__PURE__ */ jsx("div", { className: "sticky top-24", children: /* @__PURE__ */ jsx("div", { className: cn("aspect-video overflow-hidden rounded-xl bg-muted", imageClassName), children: /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", children: activeFeatureData && /* @__PURE__ */ jsx(
|
|
460
|
-
motion.div,
|
|
455
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
456
|
+
"h2",
|
|
461
457
|
{
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
alt: typeof activeFeatureData.title === "string" ? activeFeatureData.title : `Feature ${activeFeatureData.id}`,
|
|
472
|
-
className: cn("h-full w-full object-cover", activeFeatureData.imageClassName),
|
|
473
|
-
optixFlowConfig
|
|
474
|
-
}
|
|
475
|
-
)
|
|
476
|
-
},
|
|
477
|
-
activeFeatureData.id
|
|
478
|
-
) }) }) }) }),
|
|
479
|
-
/* @__PURE__ */ jsx("div", { className: cn("space-y-24 lg:space-y-32", featuresClassName), children: featuresSlot ? featuresSlot : features?.map((feature, index) => /* @__PURE__ */ jsxs(
|
|
480
|
-
"div",
|
|
458
|
+
className: cn(
|
|
459
|
+
"text-3xl font-bold tracking-tight md:text-4xl",
|
|
460
|
+
headingClassName
|
|
461
|
+
),
|
|
462
|
+
children: heading
|
|
463
|
+
}
|
|
464
|
+
) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
|
|
465
|
+
subheading && (typeof subheading === "string" ? /* @__PURE__ */ jsx(
|
|
466
|
+
"p",
|
|
481
467
|
{
|
|
482
|
-
ref: setFeatureRef(feature.id),
|
|
483
|
-
"data-feature-id": feature.id,
|
|
484
468
|
className: cn(
|
|
485
|
-
"
|
|
486
|
-
|
|
487
|
-
feature.className
|
|
469
|
+
"mt-4 text-lg text-muted-foreground",
|
|
470
|
+
subheadingClassName
|
|
488
471
|
),
|
|
489
|
-
children:
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
472
|
+
children: subheading
|
|
473
|
+
}
|
|
474
|
+
) : /* @__PURE__ */ jsx("div", { className: cn("mt-4", subheadingClassName), children: subheading }))
|
|
475
|
+
] }),
|
|
476
|
+
/* @__PURE__ */ jsxs(
|
|
477
|
+
"div",
|
|
478
|
+
{
|
|
479
|
+
className: cn(
|
|
480
|
+
"grid gap-8 lg:grid-cols-2 lg:gap-12",
|
|
481
|
+
contentClassName
|
|
482
|
+
),
|
|
483
|
+
children: [
|
|
484
|
+
/* @__PURE__ */ jsx("div", { className: "hidden lg:block", children: /* @__PURE__ */ jsx("div", { className: "sticky top-24", children: /* @__PURE__ */ jsx(
|
|
485
|
+
"div",
|
|
486
|
+
{
|
|
487
|
+
className: cn(
|
|
488
|
+
"aspect-video overflow-hidden rounded-xl bg-muted",
|
|
489
|
+
imageClassName
|
|
490
|
+
),
|
|
491
|
+
children: /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", children: activeFeatureData && /* @__PURE__ */ jsx(
|
|
492
|
+
motion.div,
|
|
493
|
+
{
|
|
494
|
+
initial: { opacity: 0 },
|
|
495
|
+
animate: { opacity: 1 },
|
|
496
|
+
exit: { opacity: 0 },
|
|
497
|
+
transition: { duration: 0.3 },
|
|
498
|
+
className: "h-full w-full",
|
|
499
|
+
children: /* @__PURE__ */ jsx(
|
|
500
|
+
Img,
|
|
501
|
+
{
|
|
502
|
+
src: activeFeatureData.image,
|
|
503
|
+
alt: typeof activeFeatureData.title === "string" ? activeFeatureData.title : `Feature ${activeFeatureData.id}`,
|
|
504
|
+
className: cn(
|
|
505
|
+
"h-full w-full object-cover",
|
|
506
|
+
activeFeatureData.imageClassName
|
|
507
|
+
),
|
|
508
|
+
optixFlowConfig
|
|
509
|
+
}
|
|
510
|
+
)
|
|
511
|
+
},
|
|
512
|
+
activeFeatureData.id
|
|
513
|
+
) })
|
|
514
|
+
}
|
|
515
|
+
) }) }),
|
|
516
|
+
/* @__PURE__ */ jsx("div", { className: cn("space-y-24 lg:space-y-32", featuresClassName), children: featuresSlot ? featuresSlot : features?.map((feature, index) => /* @__PURE__ */ jsxs(
|
|
517
|
+
"div",
|
|
518
|
+
{
|
|
519
|
+
ref: setFeatureRef(feature.id),
|
|
520
|
+
"data-feature-id": feature.id,
|
|
521
|
+
className: cn(
|
|
522
|
+
"scroll-mt-24 transition-opacity duration-300",
|
|
523
|
+
activeFeature === feature.id ? "opacity-100" : "opacity-50",
|
|
524
|
+
feature.className
|
|
525
|
+
),
|
|
526
|
+
children: [
|
|
527
|
+
/* @__PURE__ */ jsx("div", { className: "mb-6 lg:hidden", children: /* @__PURE__ */ jsx("div", { className: "aspect-video overflow-hidden rounded-lg bg-muted", children: /* @__PURE__ */ jsx(
|
|
528
|
+
Img,
|
|
529
|
+
{
|
|
530
|
+
src: feature.image,
|
|
531
|
+
alt: typeof feature.title === "string" ? feature.title : `Feature ${feature.id}`,
|
|
532
|
+
className: cn(
|
|
533
|
+
"h-full w-full object-cover",
|
|
534
|
+
feature.imageClassName
|
|
535
|
+
),
|
|
536
|
+
optixFlowConfig
|
|
537
|
+
}
|
|
538
|
+
) }) }),
|
|
539
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-start gap-4", children: [
|
|
540
|
+
/* @__PURE__ */ jsx(
|
|
541
|
+
"div",
|
|
542
|
+
{
|
|
543
|
+
className: cn(
|
|
544
|
+
"flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-primary text-primary-foreground",
|
|
545
|
+
numberBadgeClassName
|
|
546
|
+
),
|
|
547
|
+
children: index + 1
|
|
548
|
+
}
|
|
549
|
+
),
|
|
550
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
551
|
+
feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-2xl font-semibold", children: feature.title }) : /* @__PURE__ */ jsx("div", { children: feature.title })),
|
|
552
|
+
feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsx("p", { className: "mt-4 text-lg text-muted-foreground", children: feature.description }) : /* @__PURE__ */ jsx("div", { className: "mt-4", children: feature.description }))
|
|
553
|
+
] })
|
|
554
|
+
] })
|
|
555
|
+
]
|
|
556
|
+
},
|
|
557
|
+
feature.id
|
|
558
|
+
)) })
|
|
559
|
+
]
|
|
560
|
+
}
|
|
561
|
+
)
|
|
511
562
|
] })
|
|
512
563
|
}
|
|
513
564
|
);
|
|
@@ -572,7 +572,7 @@ function FeatureAccordionImage({
|
|
|
572
572
|
description,
|
|
573
573
|
items,
|
|
574
574
|
itemsSlot,
|
|
575
|
-
defaultValue
|
|
575
|
+
defaultValue,
|
|
576
576
|
className,
|
|
577
577
|
containerClassName,
|
|
578
578
|
headerClassName,
|
|
@@ -589,24 +589,25 @@ function FeatureAccordionImage({
|
|
|
589
589
|
patternOpacity,
|
|
590
590
|
patternClassName
|
|
591
591
|
}) {
|
|
592
|
-
const [activeItem, setActiveItem] = React__namespace.useState(defaultValue);
|
|
592
|
+
const [activeItem, setActiveItem] = React__namespace.useState(defaultValue || "item-0");
|
|
593
593
|
const activeIndex = parseInt(activeItem.replace("item-", ""), 10) || 0;
|
|
594
594
|
const currentImage = items?.[activeIndex] || items?.[0];
|
|
595
595
|
const accordionItemsContent = React.useMemo(() => {
|
|
596
596
|
if (itemsSlot) return itemsSlot;
|
|
597
597
|
if (!items || items.length === 0) return null;
|
|
598
598
|
return items.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs(AccordionItem, { value: `item-${index}`, className: item.className, children: [
|
|
599
|
-
/* @__PURE__ */ jsxRuntime.jsx(AccordionTrigger, { className: cn("text-left text-lg font-medium", item.triggerClassName), children: item.title }),
|
|
600
|
-
/* @__PURE__ */ jsxRuntime.jsx(AccordionContent, { className: cn("text-muted-foreground", item.contentClassName), children: item.content })
|
|
599
|
+
item.title && /* @__PURE__ */ jsxRuntime.jsx(AccordionTrigger, { className: cn("text-left text-lg font-medium", item.triggerClassName), children: item.title }),
|
|
600
|
+
item.content && /* @__PURE__ */ jsxRuntime.jsx(AccordionContent, { className: cn("text-muted-foreground", item.contentClassName), children: item.content })
|
|
601
601
|
] }, index));
|
|
602
602
|
}, [itemsSlot, items]);
|
|
603
603
|
const imageContent = React.useMemo(() => {
|
|
604
604
|
if (currentImage?.imageSlot) return currentImage.imageSlot;
|
|
605
|
+
if (!currentImage?.imageSrc) return null;
|
|
605
606
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
606
607
|
img.Img,
|
|
607
608
|
{
|
|
608
|
-
src: currentImage
|
|
609
|
-
alt: currentImage
|
|
609
|
+
src: currentImage.imageSrc,
|
|
610
|
+
alt: currentImage.imageAlt || "",
|
|
610
611
|
className: cn("h-full w-full object-cover transition-opacity duration-300", imageClassName),
|
|
611
612
|
loading: "lazy",
|
|
612
613
|
optixFlowConfig
|
|
@@ -624,11 +625,11 @@ function FeatureAccordionImage({
|
|
|
624
625
|
className,
|
|
625
626
|
containerClassName,
|
|
626
627
|
children: [
|
|
627
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-12 text-center", headerClassName), children: [
|
|
628
|
+
(title || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-12 text-center", headerClassName), children: [
|
|
628
629
|
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-3xl font-semibold md:text-4xl lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-3xl font-semibold md:text-4xl lg:text-5xl", titleClassName), children: title })),
|
|
629
630
|
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-4 text-muted-foreground lg:text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4 text-muted-foreground lg:text-lg", descriptionClassName), children: description }))
|
|
630
631
|
] }),
|
|
631
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-10 lg:grid-cols-2 lg:gap-16", gridClassName), children: [
|
|
632
|
+
(itemsSlot || items && items.length > 0) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-10 lg:grid-cols-2 lg:gap-16", gridClassName), children: [
|
|
632
633
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
633
634
|
Accordion,
|
|
634
635
|
{
|
|
@@ -550,7 +550,7 @@ function FeatureAccordionImage({
|
|
|
550
550
|
description,
|
|
551
551
|
items,
|
|
552
552
|
itemsSlot,
|
|
553
|
-
defaultValue
|
|
553
|
+
defaultValue,
|
|
554
554
|
className,
|
|
555
555
|
containerClassName,
|
|
556
556
|
headerClassName,
|
|
@@ -567,24 +567,25 @@ function FeatureAccordionImage({
|
|
|
567
567
|
patternOpacity,
|
|
568
568
|
patternClassName
|
|
569
569
|
}) {
|
|
570
|
-
const [activeItem, setActiveItem] = React.useState(defaultValue);
|
|
570
|
+
const [activeItem, setActiveItem] = React.useState(defaultValue || "item-0");
|
|
571
571
|
const activeIndex = parseInt(activeItem.replace("item-", ""), 10) || 0;
|
|
572
572
|
const currentImage = items?.[activeIndex] || items?.[0];
|
|
573
573
|
const accordionItemsContent = useMemo(() => {
|
|
574
574
|
if (itemsSlot) return itemsSlot;
|
|
575
575
|
if (!items || items.length === 0) return null;
|
|
576
576
|
return items.map((item, index) => /* @__PURE__ */ jsxs(AccordionItem, { value: `item-${index}`, className: item.className, children: [
|
|
577
|
-
/* @__PURE__ */ jsx(AccordionTrigger, { className: cn("text-left text-lg font-medium", item.triggerClassName), children: item.title }),
|
|
578
|
-
/* @__PURE__ */ jsx(AccordionContent, { className: cn("text-muted-foreground", item.contentClassName), children: item.content })
|
|
577
|
+
item.title && /* @__PURE__ */ jsx(AccordionTrigger, { className: cn("text-left text-lg font-medium", item.triggerClassName), children: item.title }),
|
|
578
|
+
item.content && /* @__PURE__ */ jsx(AccordionContent, { className: cn("text-muted-foreground", item.contentClassName), children: item.content })
|
|
579
579
|
] }, index));
|
|
580
580
|
}, [itemsSlot, items]);
|
|
581
581
|
const imageContent = useMemo(() => {
|
|
582
582
|
if (currentImage?.imageSlot) return currentImage.imageSlot;
|
|
583
|
+
if (!currentImage?.imageSrc) return null;
|
|
583
584
|
return /* @__PURE__ */ jsx(
|
|
584
585
|
Img,
|
|
585
586
|
{
|
|
586
|
-
src: currentImage
|
|
587
|
-
alt: currentImage
|
|
587
|
+
src: currentImage.imageSrc,
|
|
588
|
+
alt: currentImage.imageAlt || "",
|
|
588
589
|
className: cn("h-full w-full object-cover transition-opacity duration-300", imageClassName),
|
|
589
590
|
loading: "lazy",
|
|
590
591
|
optixFlowConfig
|
|
@@ -602,11 +603,11 @@ function FeatureAccordionImage({
|
|
|
602
603
|
className,
|
|
603
604
|
containerClassName,
|
|
604
605
|
children: [
|
|
605
|
-
/* @__PURE__ */ jsxs("div", { className: cn("mb-12 text-center", headerClassName), children: [
|
|
606
|
+
(title || description) && /* @__PURE__ */ jsxs("div", { className: cn("mb-12 text-center", headerClassName), children: [
|
|
606
607
|
title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-semibold md:text-4xl lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-3xl font-semibold md:text-4xl lg:text-5xl", titleClassName), children: title })),
|
|
607
608
|
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-muted-foreground lg:text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("mt-4 text-muted-foreground lg:text-lg", descriptionClassName), children: description }))
|
|
608
609
|
] }),
|
|
609
|
-
/* @__PURE__ */ jsxs("div", { className: cn("grid gap-10 lg:grid-cols-2 lg:gap-16", gridClassName), children: [
|
|
610
|
+
(itemsSlot || items && items.length > 0) && /* @__PURE__ */ jsxs("div", { className: cn("grid gap-10 lg:grid-cols-2 lg:gap-16", gridClassName), children: [
|
|
610
611
|
/* @__PURE__ */ jsx(
|
|
611
612
|
Accordion,
|
|
612
613
|
{
|