@opensite/ui 0.8.4 → 0.8.6

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.
Files changed (107) hide show
  1. package/dist/article-breadcrumb-social.cjs +57 -73
  2. package/dist/article-breadcrumb-social.d.cts +2 -24
  3. package/dist/article-breadcrumb-social.d.ts +2 -24
  4. package/dist/article-breadcrumb-social.js +57 -73
  5. package/dist/article-compact-toc.cjs +1 -1
  6. package/dist/article-compact-toc.js +1 -1
  7. package/dist/article-sidebar-sticky.cjs +73 -26
  8. package/dist/article-sidebar-sticky.js +73 -26
  9. package/dist/blog-horizontal-timeline.cjs +7 -4
  10. package/dist/blog-horizontal-timeline.js +7 -4
  11. package/dist/faq-badge-support.cjs +18 -5
  12. package/dist/faq-badge-support.js +18 -5
  13. package/dist/faq-bordered-badge.cjs +23 -7
  14. package/dist/faq-bordered-badge.js +23 -7
  15. package/dist/faq-card-categories.cjs +20 -4
  16. package/dist/faq-card-categories.js +20 -4
  17. package/dist/faq-categorized-sections.cjs +19 -4
  18. package/dist/faq-categorized-sections.js +19 -4
  19. package/dist/faq-centered-accordion.cjs +18 -5
  20. package/dist/faq-centered-accordion.js +18 -5
  21. package/dist/faq-gradient-categories.cjs +19 -4
  22. package/dist/faq-gradient-categories.js +19 -4
  23. package/dist/faq-icon-benefits.cjs +11 -2
  24. package/dist/faq-icon-benefits.js +11 -2
  25. package/dist/faq-muted-cards.cjs +19 -6
  26. package/dist/faq-muted-cards.js +19 -6
  27. package/dist/faq-numbered-grid.cjs +11 -3
  28. package/dist/faq-numbered-grid.js +11 -3
  29. package/dist/faq-numbered-list.cjs +11 -3
  30. package/dist/faq-numbered-list.js +11 -3
  31. package/dist/faq-profile-sidebar.cjs +57 -20
  32. package/dist/faq-profile-sidebar.js +57 -20
  33. package/dist/faq-rounded-cards.cjs +26 -19
  34. package/dist/faq-rounded-cards.js +26 -19
  35. package/dist/faq-sidebar-navigation.cjs +48 -28
  36. package/dist/faq-sidebar-navigation.js +48 -28
  37. package/dist/faq-simple-accordion.cjs +17 -4
  38. package/dist/faq-simple-accordion.js +17 -4
  39. package/dist/faq-split-help.cjs +25 -6
  40. package/dist/faq-split-help.js +25 -6
  41. package/dist/faq-split-hero.cjs +604 -0
  42. package/dist/faq-split-hero.d.cts +116 -0
  43. package/dist/faq-split-hero.d.ts +116 -0
  44. package/dist/faq-split-hero.js +582 -0
  45. package/dist/faq-static-list.cjs +9 -2
  46. package/dist/faq-static-list.js +9 -2
  47. package/dist/feature-accordion-image.cjs +8 -2
  48. package/dist/feature-accordion-image.js +8 -2
  49. package/dist/feature-badge-grid-six.cjs +1 -1
  50. package/dist/feature-badge-grid-six.js +1 -1
  51. package/dist/feature-card-grid-linked.cjs +92 -22
  52. package/dist/feature-card-grid-linked.js +92 -22
  53. package/dist/feature-carousel-progress.cjs +1 -1
  54. package/dist/feature-carousel-progress.js +1 -1
  55. package/dist/feature-checklist-image.cjs +88 -15
  56. package/dist/feature-checklist-image.js +88 -15
  57. package/dist/feature-checklist-three-column.cjs +1 -1
  58. package/dist/feature-checklist-three-column.js +1 -1
  59. package/dist/feature-icon-grid-accent.cjs +50 -8
  60. package/dist/feature-icon-grid-accent.js +50 -8
  61. package/dist/feature-icon-grid-bordered.cjs +84 -14
  62. package/dist/feature-icon-grid-bordered.js +84 -14
  63. package/dist/feature-icon-tabs-content.cjs +217 -84
  64. package/dist/feature-icon-tabs-content.js +217 -84
  65. package/dist/feature-image-overlay-badge.cjs +106 -33
  66. package/dist/feature-image-overlay-badge.js +106 -33
  67. package/dist/feature-numbered-cards.cjs +154 -35
  68. package/dist/feature-numbered-cards.js +154 -35
  69. package/dist/feature-showcase.cjs +66 -71
  70. package/dist/feature-showcase.d.cts +1 -5
  71. package/dist/feature-showcase.d.ts +1 -5
  72. package/dist/feature-showcase.js +67 -72
  73. package/dist/feature-split-image-reverse.cjs +84 -15
  74. package/dist/feature-split-image-reverse.js +84 -15
  75. package/dist/feature-split-image.cjs +87 -15
  76. package/dist/feature-split-image.js +87 -15
  77. package/dist/feature-stats-highlight.cjs +50 -13
  78. package/dist/feature-stats-highlight.js +50 -13
  79. package/dist/feature-tabbed-content-image.cjs +198 -72
  80. package/dist/feature-tabbed-content-image.js +198 -72
  81. package/dist/feature-three-column-values.cjs +67 -14
  82. package/dist/feature-three-column-values.js +67 -14
  83. package/dist/feature-utility-cards-grid.cjs +83 -36
  84. package/dist/feature-utility-cards-grid.js +83 -36
  85. package/dist/navbar-animated-preview.cjs +8 -2
  86. package/dist/navbar-animated-preview.js +8 -2
  87. package/dist/navbar-centered-menu.cjs +8 -2
  88. package/dist/navbar-centered-menu.js +8 -2
  89. package/dist/navbar-dark-icons.cjs +8 -2
  90. package/dist/navbar-dark-icons.js +8 -2
  91. package/dist/navbar-dropdown-menu.cjs +8 -2
  92. package/dist/navbar-dropdown-menu.js +8 -2
  93. package/dist/navbar-education-platform.cjs +8 -2
  94. package/dist/navbar-education-platform.js +8 -2
  95. package/dist/navbar-enterprise-mega.cjs +8 -2
  96. package/dist/navbar-enterprise-mega.js +8 -2
  97. package/dist/navbar-feature-grid.cjs +8 -2
  98. package/dist/navbar-feature-grid.js +8 -2
  99. package/dist/navbar-multi-column-groups.cjs +8 -2
  100. package/dist/navbar-multi-column-groups.js +8 -2
  101. package/dist/navbar-platform-resources.cjs +8 -2
  102. package/dist/navbar-platform-resources.js +8 -2
  103. package/dist/navbar-sidebar-mobile.cjs +8 -2
  104. package/dist/navbar-sidebar-mobile.js +8 -2
  105. package/dist/registry.cjs +1873 -680
  106. package/dist/registry.js +1873 -680
  107. package/package.json +1 -1
package/dist/registry.js CHANGED
@@ -20291,7 +20291,6 @@ function FeatureShowcase({
20291
20291
  slideClassName,
20292
20292
  contentClassName,
20293
20293
  mediaClassName,
20294
- arrowClassName,
20295
20294
  equalizeOnMobile,
20296
20295
  stretchMediaOnMobile,
20297
20296
  background,
@@ -20300,10 +20299,21 @@ function FeatureShowcase({
20300
20299
  patternOpacity,
20301
20300
  patternClassName
20302
20301
  }) {
20303
- const baseArrowClassName = useMemo$1(
20304
- () => "bottom-4 top-auto size-12 translate-y-0 rounded-full border border-current bg-transparent text-current shadow-sm focus:ring-current focus:ring-offset-2 focus:ring-offset-transparent hover:bg-current/10 md:bottom-6",
20305
- []
20306
- );
20302
+ const [api, setApi] = React52.useState();
20303
+ const [canScrollPrevious, setCanScrollPrevious] = React52.useState(false);
20304
+ const [canScrollNext, setCanScrollNext] = React52.useState(false);
20305
+ React52.useEffect(() => {
20306
+ if (!api) return;
20307
+ const updateScrollState = () => {
20308
+ setCanScrollPrevious(api.canScrollPrev());
20309
+ setCanScrollNext(api.canScrollNext());
20310
+ };
20311
+ updateScrollState();
20312
+ api.on("select", updateScrollState);
20313
+ return () => {
20314
+ api.off("select", updateScrollState);
20315
+ };
20316
+ }, [api]);
20307
20317
  const [mobileSlideHeight, setMobileSlideHeight] = useState(
20308
20318
  null
20309
20319
  );
@@ -20346,7 +20356,7 @@ function FeatureShowcase({
20346
20356
  }, [equalizeOnMobile, items]);
20347
20357
  const carouselContent = useMemo$1(() => {
20348
20358
  if (!items || items.length === 0) return null;
20349
- return /* @__PURE__ */ jsxs(Carousel, { className: carouselClassName, children: [
20359
+ return /* @__PURE__ */ jsxs(Carousel, { className: carouselClassName, setApi, children: [
20350
20360
  /* @__PURE__ */ jsx("div", { className: "pb-18 md:pb-24", children: /* @__PURE__ */ jsx(CarouselContent, { className: "ease-in", children: items.map((item, itemIndex) => /* @__PURE__ */ jsx(CarouselItem, { children: /* @__PURE__ */ jsxs(
20351
20361
  "div",
20352
20362
  {
@@ -20375,15 +20385,13 @@ function FeatureShowcase({
20375
20385
  }
20376
20386
  ) }, `slide-${itemIndex}`)) }) }),
20377
20387
  /* @__PURE__ */ jsx(
20378
- CarouselPrevious,
20379
- {
20380
- className: cn(baseArrowClassName, "right-16", arrowClassName)
20381
- }
20382
- ),
20383
- /* @__PURE__ */ jsx(
20384
- CarouselNext,
20388
+ CarouselPagination,
20385
20389
  {
20386
- className: cn(baseArrowClassName, "right-0", arrowClassName)
20390
+ onPrevious: () => api?.scrollPrev(),
20391
+ onNext: () => api?.scrollNext(),
20392
+ canScrollPrevious,
20393
+ canScrollNext,
20394
+ className: "absolute bottom-4 right-0 md:bottom-6"
20387
20395
  }
20388
20396
  )
20389
20397
  ] });
@@ -20396,8 +20404,9 @@ function FeatureShowcase({
20396
20404
  contentClassName,
20397
20405
  mediaWrapperClassName,
20398
20406
  mediaClassName,
20399
- baseArrowClassName,
20400
- arrowClassName
20407
+ api,
20408
+ canScrollPrevious,
20409
+ canScrollNext
20401
20410
  ]);
20402
20411
  return /* @__PURE__ */ jsxs(
20403
20412
  Section,
@@ -20433,7 +20442,7 @@ function FeatureSplitImage({
20433
20442
  imageClassName,
20434
20443
  optixFlowConfig,
20435
20444
  background,
20436
- spacing,
20445
+ spacing = "py-6 md:py-32",
20437
20446
  pattern,
20438
20447
  patternOpacity,
20439
20448
  patternClassName
@@ -20450,11 +20459,20 @@ function FeatureSplitImage({
20450
20459
  className: actionClassName,
20451
20460
  ...pressableProps
20452
20461
  } = action;
20453
- return /* @__PURE__ */ jsx(Pressable, { className: actionClassName, asButton: true, ...pressableProps, children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
20454
- icon,
20455
- label,
20456
- iconAfter
20457
- ] }) }, index);
20462
+ return /* @__PURE__ */ jsx(
20463
+ Pressable,
20464
+ {
20465
+ className: actionClassName,
20466
+ asButton: true,
20467
+ ...pressableProps,
20468
+ children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
20469
+ icon,
20470
+ label,
20471
+ iconAfter
20472
+ ] })
20473
+ },
20474
+ index
20475
+ );
20458
20476
  });
20459
20477
  }, [actionsSlot, actions]);
20460
20478
  const imageContent = useMemo$1(() => {
@@ -20465,7 +20483,10 @@ function FeatureSplitImage({
20465
20483
  {
20466
20484
  src: imageSrc,
20467
20485
  alt: imageAlt || "",
20468
- className: cn("max-h-96 w-full rounded-md object-cover", imageClassName),
20486
+ className: cn(
20487
+ "max-h-96 w-full rounded-md object-cover",
20488
+ imageClassName
20489
+ ),
20469
20490
  loading: "lazy",
20470
20491
  optixFlowConfig
20471
20492
  }
@@ -20481,14 +20502,74 @@ function FeatureSplitImage({
20481
20502
  patternClassName,
20482
20503
  className,
20483
20504
  containerClassName,
20484
- children: /* @__PURE__ */ jsxs("div", { className: cn("grid items-center gap-8 lg:grid-cols-2", gridClassName), children: [
20485
- /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col items-center text-center lg:items-start lg:text-left", contentClassName), children: [
20486
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl", titleClassName), children: title })),
20487
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-8 max-w-xl text-muted-foreground lg:text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("mb-8 max-w-xl text-muted-foreground lg:text-lg", descriptionClassName), children: description })),
20488
- (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("flex w-full flex-col justify-center gap-2 sm:flex-row lg:justify-start", actionsClassName), children: actionsContent })
20489
- ] }),
20490
- imageContent
20491
- ] })
20505
+ children: /* @__PURE__ */ jsxs(
20506
+ "div",
20507
+ {
20508
+ className: cn("grid items-center gap-8 lg:grid-cols-2", gridClassName),
20509
+ children: [
20510
+ /* @__PURE__ */ jsxs(
20511
+ "div",
20512
+ {
20513
+ className: cn(
20514
+ "flex flex-col items-center text-center lg:items-start lg:text-left",
20515
+ contentClassName
20516
+ ),
20517
+ children: [
20518
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
20519
+ "h2",
20520
+ {
20521
+ className: cn(
20522
+ "my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl",
20523
+ titleClassName
20524
+ ),
20525
+ children: title
20526
+ }
20527
+ ) : /* @__PURE__ */ jsx(
20528
+ "div",
20529
+ {
20530
+ className: cn(
20531
+ "my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl",
20532
+ titleClassName
20533
+ ),
20534
+ children: title
20535
+ }
20536
+ )),
20537
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
20538
+ "p",
20539
+ {
20540
+ className: cn(
20541
+ "mb-8 max-w-xl lg:text-lg",
20542
+ descriptionClassName
20543
+ ),
20544
+ children: description
20545
+ }
20546
+ ) : /* @__PURE__ */ jsx(
20547
+ "div",
20548
+ {
20549
+ className: cn(
20550
+ "mb-8 max-w-xl lg:text-lg",
20551
+ descriptionClassName
20552
+ ),
20553
+ children: description
20554
+ }
20555
+ )),
20556
+ (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx(
20557
+ "div",
20558
+ {
20559
+ className: cn(
20560
+ "flex w-full flex-col justify-center gap-2 sm:flex-row lg:justify-start",
20561
+ actionsClassName
20562
+ ),
20563
+ children: actionsContent
20564
+ }
20565
+ )
20566
+ ]
20567
+ }
20568
+ ),
20569
+ imageContent
20570
+ ]
20571
+ }
20572
+ )
20492
20573
  }
20493
20574
  );
20494
20575
  }
@@ -20510,7 +20591,7 @@ function FeatureSplitImageReverse({
20510
20591
  actionsClassName,
20511
20592
  optixFlowConfig,
20512
20593
  background,
20513
- spacing,
20594
+ spacing = "py-6 md:py-32",
20514
20595
  pattern,
20515
20596
  patternOpacity,
20516
20597
  patternClassName
@@ -20527,11 +20608,20 @@ function FeatureSplitImageReverse({
20527
20608
  className: actionClassName,
20528
20609
  ...pressableProps
20529
20610
  } = action;
20530
- return /* @__PURE__ */ jsx(Pressable, { className: actionClassName, asButton: true, ...pressableProps, children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
20531
- icon,
20532
- label,
20533
- iconAfter
20534
- ] }) }, index);
20611
+ return /* @__PURE__ */ jsx(
20612
+ Pressable,
20613
+ {
20614
+ className: actionClassName,
20615
+ asButton: true,
20616
+ ...pressableProps,
20617
+ children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
20618
+ icon,
20619
+ label,
20620
+ iconAfter
20621
+ ] })
20622
+ },
20623
+ index
20624
+ );
20535
20625
  });
20536
20626
  }, [actionsSlot, actions]);
20537
20627
  const imageContent = useMemo$1(() => {
@@ -20542,7 +20632,10 @@ function FeatureSplitImageReverse({
20542
20632
  {
20543
20633
  src: imageSrc,
20544
20634
  alt: imageAlt || "",
20545
- className: cn("max-h-96 w-full rounded-md object-cover", imageClassName),
20635
+ className: cn(
20636
+ "max-h-96 w-full rounded-md object-cover",
20637
+ imageClassName
20638
+ ),
20546
20639
  loading: "lazy",
20547
20640
  optixFlowConfig
20548
20641
  }
@@ -20558,14 +20651,71 @@ function FeatureSplitImageReverse({
20558
20651
  patternClassName,
20559
20652
  className,
20560
20653
  containerClassName,
20561
- children: /* @__PURE__ */ jsxs("div", { className: cn("grid items-center gap-8 md:gap-16 lg:grid-cols-2", gridClassName), children: [
20562
- imageContent,
20563
- /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col items-center text-center lg:items-start lg:text-left", contentClassName), children: [
20564
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl", titleClassName), children: title })),
20565
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-8 max-w-xl text-muted-foreground lg:text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("mb-8 max-w-xl text-muted-foreground lg:text-lg", descriptionClassName), children: description })),
20566
- (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("flex w-full flex-col justify-center gap-2 sm:flex-row lg:justify-start", actionsClassName), children: actionsContent })
20567
- ] })
20568
- ] })
20654
+ children: /* @__PURE__ */ jsxs(
20655
+ "div",
20656
+ {
20657
+ className: cn(
20658
+ "grid items-center gap-8 md:gap-16 lg:grid-cols-2",
20659
+ gridClassName
20660
+ ),
20661
+ children: [
20662
+ imageContent,
20663
+ /* @__PURE__ */ jsxs(
20664
+ "div",
20665
+ {
20666
+ className: cn(
20667
+ "flex flex-col items-center text-center lg:items-start lg:text-left",
20668
+ contentClassName
20669
+ ),
20670
+ children: [
20671
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
20672
+ "h2",
20673
+ {
20674
+ className: cn(
20675
+ "my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl",
20676
+ titleClassName
20677
+ ),
20678
+ children: title
20679
+ }
20680
+ ) : /* @__PURE__ */ jsx(
20681
+ "div",
20682
+ {
20683
+ className: cn(
20684
+ "my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl",
20685
+ titleClassName
20686
+ ),
20687
+ children: title
20688
+ }
20689
+ )),
20690
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
20691
+ "p",
20692
+ {
20693
+ className: cn("mb-8 max-w-xl lg:text-lg", descriptionClassName),
20694
+ children: description
20695
+ }
20696
+ ) : /* @__PURE__ */ jsx(
20697
+ "div",
20698
+ {
20699
+ className: cn("mb-8 max-w-xl lg:text-lg", descriptionClassName),
20700
+ children: description
20701
+ }
20702
+ )),
20703
+ (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx(
20704
+ "div",
20705
+ {
20706
+ className: cn(
20707
+ "flex w-full flex-col justify-center gap-2 sm:flex-row lg:justify-start",
20708
+ actionsClassName
20709
+ ),
20710
+ children: actionsContent
20711
+ }
20712
+ )
20713
+ ]
20714
+ }
20715
+ )
20716
+ ]
20717
+ }
20718
+ )
20569
20719
  }
20570
20720
  );
20571
20721
  }
@@ -20581,7 +20731,7 @@ function FeatureIconGridBordered({
20581
20731
  gridClassName,
20582
20732
  cardClassName,
20583
20733
  background,
20584
- spacing,
20734
+ spacing = "py-6 md:py-32",
20585
20735
  pattern,
20586
20736
  patternOpacity,
20587
20737
  patternClassName
@@ -20599,18 +20749,67 @@ function FeatureIconGridBordered({
20599
20749
  return features.map((feature, index) => /* @__PURE__ */ jsxs(
20600
20750
  "div",
20601
20751
  {
20602
- className: cn("relative flex gap-3 rounded-lg border-dashed md:block md:border-l md:p-5", cardClassName, feature.className),
20752
+ className: cn(
20753
+ "relative flex gap-3 rounded-lg border-dashed md:block md:border-l md:p-5",
20754
+ cardClassName,
20755
+ feature.className
20756
+ ),
20603
20757
  children: [
20604
- (feature.icon || feature.iconName) && /* @__PURE__ */ jsx("span", { className: cn("mb-8 flex size-10 shrink-0 items-center justify-center rounded-full bg-accent md:size-12", feature.iconClassName), children: renderIcon(feature) }),
20758
+ (feature.icon || feature.iconName) && /* @__PURE__ */ jsx(
20759
+ "span",
20760
+ {
20761
+ className: cn(
20762
+ "mb-8 flex size-10 shrink-0 items-center justify-center rounded-full bg-primary text-primary-foreground md:size-12",
20763
+ feature.iconClassName
20764
+ ),
20765
+ children: renderIcon(feature)
20766
+ }
20767
+ ),
20605
20768
  /* @__PURE__ */ jsxs("div", { children: [
20606
- feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsxs("h3", { className: cn("font-medium md:mb-2 md:text-xl", feature.titleClassName), children: [
20607
- feature.title,
20608
- /* @__PURE__ */ jsx("span", { className: "absolute -left-px hidden h-6 w-px bg-primary md:inline-block" })
20609
- ] }) : /* @__PURE__ */ jsxs("div", { className: cn("font-medium md:mb-2 md:text-xl", feature.titleClassName), children: [
20610
- feature.title,
20611
- /* @__PURE__ */ jsx("span", { className: "absolute -left-px hidden h-6 w-px bg-primary md:inline-block" })
20612
- ] })),
20613
- feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm text-muted-foreground md:text-base", feature.descriptionClassName), children: feature.description }) : /* @__PURE__ */ jsx("div", { className: cn("text-sm text-muted-foreground md:text-base", feature.descriptionClassName), children: feature.description }))
20769
+ feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsxs(
20770
+ "h3",
20771
+ {
20772
+ className: cn(
20773
+ "font-medium md:mb-2 md:text-xl",
20774
+ feature.titleClassName
20775
+ ),
20776
+ children: [
20777
+ feature.title,
20778
+ /* @__PURE__ */ jsx("span", { className: "absolute -left-px hidden h-6 w-px bg-primary md:inline-block" })
20779
+ ]
20780
+ }
20781
+ ) : /* @__PURE__ */ jsxs(
20782
+ "div",
20783
+ {
20784
+ className: cn(
20785
+ "font-medium md:mb-2 md:text-xl",
20786
+ feature.titleClassName
20787
+ ),
20788
+ children: [
20789
+ feature.title,
20790
+ /* @__PURE__ */ jsx("span", { className: "absolute -left-px hidden h-6 w-px bg-primary md:inline-block" })
20791
+ ]
20792
+ }
20793
+ )),
20794
+ feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsx(
20795
+ "p",
20796
+ {
20797
+ className: cn(
20798
+ "text-sm md:text-base",
20799
+ feature.descriptionClassName
20800
+ ),
20801
+ children: feature.description
20802
+ }
20803
+ ) : /* @__PURE__ */ jsx(
20804
+ "div",
20805
+ {
20806
+ className: cn(
20807
+ "text-sm md:text-base",
20808
+ feature.descriptionClassName
20809
+ ),
20810
+ children: feature.description
20811
+ }
20812
+ ))
20614
20813
  ] })
20615
20814
  ]
20616
20815
  },
@@ -20628,9 +20827,30 @@ function FeatureIconGridBordered({
20628
20827
  className,
20629
20828
  containerClassName,
20630
20829
  children: [
20631
- label && (typeof label === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-4 text-xs text-muted-foreground", labelClassName), children: label }) : /* @__PURE__ */ jsx("div", { className: cn("mb-4 text-xs text-muted-foreground", labelClassName), children: label })),
20632
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-medium lg:text-4xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-3xl font-medium lg:text-4xl", titleClassName), children: title })),
20633
- (featuresSlot || features && features.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mt-14 grid gap-6 md:grid-cols-2 lg:mt-20 lg:grid-cols-4", gridClassName), children: featuresContent })
20830
+ label && (typeof label === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-4 text-xs ", labelClassName), children: label }) : /* @__PURE__ */ jsx("div", { className: cn("mb-4 text-xs ", labelClassName), children: label })),
20831
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
20832
+ "h2",
20833
+ {
20834
+ className: cn("text-3xl font-medium lg:text-4xl", titleClassName),
20835
+ children: title
20836
+ }
20837
+ ) : /* @__PURE__ */ jsx(
20838
+ "div",
20839
+ {
20840
+ className: cn("text-3xl font-medium lg:text-4xl", titleClassName),
20841
+ children: title
20842
+ }
20843
+ )),
20844
+ (featuresSlot || features && features.length > 0) && /* @__PURE__ */ jsx(
20845
+ "div",
20846
+ {
20847
+ className: cn(
20848
+ "mt-14 grid gap-6 md:grid-cols-2 lg:mt-20 lg:grid-cols-4",
20849
+ gridClassName
20850
+ ),
20851
+ children: featuresContent
20852
+ }
20853
+ )
20634
20854
  ]
20635
20855
  }
20636
20856
  );
@@ -20656,7 +20876,7 @@ function FeatureChecklistImage({
20656
20876
  checklistClassName,
20657
20877
  optixFlowConfig,
20658
20878
  background,
20659
- spacing,
20879
+ spacing = "py-6 md:py-32",
20660
20880
  pattern,
20661
20881
  patternOpacity,
20662
20882
  patternClassName
@@ -20709,7 +20929,10 @@ function FeatureChecklistImage({
20709
20929
  {
20710
20930
  src: imageSrc,
20711
20931
  alt: imageAlt || "Feature illustration",
20712
- className: cn("max-h-96 w-full rounded-lg object-cover md:max-h-[500px] md:w-1/2", imageClassName),
20932
+ className: cn(
20933
+ "max-h-96 w-full rounded-lg object-cover md:max-h-[500px] md:w-1/2",
20934
+ imageClassName
20935
+ ),
20713
20936
  loading: "lazy",
20714
20937
  optixFlowConfig
20715
20938
  }
@@ -20723,31 +20946,101 @@ function FeatureChecklistImage({
20723
20946
  const content = isString ? item : item.content;
20724
20947
  const iconElement = isString ? /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/circle-check-big", size: 16 }) : item.icon ?? (item.iconName ? /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 16 }) : /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/circle-check-big", size: 16 }));
20725
20948
  const itemClassName = isString ? void 0 : item.className;
20726
- return /* @__PURE__ */ jsxs("li", { className: cn("flex items-center gap-3", itemClassName), children: [
20727
- iconElement,
20728
- content
20729
- ] }, index);
20730
- });
20731
- }, [checklistSlot, checklistItems]);
20732
- return /* @__PURE__ */ jsx(
20733
- Section,
20734
- {
20735
- background,
20736
- spacing,
20949
+ return /* @__PURE__ */ jsxs(
20950
+ "li",
20951
+ {
20952
+ className: cn("flex items-center gap-3", itemClassName),
20953
+ children: [
20954
+ iconElement,
20955
+ content
20956
+ ]
20957
+ },
20958
+ index
20959
+ );
20960
+ });
20961
+ }, [checklistSlot, checklistItems]);
20962
+ return /* @__PURE__ */ jsx(
20963
+ Section,
20964
+ {
20965
+ background,
20966
+ spacing,
20737
20967
  pattern,
20738
20968
  patternOpacity,
20739
20969
  patternClassName,
20740
20970
  className,
20741
20971
  containerClassName: cn("max-w-6xl", containerClassName),
20742
- children: /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-12 md:flex-row", contentWrapperClassName), children: [
20743
- imageContent,
20744
- /* @__PURE__ */ jsxs("div", { className: cn("lg:p-10", contentClassName), children: [
20745
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-medium text-balance md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-3xl font-medium text-balance md:text-5xl", titleClassName), children: title })),
20746
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-1 text-muted-foreground md:mt-6", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("mt-1 text-muted-foreground md:mt-6", descriptionClassName), children: description })),
20747
- actionsContent && /* @__PURE__ */ jsx("div", { className: actionsClassName, children: actionsContent }),
20748
- checklistContent && /* @__PURE__ */ jsx("ul", { className: cn("mt-10 flex-wrap items-center gap-6 space-y-6 md:flex md:space-y-0", checklistClassName), children: checklistContent })
20749
- ] })
20750
- ] })
20972
+ children: /* @__PURE__ */ jsxs(
20973
+ "div",
20974
+ {
20975
+ className: cn(
20976
+ "flex flex-col gap-12 md:flex-row",
20977
+ contentWrapperClassName
20978
+ ),
20979
+ children: [
20980
+ imageContent,
20981
+ /* @__PURE__ */ jsxs("div", { className: cn("lg:p-10", contentClassName), children: [
20982
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
20983
+ "h2",
20984
+ {
20985
+ className: cn(
20986
+ "text-3xl font-medium text-balance md:text-5xl",
20987
+ titleClassName
20988
+ ),
20989
+ children: title
20990
+ }
20991
+ ) : /* @__PURE__ */ jsx(
20992
+ "div",
20993
+ {
20994
+ className: cn(
20995
+ "text-3xl font-medium text-balance md:text-5xl",
20996
+ titleClassName
20997
+ ),
20998
+ children: title
20999
+ }
21000
+ )),
21001
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
21002
+ "p",
21003
+ {
21004
+ className: cn(
21005
+ "mt-1 text-muted-foreground md:mt-6",
21006
+ descriptionClassName
21007
+ ),
21008
+ children: description
21009
+ }
21010
+ ) : /* @__PURE__ */ jsx(
21011
+ "div",
21012
+ {
21013
+ className: cn(
21014
+ "mt-1 text-muted-foreground md:mt-6",
21015
+ descriptionClassName
21016
+ ),
21017
+ children: description
21018
+ }
21019
+ )),
21020
+ actionsContent && /* @__PURE__ */ jsx(
21021
+ "div",
21022
+ {
21023
+ className: cn(
21024
+ "flex flex-wrap items-center gap-2",
21025
+ actionsClassName
21026
+ ),
21027
+ children: actionsContent
21028
+ }
21029
+ ),
21030
+ checklistContent && /* @__PURE__ */ jsx(
21031
+ "ul",
21032
+ {
21033
+ className: cn(
21034
+ "mt-10 flex-wrap items-center gap-6 space-y-6 md:flex md:space-y-0",
21035
+ checklistClassName
21036
+ ),
21037
+ children: checklistContent
21038
+ }
21039
+ )
21040
+ ] })
21041
+ ]
21042
+ }
21043
+ )
20751
21044
  }
20752
21045
  );
20753
21046
  }
@@ -20823,7 +21116,7 @@ function FeatureCarouselProgress({
20823
21116
  {
20824
21117
  className: "basis-full md:basis-1/2 lg:basis-1/3",
20825
21118
  children: /* @__PURE__ */ jsx("div", { className: "p-1", children: /* @__PURE__ */ jsx(Card, { className: cn(cardClassName, slide.className), children: /* @__PURE__ */ jsx(CardContent, { className: "flex flex-col justify-center p-6", children: /* @__PURE__ */ jsxs("div", { children: [
20826
- (slide.icon || slide.iconName) && /* @__PURE__ */ jsx("span", { className: cn("mb-5 flex size-8 items-center justify-center rounded-full bg-accent lg:size-10", slide.iconClassName), children: renderSlideIcon(slide) }),
21119
+ (slide.icon || slide.iconName) && /* @__PURE__ */ jsx("span", { className: cn("mb-5 flex size-8 items-center justify-center rounded-full bg-primary text-primary-foreground lg:size-10", slide.iconClassName), children: renderSlideIcon(slide) }),
20827
21120
  slide.title && (typeof slide.title === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-xl font-semibold md:text-2xl lg:text-2xl", slide.titleClassName), children: slide.title }) : /* @__PURE__ */ jsx("div", { className: cn("text-xl font-semibold md:text-2xl lg:text-2xl", slide.titleClassName), children: slide.title })),
20828
21121
  slide.description && (typeof slide.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("pt-2 text-muted-foreground", slide.descriptionClassName), children: slide.description }) : /* @__PURE__ */ jsx("div", { className: cn("pt-2 text-muted-foreground", slide.descriptionClassName), children: slide.description }))
20829
21122
  ] }) }) }) })
@@ -20880,27 +21173,30 @@ function FeatureCardGridLinked({
20880
21173
  cardClassName,
20881
21174
  optixFlowConfig,
20882
21175
  background,
20883
- spacing,
21176
+ spacing = "py-6 md:py-32",
20884
21177
  pattern,
20885
21178
  patternOpacity,
20886
21179
  patternClassName
20887
21180
  }) {
20888
- const renderImage = useCallback((feature, imageAlt) => {
20889
- if (feature.imageSlot) return feature.imageSlot;
20890
- if (feature.image) {
20891
- return /* @__PURE__ */ jsx(
20892
- Img,
20893
- {
20894
- src: feature.image,
20895
- alt: imageAlt,
20896
- className: "h-full w-full rounded-t-lg object-cover transition-opacity hover:opacity-80",
20897
- loading: "lazy",
20898
- optixFlowConfig
20899
- }
20900
- );
20901
- }
20902
- return null;
20903
- }, [optixFlowConfig]);
21181
+ const renderImage = useCallback(
21182
+ (feature, imageAlt) => {
21183
+ if (feature.imageSlot) return feature.imageSlot;
21184
+ if (feature.image) {
21185
+ return /* @__PURE__ */ jsx(
21186
+ Img,
21187
+ {
21188
+ src: feature.image,
21189
+ alt: imageAlt,
21190
+ className: "h-full w-full rounded-t-lg object-cover transition-opacity hover:opacity-80",
21191
+ loading: "lazy",
21192
+ optixFlowConfig
21193
+ }
21194
+ );
21195
+ }
21196
+ return null;
21197
+ },
21198
+ [optixFlowConfig]
21199
+ );
20904
21200
  const featuresContent = useMemo$1(() => {
20905
21201
  if (featuresSlot) return featuresSlot;
20906
21202
  if (!features || features.length === 0) return null;
@@ -20910,16 +21206,56 @@ function FeatureCardGridLinked({
20910
21206
  return /* @__PURE__ */ jsxs(
20911
21207
  "div",
20912
21208
  {
20913
- className: cn("flex flex-col justify-between rounded-lg bg-muted", cardClassName, feature.className),
21209
+ className: cn(
21210
+ "flex flex-col justify-between rounded-lg bg-muted border",
21211
+ cardClassName,
21212
+ feature.className
21213
+ ),
20914
21214
  children: [
20915
21215
  /* @__PURE__ */ jsxs("div", { className: "flex justify-between gap-10 border-b", children: [
20916
21216
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-between gap-8 py-6 pl-4 md:gap-14 md:py-10 md:pl-8 lg:justify-normal", children: [
20917
- feature.label && /* @__PURE__ */ jsx("span", { className: cn("font-mono text-xs text-muted-foreground", feature.labelClassName), children: feature.label }),
20918
- feature.heading && /* @__PURE__ */ jsx(Pressable, { href: feature.url, children: typeof feature.heading === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("text-2xl transition-all hover:text-primary hover:opacity-80 sm:text-3xl lg:text-4xl", feature.headingClassName), children: feature.heading }) : /* @__PURE__ */ jsx("div", { className: cn("text-2xl transition-all hover:text-primary hover:opacity-80 sm:text-3xl lg:text-4xl", feature.headingClassName), children: feature.heading }) })
21217
+ feature.label && /* @__PURE__ */ jsx(
21218
+ "span",
21219
+ {
21220
+ className: cn(
21221
+ "font-bold text-xs uppercase opacity-75",
21222
+ feature.labelClassName
21223
+ ),
21224
+ children: feature.label
21225
+ }
21226
+ ),
21227
+ feature.heading && /* @__PURE__ */ jsx(Pressable, { href: feature.url, children: typeof feature.heading === "string" ? /* @__PURE__ */ jsx(
21228
+ "h3",
21229
+ {
21230
+ className: cn(
21231
+ "text-xl transition-all hover:opacity-80 md:text-2xl font-semibold leading-snug tracking-tighter",
21232
+ feature.headingClassName
21233
+ ),
21234
+ children: feature.heading
21235
+ }
21236
+ ) : /* @__PURE__ */ jsx(
21237
+ "div",
21238
+ {
21239
+ className: cn(
21240
+ "text-xl transition-all hover:opacity-80 md:text-2xl font-semibold leading-snug tracking-tighter",
21241
+ feature.headingClassName
21242
+ ),
21243
+ children: feature.heading
21244
+ }
21245
+ ) })
20919
21246
  ] }),
20920
21247
  /* @__PURE__ */ jsx("div", { className: "md:1/3 w-2/5 shrink-0 rounded-r-lg border-l", children: /* @__PURE__ */ jsx(Pressable, { href: feature.url, children: renderImage(feature, imageAlt) }) })
20921
21248
  ] }),
20922
- feature.description && /* @__PURE__ */ jsx("p", { className: cn("p-4 text-muted-foreground md:p-8", feature.descriptionClassName), children: feature.description })
21249
+ feature.description && /* @__PURE__ */ jsx(
21250
+ "p",
21251
+ {
21252
+ className: cn(
21253
+ "p-4 text-muted-foreground md:p-8",
21254
+ feature.descriptionClassName
21255
+ ),
21256
+ children: feature.description
21257
+ }
21258
+ )
20923
21259
  ]
20924
21260
  },
20925
21261
  featureKey
@@ -20937,7 +21273,34 @@ function FeatureCardGridLinked({
20937
21273
  className,
20938
21274
  containerClassName,
20939
21275
  children: [
20940
- title && /* @__PURE__ */ jsx("div", { className: cn("mx-auto mb-16 max-w-3xl text-center", titleWrapperClassName), children: typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-4xl font-medium text-pretty lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-4xl font-medium text-pretty lg:text-5xl", titleClassName), children: title }) }),
21276
+ title && /* @__PURE__ */ jsx(
21277
+ "div",
21278
+ {
21279
+ className: cn(
21280
+ "mx-auto mb-16 max-w-3xl text-center",
21281
+ titleWrapperClassName
21282
+ ),
21283
+ children: typeof title === "string" ? /* @__PURE__ */ jsx(
21284
+ "h2",
21285
+ {
21286
+ className: cn(
21287
+ "text-4xl font-medium text-pretty lg:text-5xl",
21288
+ titleClassName
21289
+ ),
21290
+ children: title
21291
+ }
21292
+ ) : /* @__PURE__ */ jsx(
21293
+ "div",
21294
+ {
21295
+ className: cn(
21296
+ "text-4xl font-medium text-pretty lg:text-5xl",
21297
+ titleClassName
21298
+ ),
21299
+ children: title
21300
+ }
21301
+ )
21302
+ }
21303
+ ),
20941
21304
  /* @__PURE__ */ jsx("div", { className: cn("grid gap-8 lg:grid-cols-2", gridClassName), children: featuresContent })
20942
21305
  ]
20943
21306
  }
@@ -20961,27 +21324,45 @@ function FeatureNumberedCards({
20961
21324
  patternOpacity,
20962
21325
  patternClassName
20963
21326
  }) {
20964
- const renderChecklistItems = useCallback((feature) => {
20965
- if (feature.checklistSlot) return feature.checklistSlot;
20966
- if (!feature.checklistItems || feature.checklistItems.length === 0) return null;
20967
- return feature.checklistItems.map((item, itemIndex) => {
20968
- const isString = typeof item === "string";
20969
- const content = isString ? item : item.content;
20970
- const iconElement = isString ? /* @__PURE__ */ jsx(
20971
- DynamicIcon,
20972
- {
20973
- name: "lucide/check-circle",
20974
- size: 16,
20975
- className: "mt-0.5 shrink-0 sm:mt-1"
20976
- }
20977
- ) : item.icon ?? (item.iconName ? /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 16, className: "mt-0.5 shrink-0 sm:mt-1" }) : /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/check-circle", size: 16, className: "mt-0.5 shrink-0 sm:mt-1" }));
20978
- const itemClassName = isString ? void 0 : item.className;
20979
- return /* @__PURE__ */ jsxs("li", { className: cn("flex gap-x-3", itemClassName), children: [
20980
- iconElement,
20981
- /* @__PURE__ */ jsx("p", { className: "text-sm md:text-base", children: content })
20982
- ] }, itemIndex);
20983
- });
20984
- }, []);
21327
+ const renderChecklistItems = useCallback(
21328
+ (feature) => {
21329
+ if (feature.checklistSlot) return feature.checklistSlot;
21330
+ if (!feature.checklistItems || feature.checklistItems.length === 0)
21331
+ return null;
21332
+ return feature.checklistItems.map((item, itemIndex) => {
21333
+ const isString = typeof item === "string";
21334
+ const content = isString ? item : item.content;
21335
+ const iconElement = isString ? /* @__PURE__ */ jsx(
21336
+ DynamicIcon,
21337
+ {
21338
+ name: "lucide/check-circle",
21339
+ size: 16,
21340
+ className: "mt-0.5 shrink-0 sm:mt-1"
21341
+ }
21342
+ ) : item.icon ?? (item.iconName ? /* @__PURE__ */ jsx(
21343
+ DynamicIcon,
21344
+ {
21345
+ name: item.iconName,
21346
+ size: 16,
21347
+ className: "mt-0.5 shrink-0 sm:mt-1"
21348
+ }
21349
+ ) : /* @__PURE__ */ jsx(
21350
+ DynamicIcon,
21351
+ {
21352
+ name: "lucide/check-circle",
21353
+ size: 16,
21354
+ className: "mt-0.5 shrink-0 sm:mt-1"
21355
+ }
21356
+ ));
21357
+ const itemClassName = isString ? void 0 : item.className;
21358
+ return /* @__PURE__ */ jsxs("li", { className: cn("flex gap-x-3", itemClassName), children: [
21359
+ iconElement,
21360
+ /* @__PURE__ */ jsx("p", { className: "text-sm md:text-base", children: content })
21361
+ ] }, itemIndex);
21362
+ });
21363
+ },
21364
+ []
21365
+ );
20985
21366
  const featuresContent = useMemo$1(() => {
20986
21367
  if (featuresSlot) return featuresSlot;
20987
21368
  if (!features || features.length === 0) return null;
@@ -20995,7 +21376,7 @@ function FeatureNumberedCards({
20995
21376
  {
20996
21377
  src: feature.image,
20997
21378
  alt: imageAlt,
20998
- className: "h-full w-full object-cover",
21379
+ className: "h-full w-full object-cover rounded-tr-lg rounded-tl-lg md:rounded-tl-0 rounded-br-0 md:rounded-br-lg",
20999
21380
  loading: "lazy",
21000
21381
  optixFlowConfig
21001
21382
  }
@@ -21003,19 +21384,111 @@ function FeatureNumberedCards({
21003
21384
  }
21004
21385
  return null;
21005
21386
  };
21006
- return /* @__PURE__ */ jsxs("div", { className: cn("grid rounded-lg border md:grid-cols-2", cardClassName, feature.className), children: [
21007
- /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col px-6 py-8 lg:px-8 lg:py-12 xl:px-12 xl:py-20", feature.contentClassName), children: [
21008
- feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("mb-3 text-2xl font-medium sm:mb-5 md:text-3xl lg:text-4xl", titleClassName), children: feature.title }) : /* @__PURE__ */ jsx("div", { className: cn("mb-3 text-2xl font-medium sm:mb-5 md:text-3xl lg:text-4xl", titleClassName), children: feature.title })),
21009
- feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsx("div", { className: cn("mb-8 text-sm text-muted-foreground sm:mb-10 md:text-base", descriptionClassName), children: feature.description }) : /* @__PURE__ */ jsx("div", { className: cn("mb-8 text-sm text-muted-foreground sm:mb-10 md:text-base", descriptionClassName), children: feature.description })),
21010
- feature.checklistItems && feature.checklistItems.length > 0 || feature.checklistSlot ? /* @__PURE__ */ jsx("ul", { className: cn("mt-auto space-y-2 sm:space-y-3", checklistClassName), children: renderChecklistItems(feature) }) : null
21011
- ] }),
21012
- /* @__PURE__ */ jsxs("div", { className: cn("relative order-first max-h-80 md:order-last md:max-h-[500px]", feature.imageWrapperClassName), children: [
21013
- renderImage(),
21014
- /* @__PURE__ */ jsx("span", { className: cn("absolute top-5 left-5 flex size-6 items-center justify-center rounded-sm bg-primary font-mono text-xs text-primary-foreground md:top-10 md:left-10", badgeClassName), children: String(index + 1).padStart(2, "0") })
21015
- ] })
21016
- ] }, index);
21387
+ return /* @__PURE__ */ jsxs(
21388
+ "div",
21389
+ {
21390
+ className: cn(
21391
+ "grid rounded-lg border md:grid-cols-2",
21392
+ cardClassName,
21393
+ feature.className
21394
+ ),
21395
+ children: [
21396
+ /* @__PURE__ */ jsxs(
21397
+ "div",
21398
+ {
21399
+ className: cn(
21400
+ "flex flex-col px-6 py-8 lg:px-8 lg:py-12 xl:px-12 xl:py-20",
21401
+ feature.contentClassName
21402
+ ),
21403
+ children: [
21404
+ feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsx(
21405
+ "h3",
21406
+ {
21407
+ className: cn(
21408
+ "mb-3 text-2xl font-medium sm:mb-5 md:text-3xl lg:text-4xl",
21409
+ titleClassName
21410
+ ),
21411
+ children: feature.title
21412
+ }
21413
+ ) : /* @__PURE__ */ jsx(
21414
+ "div",
21415
+ {
21416
+ className: cn(
21417
+ "mb-3 text-2xl font-medium sm:mb-5 md:text-3xl lg:text-4xl",
21418
+ titleClassName
21419
+ ),
21420
+ children: feature.title
21421
+ }
21422
+ )),
21423
+ feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsx(
21424
+ "div",
21425
+ {
21426
+ className: cn(
21427
+ "mb-8 text-sm sm:mb-10 md:text-base",
21428
+ descriptionClassName
21429
+ ),
21430
+ children: feature.description
21431
+ }
21432
+ ) : /* @__PURE__ */ jsx(
21433
+ "div",
21434
+ {
21435
+ className: cn(
21436
+ "mb-8 text-sm sm:mb-10 md:text-base",
21437
+ descriptionClassName
21438
+ ),
21439
+ children: feature.description
21440
+ }
21441
+ )),
21442
+ feature.checklistItems && feature.checklistItems.length > 0 || feature.checklistSlot ? /* @__PURE__ */ jsx(
21443
+ "ul",
21444
+ {
21445
+ className: cn(
21446
+ "mt-auto space-y-2 sm:space-y-3",
21447
+ checklistClassName
21448
+ ),
21449
+ children: renderChecklistItems(feature)
21450
+ }
21451
+ ) : null
21452
+ ]
21453
+ }
21454
+ ),
21455
+ /* @__PURE__ */ jsxs(
21456
+ "div",
21457
+ {
21458
+ className: cn(
21459
+ "relative order-first max-h-80 md:order-last md:max-h-[500px]",
21460
+ feature.imageWrapperClassName
21461
+ ),
21462
+ children: [
21463
+ renderImage(),
21464
+ /* @__PURE__ */ jsx(
21465
+ "span",
21466
+ {
21467
+ className: cn(
21468
+ "absolute top-5 left-5 flex size-6 items-center justify-center rounded-sm bg-primary font-mono text-xs text-primary-foreground md:top-10 md:left-10",
21469
+ badgeClassName
21470
+ ),
21471
+ children: String(index + 1).padStart(2, "0")
21472
+ }
21473
+ )
21474
+ ]
21475
+ }
21476
+ )
21477
+ ]
21478
+ },
21479
+ index
21480
+ );
21017
21481
  });
21018
- }, [featuresSlot, features, cardClassName, titleClassName, descriptionClassName, checklistClassName, badgeClassName, optixFlowConfig]);
21482
+ }, [
21483
+ featuresSlot,
21484
+ features,
21485
+ cardClassName,
21486
+ titleClassName,
21487
+ descriptionClassName,
21488
+ checklistClassName,
21489
+ badgeClassName,
21490
+ optixFlowConfig
21491
+ ]);
21019
21492
  return /* @__PURE__ */ jsx(
21020
21493
  Section,
21021
21494
  {
@@ -21026,7 +21499,16 @@ function FeatureNumberedCards({
21026
21499
  patternClassName,
21027
21500
  className,
21028
21501
  containerClassName,
21029
- children: /* @__PURE__ */ jsx("div", { className: cn("space-y-10 rounded-lg border py-10 md:px-4", cardsWrapperClassName), children: featuresContent })
21502
+ children: /* @__PURE__ */ jsx(
21503
+ "div",
21504
+ {
21505
+ className: cn(
21506
+ "space-y-4 md:space-y-10 rounded-lg border-none md:border md:bg-background p-0 md:p-10",
21507
+ cardsWrapperClassName
21508
+ ),
21509
+ children: featuresContent
21510
+ }
21511
+ )
21030
21512
  }
21031
21513
  );
21032
21514
  }
@@ -21059,12 +21541,21 @@ function FeatureIconGridAccent({
21059
21541
  "div",
21060
21542
  {
21061
21543
  className: cn(
21062
- "flex flex-col justify-between rounded-lg bg-accent p-6 md:min-h-[300px] md:p-8",
21544
+ "flex flex-col justify-between rounded-lg p-6 md:min-h-[300px] md:p-8",
21063
21545
  cardClassName,
21064
21546
  feature.className
21065
21547
  ),
21066
21548
  children: [
21067
- iconElement && /* @__PURE__ */ jsx("span", { className: cn("mb-6 flex size-11 items-center justify-center rounded-full bg-background", feature.iconClassName), children: iconElement }),
21549
+ iconElement && /* @__PURE__ */ jsx(
21550
+ "span",
21551
+ {
21552
+ className: cn(
21553
+ "mb-6 flex size-11 items-center justify-center rounded-full",
21554
+ feature.iconClassName
21555
+ ),
21556
+ children: iconElement
21557
+ }
21558
+ ),
21068
21559
  /* @__PURE__ */ jsxs("div", { children: [
21069
21560
  feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-lg font-medium md:text-2xl", children: feature.title }) : /* @__PURE__ */ jsx("div", { className: "text-lg font-medium md:text-2xl", children: feature.title })),
21070
21561
  feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsx("p", { className: "mt-2 text-muted-foreground", children: feature.description }) : /* @__PURE__ */ jsx("div", { className: "mt-2 text-muted-foreground", children: feature.description }))
@@ -21086,12 +21577,45 @@ function FeatureIconGridAccent({
21086
21577
  className,
21087
21578
  containerClassName,
21088
21579
  children: [
21089
- (label || title || description) && /* @__PURE__ */ jsx("div", { className: cn("flex w-full flex-col items-center", headerClassName), children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center space-y-4 text-center sm:space-y-6 md:max-w-3xl md:text-center", children: [
21090
- label && (typeof label === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm text-muted-foreground", labelClassName), children: label }) : /* @__PURE__ */ jsx("div", { className: labelClassName, children: label })),
21091
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-medium md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
21092
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground md:max-w-2xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
21093
- ] }) }),
21094
- featuresContent && /* @__PURE__ */ jsx("div", { className: cn("mx-auto mt-20 grid max-w-5xl gap-6 md:grid-cols-2", gridClassName), children: featuresContent })
21580
+ (label || title || description) && /* @__PURE__ */ jsx(
21581
+ "div",
21582
+ {
21583
+ className: cn("flex w-full flex-col items-center", headerClassName),
21584
+ children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center space-y-4 text-center sm:space-y-6 md:max-w-3xl md:text-center", children: [
21585
+ label && (typeof label === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm", labelClassName), children: label }) : /* @__PURE__ */ jsx("div", { className: labelClassName, children: label })),
21586
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
21587
+ "h2",
21588
+ {
21589
+ className: cn(
21590
+ "text-3xl font-medium md:text-5xl text-balance",
21591
+ titleClassName
21592
+ ),
21593
+ children: title
21594
+ }
21595
+ ) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
21596
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
21597
+ "p",
21598
+ {
21599
+ className: cn(
21600
+ "md:max-w-2xl text-balance",
21601
+ descriptionClassName
21602
+ ),
21603
+ children: description
21604
+ }
21605
+ ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
21606
+ ] })
21607
+ }
21608
+ ),
21609
+ featuresContent && /* @__PURE__ */ jsx(
21610
+ "div",
21611
+ {
21612
+ className: cn(
21613
+ "mx-auto mt-20 grid max-w-5xl gap-6 md:grid-cols-2",
21614
+ gridClassName
21615
+ ),
21616
+ children: featuresContent
21617
+ }
21618
+ )
21095
21619
  ]
21096
21620
  }
21097
21621
  );
@@ -21108,24 +21632,56 @@ function FeatureThreeColumnValues({
21108
21632
  gridClassName,
21109
21633
  cardClassName,
21110
21634
  background,
21111
- spacing,
21635
+ spacing = "py-6 md:py-32",
21112
21636
  pattern,
21113
21637
  patternOpacity,
21114
21638
  patternClassName
21115
21639
  }) {
21116
- const renderValueIcon = React52.useCallback((value) => {
21117
- if (value.icon) return value.icon;
21118
- if (value.iconName) return /* @__PURE__ */ jsx(DynamicIcon, { name: value.iconName, size: 24 });
21119
- return null;
21120
- }, []);
21640
+ const renderValueIcon = React52.useCallback(
21641
+ (value) => {
21642
+ if (value.icon) return value.icon;
21643
+ if (value.iconName)
21644
+ return /* @__PURE__ */ jsx(DynamicIcon, { name: value.iconName, size: 24 });
21645
+ return null;
21646
+ },
21647
+ []
21648
+ );
21121
21649
  const valuesContent = useMemo$1(() => {
21122
21650
  if (valuesSlot) return valuesSlot;
21123
21651
  if (!values || values.length === 0) return null;
21124
- return values.map((value, index) => /* @__PURE__ */ jsxs("div", { className: cn("rounded-lg bg-accent p-5", cardClassName, value.className), children: [
21125
- (value.icon || value.iconName) && /* @__PURE__ */ jsx("span", { className: cn("mb-8 flex size-12 items-center justify-center rounded-full bg-background", value.iconClassName), children: renderValueIcon(value) }),
21126
- value.title && (typeof value.title === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("mb-2 text-xl font-medium", value.titleClassName), children: value.title }) : /* @__PURE__ */ jsx("div", { className: cn("mb-2 text-xl font-medium", value.titleClassName), children: value.title })),
21127
- value.description && (typeof value.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("leading-7 text-muted-foreground", value.descriptionClassName), children: value.description }) : /* @__PURE__ */ jsx("div", { className: cn("leading-7 text-muted-foreground", value.descriptionClassName), children: value.description }))
21128
- ] }, index));
21652
+ return values.map((value, index) => /* @__PURE__ */ jsxs(
21653
+ "div",
21654
+ {
21655
+ className: cn("rounded-lg p-5", cardClassName, value.className),
21656
+ children: [
21657
+ (value.icon || value.iconName) && /* @__PURE__ */ jsx(
21658
+ "span",
21659
+ {
21660
+ className: cn(
21661
+ "mb-8 flex size-12 items-center justify-center rounded-full ",
21662
+ value.iconClassName
21663
+ ),
21664
+ children: renderValueIcon(value)
21665
+ }
21666
+ ),
21667
+ value.title && (typeof value.title === "string" ? /* @__PURE__ */ jsx(
21668
+ "h3",
21669
+ {
21670
+ className: cn("mb-2 text-xl font-medium", value.titleClassName),
21671
+ children: value.title
21672
+ }
21673
+ ) : /* @__PURE__ */ jsx(
21674
+ "div",
21675
+ {
21676
+ className: cn("mb-2 text-xl font-medium", value.titleClassName),
21677
+ children: value.title
21678
+ }
21679
+ )),
21680
+ value.description && (typeof value.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("leading-7 ", value.descriptionClassName), children: value.description }) : /* @__PURE__ */ jsx("div", { className: cn("leading-7", value.descriptionClassName), children: value.description }))
21681
+ ]
21682
+ },
21683
+ index
21684
+ ));
21129
21685
  }, [valuesSlot, values, cardClassName, renderValueIcon]);
21130
21686
  return /* @__PURE__ */ jsxs(
21131
21687
  Section,
@@ -21138,9 +21694,30 @@ function FeatureThreeColumnValues({
21138
21694
  className,
21139
21695
  containerClassName,
21140
21696
  children: [
21141
- label && (typeof label === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-4 text-sm text-muted-foreground lg:text-base", labelClassName), children: label }) : /* @__PURE__ */ jsx("div", { className: cn("mb-4 text-sm text-muted-foreground lg:text-base", labelClassName), children: label })),
21142
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-medium lg:text-4xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-3xl font-medium lg:text-4xl", titleClassName), children: title })),
21143
- (valuesSlot || values && values.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mt-14 grid gap-6 lg:mt-20 lg:grid-cols-3", gridClassName), children: valuesContent })
21697
+ label && (typeof label === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-4 text-sm lg:text-base", labelClassName), children: label }) : /* @__PURE__ */ jsx("div", { className: cn("mb-4 text-sm lg:text-base", labelClassName), children: label })),
21698
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
21699
+ "h2",
21700
+ {
21701
+ className: cn("text-3xl font-medium lg:text-4xl", titleClassName),
21702
+ children: title
21703
+ }
21704
+ ) : /* @__PURE__ */ jsx(
21705
+ "div",
21706
+ {
21707
+ className: cn("text-3xl font-medium lg:text-4xl", titleClassName),
21708
+ children: title
21709
+ }
21710
+ )),
21711
+ (valuesSlot || values && values.length > 0) && /* @__PURE__ */ jsx(
21712
+ "div",
21713
+ {
21714
+ className: cn(
21715
+ "mt-14 grid gap-6 lg:mt-20 lg:grid-cols-3",
21716
+ gridClassName
21717
+ ),
21718
+ children: valuesContent
21719
+ }
21720
+ )
21144
21721
  ]
21145
21722
  }
21146
21723
  );
@@ -21196,7 +21773,7 @@ function FeatureBadgeGridSix({
21196
21773
  {
21197
21774
  className: cn("flex gap-6 space-y-4 rounded-lg md:block", cardClassName, feature.className),
21198
21775
  children: [
21199
- iconContent && /* @__PURE__ */ jsx("span", { className: "flex size-10 shrink-0 items-center justify-center rounded-full bg-accent md:size-12", children: iconContent }),
21776
+ iconContent && /* @__PURE__ */ jsx("span", { className: "flex size-10 shrink-0 items-center justify-center rounded-full bg-primary text-primary-foreground md:size-12", children: iconContent }),
21200
21777
  /* @__PURE__ */ jsxs("div", { children: [
21201
21778
  feature.heading && (typeof feature.heading === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("font-medium md:mb-2 md:text-xl", feature.headingClassName), children: feature.heading }) : /* @__PURE__ */ jsx("div", { className: cn("font-medium md:mb-2 md:text-xl", feature.headingClassName), children: feature.heading })),
21202
21779
  feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm text-muted-foreground md:text-base", feature.descriptionClassName), children: feature.description }) : /* @__PURE__ */ jsx("div", { className: cn("text-sm text-muted-foreground md:text-base", feature.descriptionClassName), children: feature.description }))
@@ -21409,31 +21986,57 @@ function FeatureTabbedContentImage({
21409
21986
  contentGridClassName,
21410
21987
  optixFlowConfig,
21411
21988
  background,
21412
- spacing,
21989
+ spacing = "py-6 md:py-32",
21413
21990
  pattern,
21414
21991
  patternOpacity,
21415
21992
  patternClassName
21416
21993
  }) {
21417
- const renderFeatures = React52.useCallback((slide) => {
21418
- if (slide.featuresSlot) return slide.featuresSlot;
21419
- if (!slide.features || slide.features.length === 0) return null;
21420
- return slide.features.map((feature, index) => {
21421
- const isString = typeof feature === "string";
21422
- const content = isString ? feature : feature.content;
21423
- const iconElement = isString ? /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/check-circle-2", size: 16 }) : feature.icon ?? (feature.iconName ? /* @__PURE__ */ jsx(DynamicIcon, { name: feature.iconName, size: 16 }) : /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/check-circle-2", size: 16 }));
21424
- const itemClassName = isString ? void 0 : feature.className;
21425
- return /* @__PURE__ */ jsxs("li", { className: cn("flex items-center gap-2", itemClassName), children: [
21426
- iconElement,
21427
- /* @__PURE__ */ jsx("span", { className: "font-medium", children: content })
21428
- ] }, index);
21429
- });
21430
- }, []);
21431
- const renderActions = React52.useCallback((slide) => {
21432
- if (slide.actionsSlot) return slide.actionsSlot;
21433
- if (!slide.actions || slide.actions.length === 0) return null;
21434
- return slide.actions.map((action, index) => {
21435
- if (action.children) {
21436
- return /* @__PURE__ */ jsx(
21994
+ const renderFeatures = React52.useCallback(
21995
+ (slide) => {
21996
+ if (slide.featuresSlot) return slide.featuresSlot;
21997
+ if (!slide.features || slide.features.length === 0) return null;
21998
+ return slide.features.map((feature, index) => {
21999
+ const isString = typeof feature === "string";
22000
+ const content = isString ? feature : feature.content;
22001
+ const iconElement = isString ? /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/check-circle-2", size: 16 }) : feature.icon ?? (feature.iconName ? /* @__PURE__ */ jsx(DynamicIcon, { name: feature.iconName, size: 16 }) : /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/check-circle-2", size: 16 }));
22002
+ const itemClassName = isString ? void 0 : feature.className;
22003
+ return /* @__PURE__ */ jsxs(
22004
+ "li",
22005
+ {
22006
+ className: cn("flex items-center gap-2", itemClassName),
22007
+ children: [
22008
+ iconElement,
22009
+ /* @__PURE__ */ jsx("span", { className: "font-medium", children: content })
22010
+ ]
22011
+ },
22012
+ index
22013
+ );
22014
+ });
22015
+ },
22016
+ []
22017
+ );
22018
+ const renderActions = React52.useCallback(
22019
+ (slide) => {
22020
+ if (slide.actionsSlot) return slide.actionsSlot;
22021
+ if (!slide.actions || slide.actions.length === 0) return null;
22022
+ return slide.actions.map((action, index) => {
22023
+ if (action.children) {
22024
+ return /* @__PURE__ */ jsx(
22025
+ Pressable,
22026
+ {
22027
+ href: action.href,
22028
+ onClick: action.onClick,
22029
+ variant: action.variant,
22030
+ size: action.size,
22031
+ className: cn("mt-8", action.className),
22032
+ "aria-label": action["aria-label"],
22033
+ asButton: true,
22034
+ children: action.children
22035
+ },
22036
+ index
22037
+ );
22038
+ }
22039
+ return /* @__PURE__ */ jsxs(
21437
22040
  Pressable,
21438
22041
  {
21439
22042
  href: action.href,
@@ -21443,46 +22046,39 @@ function FeatureTabbedContentImage({
21443
22046
  className: cn("mt-8", action.className),
21444
22047
  "aria-label": action["aria-label"],
21445
22048
  asButton: true,
21446
- children: action.children
22049
+ children: [
22050
+ action.icon,
22051
+ action.label,
22052
+ action.iconAfter
22053
+ ]
21447
22054
  },
21448
22055
  index
21449
22056
  );
21450
- }
21451
- return /* @__PURE__ */ jsxs(
21452
- Pressable,
22057
+ });
22058
+ },
22059
+ []
22060
+ );
22061
+ const renderImage = React52.useCallback(
22062
+ (slide) => {
22063
+ if (slide.imageSlot) return slide.imageSlot;
22064
+ if (!slide.image) return null;
22065
+ const imageAlt = slide.imageAlt || (typeof slide.title === "string" ? slide.title : "Tab content image");
22066
+ return /* @__PURE__ */ jsx(
22067
+ Img,
21453
22068
  {
21454
- href: action.href,
21455
- onClick: action.onClick,
21456
- variant: action.variant,
21457
- size: action.size,
21458
- className: cn("mt-8", action.className),
21459
- "aria-label": action["aria-label"],
21460
- asButton: true,
21461
- children: [
21462
- action.icon,
21463
- action.label,
21464
- action.iconAfter
21465
- ]
21466
- },
21467
- index
22069
+ src: slide.image,
22070
+ alt: imageAlt,
22071
+ className: cn(
22072
+ "order-first max-h-[400px] w-full rounded-lg object-cover md:order-last",
22073
+ slide.imageClassName
22074
+ ),
22075
+ loading: "lazy",
22076
+ optixFlowConfig
22077
+ }
21468
22078
  );
21469
- });
21470
- }, []);
21471
- const renderImage = React52.useCallback((slide) => {
21472
- if (slide.imageSlot) return slide.imageSlot;
21473
- if (!slide.image) return null;
21474
- const imageAlt = slide.imageAlt || (typeof slide.title === "string" ? slide.title : "Tab content image");
21475
- return /* @__PURE__ */ jsx(
21476
- Img,
21477
- {
21478
- src: slide.image,
21479
- alt: imageAlt,
21480
- className: cn("order-first max-h-[400px] w-full rounded-lg object-cover md:order-last", slide.imageClassName),
21481
- loading: "lazy",
21482
- optixFlowConfig
21483
- }
21484
- );
21485
- }, [optixFlowConfig]);
22079
+ },
22080
+ [optixFlowConfig]
22081
+ );
21486
22082
  const slidesContent = useMemo$1(() => {
21487
22083
  if (slidesSlot) return slidesSlot;
21488
22084
  if (!slides || slides.length === 0) return null;
@@ -21491,7 +22087,7 @@ function FeatureTabbedContentImage({
21491
22087
  TabsTrigger,
21492
22088
  {
21493
22089
  value: slide.id.toString(),
21494
- className: cn("text-sm hover:bg-background md:text-base", tabTriggerClassName),
22090
+ className: cn("text-sm md:text-base", tabTriggerClassName),
21495
22091
  children: slide.tabName
21496
22092
  },
21497
22093
  slide.id
@@ -21501,20 +22097,79 @@ function FeatureTabbedContentImage({
21501
22097
  {
21502
22098
  value: slide.id.toString(),
21503
22099
  className: cn("max-w-5xl", tabContentClassName),
21504
- children: /* @__PURE__ */ jsxs("div", { className: cn("grid grid-cols-1 items-center gap-10 md:grid-cols-2", contentGridClassName, slide.className), children: [
21505
- /* @__PURE__ */ jsxs("div", { children: [
21506
- slide.title && (typeof slide.title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("mb-4 text-2xl font-semibold lg:text-4xl", slide.titleClassName), children: slide.title }) : /* @__PURE__ */ jsx("div", { className: cn("mb-4 text-2xl font-semibold lg:text-4xl", slide.titleClassName), children: slide.title })),
21507
- slide.description && (typeof slide.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground lg:text-xl", slide.descriptionClassName), children: slide.description }) : /* @__PURE__ */ jsx("div", { className: cn("text-muted-foreground lg:text-xl", slide.descriptionClassName), children: slide.description })),
21508
- slide.features && slide.features.length > 0 || slide.featuresSlot ? /* @__PURE__ */ jsx("ul", { className: cn("mt-8 grid grid-cols-1 gap-2 lg:grid-cols-2", slide.featuresClassName), children: renderFeatures(slide) }) : null,
21509
- renderActions(slide)
21510
- ] }),
21511
- renderImage(slide)
21512
- ] })
22100
+ children: /* @__PURE__ */ jsxs(
22101
+ "div",
22102
+ {
22103
+ className: cn(
22104
+ "grid grid-cols-1 items-center gap-10 md:grid-cols-2",
22105
+ contentGridClassName,
22106
+ slide.className
22107
+ ),
22108
+ children: [
22109
+ /* @__PURE__ */ jsxs("div", { children: [
22110
+ slide.title && (typeof slide.title === "string" ? /* @__PURE__ */ jsx(
22111
+ "h2",
22112
+ {
22113
+ className: cn(
22114
+ "mb-4 text-2xl font-semibold lg:text-4xl",
22115
+ slide.titleClassName
22116
+ ),
22117
+ children: slide.title
22118
+ }
22119
+ ) : /* @__PURE__ */ jsx(
22120
+ "div",
22121
+ {
22122
+ className: cn(
22123
+ "mb-4 text-2xl font-semibold lg:text-4xl",
22124
+ slide.titleClassName
22125
+ ),
22126
+ children: slide.title
22127
+ }
22128
+ )),
22129
+ slide.description && (typeof slide.description === "string" ? /* @__PURE__ */ jsx(
22130
+ "p",
22131
+ {
22132
+ className: cn(" lg:text-xl", slide.descriptionClassName),
22133
+ children: slide.description
22134
+ }
22135
+ ) : /* @__PURE__ */ jsx(
22136
+ "div",
22137
+ {
22138
+ className: cn("lg:text-xl", slide.descriptionClassName),
22139
+ children: slide.description
22140
+ }
22141
+ )),
22142
+ slide.features && slide.features.length > 0 || slide.featuresSlot ? /* @__PURE__ */ jsx(
22143
+ "ul",
22144
+ {
22145
+ className: cn(
22146
+ "mt-8 grid grid-cols-1 gap-2 lg:grid-cols-2",
22147
+ slide.featuresClassName
22148
+ ),
22149
+ children: renderFeatures(slide)
22150
+ }
22151
+ ) : null,
22152
+ renderActions(slide)
22153
+ ] }),
22154
+ renderImage(slide)
22155
+ ]
22156
+ }
22157
+ )
21513
22158
  },
21514
22159
  slide.id
21515
22160
  ))
21516
22161
  ] });
21517
- }, [slidesSlot, slides, tabsListClassName, tabTriggerClassName, tabContentClassName, contentGridClassName, renderFeatures, renderActions, renderImage]);
22162
+ }, [
22163
+ slidesSlot,
22164
+ slides,
22165
+ tabsListClassName,
22166
+ tabTriggerClassName,
22167
+ tabContentClassName,
22168
+ contentGridClassName,
22169
+ renderFeatures,
22170
+ renderActions,
22171
+ renderImage
22172
+ ]);
21518
22173
  const effectiveDefaultTab = useMemo$1(() => {
21519
22174
  if (defaultTab) return defaultTab;
21520
22175
  if (slides && slides.length > 0) return slides[0].id.toString();
@@ -21531,15 +22186,63 @@ function FeatureTabbedContentImage({
21531
22186
  className,
21532
22187
  containerClassName,
21533
22188
  children: [
21534
- /* @__PURE__ */ jsxs("div", { className: cn("mx-auto flex max-w-3xl flex-col items-center gap-6", headerClassName), children: [
21535
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-center text-3xl font-semibold lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-center text-3xl font-semibold lg:text-5xl", titleClassName), children: title })),
21536
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-center text-balance text-muted-foreground lg:text-xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("text-center text-balance text-muted-foreground lg:text-xl", descriptionClassName), children: description }))
21537
- ] }),
22189
+ /* @__PURE__ */ jsxs(
22190
+ "div",
22191
+ {
22192
+ className: cn(
22193
+ "mx-auto flex max-w-3xl flex-col items-center gap-6",
22194
+ headerClassName
22195
+ ),
22196
+ children: [
22197
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
22198
+ "h2",
22199
+ {
22200
+ className: cn(
22201
+ "text-center text-3xl font-semibold lg:text-5xl",
22202
+ titleClassName
22203
+ ),
22204
+ children: title
22205
+ }
22206
+ ) : /* @__PURE__ */ jsx(
22207
+ "div",
22208
+ {
22209
+ className: cn(
22210
+ "text-center text-3xl font-semibold lg:text-5xl",
22211
+ titleClassName
22212
+ ),
22213
+ children: title
22214
+ }
22215
+ )),
22216
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
22217
+ "p",
22218
+ {
22219
+ className: cn(
22220
+ "text-center text-balance lg:text-xl",
22221
+ descriptionClassName
22222
+ ),
22223
+ children: description
22224
+ }
22225
+ ) : /* @__PURE__ */ jsx(
22226
+ "div",
22227
+ {
22228
+ className: cn(
22229
+ "text-center text-balance lg:text-xl",
22230
+ descriptionClassName
22231
+ ),
22232
+ children: description
22233
+ }
22234
+ ))
22235
+ ]
22236
+ }
22237
+ ),
21538
22238
  (slidesSlot || slides && slides.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mt-12", tabsWrapperClassName), children: /* @__PURE__ */ jsx(
21539
22239
  Tabs,
21540
22240
  {
21541
22241
  defaultValue: effectiveDefaultTab,
21542
- className: cn("mx-auto flex w-fit flex-col items-center gap-8 md:gap-12", tabsClassName),
22242
+ className: cn(
22243
+ "mx-auto flex w-fit flex-col items-center gap-8 md:gap-12",
22244
+ tabsClassName
22245
+ ),
21543
22246
  children: slidesContent
21544
22247
  }
21545
22248
  ) })
@@ -21567,14 +22270,15 @@ function FeatureUtilityCardsGrid({
21567
22270
  cardClassName,
21568
22271
  optixFlowConfig,
21569
22272
  background,
21570
- spacing,
22273
+ spacing = "py-6 md:py-32",
21571
22274
  pattern,
21572
22275
  patternOpacity,
21573
22276
  patternClassName
21574
22277
  }) {
21575
22278
  const renderLabelIcon = useMemo$1(() => {
21576
22279
  if (labelIcon) return labelIcon;
21577
- if (labelIconName) return /* @__PURE__ */ jsx(DynamicIcon, { name: labelIconName, size: 20, className: "text-primary" });
22280
+ if (labelIconName)
22281
+ return /* @__PURE__ */ jsx(DynamicIcon, { name: labelIconName, size: 20, className: "text-primary" });
21578
22282
  return null;
21579
22283
  }, [labelIcon, labelIconName]);
21580
22284
  const learnMoreContent = useMemo$1(() => {
@@ -21586,7 +22290,10 @@ function FeatureUtilityCardsGrid({
21586
22290
  {
21587
22291
  href: learnMoreAction.href,
21588
22292
  onClick: learnMoreAction.onClick,
21589
- className: cn("hover:text-primary hover:underline", learnMoreAction.className),
22293
+ className: cn(
22294
+ "hover:text-primary hover:underline",
22295
+ learnMoreAction.className
22296
+ ),
21590
22297
  "aria-label": learnMoreAction["aria-label"],
21591
22298
  children: learnMoreAction.children
21592
22299
  }
@@ -21597,7 +22304,7 @@ function FeatureUtilityCardsGrid({
21597
22304
  {
21598
22305
  href: learnMoreAction.href,
21599
22306
  onClick: learnMoreAction.onClick,
21600
- className: cn("hover:text-primary hover:underline", learnMoreAction.className),
22307
+ className: cn(learnMoreAction.className),
21601
22308
  "aria-label": learnMoreAction["aria-label"],
21602
22309
  children: [
21603
22310
  learnMoreAction.icon,
@@ -21607,32 +22314,45 @@ function FeatureUtilityCardsGrid({
21607
22314
  }
21608
22315
  );
21609
22316
  }, [learnMoreSlot, learnMoreAction]);
21610
- const renderUtilityImage = React52.useCallback((utility) => {
21611
- if (utility.imageSlot) return utility.imageSlot;
21612
- if (utility.image) {
21613
- return /* @__PURE__ */ jsx(
21614
- Img,
21615
- {
21616
- src: utility.image,
21617
- alt: utility.imageAlt || (typeof utility.title === "string" ? utility.title : "Utility image"),
21618
- className: cn("aspect-video w-full object-cover", utility.imageClassName),
21619
- loading: "lazy",
21620
- optixFlowConfig
21621
- }
21622
- );
21623
- }
21624
- return null;
21625
- }, [optixFlowConfig]);
22317
+ const renderUtilityImage = React52.useCallback(
22318
+ (utility) => {
22319
+ if (utility.imageSlot) return utility.imageSlot;
22320
+ if (utility.image) {
22321
+ return /* @__PURE__ */ jsx(
22322
+ Img,
22323
+ {
22324
+ src: utility.image,
22325
+ alt: utility.imageAlt || (typeof utility.title === "string" ? utility.title : "Utility image"),
22326
+ className: cn(
22327
+ "aspect-video w-full object-cover",
22328
+ utility.imageClassName
22329
+ ),
22330
+ loading: "lazy",
22331
+ optixFlowConfig
22332
+ }
22333
+ );
22334
+ }
22335
+ return null;
22336
+ },
22337
+ [optixFlowConfig]
22338
+ );
21626
22339
  const utilitiesContent = useMemo$1(() => {
21627
22340
  if (utilitiesSlot) return utilitiesSlot;
21628
22341
  if (!utilities || utilities.length === 0) return null;
21629
- return utilities.map((utility, index) => /* @__PURE__ */ jsxs(Card, { className: cn("overflow-hidden pt-0", cardClassName, utility.className), children: [
21630
- renderUtilityImage(utility),
21631
- /* @__PURE__ */ jsxs("div", { className: "p-5", children: [
21632
- utility.title && (typeof utility.title === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-1 font-medium", utility.titleClassName), children: utility.title }) : /* @__PURE__ */ jsx("div", { className: cn("mb-1 font-medium", utility.titleClassName), children: utility.title })),
21633
- utility.description && (typeof utility.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground", utility.descriptionClassName), children: utility.description }) : /* @__PURE__ */ jsx("div", { className: cn("text-muted-foreground", utility.descriptionClassName), children: utility.description }))
21634
- ] })
21635
- ] }, index));
22342
+ return utilities.map((utility, index) => /* @__PURE__ */ jsxs(
22343
+ Card,
22344
+ {
22345
+ className: cn("overflow-hidden pt-0", cardClassName, utility.className),
22346
+ children: [
22347
+ renderUtilityImage(utility),
22348
+ /* @__PURE__ */ jsxs("div", { className: "p-5", children: [
22349
+ utility.title && (typeof utility.title === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-1 font-medium", utility.titleClassName), children: utility.title }) : /* @__PURE__ */ jsx("div", { className: cn("mb-1 font-medium", utility.titleClassName), children: utility.title })),
22350
+ utility.description && (typeof utility.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("", utility.descriptionClassName), children: utility.description }) : /* @__PURE__ */ jsx("div", { className: cn("", utility.descriptionClassName), children: utility.description }))
22351
+ ] })
22352
+ ]
22353
+ },
22354
+ index
22355
+ ));
21636
22356
  }, [utilitiesSlot, utilities, cardClassName, renderUtilityImage]);
21637
22357
  return /* @__PURE__ */ jsxs(
21638
22358
  Section,
@@ -21646,20 +22366,50 @@ function FeatureUtilityCardsGrid({
21646
22366
  containerClassName: cn("max-w-7xl", containerClassName),
21647
22367
  children: [
21648
22368
  (label || labelIcon || labelIconName || learnMoreSlot || learnMoreAction) && /* @__PURE__ */ jsxs(Fragment$1, { children: [
21649
- /* @__PURE__ */ jsxs("div", { className: cn("flex items-center justify-between text-sm", headerClassName), children: [
21650
- (label || labelIcon || labelIconName) && /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-1 text-muted-foreground", labelClassName), children: [
21651
- renderLabelIcon,
21652
- label && (typeof label === "string" ? /* @__PURE__ */ jsx("p", { children: label }) : /* @__PURE__ */ jsx("div", { children: label }))
21653
- ] }),
21654
- learnMoreContent
21655
- ] }),
22369
+ /* @__PURE__ */ jsxs(
22370
+ "div",
22371
+ {
22372
+ className: cn(
22373
+ "flex items-center justify-between text-sm",
22374
+ headerClassName
22375
+ ),
22376
+ children: [
22377
+ (label || labelIcon || labelIconName) && /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-1 ", labelClassName), children: [
22378
+ renderLabelIcon,
22379
+ label && (typeof label === "string" ? /* @__PURE__ */ jsx("p", { children: label }) : /* @__PURE__ */ jsx("div", { children: label }))
22380
+ ] }),
22381
+ learnMoreContent
22382
+ ]
22383
+ }
22384
+ ),
21656
22385
  /* @__PURE__ */ jsx(Separator, { className: "mt-3 mb-8" })
21657
22386
  ] }),
21658
22387
  (title || description) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-between gap-6 md:flex-row", children: [
21659
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-medium md:w-1/2", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-3xl font-medium md:w-1/2", titleClassName), children: title })),
22388
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
22389
+ "h2",
22390
+ {
22391
+ className: cn("text-3xl font-medium md:w-1/2", titleClassName),
22392
+ children: title
22393
+ }
22394
+ ) : /* @__PURE__ */ jsx(
22395
+ "div",
22396
+ {
22397
+ className: cn("text-3xl font-medium md:w-1/2", titleClassName),
22398
+ children: title
22399
+ }
22400
+ )),
21660
22401
  description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("md:w-1/2", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("md:w-1/2", descriptionClassName), children: description }))
21661
22402
  ] }),
21662
- (utilitiesSlot || utilities && utilities.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mt-11 grid w-full grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3", gridClassName), children: utilitiesContent })
22403
+ (utilitiesSlot || utilities && utilities.length > 0) && /* @__PURE__ */ jsx(
22404
+ "div",
22405
+ {
22406
+ className: cn(
22407
+ "mt-11 grid w-full grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",
22408
+ gridClassName
22409
+ ),
22410
+ children: utilitiesContent
22411
+ }
22412
+ )
21663
22413
  ]
21664
22414
  }
21665
22415
  );
@@ -21852,7 +22602,7 @@ function FeatureChecklistThreeColumn({
21852
22602
  Badge,
21853
22603
  {
21854
22604
  variant: "outline",
21855
- className: cn("absolute top-5 left-5 bg-primary-foreground", card.badgeClassName),
22605
+ className: cn("absolute top-5 left-5 bg-background", card.badgeClassName),
21856
22606
  children: card.badge
21857
22607
  }
21858
22608
  )
@@ -22020,7 +22770,7 @@ function FeatureIconTabsContent({
22020
22770
  tabContentClassName,
22021
22771
  optixFlowConfig,
22022
22772
  background,
22023
- spacing,
22773
+ spacing = "py-6 md:py-32",
22024
22774
  pattern,
22025
22775
  patternOpacity,
22026
22776
  patternClassName
@@ -22030,12 +22780,28 @@ function FeatureIconTabsContent({
22030
22780
  if (tab.iconName) return /* @__PURE__ */ jsx(DynamicIcon, { name: tab.iconName, size: 16 });
22031
22781
  return null;
22032
22782
  }, []);
22033
- const renderTabContentActions = useCallback((content) => {
22034
- if (content.actionsSlot) return content.actionsSlot;
22035
- if (!content.actions || content.actions.length === 0) return null;
22036
- return content.actions.map((action, index) => {
22037
- if (action.children) {
22038
- return /* @__PURE__ */ jsx(
22783
+ const renderTabContentActions = useCallback(
22784
+ (content) => {
22785
+ if (content.actionsSlot) return content.actionsSlot;
22786
+ if (!content.actions || content.actions.length === 0) return null;
22787
+ return content.actions.map((action, index) => {
22788
+ if (action.children) {
22789
+ return /* @__PURE__ */ jsx(
22790
+ Pressable,
22791
+ {
22792
+ href: action.href,
22793
+ onClick: action.onClick,
22794
+ variant: action.variant,
22795
+ size: action.size,
22796
+ className: cn("mt-2.5 w-fit gap-2", action.className),
22797
+ "aria-label": action["aria-label"],
22798
+ asButton: true,
22799
+ children: action.children
22800
+ },
22801
+ index
22802
+ );
22803
+ }
22804
+ return /* @__PURE__ */ jsxs(
22039
22805
  Pressable,
22040
22806
  {
22041
22807
  href: action.href,
@@ -22045,90 +22811,174 @@ function FeatureIconTabsContent({
22045
22811
  className: cn("mt-2.5 w-fit gap-2", action.className),
22046
22812
  "aria-label": action["aria-label"],
22047
22813
  asButton: true,
22048
- children: action.children
22814
+ children: [
22815
+ action.icon,
22816
+ action.label,
22817
+ action.iconAfter
22818
+ ]
22049
22819
  },
22050
22820
  index
22051
22821
  );
22822
+ });
22823
+ },
22824
+ []
22825
+ );
22826
+ const renderTabContentImage = useCallback(
22827
+ (content) => {
22828
+ if (content.imageSlot) return content.imageSlot;
22829
+ if (content.imageSrc) {
22830
+ return /* @__PURE__ */ jsx(
22831
+ Img,
22832
+ {
22833
+ src: content.imageSrc,
22834
+ alt: content.imageAlt || "Tab content image",
22835
+ className: cn(
22836
+ "h-full w-full rounded-xl object-cover",
22837
+ content.imageClassName
22838
+ ),
22839
+ loading: "lazy",
22840
+ optixFlowConfig
22841
+ }
22842
+ );
22052
22843
  }
22053
- return /* @__PURE__ */ jsxs(
22054
- Pressable,
22055
- {
22056
- href: action.href,
22057
- onClick: action.onClick,
22058
- variant: action.variant,
22059
- size: action.size,
22060
- className: cn("mt-2.5 w-fit gap-2", action.className),
22061
- "aria-label": action["aria-label"],
22062
- asButton: true,
22063
- children: [
22064
- action.icon,
22065
- action.label,
22066
- action.iconAfter
22067
- ]
22068
- },
22069
- index
22070
- );
22071
- });
22072
- }, []);
22073
- const renderTabContentImage = useCallback((content) => {
22074
- if (content.imageSlot) return content.imageSlot;
22075
- if (content.imageSrc) {
22076
- return /* @__PURE__ */ jsx(
22077
- Img,
22078
- {
22079
- src: content.imageSrc,
22080
- alt: content.imageAlt || "Tab content image",
22081
- className: cn("h-full w-full rounded-xl object-cover", content.imageClassName),
22082
- loading: "lazy",
22083
- optixFlowConfig
22084
- }
22085
- );
22086
- }
22087
- return null;
22088
- }, [optixFlowConfig]);
22844
+ return null;
22845
+ },
22846
+ [optixFlowConfig]
22847
+ );
22089
22848
  const tabsContent = useMemo$1(() => {
22090
22849
  if (tabsSlot) return tabsSlot;
22091
22850
  if (!tabs || tabs.length === 0) return null;
22092
22851
  const activeDefaultTab = defaultTab || tabs[0]?.value;
22093
22852
  return /* @__PURE__ */ jsxs(Tabs, { defaultValue: activeDefaultTab, className: "mt-8", children: [
22094
- /* @__PURE__ */ jsx(TabsList, { className: cn("container flex flex-col items-center justify-center gap-4 bg-transparent sm:flex-row md:gap-10", tabsListClassName), children: tabs.map((tab) => /* @__PURE__ */ jsxs(
22095
- TabsTrigger,
22853
+ /* @__PURE__ */ jsx("div", { className: "container overflow-x-auto px-4 pb-2 md:px-6", children: /* @__PURE__ */ jsx(
22854
+ TabsList,
22096
22855
  {
22097
- value: tab.value,
22098
- className: cn("flex items-center gap-2 rounded-xl px-4 py-3 text-sm font-semibold text-muted-foreground data-[state=active]:bg-muted data-[state=active]:text-primary", tabTriggerClassName, tab.className),
22099
- children: [
22100
- (tab.icon || tab.iconName) && renderTabIcon(tab),
22101
- tab.label
22102
- ]
22103
- },
22104
- tab.value
22105
- )) }),
22106
- /* @__PURE__ */ jsx("div", { className: cn("mx-auto mt-8 max-w-7xl rounded-2xl bg-muted/70 p-6 lg:p-16", contentWrapperClassName), children: /* @__PURE__ */ jsx("div", { className: "relative", children: tabs.map((tab) => {
22107
- if (tab.contentSlot) {
22108
- return /* @__PURE__ */ jsx(TabsContent, { value: tab.value, className: tabContentClassName, children: tab.contentSlot }, tab.value);
22856
+ className: cn(
22857
+ "inline-flex w-auto min-w-full items-center justify-start gap-2 bg-transparent md:justify-center md:gap-4",
22858
+ tabsListClassName
22859
+ ),
22860
+ children: tabs.map((tab) => /* @__PURE__ */ jsxs(
22861
+ TabsTrigger,
22862
+ {
22863
+ value: tab.value,
22864
+ className: cn(
22865
+ "flex shrink-0 items-center gap-2 rounded-lg border border-border bg-background px-4 py-2.5 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground data-[state=active]:border-primary data-[state=active]:bg-primary data-[state=active]:text-primary-foreground",
22866
+ tabTriggerClassName,
22867
+ tab.className
22868
+ ),
22869
+ children: [
22870
+ (tab.icon || tab.iconName) && renderTabIcon(tab),
22871
+ tab.label
22872
+ ]
22873
+ },
22874
+ tab.value
22875
+ ))
22109
22876
  }
22110
- const content = tab.content;
22111
- if (!content) return null;
22112
- return /* @__PURE__ */ jsxs(
22113
- TabsContent,
22114
- {
22115
- value: tab.value,
22116
- className: cn("grid place-items-start gap-20 lg:grid-cols-2 lg:gap-10", tabContentClassName, content.className),
22117
- children: [
22118
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-5", children: [
22119
- content.badge && /* @__PURE__ */ jsx(Badge, { variant: "outline", className: cn("w-fit bg-background", content.badgeClassName), children: content.badge }),
22120
- content.title && (typeof content.title === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("text-3xl font-semibold lg:text-5xl", content.titleClassName), children: content.title }) : /* @__PURE__ */ jsx("div", { className: cn("text-3xl font-semibold lg:text-5xl", content.titleClassName), children: content.title })),
22121
- content.description && (typeof content.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground lg:text-lg", content.descriptionClassName), children: content.description }) : /* @__PURE__ */ jsx("div", { className: cn("text-muted-foreground lg:text-lg", content.descriptionClassName), children: content.description })),
22122
- (content.actionsSlot || content.actions && content.actions.length > 0) && renderTabContentActions(content)
22123
- ] }),
22124
- (content.imageSlot || content.imageSrc) && /* @__PURE__ */ jsx("div", { className: "relative h-[300px] w-full lg:h-[400px]", children: renderTabContentImage(content) })
22125
- ]
22126
- },
22127
- tab.value
22128
- );
22129
- }) }) })
22877
+ ) }),
22878
+ /* @__PURE__ */ jsx(
22879
+ "div",
22880
+ {
22881
+ className: cn(
22882
+ "mx-auto mt-8 max-w-7xl rounded-2xl bg-muted/70 p-6 lg:p-16",
22883
+ contentWrapperClassName
22884
+ ),
22885
+ children: /* @__PURE__ */ jsx("div", { className: "relative", children: tabs.map((tab) => {
22886
+ if (tab.contentSlot) {
22887
+ return /* @__PURE__ */ jsx(
22888
+ TabsContent,
22889
+ {
22890
+ value: tab.value,
22891
+ className: tabContentClassName,
22892
+ children: tab.contentSlot
22893
+ },
22894
+ tab.value
22895
+ );
22896
+ }
22897
+ const content = tab.content;
22898
+ if (!content) return null;
22899
+ return /* @__PURE__ */ jsxs(
22900
+ TabsContent,
22901
+ {
22902
+ value: tab.value,
22903
+ className: cn(
22904
+ "grid place-items-start gap-20 lg:grid-cols-2 lg:gap-10",
22905
+ tabContentClassName,
22906
+ content.className
22907
+ ),
22908
+ children: [
22909
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-5", children: [
22910
+ content.badge && /* @__PURE__ */ jsx(
22911
+ Badge,
22912
+ {
22913
+ variant: "outline",
22914
+ className: cn(
22915
+ "w-fit bg-background",
22916
+ content.badgeClassName
22917
+ ),
22918
+ children: content.badge
22919
+ }
22920
+ ),
22921
+ content.title && (typeof content.title === "string" ? /* @__PURE__ */ jsx(
22922
+ "h3",
22923
+ {
22924
+ className: cn(
22925
+ "text-3xl font-semibold lg:text-5xl",
22926
+ content.titleClassName
22927
+ ),
22928
+ children: content.title
22929
+ }
22930
+ ) : /* @__PURE__ */ jsx(
22931
+ "div",
22932
+ {
22933
+ className: cn(
22934
+ "text-3xl font-semibold lg:text-5xl",
22935
+ content.titleClassName
22936
+ ),
22937
+ children: content.title
22938
+ }
22939
+ )),
22940
+ content.description && (typeof content.description === "string" ? /* @__PURE__ */ jsx(
22941
+ "p",
22942
+ {
22943
+ className: cn(
22944
+ "text-muted-foreground lg:text-lg",
22945
+ content.descriptionClassName
22946
+ ),
22947
+ children: content.description
22948
+ }
22949
+ ) : /* @__PURE__ */ jsx(
22950
+ "div",
22951
+ {
22952
+ className: cn(
22953
+ "text-muted-foreground lg:text-lg",
22954
+ content.descriptionClassName
22955
+ ),
22956
+ children: content.description
22957
+ }
22958
+ )),
22959
+ (content.actionsSlot || content.actions && content.actions.length > 0) && renderTabContentActions(content)
22960
+ ] }),
22961
+ (content.imageSlot || content.imageSrc) && /* @__PURE__ */ jsx("div", { className: "relative h-[300px] w-full lg:h-[400px]", children: renderTabContentImage(content) })
22962
+ ]
22963
+ },
22964
+ tab.value
22965
+ );
22966
+ }) })
22967
+ }
22968
+ )
22130
22969
  ] });
22131
- }, [tabsSlot, tabs, defaultTab, tabsListClassName, tabTriggerClassName, contentWrapperClassName, tabContentClassName, renderTabIcon, renderTabContentActions, renderTabContentImage]);
22970
+ }, [
22971
+ tabsSlot,
22972
+ tabs,
22973
+ defaultTab,
22974
+ tabsListClassName,
22975
+ tabTriggerClassName,
22976
+ contentWrapperClassName,
22977
+ tabContentClassName,
22978
+ renderTabIcon,
22979
+ renderTabContentActions,
22980
+ renderTabContentImage
22981
+ ]);
22132
22982
  return /* @__PURE__ */ jsxs(
22133
22983
  Section,
22134
22984
  {
@@ -22140,11 +22990,44 @@ function FeatureIconTabsContent({
22140
22990
  className,
22141
22991
  containerClassName: cn("mx-auto", containerClassName),
22142
22992
  children: [
22143
- (badge || heading || description) && /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col items-center gap-4 text-center", headerClassName), children: [
22144
- badge && /* @__PURE__ */ jsx(Badge, { variant: "outline", className: badgeClassName, children: badge }),
22145
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("max-w-2xl text-3xl font-semibold md:text-4xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: cn("max-w-2xl text-3xl font-semibold md:text-4xl", headingClassName), children: heading })),
22146
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("text-muted-foreground", descriptionClassName), children: description }))
22147
- ] }),
22993
+ (badge || heading || description) && /* @__PURE__ */ jsxs(
22994
+ "div",
22995
+ {
22996
+ className: cn(
22997
+ "flex flex-col items-center gap-4 text-center",
22998
+ headerClassName
22999
+ ),
23000
+ children: [
23001
+ badge && /* @__PURE__ */ jsx(Badge, { variant: "outline", className: badgeClassName, children: badge }),
23002
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
23003
+ "h1",
23004
+ {
23005
+ className: cn(
23006
+ "max-w-2xl text-3xl font-semibold md:text-4xl",
23007
+ headingClassName
23008
+ ),
23009
+ children: heading
23010
+ }
23011
+ ) : /* @__PURE__ */ jsx(
23012
+ "div",
23013
+ {
23014
+ className: cn(
23015
+ "max-w-2xl text-3xl font-semibold md:text-4xl",
23016
+ headingClassName
23017
+ ),
23018
+ children: heading
23019
+ }
23020
+ )),
23021
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsx(
23022
+ "div",
23023
+ {
23024
+ className: cn("text-muted-foreground", descriptionClassName),
23025
+ children: description
23026
+ }
23027
+ ))
23028
+ ]
23029
+ }
23030
+ ),
22148
23031
  tabsContent
22149
23032
  ]
22150
23033
  }
@@ -22225,7 +23108,7 @@ function FeatureImageOverlayBadge({
22225
23108
  overlayTitleClassName,
22226
23109
  optixFlowConfig,
22227
23110
  background,
22228
- spacing,
23111
+ spacing = "py-6 md:py-32",
22229
23112
  pattern,
22230
23113
  patternOpacity,
22231
23114
  patternClassName
@@ -22278,7 +23161,10 @@ function FeatureImageOverlayBadge({
22278
23161
  {
22279
23162
  src: imageSrc,
22280
23163
  alt: imageAlt || "Feature illustration",
22281
- className: cn("rounded-xl object-cover md:aspect-video lg:aspect-auto", imageClassName),
23164
+ className: cn(
23165
+ "rounded-2xl object-cover md:aspect-video lg:aspect-auto w-full h-auto",
23166
+ imageClassName
23167
+ ),
22282
23168
  loading: "lazy",
22283
23169
  optixFlowConfig
22284
23170
  }
@@ -22296,41 +23182,111 @@ function FeatureImageOverlayBadge({
22296
23182
  patternClassName,
22297
23183
  className,
22298
23184
  containerClassName,
22299
- children: /* @__PURE__ */ jsxs("div", { className: cn("grid place-items-center gap-10 lg:grid-cols-2", gridClassName), children: [
22300
- /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-5", contentClassName), children: [
22301
- badge && /* @__PURE__ */ jsx(Badge, { variant: "outline", className: cn("w-fit bg-background", badgeClassName), children: badge }),
22302
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("text-3xl font-semibold lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-3xl font-semibold lg:text-5xl", titleClassName), children: title })),
22303
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground lg:text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("text-muted-foreground lg:text-lg", descriptionClassName), children: description })),
22304
- /* @__PURE__ */ jsx("div", { className: actionsClassName, children: actionsContent })
22305
- ] }),
22306
- imageContent && /* @__PURE__ */ jsxs("div", { className: cn("relative rounded-xl", imageWrapperClassName), children: [
22307
- imageContent,
22308
- (avatarSrc || avatarBadgeText || overlayTitle || overlayLinkText) && /* @__PURE__ */ jsxs(Fragment$1, { children: [
22309
- /* @__PURE__ */ jsx("div", { className: cn("absolute top-0 right-0 bottom-0 left-0 rounded-xl bg-linear-to-t from-primary via-transparent to-transparent", overlayClassName) }),
22310
- /* @__PURE__ */ jsxs("div", { className: "absolute top-0 flex h-full w-full flex-col justify-between p-7", children: [
22311
- (avatarSrc || avatarBadgeText) && /* @__PURE__ */ jsxs("span", { className: cn("ml-auto flex w-fit items-center gap-2 rounded-full bg-background/30 px-4 py-2.5 text-sm font-semibold backdrop-blur-sm", avatarBadgeClassName), children: [
22312
- avatarSrc && /* @__PURE__ */ jsx(Avatar, { className: "size-7 rounded-full", children: /* @__PURE__ */ jsx(AvatarImage, { src: avatarSrc, alt: "Avatar" }) }),
22313
- avatarBadgeText
22314
- ] }),
22315
- (overlayTitle || overlayLinkText) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-5 text-background", children: [
22316
- overlayTitle && (typeof overlayTitle === "string" ? /* @__PURE__ */ jsx("h4", { className: cn("text-lg font-semibold lg:text-3xl", overlayTitleClassName), children: overlayTitle }) : /* @__PURE__ */ jsx("div", { className: cn("text-lg font-semibold lg:text-3xl", overlayTitleClassName), children: overlayTitle })),
22317
- overlayLinkText && /* @__PURE__ */ jsxs(
22318
- Pressable,
23185
+ children: /* @__PURE__ */ jsxs(
23186
+ "div",
23187
+ {
23188
+ className: cn(
23189
+ "grid place-items-center gap-10 lg:grid-cols-2",
23190
+ gridClassName
23191
+ ),
23192
+ children: [
23193
+ /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-5", contentClassName), children: [
23194
+ badge && /* @__PURE__ */ jsx(Badge, { variant: "outline", className: cn("", badgeClassName), children: badge }),
23195
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
23196
+ "h3",
23197
+ {
23198
+ className: cn(
23199
+ "text-3xl font-semibold lg:text-4xl leading-snug text-balance",
23200
+ titleClassName
23201
+ ),
23202
+ children: title
23203
+ }
23204
+ ) : /* @__PURE__ */ jsx(
23205
+ "div",
23206
+ {
23207
+ className: cn(
23208
+ "text-3xl font-semibold lg:text-5xl",
23209
+ titleClassName
23210
+ ),
23211
+ children: title
23212
+ }
23213
+ )),
23214
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("lg:text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("lg:text-lg", descriptionClassName), children: description })),
23215
+ /* @__PURE__ */ jsx(
23216
+ "div",
23217
+ {
23218
+ className: cn(
23219
+ "flex items-center gap-4 flex-wrap",
23220
+ actionsClassName
23221
+ ),
23222
+ children: actionsContent
23223
+ }
23224
+ )
23225
+ ] }),
23226
+ imageContent && /* @__PURE__ */ jsxs("div", { className: cn("relative rounded-2xl", imageWrapperClassName), children: [
23227
+ imageContent,
23228
+ (avatarSrc || avatarBadgeText || overlayTitle || overlayLinkText) && /* @__PURE__ */ jsxs(Fragment$1, { children: [
23229
+ /* @__PURE__ */ jsx(
23230
+ "div",
22319
23231
  {
22320
- href: overlayLinkUrl,
22321
- onClick: overlayLinkOnClick,
22322
- className: "flex items-center gap-1 font-medium",
22323
- children: [
22324
- overlayLinkText,
22325
- /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-right", size: 16 })
22326
- ]
23232
+ className: cn(
23233
+ "absolute top-0 right-0 bottom-0 left-0 rounded-2xl bg-linear-to-t from-black via-black/20 to-transparent",
23234
+ overlayClassName
23235
+ )
22327
23236
  }
22328
- )
23237
+ ),
23238
+ /* @__PURE__ */ jsxs("div", { className: "absolute top-0 flex h-full w-full flex-col justify-between pt-4 pr-4 pl-4 pb-8 md:pt-7 md:bpr-7 md:pl-7 md:pb-7 rounded-2xl", children: [
23239
+ (avatarSrc || avatarBadgeText) && /* @__PURE__ */ jsxs(
23240
+ "span",
23241
+ {
23242
+ className: cn(
23243
+ "ml-auto flex w-fit items-center gap-2 rounded-full bg-background/30 px-4 py-2.5 text-sm font-semibold backdrop-blur-sm shadow-xl",
23244
+ avatarBadgeClassName
23245
+ ),
23246
+ children: [
23247
+ avatarSrc && /* @__PURE__ */ jsx(Avatar, { className: "size-7 rounded-full", children: /* @__PURE__ */ jsx(AvatarImage, { src: avatarSrc, alt: "Avatar" }) }),
23248
+ avatarBadgeText
23249
+ ]
23250
+ }
23251
+ ),
23252
+ (overlayTitle || overlayLinkText) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-5", children: [
23253
+ overlayTitle && (typeof overlayTitle === "string" ? /* @__PURE__ */ jsx(
23254
+ "h4",
23255
+ {
23256
+ className: cn(
23257
+ "text-lg font-semibold lg:text-3xl",
23258
+ overlayTitleClassName
23259
+ ),
23260
+ children: overlayTitle
23261
+ }
23262
+ ) : /* @__PURE__ */ jsx(
23263
+ "div",
23264
+ {
23265
+ className: cn(
23266
+ "text-lg font-semibold lg:text-3xl",
23267
+ overlayTitleClassName
23268
+ ),
23269
+ children: overlayTitle
23270
+ }
23271
+ )),
23272
+ overlayLinkText && /* @__PURE__ */ jsxs(
23273
+ Pressable,
23274
+ {
23275
+ href: overlayLinkUrl,
23276
+ onClick: overlayLinkOnClick,
23277
+ children: [
23278
+ overlayLinkText,
23279
+ /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-right", size: 18 })
23280
+ ]
23281
+ }
23282
+ )
23283
+ ] })
23284
+ ] })
22329
23285
  ] })
22330
23286
  ] })
22331
- ] })
22332
- ] })
22333
- ] })
23287
+ ]
23288
+ }
23289
+ )
22334
23290
  }
22335
23291
  );
22336
23292
  }
@@ -22735,7 +23691,7 @@ function FeatureStatsHighlight({
22735
23691
  statsGridClassName,
22736
23692
  statCardClassName,
22737
23693
  background,
22738
- spacing,
23694
+ spacing = "py-6 md:py-32",
22739
23695
  pattern,
22740
23696
  patternOpacity,
22741
23697
  patternClassName
@@ -22774,10 +23730,23 @@ function FeatureStatsHighlight({
22774
23730
  return stats.map((stat, index) => /* @__PURE__ */ jsxs(
22775
23731
  "div",
22776
23732
  {
22777
- className: cn("flex flex-col gap-2 rounded-xl border bg-muted/30 p-6", statCardClassName, stat.className),
23733
+ className: cn(
23734
+ "flex flex-col gap-2 rounded-xl border bg-card p-6",
23735
+ statCardClassName,
23736
+ stat.className
23737
+ ),
22778
23738
  children: [
22779
- stat.value && /* @__PURE__ */ jsx("span", { className: cn("text-4xl font-bold text-primary lg:text-5xl", stat.valueClassName), children: stat.value }),
22780
- stat.label && /* @__PURE__ */ jsx("span", { className: cn("text-muted-foreground", stat.labelClassName), children: stat.label })
23739
+ stat.value && /* @__PURE__ */ jsx(
23740
+ "span",
23741
+ {
23742
+ className: cn(
23743
+ "text-4xl font-bold lg:text-5xl",
23744
+ stat.valueClassName
23745
+ ),
23746
+ children: stat.value
23747
+ }
23748
+ ),
23749
+ stat.label && /* @__PURE__ */ jsx("span", { className: cn("", stat.labelClassName), children: stat.label })
22781
23750
  ]
22782
23751
  },
22783
23752
  index
@@ -22793,15 +23762,39 @@ function FeatureStatsHighlight({
22793
23762
  patternClassName,
22794
23763
  className,
22795
23764
  containerClassName,
22796
- children: /* @__PURE__ */ jsxs("div", { className: cn("grid gap-10 lg:grid-cols-2 lg:gap-20", gridClassName), children: [
22797
- /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-5", contentClassName), children: [
22798
- badge && /* @__PURE__ */ jsx(Badge, { variant: "outline", className: cn("w-fit", badgeClassName), children: badge }),
22799
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-semibold lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-3xl font-semibold lg:text-5xl", titleClassName), children: title })),
22800
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground lg:text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("text-muted-foreground lg:text-lg", descriptionClassName), children: description })),
22801
- (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("div", { className: actionsClassName, children: actionsContent })
22802
- ] }),
22803
- (statsSlot || stats && stats.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("grid grid-cols-2 gap-6", statsGridClassName), children: statsContent })
22804
- ] })
23765
+ children: /* @__PURE__ */ jsxs(
23766
+ "div",
23767
+ {
23768
+ className: cn("grid gap-10 lg:grid-cols-2 lg:gap-20", gridClassName),
23769
+ children: [
23770
+ /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-5", contentClassName), children: [
23771
+ badge && /* @__PURE__ */ jsx(Badge, { variant: "outline", className: cn("w-fit", badgeClassName), children: badge }),
23772
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
23773
+ "h2",
23774
+ {
23775
+ className: cn(
23776
+ "text-3xl font-semibold lg:text-5xl",
23777
+ titleClassName
23778
+ ),
23779
+ children: title
23780
+ }
23781
+ ) : /* @__PURE__ */ jsx(
23782
+ "div",
23783
+ {
23784
+ className: cn(
23785
+ "text-3xl font-semibold lg:text-5xl",
23786
+ titleClassName
23787
+ ),
23788
+ children: title
23789
+ }
23790
+ )),
23791
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn(" lg:text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn(" lg:text-lg", descriptionClassName), children: description })),
23792
+ (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("div", { className: actionsClassName, children: actionsContent })
23793
+ ] }),
23794
+ (statsSlot || stats && stats.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("grid grid-cols-2 gap-6", statsGridClassName), children: statsContent })
23795
+ ]
23796
+ }
23797
+ )
22805
23798
  }
22806
23799
  );
22807
23800
  }
@@ -22818,7 +23811,7 @@ function AccordionItem({
22818
23811
  AccordionPrimitive.Item,
22819
23812
  {
22820
23813
  "data-slot": "accordion-item",
22821
- className: cn("border-b last:border-b-0", className),
23814
+ className: cn("border-b ", className),
22822
23815
  ...props
22823
23816
  }
22824
23817
  );
@@ -22839,7 +23832,13 @@ function AccordionTrigger({
22839
23832
  ...props,
22840
23833
  children: [
22841
23834
  children,
22842
- /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-down", className: "text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200" })
23835
+ /* @__PURE__ */ jsx(
23836
+ DynamicIcon,
23837
+ {
23838
+ name: "lucide/chevron-down",
23839
+ className: "text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200"
23840
+ }
23841
+ )
22843
23842
  ]
22844
23843
  }
22845
23844
  ) });
@@ -34749,7 +35748,10 @@ function BlogHorizontalTimelineComponent({
34749
35748
  /* @__PURE__ */ jsx(
34750
35749
  Card,
34751
35750
  {
34752
- className: cn("w-full border-none shadow-none", postCardClassName),
35751
+ className: cn(
35752
+ "w-full border-none shadow-none pt-0 pb-6 md:pt-6 md:pb-6",
35753
+ postCardClassName
35754
+ ),
34753
35755
  children: /* @__PURE__ */ jsx(CardContent, { className: "p-0", children: /* @__PURE__ */ jsxs(
34754
35756
  "div",
34755
35757
  {
@@ -34764,9 +35766,9 @@ function BlogHorizontalTimelineComponent({
34764
35766
  ] }),
34765
35767
  /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col items-start gap-4 md:h-full md:justify-between md:gap-6", children: [
34766
35768
  postDescription && /* @__PURE__ */ jsx("p", { className: "text-base leading-relaxed font-normal tracking-tight text-muted-foreground md:text-xl line-clamp-3", children: postDescription }),
34767
- readText && /* @__PURE__ */ jsxs(Pressable, { href: postHref, asButton: true, variant: "link", children: [
35769
+ readText && /* @__PURE__ */ jsxs(Pressable, { href: postHref, asButton: true, variant: "ghost", children: [
34768
35770
  readText,
34769
- /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-right", size: 20 })
35771
+ /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-up-right", size: 20 })
34770
35772
  ] })
34771
35773
  ] })
34772
35774
  ]
@@ -34807,7 +35809,7 @@ function BlogHorizontalTimelineComponent({
34807
35809
  children: heading
34808
35810
  }
34809
35811
  ) : /* @__PURE__ */ jsx("div", { className: cn("mb-12", headingClassName), children: heading })),
34810
- /* @__PURE__ */ jsx("div", { className: cn("flex flex-col", postsClassName), children: renderPosts })
35812
+ /* @__PURE__ */ jsx("div", { className: cn("flex flex-col gap-0 md:gap-20", postsClassName), children: renderPosts })
34811
35813
  ] })
34812
35814
  }
34813
35815
  );
@@ -35423,7 +36425,7 @@ function ArticleSidebarStickyComponent({
35423
36425
  children,
35424
36426
  optixFlowConfig,
35425
36427
  background,
35426
- spacing,
36428
+ spacing = "py-6 md:py-32",
35427
36429
  pattern,
35428
36430
  patternOpacity
35429
36431
  }) {
@@ -35434,7 +36436,10 @@ function ArticleSidebarStickyComponent({
35434
36436
  Pressable,
35435
36437
  {
35436
36438
  href: backHref,
35437
- className: cn("inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground", backLinkClassName),
36439
+ className: cn(
36440
+ "inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground",
36441
+ backLinkClassName
36442
+ ),
35438
36443
  children: [
35439
36444
  backIcon ?? /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-left", size: 16 }),
35440
36445
  backText
@@ -35442,21 +36447,38 @@ function ArticleSidebarStickyComponent({
35442
36447
  }
35443
36448
  );
35444
36449
  }, [backLinkSlot, backHref, backText, backIcon, backLinkClassName]);
35445
- const renderAuthor = React52.useCallback((isMobile = false) => {
35446
- if (authorSlot) return authorSlot;
35447
- if (!authorName) return null;
35448
- const avatarSize = isMobile ? "h-8 w-8" : "h-10 w-10";
35449
- return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-3", authorClassName), children: [
35450
- /* @__PURE__ */ jsxs(Avatar, { className: avatarSize, children: [
35451
- /* @__PURE__ */ jsx(AvatarImage, { src: authorImage }),
35452
- /* @__PURE__ */ jsx(AvatarFallback, { children: authorName.charAt(0) })
35453
- ] }),
35454
- /* @__PURE__ */ jsxs("div", { children: [
35455
- authorHref ? /* @__PURE__ */ jsx(Pressable, { href: authorHref, className: "text-sm font-medium hover:underline", children: authorName }) : /* @__PURE__ */ jsx("p", { className: "text-sm font-medium", children: authorName }),
35456
- publishDate && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: publishDate })
35457
- ] })
35458
- ] });
35459
- }, [authorSlot, authorName, authorImage, authorHref, publishDate, authorClassName]);
36450
+ const renderAuthor = React52.useCallback(
36451
+ (isMobile = false) => {
36452
+ if (authorSlot) return authorSlot;
36453
+ if (!authorName) return null;
36454
+ const avatarSize = isMobile ? "h-8 w-8" : "h-10 w-10";
36455
+ return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-3", authorClassName), children: [
36456
+ /* @__PURE__ */ jsxs(Avatar, { className: avatarSize, children: [
36457
+ /* @__PURE__ */ jsx(AvatarImage, { src: authorImage }),
36458
+ /* @__PURE__ */ jsx(AvatarFallback, { children: authorName.charAt(0) })
36459
+ ] }),
36460
+ /* @__PURE__ */ jsxs("div", { children: [
36461
+ authorHref ? /* @__PURE__ */ jsx(
36462
+ Pressable,
36463
+ {
36464
+ href: authorHref,
36465
+ className: "text-sm font-medium hover:underline",
36466
+ children: authorName
36467
+ }
36468
+ ) : /* @__PURE__ */ jsx("p", { className: "text-sm font-medium", children: authorName }),
36469
+ publishDate && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: publishDate })
36470
+ ] })
36471
+ ] });
36472
+ },
36473
+ [
36474
+ authorSlot,
36475
+ authorName,
36476
+ authorImage,
36477
+ authorHref,
36478
+ publishDate,
36479
+ authorClassName
36480
+ ]
36481
+ );
35460
36482
  const heroMediaContent = React52.useMemo(() => {
35461
36483
  if (heroMediaSlot) return heroMediaSlot;
35462
36484
  if (!heroImageSrc) return null;
@@ -35465,11 +36487,20 @@ function ArticleSidebarStickyComponent({
35465
36487
  {
35466
36488
  src: heroImageSrc,
35467
36489
  alt: heroImageAlt,
35468
- className: cn("my-8 aspect-video w-full rounded-lg object-cover", heroImageClassName),
36490
+ className: cn(
36491
+ "my-8 aspect-video w-full rounded-lg object-cover",
36492
+ heroImageClassName
36493
+ ),
35469
36494
  optixFlowConfig
35470
36495
  }
35471
36496
  );
35472
- }, [heroMediaSlot, heroImageSrc, heroImageAlt, heroImageClassName, optixFlowConfig]);
36497
+ }, [
36498
+ heroMediaSlot,
36499
+ heroImageSrc,
36500
+ heroImageAlt,
36501
+ heroImageClassName,
36502
+ optixFlowConfig
36503
+ ]);
35473
36504
  return /* @__PURE__ */ jsx(
35474
36505
  Section,
35475
36506
  {
@@ -35483,13 +36514,31 @@ function ArticleSidebarStickyComponent({
35483
36514
  backLinkContent,
35484
36515
  /* @__PURE__ */ jsx("div", { className: "space-y-4", children: renderAuthor(false) })
35485
36516
  ] }) }),
35486
- /* @__PURE__ */ jsxs("article", { className: cn("prose max-w-none dark:prose-invert", articleClassName), children: [
35487
- /* @__PURE__ */ jsx("div", { className: "mb-8 lg:hidden", children: backLinkContent }),
35488
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
35489
- /* @__PURE__ */ jsx("div", { className: "not-prose mt-4 lg:hidden", children: renderAuthor(true) }),
35490
- heroMediaContent,
35491
- children
35492
- ] })
36517
+ /* @__PURE__ */ jsxs(
36518
+ "article",
36519
+ {
36520
+ className: cn(
36521
+ "prose max-w-none dark:prose-invert",
36522
+ articleClassName
36523
+ ),
36524
+ children: [
36525
+ /* @__PURE__ */ jsx("div", { className: "mb-8 lg:hidden", children: backLinkContent }),
36526
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
36527
+ "h1",
36528
+ {
36529
+ className: cn(
36530
+ "text-4xl font-bold tracking-tight md:text-5xl",
36531
+ titleClassName
36532
+ ),
36533
+ children: title
36534
+ }
36535
+ ) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
36536
+ /* @__PURE__ */ jsx("div", { className: "not-prose mt-4 lg:hidden", children: renderAuthor(true) }),
36537
+ heroMediaContent,
36538
+ children
36539
+ ]
36540
+ }
36541
+ )
35493
36542
  ] }) })
35494
36543
  }
35495
36544
  );
@@ -35683,7 +36732,6 @@ function ArticleBreadcrumbSocialComponent({
35683
36732
  authorClassName,
35684
36733
  heroImageClassName,
35685
36734
  tocClassName,
35686
- shareClassName,
35687
36735
  breadcrumbs,
35688
36736
  breadcrumbsSlot,
35689
36737
  currentPage,
@@ -35698,9 +36746,6 @@ function ArticleBreadcrumbSocialComponent({
35698
36746
  sections,
35699
36747
  tocSlot,
35700
36748
  renderSectionLink,
35701
- socialLinks: socialLinksProp,
35702
- shareUrls,
35703
- shareSlot,
35704
36749
  heroImageSrc,
35705
36750
  heroImageAlt,
35706
36751
  heroMediaSlot,
@@ -35709,35 +36754,11 @@ function ArticleBreadcrumbSocialComponent({
35709
36754
  enableBackToTop,
35710
36755
  optixFlowConfig,
35711
36756
  background,
35712
- spacing,
36757
+ spacing = "py-6 md:py-32",
35713
36758
  pattern,
35714
36759
  patternOpacity
35715
36760
  }) {
35716
36761
  const author = authorProp ?? (authorName ? { name: authorName, image: authorImage, role: authorRole } : void 0);
35717
- const platformLabels = {
35718
- twitter: "Twitter",
35719
- x: "X",
35720
- facebook: "Facebook",
35721
- linkedin: "LinkedIn",
35722
- instagram: "Instagram",
35723
- github: "GitHub"
35724
- };
35725
- const socialIconMap2 = {
35726
- twitter: "simple-icons/x",
35727
- // Twitter is now X
35728
- x: "simple-icons/x",
35729
- facebook: "simple-icons/facebook",
35730
- linkedin: "simple-icons/linkedin",
35731
- instagram: "simple-icons/instagram",
35732
- github: "simple-icons/github"
35733
- };
35734
- const socialLinks = socialLinksProp ?? (shareUrls ? Object.entries(shareUrls).filter(([, href]) => href).map(([platform, href]) => ({
35735
- platform,
35736
- href,
35737
- icon: /* @__PURE__ */ jsx(DynamicIcon, { name: socialIconMap2[platform] || `simple-icons/${platform}`, size: 16 }),
35738
- "aria-label": `Share on ${platformLabels[platform] || platform.charAt(0).toUpperCase() + platform.slice(1)}`,
35739
- className: void 0
35740
- })) : []);
35741
36762
  const [activeSection, setActiveSection] = React52.useState(
35742
36763
  sections?.[0]?.id || ""
35743
36764
  );
@@ -35789,16 +36810,25 @@ function ArticleBreadcrumbSocialComponent({
35789
36810
  const authorContent = React52.useMemo(() => {
35790
36811
  if (authorSlot) return authorSlot;
35791
36812
  if (!author) return null;
35792
- return /* @__PURE__ */ jsxs("div", { className: cn("mt-6 flex items-center gap-4 not-prose", authorClassName), children: [
35793
- /* @__PURE__ */ jsxs(Avatar, { className: "h-12 w-12", children: [
35794
- /* @__PURE__ */ jsx(AvatarImage, { src: author.image }),
35795
- /* @__PURE__ */ jsx(AvatarFallback, { children: author.name?.charAt(0) || "A" })
35796
- ] }),
35797
- /* @__PURE__ */ jsxs("div", { children: [
35798
- author.name && /* @__PURE__ */ jsx("p", { className: "font-medium", children: author.name }),
35799
- (author.role || publishDate || readTime) && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: [author.role, publishDate, readTime].filter(Boolean).join(" \xB7 ") })
35800
- ] })
35801
- ] });
36813
+ return /* @__PURE__ */ jsxs(
36814
+ "div",
36815
+ {
36816
+ className: cn(
36817
+ "mt-6 flex items-center gap-4 not-prose",
36818
+ authorClassName
36819
+ ),
36820
+ children: [
36821
+ /* @__PURE__ */ jsxs(Avatar, { className: "h-12 w-12", children: [
36822
+ /* @__PURE__ */ jsx(AvatarImage, { src: author.image }),
36823
+ /* @__PURE__ */ jsx(AvatarFallback, { children: author.name?.charAt(0) || "A" })
36824
+ ] }),
36825
+ /* @__PURE__ */ jsxs("div", { children: [
36826
+ author.name && /* @__PURE__ */ jsx("p", { className: "font-medium", children: author.name }),
36827
+ (author.role || publishDate || readTime) && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: [author.role, publishDate, readTime].filter(Boolean).join(" \xB7 ") })
36828
+ ] })
36829
+ ]
36830
+ }
36831
+ );
35802
36832
  }, [authorSlot, author, publishDate, readTime, authorClassName]);
35803
36833
  const heroMediaContent = React52.useMemo(() => {
35804
36834
  if (heroMediaSlot) return heroMediaSlot;
@@ -35808,11 +36838,20 @@ function ArticleBreadcrumbSocialComponent({
35808
36838
  {
35809
36839
  src: heroImageSrc,
35810
36840
  alt: heroImageAlt,
35811
- className: cn("my-8 aspect-video w-full rounded-lg object-cover", heroImageClassName),
36841
+ className: cn(
36842
+ "my-8 aspect-video w-full rounded-lg object-cover",
36843
+ heroImageClassName
36844
+ ),
35812
36845
  optixFlowConfig
35813
36846
  }
35814
36847
  );
35815
- }, [heroMediaSlot, heroImageSrc, heroImageAlt, heroImageClassName, optixFlowConfig]);
36848
+ }, [
36849
+ heroMediaSlot,
36850
+ heroImageSrc,
36851
+ heroImageAlt,
36852
+ heroImageClassName,
36853
+ optixFlowConfig
36854
+ ]);
35816
36855
  const tocContent = React52.useMemo(() => {
35817
36856
  if (tocSlot) return tocSlot;
35818
36857
  if (!sections || sections.length === 0) return null;
@@ -35838,26 +36877,6 @@ function ArticleBreadcrumbSocialComponent({
35838
36877
  }) })
35839
36878
  ] });
35840
36879
  }, [tocSlot, sections, activeSection, renderSectionLink, tocClassName]);
35841
- const shareButtonsContent = React52.useMemo(() => {
35842
- if (shareSlot) return shareSlot;
35843
- if (!socialLinks || socialLinks.length === 0) return null;
35844
- return /* @__PURE__ */ jsxs("div", { className: cn("rounded-lg border p-4", shareClassName), children: [
35845
- /* @__PURE__ */ jsx("h3", { className: "mb-4 text-sm font-semibold", children: "Share this article" }),
35846
- /* @__PURE__ */ jsx("div", { className: "flex gap-2", children: socialLinks.map((link, index) => /* @__PURE__ */ jsx(
35847
- Pressable,
35848
- {
35849
- href: link.href,
35850
- className: cn(
35851
- "flex h-9 w-9 items-center justify-center rounded-md border hover:bg-muted",
35852
- link.className
35853
- ),
35854
- "aria-label": link["aria-label"],
35855
- children: link.icon
35856
- },
35857
- index
35858
- )) })
35859
- ] });
35860
- }, [shareSlot, socialLinks, shareClassName]);
35861
36880
  return /* @__PURE__ */ jsxs(
35862
36881
  Section,
35863
36882
  {
@@ -35870,18 +36889,32 @@ function ArticleBreadcrumbSocialComponent({
35870
36889
  /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
35871
36890
  breadcrumbsContent,
35872
36891
  /* @__PURE__ */ jsxs("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,1fr)_280px]", children: [
35873
- children && /* @__PURE__ */ jsxs("article", { className: cn("prose max-w-none dark:prose-invert", articleClassName), children: [
35874
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
35875
- authorContent,
35876
- /* @__PURE__ */ jsx(Separator, { className: "my-8" }),
35877
- heroMediaContent,
35878
- children,
35879
- shareButtonsContent && /* @__PURE__ */ jsx("div", { className: "not-prose mt-8 lg:hidden", children: shareButtonsContent })
35880
- ] }),
35881
- /* @__PURE__ */ jsx("aside", { className: cn("hidden lg:block", sidebarClassName), children: /* @__PURE__ */ jsxs("div", { className: "sticky top-8 space-y-6", children: [
35882
- tocContent,
35883
- shareButtonsContent
35884
- ] }) })
36892
+ children && /* @__PURE__ */ jsxs(
36893
+ "article",
36894
+ {
36895
+ className: cn(
36896
+ "prose max-w-none dark:prose-invert",
36897
+ articleClassName
36898
+ ),
36899
+ children: [
36900
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
36901
+ "h1",
36902
+ {
36903
+ className: cn(
36904
+ "text-4xl font-bold tracking-tight md:text-5xl",
36905
+ titleClassName
36906
+ ),
36907
+ children: title
36908
+ }
36909
+ ) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
36910
+ authorContent,
36911
+ /* @__PURE__ */ jsx(Separator, { className: "my-8" }),
36912
+ heroMediaContent,
36913
+ children
36914
+ ]
36915
+ }
36916
+ ),
36917
+ /* @__PURE__ */ jsx("aside", { className: cn("hidden lg:block", sidebarClassName), children: /* @__PURE__ */ jsx("div", { className: "sticky top-8 space-y-6", children: tocContent }) })
35885
36918
  ] })
35886
36919
  ] }),
35887
36920
  enableBackToTop && showBackToTop && /* @__PURE__ */ jsx(
@@ -35958,7 +36991,7 @@ function ArticleCompactTocComponent({
35958
36991
  enableTocTracking = true,
35959
36992
  optixFlowConfig,
35960
36993
  background,
35961
- spacing,
36994
+ spacing = "py-6 md:py-32",
35962
36995
  pattern,
35963
36996
  patternOpacity
35964
36997
  }) {
@@ -36639,7 +37672,7 @@ function FaqSimpleAccordion({
36639
37672
  items,
36640
37673
  itemsSlot,
36641
37674
  background,
36642
- spacing,
37675
+ spacing = "py-6 md:py-32",
36643
37676
  pattern,
36644
37677
  patternOpacity,
36645
37678
  patternClassName,
@@ -36681,7 +37714,14 @@ function FaqSimpleAccordion({
36681
37714
  },
36682
37715
  item.id || index
36683
37716
  )) });
36684
- }, [itemsSlot, items, accordionClassName, accordionItemClassName, accordionTriggerClassName, accordionContentClassName]);
37717
+ }, [
37718
+ itemsSlot,
37719
+ items,
37720
+ accordionClassName,
37721
+ accordionItemClassName,
37722
+ accordionTriggerClassName,
37723
+ accordionContentClassName
37724
+ ]);
36685
37725
  return /* @__PURE__ */ jsx(
36686
37726
  Section,
36687
37727
  {
@@ -36712,7 +37752,7 @@ function FaqStaticList({
36712
37752
  items,
36713
37753
  itemsSlot,
36714
37754
  background,
36715
- spacing,
37755
+ spacing = "py-6 md:py-32",
36716
37756
  pattern,
36717
37757
  patternOpacity,
36718
37758
  patternClassName,
@@ -36731,7 +37771,14 @@ function FaqStaticList({
36731
37771
  typeof item.question === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("mb-2 font-semibold", questionClassName), children: item.question }) : /* @__PURE__ */ jsx("div", { className: questionClassName, children: item.question }),
36732
37772
  typeof item.answer === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground", answerClassName), children: item.answer }) : /* @__PURE__ */ jsx("div", { className: answerClassName, children: item.answer })
36733
37773
  ] }, index)) });
36734
- }, [itemsSlot, items, itemsWrapperClassName, itemClassName, questionClassName, answerClassName]);
37774
+ }, [
37775
+ itemsSlot,
37776
+ items,
37777
+ itemsWrapperClassName,
37778
+ itemClassName,
37779
+ questionClassName,
37780
+ answerClassName
37781
+ ]);
36735
37782
  return /* @__PURE__ */ jsx(
36736
37783
  Section,
36737
37784
  {
@@ -36763,7 +37810,7 @@ function FaqCenteredAccordion({
36763
37810
  items,
36764
37811
  itemsSlot,
36765
37812
  background,
36766
- spacing,
37813
+ spacing = "py-6 md:py-32",
36767
37814
  pattern,
36768
37815
  patternOpacity,
36769
37816
  patternClassName,
@@ -36815,7 +37862,14 @@ function FaqCenteredAccordion({
36815
37862
  ))
36816
37863
  }
36817
37864
  );
36818
- }, [itemsSlot, items, accordionClassName, accordionItemClassName, accordionTriggerClassName, accordionContentClassName]);
37865
+ }, [
37866
+ itemsSlot,
37867
+ items,
37868
+ accordionClassName,
37869
+ accordionItemClassName,
37870
+ accordionTriggerClassName,
37871
+ accordionContentClassName
37872
+ ]);
36819
37873
  return /* @__PURE__ */ jsx(
36820
37874
  Section,
36821
37875
  {
@@ -36825,7 +37879,7 @@ function FaqCenteredAccordion({
36825
37879
  patternOpacity,
36826
37880
  patternClassName,
36827
37881
  className,
36828
- children: /* @__PURE__ */ jsxs("div", { className: cn("space-y-16", containerClassName), children: [
37882
+ children: /* @__PURE__ */ jsxs("div", { className: cn("space-y-8 md:space-y-16", containerClassName), children: [
36829
37883
  /* @__PURE__ */ jsxs(
36830
37884
  "div",
36831
37885
  {
@@ -36872,7 +37926,7 @@ function FaqBadgeSupport({
36872
37926
  supportAction,
36873
37927
  supportSlot,
36874
37928
  background,
36875
- spacing,
37929
+ spacing = "py-6 md:py-32",
36876
37930
  pattern,
36877
37931
  patternOpacity,
36878
37932
  patternClassName,
@@ -36926,7 +37980,14 @@ function FaqBadgeSupport({
36926
37980
  ))
36927
37981
  }
36928
37982
  );
36929
- }, [itemsSlot, items, accordionClassName, accordionItemClassName, accordionTriggerClassName, accordionContentClassName]);
37983
+ }, [
37984
+ itemsSlot,
37985
+ items,
37986
+ accordionClassName,
37987
+ accordionItemClassName,
37988
+ accordionTriggerClassName,
37989
+ accordionContentClassName
37990
+ ]);
36930
37991
  const supportSectionContent = useMemo$1(() => {
36931
37992
  if (supportSlot) return supportSlot;
36932
37993
  return /* @__PURE__ */ jsxs(
@@ -36962,7 +38023,7 @@ function FaqBadgeSupport({
36962
38023
  patternOpacity,
36963
38024
  patternClassName,
36964
38025
  className,
36965
- children: /* @__PURE__ */ jsxs("div", { className: cn("space-y-16", containerClassName), children: [
38026
+ children: /* @__PURE__ */ jsxs("div", { className: cn("space-y-8 md:space-y-16", containerClassName), children: [
36966
38027
  /* @__PURE__ */ jsxs(
36967
38028
  "div",
36968
38029
  {
@@ -37016,7 +38077,7 @@ function FaqNumberedList({
37016
38077
  items,
37017
38078
  itemsSlot,
37018
38079
  background,
37019
- spacing,
38080
+ spacing = "py-6 md:py-32",
37020
38081
  pattern,
37021
38082
  patternOpacity,
37022
38083
  patternClassName,
@@ -37053,7 +38114,7 @@ function FaqNumberedList({
37053
38114
  "span",
37054
38115
  {
37055
38116
  className: cn(
37056
- "bg-secondary flex size-6 shrink-0 items-center justify-center rounded-sm text-xs font-medium",
38117
+ "bg-muted flex size-10 shrink-0 items-center justify-center rounded-lg text-md font-semibold",
37057
38118
  numberClassName
37058
38119
  ),
37059
38120
  children: index + 1
@@ -37078,7 +38139,15 @@ function FaqNumberedList({
37078
38139
  ))
37079
38140
  }
37080
38141
  );
37081
- }, [itemsSlot, items, itemsWrapperClassName, itemClassName, numberClassName, questionClassName, answerClassName]);
38142
+ }, [
38143
+ itemsSlot,
38144
+ items,
38145
+ itemsWrapperClassName,
38146
+ itemClassName,
38147
+ numberClassName,
38148
+ questionClassName,
38149
+ answerClassName
38150
+ ]);
37082
38151
  return /* @__PURE__ */ jsx(
37083
38152
  Section,
37084
38153
  {
@@ -37130,7 +38199,7 @@ function FaqNumberedGrid({
37130
38199
  items,
37131
38200
  itemsSlot,
37132
38201
  background,
37133
- spacing,
38202
+ spacing = "py-6 md:py-32",
37134
38203
  pattern,
37135
38204
  patternOpacity,
37136
38205
  patternClassName,
@@ -37167,7 +38236,7 @@ function FaqNumberedGrid({
37167
38236
  "span",
37168
38237
  {
37169
38238
  className: cn(
37170
- "bg-secondary flex size-6 shrink-0 items-center justify-center rounded-sm text-xs font-medium",
38239
+ "bg-muted flex size-10 shrink-0 items-center justify-center rounded-lg text-md font-semibold",
37171
38240
  numberClassName
37172
38241
  ),
37173
38242
  children: index + 1
@@ -37192,7 +38261,15 @@ function FaqNumberedGrid({
37192
38261
  ))
37193
38262
  }
37194
38263
  );
37195
- }, [itemsSlot, items, gridClassName, itemClassName, numberClassName, questionClassName, answerClassName]);
38264
+ }, [
38265
+ itemsSlot,
38266
+ items,
38267
+ gridClassName,
38268
+ itemClassName,
38269
+ numberClassName,
38270
+ questionClassName,
38271
+ answerClassName
38272
+ ]);
37196
38273
  return /* @__PURE__ */ jsx(
37197
38274
  Section,
37198
38275
  {
@@ -37249,7 +38326,7 @@ function FaqSplitHelp({
37249
38326
  helpAction,
37250
38327
  helpSlot,
37251
38328
  background,
37252
- spacing,
38329
+ spacing = "py-6 md:py-32",
37253
38330
  pattern,
37254
38331
  patternOpacity,
37255
38332
  patternClassName,
@@ -37302,14 +38379,21 @@ function FaqSplitHelp({
37302
38379
  ))
37303
38380
  }
37304
38381
  );
37305
- }, [itemsSlot, items, accordionClassName, accordionItemClassName, accordionTriggerClassName, accordionContentClassName]);
38382
+ }, [
38383
+ itemsSlot,
38384
+ items,
38385
+ accordionClassName,
38386
+ accordionItemClassName,
38387
+ accordionTriggerClassName,
38388
+ accordionContentClassName
38389
+ ]);
37306
38390
  const helpSectionContent = useMemo$1(() => {
37307
38391
  if (helpSlot) return helpSlot;
37308
38392
  return /* @__PURE__ */ jsxs(
37309
38393
  "div",
37310
38394
  {
37311
38395
  className: cn(
37312
- "mt-16 flex flex-col items-center gap-4 rounded-lg bg-accent p-6 text-center md:flex-row md:justify-between md:text-left lg:p-8",
38396
+ "mt-8 md:mt-16 flex flex-col items-center gap-4 rounded-lg bg-muted p-6 text-center md:flex-row md:justify-between md:text-left lg:p-8",
37313
38397
  helpSectionClassName
37314
38398
  ),
37315
38399
  children: [
@@ -37331,7 +38415,13 @@ function FaqSplitHelp({
37331
38415
  ]
37332
38416
  }
37333
38417
  );
37334
- }, [helpSlot, helpHeading, helpDescription, helpAction, helpSectionClassName]);
38418
+ }, [
38419
+ helpSlot,
38420
+ helpHeading,
38421
+ helpDescription,
38422
+ helpAction,
38423
+ helpSectionClassName
38424
+ ]);
37335
38425
  return /* @__PURE__ */ jsx(
37336
38426
  Section,
37337
38427
  {
@@ -37378,7 +38468,7 @@ function FaqCategorizedSections({
37378
38468
  categories,
37379
38469
  categoriesSlot,
37380
38470
  background,
37381
- spacing,
38471
+ spacing = "py-6 md:py-32",
37382
38472
  pattern,
37383
38473
  patternOpacity,
37384
38474
  patternClassName,
@@ -37445,7 +38535,16 @@ function FaqCategorizedSections({
37445
38535
  ] }, categoryIndex))
37446
38536
  }
37447
38537
  );
37448
- }, [categoriesSlot, categories, categoriesWrapperClassName, categoryTitleClassName, accordionClassName, accordionItemClassName, accordionTriggerClassName, accordionContentClassName]);
38538
+ }, [
38539
+ categoriesSlot,
38540
+ categories,
38541
+ categoriesWrapperClassName,
38542
+ categoryTitleClassName,
38543
+ accordionClassName,
38544
+ accordionItemClassName,
38545
+ accordionTriggerClassName,
38546
+ accordionContentClassName
38547
+ ]);
37449
38548
  return /* @__PURE__ */ jsx(
37450
38549
  Section,
37451
38550
  {
@@ -37497,7 +38596,7 @@ function FaqMutedCards({
37497
38596
  items,
37498
38597
  itemsSlot,
37499
38598
  background,
37500
- spacing,
38599
+ spacing = "py-6 md:py-32",
37501
38600
  pattern,
37502
38601
  patternOpacity,
37503
38602
  patternClassName,
@@ -37550,7 +38649,14 @@ function FaqMutedCards({
37550
38649
  ))
37551
38650
  }
37552
38651
  );
37553
- }, [itemsSlot, items, accordionClassName, accordionItemClassName, accordionTriggerClassName, accordionContentClassName]);
38652
+ }, [
38653
+ itemsSlot,
38654
+ items,
38655
+ accordionClassName,
38656
+ accordionItemClassName,
38657
+ accordionTriggerClassName,
38658
+ accordionContentClassName
38659
+ ]);
37554
38660
  return /* @__PURE__ */ jsx(
37555
38661
  Section,
37556
38662
  {
@@ -37562,10 +38668,10 @@ function FaqMutedCards({
37562
38668
  className,
37563
38669
  children: /* @__PURE__ */ jsxs("div", { className: cn("container max-w-3xl", containerClassName), children: [
37564
38670
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
37565
- "h1",
38671
+ "h2",
37566
38672
  {
37567
38673
  className: cn(
37568
- "mb-4 text-3xl font-bold md:mb-11 md:text-4xl",
38674
+ "mb-4 text-3xl font-bold md:mb-11 md:text-4xl px-4",
37569
38675
  headingClassName
37570
38676
  ),
37571
38677
  children: heading
@@ -37584,7 +38690,7 @@ function FaqBorderedBadge({
37584
38690
  items,
37585
38691
  itemsSlot,
37586
38692
  background,
37587
- spacing,
38693
+ spacing = "py-6 md:py-32",
37588
38694
  pattern,
37589
38695
  patternOpacity,
37590
38696
  patternClassName,
@@ -37638,7 +38744,14 @@ function FaqBorderedBadge({
37638
38744
  ))
37639
38745
  }
37640
38746
  );
37641
- }, [itemsSlot, items, accordionClassName, accordionItemClassName, accordionTriggerClassName, accordionContentClassName]);
38747
+ }, [
38748
+ itemsSlot,
38749
+ items,
38750
+ accordionClassName,
38751
+ accordionItemClassName,
38752
+ accordionTriggerClassName,
38753
+ accordionContentClassName
38754
+ ]);
37642
38755
  return /* @__PURE__ */ jsx(
37643
38756
  Section,
37644
38757
  {
@@ -37661,15 +38774,18 @@ function FaqBorderedBadge({
37661
38774
  Badge,
37662
38775
  {
37663
38776
  variant: "outline",
37664
- className: cn("flex items-center gap-2", badgeClassName),
38777
+ className: cn(
38778
+ "gap-1.5 px-2.5 py-1 text-sm font-medium",
38779
+ badgeClassName
38780
+ ),
37665
38781
  children: [
37666
- badgeIcon && /* @__PURE__ */ jsx(DynamicIcon, { name: badgeIcon, className: "size-4" }),
38782
+ badgeIcon && /* @__PURE__ */ jsx(DynamicIcon, { name: badgeIcon, size: 16, className: "shrink-0" }),
37667
38783
  badge
37668
38784
  ]
37669
38785
  }
37670
38786
  ),
37671
38787
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
37672
- "h1",
38788
+ "h2",
37673
38789
  {
37674
38790
  className: cn(
37675
38791
  "max-w-2xl text-3xl font-semibold md:text-4xl",
@@ -37708,7 +38824,7 @@ function FaqGradientCategories({
37708
38824
  categories,
37709
38825
  categoriesSlot,
37710
38826
  background,
37711
- spacing,
38827
+ spacing = "py-6 md:py-32",
37712
38828
  pattern,
37713
38829
  patternOpacity,
37714
38830
  patternClassName,
@@ -37776,7 +38892,16 @@ function FaqGradientCategories({
37776
38892
  ] }, categoryIndex))
37777
38893
  }
37778
38894
  );
37779
- }, [categoriesSlot, categories, gridClassName, categoryTitleClassName, accordionClassName, accordionItemClassName, accordionTriggerClassName, accordionContentClassName]);
38895
+ }, [
38896
+ categoriesSlot,
38897
+ categories,
38898
+ gridClassName,
38899
+ categoryTitleClassName,
38900
+ accordionClassName,
38901
+ accordionItemClassName,
38902
+ accordionTriggerClassName,
38903
+ accordionContentClassName
38904
+ ]);
37780
38905
  return /* @__PURE__ */ jsx(
37781
38906
  Section,
37782
38907
  {
@@ -37859,19 +38984,17 @@ function FaqSidebarNavigation({
37859
38984
  accordionContentClassName
37860
38985
  }) {
37861
38986
  const [activeCategory, setActiveCategory] = React52.useState(
37862
- categories?.[0]?.id || ""
38987
+ categories && categories.length > 1 ? "all" : categories?.[0]?.id || ""
37863
38988
  );
37864
- const scrollToCategory = (categoryId) => {
37865
- setActiveCategory(categoryId);
37866
- const element = document.getElementById(`faq-category-${categoryId}`);
37867
- if (element) {
37868
- element.scrollIntoView({ behavior: "smooth", block: "start" });
37869
- }
37870
- };
38989
+ const filteredCategories = useMemo$1(() => {
38990
+ if (!categories || categories.length === 0) return [];
38991
+ if (activeCategory === "all") return categories;
38992
+ return categories.filter((category) => category.id === activeCategory);
38993
+ }, [categories, activeCategory]);
37871
38994
  const categoriesContent = useMemo$1(() => {
37872
38995
  if (categoriesSlot) return categoriesSlot;
37873
- if (!categories || categories.length === 0) return null;
37874
- return /* @__PURE__ */ jsx("div", { className: cn("space-y-10 lg:w-3/4", categoriesWrapperClassName), children: categories.map((category) => /* @__PURE__ */ jsxs(
38996
+ if (filteredCategories.length === 0) return null;
38997
+ return /* @__PURE__ */ jsx("div", { className: cn("space-y-10 lg:w-3/4", categoriesWrapperClassName), children: filteredCategories.map((category) => /* @__PURE__ */ jsxs(
37875
38998
  "div",
37876
38999
  {
37877
39000
  id: `faq-category-${category.id}`,
@@ -37918,7 +39041,7 @@ function FaqSidebarNavigation({
37918
39041
  },
37919
39042
  category.id
37920
39043
  )) });
37921
- }, [categoriesSlot, categories, categoriesWrapperClassName, categoryTitleClassName, accordionClassName, accordionItemClassName, accordionTriggerClassName, accordionContentClassName]);
39044
+ }, [categoriesSlot, filteredCategories, categoriesWrapperClassName, categoryTitleClassName, accordionClassName, accordionItemClassName, accordionTriggerClassName, accordionContentClassName]);
37922
39045
  return /* @__PURE__ */ jsx(
37923
39046
  Section,
37924
39047
  {
@@ -37968,21 +39091,37 @@ function FaqSidebarNavigation({
37968
39091
  contentWrapperClassName
37969
39092
  ),
37970
39093
  children: [
37971
- /* @__PURE__ */ jsx("nav", { className: cn("lg:w-1/4", navClassName), children: /* @__PURE__ */ jsx("div", { className: "sticky top-24 space-y-2", children: categories?.map((category) => /* @__PURE__ */ jsx(
37972
- "button",
37973
- {
37974
- onClick: () => scrollToCategory(category.id),
37975
- className: cn(
37976
- "w-full rounded-lg px-4 py-2 text-left text-sm font-medium transition-colors",
37977
- activeCategory === category.id ? cn(
37978
- "bg-primary text-primary-foreground",
37979
- navButtonActiveClassName
37980
- ) : cn("hover:bg-muted", navButtonClassName)
37981
- ),
37982
- children: category.title
37983
- },
37984
- category.id
37985
- )) }) }),
39094
+ /* @__PURE__ */ jsx("nav", { className: cn("lg:w-1/4", navClassName), children: /* @__PURE__ */ jsxs("div", { className: "sticky top-24 flex gap-2 overflow-x-auto pb-2 lg:flex-col lg:gap-2 lg:overflow-visible lg:pb-0", children: [
39095
+ categories && categories.length > 1 && /* @__PURE__ */ jsx(
39096
+ "button",
39097
+ {
39098
+ onClick: () => setActiveCategory("all"),
39099
+ className: cn(
39100
+ "shrink-0 whitespace-nowrap rounded-lg px-4 py-2 text-left text-sm font-medium transition-colors lg:w-full",
39101
+ activeCategory === "all" ? cn(
39102
+ "bg-primary text-primary-foreground",
39103
+ navButtonActiveClassName
39104
+ ) : cn("hover:bg-muted", navButtonClassName)
39105
+ ),
39106
+ children: "All"
39107
+ }
39108
+ ),
39109
+ categories?.map((category) => /* @__PURE__ */ jsx(
39110
+ "button",
39111
+ {
39112
+ onClick: () => setActiveCategory(category.id),
39113
+ className: cn(
39114
+ "shrink-0 whitespace-nowrap rounded-lg px-4 py-2 text-left text-sm font-medium transition-colors lg:w-full",
39115
+ activeCategory === category.id ? cn(
39116
+ "bg-primary text-primary-foreground",
39117
+ navButtonActiveClassName
39118
+ ) : cn("hover:bg-muted", navButtonClassName)
39119
+ ),
39120
+ children: category.title
39121
+ },
39122
+ category.id
39123
+ ))
39124
+ ] }) }),
37986
39125
  categoriesContent
37987
39126
  ]
37988
39127
  }
@@ -37997,7 +39136,7 @@ function FaqCardCategories({
37997
39136
  categories,
37998
39137
  categoriesSlot,
37999
39138
  background,
38000
- spacing,
39139
+ spacing = "py-6 md:py-32",
38001
39140
  pattern,
38002
39141
  patternOpacity,
38003
39142
  patternClassName,
@@ -38075,7 +39214,17 @@ function FaqCardCategories({
38075
39214
  ))
38076
39215
  }
38077
39216
  );
38078
- }, [categoriesSlot, categories, gridClassName, cardClassName, categoryTitleClassName, accordionClassName, accordionItemClassName, accordionTriggerClassName, accordionContentClassName]);
39217
+ }, [
39218
+ categoriesSlot,
39219
+ categories,
39220
+ gridClassName,
39221
+ cardClassName,
39222
+ categoryTitleClassName,
39223
+ accordionClassName,
39224
+ accordionItemClassName,
39225
+ accordionTriggerClassName,
39226
+ accordionContentClassName
39227
+ ]);
38079
39228
  return /* @__PURE__ */ jsx(
38080
39229
  Section,
38081
39230
  {
@@ -38140,7 +39289,7 @@ function FaqIconBenefits({
38140
39289
  benefits,
38141
39290
  benefitsSlot,
38142
39291
  background,
38143
- spacing,
39292
+ spacing = "py-6 md:py-32",
38144
39293
  pattern,
38145
39294
  patternOpacity,
38146
39295
  patternClassName,
@@ -38207,7 +39356,16 @@ function FaqIconBenefits({
38207
39356
  ))
38208
39357
  }
38209
39358
  );
38210
- }, [benefitsSlot, benefits, gridClassName, benefitCardClassName, iconWrapperClassName, iconClassName, titleClassName, benefitDescriptionClassName]);
39359
+ }, [
39360
+ benefitsSlot,
39361
+ benefits,
39362
+ gridClassName,
39363
+ benefitCardClassName,
39364
+ iconWrapperClassName,
39365
+ iconClassName,
39366
+ titleClassName,
39367
+ benefitDescriptionClassName
39368
+ ]);
38211
39369
  return /* @__PURE__ */ jsx(
38212
39370
  Section,
38213
39371
  {
@@ -38260,7 +39418,7 @@ function FaqRoundedCards({
38260
39418
  items,
38261
39419
  itemsSlot,
38262
39420
  background,
38263
- spacing,
39421
+ spacing = "py-6 md:py-32",
38264
39422
  pattern,
38265
39423
  patternOpacity,
38266
39424
  patternClassName,
@@ -38283,13 +39441,13 @@ function FaqRoundedCards({
38283
39441
  {
38284
39442
  type: "single",
38285
39443
  collapsible: true,
38286
- className: cn("space-y-4", accordionClassName),
39444
+ className: cn("space-y-3", accordionClassName),
38287
39445
  children: items.map((item) => /* @__PURE__ */ jsxs(
38288
39446
  AccordionItem,
38289
39447
  {
38290
39448
  value: item.id,
38291
39449
  className: cn(
38292
- "rounded-lg bg-background px-4 border-none",
39450
+ "rounded-xl border border-border/60 bg-card px-5 shadow-sm transition-shadow hover:shadow-md data-[state=open]:shadow-md",
38293
39451
  accordionItemClassName
38294
39452
  ),
38295
39453
  children: [
@@ -38297,7 +39455,7 @@ function FaqRoundedCards({
38297
39455
  AccordionTrigger,
38298
39456
  {
38299
39457
  className: cn(
38300
- "font-semibold hover:no-underline",
39458
+ "py-4 font-medium transition-opacity hover:no-underline hover:opacity-70 lg:text-lg [&[data-state=open]>svg]:rotate-180",
38301
39459
  accordionTriggerClassName
38302
39460
  ),
38303
39461
  children: item.question
@@ -38306,7 +39464,10 @@ function FaqRoundedCards({
38306
39464
  /* @__PURE__ */ jsx(
38307
39465
  AccordionContent,
38308
39466
  {
38309
- className: cn("text-muted-foreground", accordionContentClassName),
39467
+ className: cn(
39468
+ "pb-4 text-muted-foreground",
39469
+ accordionContentClassName
39470
+ ),
38310
39471
  children: item.answer
38311
39472
  }
38312
39473
  )
@@ -38316,7 +39477,14 @@ function FaqRoundedCards({
38316
39477
  ))
38317
39478
  }
38318
39479
  );
38319
- }, [itemsSlot, items, accordionClassName, accordionItemClassName, accordionTriggerClassName, accordionContentClassName]);
39480
+ }, [
39481
+ itemsSlot,
39482
+ items,
39483
+ accordionClassName,
39484
+ accordionItemClassName,
39485
+ accordionTriggerClassName,
39486
+ accordionContentClassName
39487
+ ]);
38320
39488
  return /* @__PURE__ */ jsx(
38321
39489
  Section,
38322
39490
  {
@@ -38345,16 +39513,7 @@ function FaqRoundedCards({
38345
39513
  children: heading
38346
39514
  }
38347
39515
  ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
38348
- description && (typeof description === "string" ? /* @__PURE__ */ jsx(
38349
- "p",
38350
- {
38351
- className: cn(
38352
- "text-muted-foreground lg:text-lg",
38353
- descriptionClassName
38354
- ),
38355
- children: description
38356
- }
38357
- ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
39516
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("lg:text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
38358
39517
  ]
38359
39518
  }
38360
39519
  ),
@@ -38362,7 +39521,7 @@ function FaqRoundedCards({
38362
39521
  "div",
38363
39522
  {
38364
39523
  className: cn(
38365
- "mx-auto mt-10 max-w-3xl rounded-2xl bg-muted/50 p-6 md:p-8",
39524
+ "mx-auto mt-10 max-w-3xl",
38366
39525
  cardsWrapperClassName
38367
39526
  ),
38368
39527
  children: itemsContent
@@ -38385,7 +39544,7 @@ function FaqProfileSidebar({
38385
39544
  contactText,
38386
39545
  contactAction,
38387
39546
  background,
38388
- spacing,
39547
+ spacing = "py-6 md:py-32",
38389
39548
  pattern,
38390
39549
  patternOpacity,
38391
39550
  patternClassName,
@@ -38438,7 +39597,14 @@ function FaqProfileSidebar({
38438
39597
  },
38439
39598
  item.id
38440
39599
  )) });
38441
- }, [itemsSlot, items, accordionClassName, accordionItemClassName, accordionTriggerClassName, accordionContentClassName]);
39600
+ }, [
39601
+ itemsSlot,
39602
+ items,
39603
+ accordionClassName,
39604
+ accordionItemClassName,
39605
+ accordionTriggerClassName,
39606
+ accordionContentClassName
39607
+ ]);
38442
39608
  const profileSectionContent = useMemo$1(() => {
38443
39609
  if (profileSlot) return profileSlot;
38444
39610
  return /* @__PURE__ */ jsxs("div", { className: cn("rounded-lg border p-6", profileCardClassName), children: [
@@ -38479,22 +39645,46 @@ function FaqProfileSidebar({
38479
39645
  children: profileDescription
38480
39646
  }
38481
39647
  ) : /* @__PURE__ */ jsx("div", { className: profileDescriptionClassName, children: profileDescription })),
38482
- contactAction && /* @__PURE__ */ jsxs("div", { className: cn("mt-6 border-t pt-6", contactSectionClassName), children: [
38483
- contactText && (typeof contactText === "string" ? /* @__PURE__ */ jsx("p", { className: "text-sm font-medium", children: contactText }) : contactText),
38484
- /* @__PURE__ */ jsx(
38485
- Pressable,
38486
- {
38487
- href: contactAction.href,
38488
- onClick: contactAction.onClick,
38489
- variant: contactAction.variant || "outline",
38490
- size: contactAction.size,
38491
- className: cn("mt-3 w-full", contactAction.className),
38492
- children: contactAction.children || contactAction.label
38493
- }
38494
- )
38495
- ] })
39648
+ contactAction && /* @__PURE__ */ jsxs(
39649
+ "div",
39650
+ {
39651
+ className: cn(
39652
+ "mt-6 border-t pt-6 flex flex-col space-y-4",
39653
+ contactSectionClassName
39654
+ ),
39655
+ children: [
39656
+ contactText && (typeof contactText === "string" ? /* @__PURE__ */ jsx("p", { className: "text-sm font-medium", children: contactText }) : contactText),
39657
+ /* @__PURE__ */ jsx(
39658
+ Pressable,
39659
+ {
39660
+ href: contactAction.href,
39661
+ onClick: contactAction.onClick,
39662
+ variant: contactAction.variant || "outline",
39663
+ size: contactAction.size,
39664
+ className: cn("mt-3 w-full", contactAction.className),
39665
+ children: contactAction.children || contactAction.label
39666
+ }
39667
+ )
39668
+ ]
39669
+ }
39670
+ )
38496
39671
  ] });
38497
- }, [profileSlot, profileImage, profileName, profileRole, profileDescription, contactText, contactAction, profileCardClassName, profileImageClassName, profileNameClassName, profileRoleClassName, profileDescriptionClassName, contactSectionClassName, optixFlowConfig]);
39672
+ }, [
39673
+ profileSlot,
39674
+ profileImage,
39675
+ profileName,
39676
+ profileRole,
39677
+ profileDescription,
39678
+ contactText,
39679
+ contactAction,
39680
+ profileCardClassName,
39681
+ profileImageClassName,
39682
+ profileNameClassName,
39683
+ profileRoleClassName,
39684
+ profileDescriptionClassName,
39685
+ contactSectionClassName,
39686
+ optixFlowConfig
39687
+ ]);
38498
39688
  return /* @__PURE__ */ jsx(
38499
39689
  Section,
38500
39690
  {
@@ -38508,7 +39698,7 @@ function FaqProfileSidebar({
38508
39698
  "div",
38509
39699
  {
38510
39700
  className: cn(
38511
- "flex flex-col gap-10 lg:flex-row lg:gap-16",
39701
+ "flex flex-col gap-6 lg:flex-row lg:gap-16",
38512
39702
  contentWrapperClassName
38513
39703
  ),
38514
39704
  children: [
@@ -38552,14 +39742,11 @@ function FaqSplitHero({
38552
39742
  imageSlot,
38553
39743
  imageSrc,
38554
39744
  imageAlt,
38555
- background,
38556
- spacing,
39745
+ background = "dark",
38557
39746
  pattern,
38558
39747
  patternOpacity,
38559
- patternClassName,
38560
39748
  className,
38561
- contentWrapperClassName,
38562
- leftColumnClassName,
39749
+ contentClassName,
38563
39750
  headerClassName,
38564
39751
  headingClassName,
38565
39752
  subheadingClassName,
@@ -38568,8 +39755,23 @@ function FaqSplitHero({
38568
39755
  accordionTriggerClassName,
38569
39756
  accordionContentClassName,
38570
39757
  imageClassName,
38571
- optixFlowConfig
39758
+ optixFlowConfig,
39759
+ directionConfig = { desktop: "mediaRight", mobile: "mediaTop" }
38572
39760
  }) {
39761
+ const bgColorClass = useMemo$1(() => {
39762
+ switch (background) {
39763
+ case "dark":
39764
+ return "bg-gray-900 text-white";
39765
+ case "gray":
39766
+ return "bg-gray-100 text-gray-900";
39767
+ case "white":
39768
+ return "bg-white text-gray-900";
39769
+ default:
39770
+ return "bg-background text-foreground";
39771
+ }
39772
+ }, [background]);
39773
+ const desktopOrder = directionConfig.desktop === "mediaRight" ? "lg:flex-row" : "lg:flex-row-reverse";
39774
+ const mobileOrder = directionConfig.mobile === "mediaTop" ? "flex-col" : "flex-col-reverse";
38573
39775
  const itemsContent = useMemo$1(() => {
38574
39776
  if (itemsSlot) return itemsSlot;
38575
39777
  if (!items || items.length === 0) return null;
@@ -38583,13 +39785,13 @@ function FaqSplitHero({
38583
39785
  AccordionItem,
38584
39786
  {
38585
39787
  value: item.id,
38586
- className: cn("border-b border-border/50", accordionItemClassName),
39788
+ className: cn("border-b border-current/20", accordionItemClassName),
38587
39789
  children: [
38588
39790
  /* @__PURE__ */ jsx(
38589
39791
  AccordionTrigger,
38590
39792
  {
38591
39793
  className: cn(
38592
- "py-4 text-left text-base font-medium text-foreground transition-colors hover:text-primary hover:no-underline lg:text-lg",
39794
+ "py-4 text-left text-base font-medium transition-opacity hover:opacity-70 hover:no-underline lg:text-lg",
38593
39795
  accordionTriggerClassName
38594
39796
  ),
38595
39797
  children: item.question
@@ -38598,10 +39800,7 @@ function FaqSplitHero({
38598
39800
  /* @__PURE__ */ jsx(
38599
39801
  AccordionContent,
38600
39802
  {
38601
- className: cn(
38602
- "pb-4 text-muted-foreground",
38603
- accordionContentClassName
38604
- ),
39803
+ className: cn("pb-4 opacity-80", accordionContentClassName),
38605
39804
  children: item.answer
38606
39805
  }
38607
39806
  )
@@ -38611,71 +39810,65 @@ function FaqSplitHero({
38611
39810
  ))
38612
39811
  }
38613
39812
  );
38614
- }, [itemsSlot, items, accordionClassName, accordionItemClassName, accordionTriggerClassName, accordionContentClassName]);
38615
- const imageContent = useMemo$1(() => {
38616
- if (imageSlot) return imageSlot;
38617
- if (!imageSrc) return null;
38618
- return /* @__PURE__ */ jsx(
38619
- Img,
38620
- {
38621
- src: imageSrc,
38622
- alt: imageAlt || "FAQ section image",
38623
- className: cn(
38624
- "hidden h-screen w-1/2 object-cover lg:block",
38625
- imageClassName
38626
- ),
38627
- optixFlowConfig
38628
- }
38629
- );
38630
- }, [imageSlot, imageSrc, imageAlt, imageClassName, optixFlowConfig]);
38631
- return /* @__PURE__ */ jsx(
38632
- Section,
39813
+ }, [
39814
+ itemsSlot,
39815
+ items,
39816
+ accordionClassName,
39817
+ accordionItemClassName,
39818
+ accordionTriggerClassName,
39819
+ accordionContentClassName
39820
+ ]);
39821
+ const contentArea = /* @__PURE__ */ jsxs(
39822
+ "div",
38633
39823
  {
38634
- background,
38635
- spacing,
38636
- pattern,
38637
- patternOpacity,
38638
- patternClassName,
38639
- className: cn("dark flex", className),
38640
- children: /* @__PURE__ */ jsxs("div", { className: cn("flex", contentWrapperClassName), children: [
38641
- /* @__PURE__ */ jsx(
38642
- "div",
38643
- {
38644
- className: cn(
38645
- "flex w-full items-center justify-center bg-background lg:w-1/2",
38646
- leftColumnClassName
38647
- ),
38648
- children: /* @__PURE__ */ jsxs("div", { className: "container my-10 flex w-full max-w-[600px] flex-col gap-8 px-6 lg:px-10", children: [
38649
- /* @__PURE__ */ jsxs("div", { className: cn("space-y-4", headerClassName), children: [
38650
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
38651
- "h2",
38652
- {
38653
- className: cn(
38654
- "text-3xl font-bold text-foreground lg:text-4xl",
38655
- headingClassName
38656
- ),
38657
- children: heading
38658
- }
38659
- ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
38660
- subheading && (typeof subheading === "string" ? /* @__PURE__ */ jsx(
38661
- "p",
38662
- {
38663
- className: cn(
38664
- "text-lg text-muted-foreground",
38665
- subheadingClassName
38666
- ),
38667
- children: subheading
38668
- }
38669
- ) : /* @__PURE__ */ jsx("div", { className: subheadingClassName, children: subheading }))
38670
- ] }),
38671
- itemsContent
38672
- ] })
38673
- }
38674
- ),
38675
- imageContent
38676
- ] })
39824
+ className: cn(
39825
+ "relative flex w-full items-center lg:w-1/2",
39826
+ bgColorClass,
39827
+ contentClassName
39828
+ ),
39829
+ children: [
39830
+ pattern && /* @__PURE__ */ jsx("div", { className: "absolute inset-0 overflow-hidden", children: /* @__PURE__ */ jsx(PatternBackground, { pattern, opacity: patternOpacity }) }),
39831
+ /* @__PURE__ */ jsx("div", { className: "relative z-10 w-full px-8 py-16 sm:px-12 sm:py-20 lg:px-16 lg:py-24 xl:px-24", children: /* @__PURE__ */ jsxs("div", { className: "mx-auto max-w-xl space-y-8", children: [
39832
+ /* @__PURE__ */ jsxs("div", { className: cn("space-y-4", headerClassName), children: [
39833
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
39834
+ "h2",
39835
+ {
39836
+ className: cn(
39837
+ "text-3xl font-bold leading-tight tracking-tight sm:text-4xl lg:text-5xl",
39838
+ headingClassName
39839
+ ),
39840
+ children: heading
39841
+ }
39842
+ ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
39843
+ subheading && (typeof subheading === "string" ? /* @__PURE__ */ jsx(
39844
+ "p",
39845
+ {
39846
+ className: cn(
39847
+ "text-base leading-relaxed opacity-80 sm:text-lg",
39848
+ subheadingClassName
39849
+ ),
39850
+ children: subheading
39851
+ }
39852
+ ) : /* @__PURE__ */ jsx("div", { className: subheadingClassName, children: subheading }))
39853
+ ] }),
39854
+ itemsContent
39855
+ ] }) })
39856
+ ]
38677
39857
  }
38678
39858
  );
39859
+ const imageArea = imageSlot ? /* @__PURE__ */ jsx("div", { className: "relative h-64 w-full sm:h-96 lg:h-auto lg:w-1/2", children: imageSlot }) : imageSrc ? /* @__PURE__ */ jsx("div", { className: "relative h-64 w-full sm:h-96 lg:h-auto lg:w-1/2", children: /* @__PURE__ */ jsx(
39860
+ Img,
39861
+ {
39862
+ src: imageSrc,
39863
+ alt: imageAlt || "FAQ section image",
39864
+ className: cn("h-full w-full object-cover", imageClassName),
39865
+ optixFlowConfig
39866
+ }
39867
+ ) }) : null;
39868
+ return /* @__PURE__ */ jsx("section", { className: cn("relative w-full overflow-hidden", className), children: /* @__PURE__ */ jsxs("div", { className: cn("flex min-h-screen", mobileOrder, desktopOrder), children: [
39869
+ contentArea,
39870
+ imageArea
39871
+ ] }) });
38679
39872
  }
38680
39873
  function AboutSplitHero({
38681
39874
  brandText,