@opensite/ui 0.6.3 → 0.6.5

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 (61) hide show
  1. package/dist/about-startup-team.cjs +2 -2
  2. package/dist/about-startup-team.js +2 -2
  3. package/dist/article-breadcrumb-social.cjs +434 -215
  4. package/dist/article-breadcrumb-social.d.cts +19 -1
  5. package/dist/article-breadcrumb-social.d.ts +19 -1
  6. package/dist/article-breadcrumb-social.js +434 -214
  7. package/dist/article-chapters-author.cjs +422 -204
  8. package/dist/article-chapters-author.d.cts +19 -1
  9. package/dist/article-chapters-author.d.ts +19 -1
  10. package/dist/article-chapters-author.js +422 -203
  11. package/dist/article-compact-toc.cjs +429 -73
  12. package/dist/article-compact-toc.d.cts +19 -1
  13. package/dist/article-compact-toc.d.ts +19 -1
  14. package/dist/article-compact-toc.js +430 -73
  15. package/dist/article-hero-prose.cjs +394 -347
  16. package/dist/article-hero-prose.d.cts +19 -1
  17. package/dist/article-hero-prose.d.ts +19 -1
  18. package/dist/article-hero-prose.js +396 -348
  19. package/dist/article-sidebar-sticky.cjs +398 -152
  20. package/dist/article-sidebar-sticky.d.cts +19 -1
  21. package/dist/article-sidebar-sticky.d.ts +19 -1
  22. package/dist/article-sidebar-sticky.js +400 -153
  23. package/dist/article-split-animated.cjs +422 -35
  24. package/dist/article-split-animated.d.cts +19 -1
  25. package/dist/article-split-animated.d.ts +19 -1
  26. package/dist/article-split-animated.js +423 -35
  27. package/dist/article-toc-sidebar.cjs +417 -356
  28. package/dist/article-toc-sidebar.d.cts +19 -1
  29. package/dist/article-toc-sidebar.d.ts +19 -1
  30. package/dist/article-toc-sidebar.js +417 -355
  31. package/dist/blog-cards-read-time.cjs +66 -27
  32. package/dist/blog-cards-read-time.js +66 -27
  33. package/dist/blog-cards-tagline-cta.cjs +64 -14
  34. package/dist/blog-cards-tagline-cta.js +64 -14
  35. package/dist/blog-carousel-apple.cjs +1255 -0
  36. package/dist/blog-carousel-apple.d.cts +113 -0
  37. package/dist/blog-carousel-apple.d.ts +113 -0
  38. package/dist/blog-carousel-apple.js +1234 -0
  39. package/dist/blog-category-overlay.cjs +77 -15
  40. package/dist/blog-category-overlay.js +77 -15
  41. package/dist/blog-featured-popular.cjs +72 -14
  42. package/dist/blog-featured-popular.js +72 -14
  43. package/dist/blog-filtered-results.cjs +122 -39
  44. package/dist/blog-filtered-results.js +122 -39
  45. package/dist/blog-grid-author-cards.cjs +40 -6
  46. package/dist/blog-grid-author-cards.js +40 -6
  47. package/dist/blog-grid-nine-posts.cjs +40 -6
  48. package/dist/blog-grid-nine-posts.js +40 -6
  49. package/dist/blog-horizontal-cards.cjs +34 -6
  50. package/dist/blog-horizontal-cards.js +34 -6
  51. package/dist/blog-horizontal-timeline.cjs +41 -12
  52. package/dist/blog-horizontal-timeline.js +41 -12
  53. package/dist/blog-masonry-featured.cjs +96 -52
  54. package/dist/blog-masonry-featured.js +96 -52
  55. package/dist/blog-related-articles.cjs +47 -9
  56. package/dist/blog-related-articles.js +47 -9
  57. package/dist/blog-tech-insights.cjs +78 -14
  58. package/dist/blog-tech-insights.js +78 -14
  59. package/dist/registry.cjs +1036 -687
  60. package/dist/registry.js +1036 -687
  61. package/package.json +1 -1
@@ -520,6 +520,379 @@ function Separator({
520
520
  }
521
521
  );
522
522
  }
523
+ var maxWidthStyles = {
524
+ sm: "max-w-screen-sm",
525
+ md: "max-w-screen-md",
526
+ lg: "max-w-screen-lg",
527
+ xl: "max-w-7xl",
528
+ "2xl": "max-w-screen-2xl",
529
+ "4xl": "max-w-[1536px]",
530
+ full: "max-w-full"
531
+ };
532
+ var Container = React__namespace.default.forwardRef(
533
+ ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
534
+ const Component = as;
535
+ return /* @__PURE__ */ jsxRuntime.jsx(
536
+ Component,
537
+ {
538
+ ref,
539
+ className: cn(
540
+ "mx-auto w-full px-2 sm:px-4 lg:px-8",
541
+ maxWidthStyles[maxWidth],
542
+ className
543
+ ),
544
+ ...props,
545
+ children
546
+ }
547
+ );
548
+ }
549
+ );
550
+ Container.displayName = "Container";
551
+
552
+ // lib/patternSvgs.ts
553
+ var patternSvgs = {
554
+ squareAltGrid: "https://cdn.ing/assets/files/record/286187/4gpn0yq2ptra8iwlvmwwv860ggwv",
555
+ grid1: "https://cdn.ing/assets/files/record/286186/nbdflpgp4ostrno079hygibsflp3",
556
+ noise: "https://cdn.ing/assets/i/r/286188/zrqcp9hynh3j7p2laihwzfbujgrl/noise.png",
557
+ dots: "https://cdn.ing/assets/files/record/286198/yfsjx9thvtxzhl2qtshxyhkrm524",
558
+ dotPattern: "https://cdn.ing/assets/files/record/286192/7ig0cku8aqbboiza8nuk6hw0nnsr",
559
+ dotPattern2: "https://cdn.ing/assets/files/record/286189/arez6gd2s7isn9i1o6c7sexdq7bl",
560
+ circles: "https://cdn.ing/assets/files/record/286190/gtmia3sncjtzetdshc20zf1d3c17",
561
+ waves: "https://cdn.ing/assets/files/record/286191/mqlb33fzxz9cdth1bx7if0wmpkp1",
562
+ crossPattern: "https://cdn.ing/assets/files/record/286193/9yfqwdbnqaipbp7fsb3wbzzmq472",
563
+ architect: "https://cdn.ing/assets/files/record/286194/vgs88ugpvyhxu13wqgy0acvae6re",
564
+ tinyCheckers: "https://cdn.ing/assets/files/record/286195/65efaknsw8kcpf9o3c2gybytsl5b",
565
+ p6: "https://cdn.ing/assets/i/r/286196/6kl0rqnd6mjk8j7e525fo8fo0vkc/p6.webp"
566
+ };
567
+ var maskTop = "radial-gradient(ellipse 70% 60% at 50% 0%, #000 60%, transparent 100%)";
568
+ var maskBottom = "radial-gradient(ellipse 100% 80% at 50% 100%, #000 50%, transparent 90%)";
569
+ var maskCenter = "radial-gradient(ellipse 60% 60% at 50% 50%, #000 30%, transparent 70%)";
570
+ var maskTopLeft = "radial-gradient(ellipse 80% 80% at 0% 0%, #000 50%, transparent 90%)";
571
+ var maskTopRight = "radial-gradient(ellipse 80% 80% at 100% 0%, #000 50%, transparent 90%)";
572
+ var maskBottomLeft = "radial-gradient(ellipse 80% 80% at 0% 100%, #000 50%, transparent 90%)";
573
+ var maskBottomRight = "radial-gradient(ellipse 80% 80% at 100% 100%, #000 50%, transparent 90%)";
574
+ var circuitBoardPattern = (id, mask) => /* @__PURE__ */ jsxRuntime.jsxs(
575
+ "svg",
576
+ {
577
+ className: "h-full w-full",
578
+ xmlns: "http://www.w3.org/2000/svg",
579
+ style: mask ? {
580
+ maskImage: mask,
581
+ WebkitMaskImage: mask
582
+ } : void 0,
583
+ children: [
584
+ /* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsxs(
585
+ "pattern",
586
+ {
587
+ id,
588
+ x: "0",
589
+ y: "0",
590
+ width: "100",
591
+ height: "100",
592
+ patternUnits: "userSpaceOnUse",
593
+ children: [
594
+ /* @__PURE__ */ jsxRuntime.jsx(
595
+ "path",
596
+ {
597
+ d: "M0 50h40M60 50h40M50 0v40M50 60v40",
598
+ stroke: "hsl(var(--muted))",
599
+ strokeWidth: "1",
600
+ fill: "none"
601
+ }
602
+ ),
603
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "50", cy: "50", r: "3", fill: "hsl(var(--muted))" }),
604
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "0", cy: "50", r: "2", fill: "hsl(var(--muted))" }),
605
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "100", cy: "50", r: "2", fill: "hsl(var(--muted))" }),
606
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "50", cy: "0", r: "2", fill: "hsl(var(--muted))" }),
607
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "50", cy: "100", r: "2", fill: "hsl(var(--muted))" })
608
+ ]
609
+ }
610
+ ) }),
611
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { width: "100%", height: "100%", fill: `url(#${id})` })
612
+ ]
613
+ }
614
+ );
615
+ var gridDotsPattern = (id, mask) => /* @__PURE__ */ jsxRuntime.jsxs(
616
+ "svg",
617
+ {
618
+ className: "h-full w-full",
619
+ xmlns: "http://www.w3.org/2000/svg",
620
+ style: mask ? {
621
+ maskImage: mask,
622
+ WebkitMaskImage: mask
623
+ } : void 0,
624
+ children: [
625
+ /* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsxs(
626
+ "pattern",
627
+ {
628
+ id,
629
+ x: "0",
630
+ y: "0",
631
+ width: "40",
632
+ height: "40",
633
+ patternUnits: "userSpaceOnUse",
634
+ children: [
635
+ /* @__PURE__ */ jsxRuntime.jsx(
636
+ "path",
637
+ {
638
+ d: "M0 20h40M20 0v40",
639
+ stroke: "hsl(var(--muted))",
640
+ strokeWidth: "0.5",
641
+ fill: "none"
642
+ }
643
+ ),
644
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "20", cy: "20", r: "2", fill: "hsl(var(--muted))" })
645
+ ]
646
+ }
647
+ ) }),
648
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { width: "100%", height: "100%", fill: `url(#${id})` })
649
+ ]
650
+ }
651
+ );
652
+ var gridPattern = (size, mask) => /* @__PURE__ */ jsxRuntime.jsx(
653
+ "div",
654
+ {
655
+ className: "h-full w-full bg-[linear-gradient(to_right,_hsl(var(--muted))_1px,_transparent_1px),linear-gradient(to_bottom,_hsl(var(--muted))_1px,_transparent_1px)]",
656
+ style: {
657
+ backgroundSize: `${size}px ${size}px`,
658
+ ...mask ? {
659
+ maskImage: mask,
660
+ WebkitMaskImage: mask
661
+ } : {}
662
+ }
663
+ }
664
+ );
665
+ var diagonalCrossPattern = (mask) => /* @__PURE__ */ jsxRuntime.jsx(
666
+ "div",
667
+ {
668
+ className: "h-full w-full",
669
+ style: {
670
+ backgroundImage: "repeating-linear-gradient(45deg, transparent, transparent 32px, hsl(var(--muted)) 32px, hsl(var(--muted)) 33px), repeating-linear-gradient(135deg, transparent, transparent 32px, hsl(var(--muted)) 32px, hsl(var(--muted)) 33px)",
671
+ ...mask ? {
672
+ maskImage: mask,
673
+ WebkitMaskImage: mask
674
+ } : {}
675
+ }
676
+ }
677
+ );
678
+ var dashedGridMaskBase = "repeating-linear-gradient(to right, black 0px, black 3px, transparent 3px, transparent 8px), repeating-linear-gradient(to bottom, black 0px, black 3px, transparent 3px, transparent 8px)";
679
+ var dashedGridPattern = (fadeMask) => {
680
+ const mask = fadeMask ? `${dashedGridMaskBase}, ${fadeMask}` : dashedGridMaskBase;
681
+ return /* @__PURE__ */ jsxRuntime.jsx(
682
+ "div",
683
+ {
684
+ className: "h-full w-full",
685
+ style: {
686
+ backgroundImage: "linear-gradient(to right, hsl(var(--muted)) 1px, transparent 1px), linear-gradient(to bottom, hsl(var(--muted)) 1px, transparent 1px)",
687
+ backgroundSize: "20px 20px",
688
+ backgroundPosition: "0 0, 0 0",
689
+ maskImage: mask,
690
+ WebkitMaskImage: mask,
691
+ maskComposite: "intersect",
692
+ WebkitMaskComposite: "source-in"
693
+ }
694
+ }
695
+ );
696
+ };
697
+ var gradientGlow = (position) => /* @__PURE__ */ jsxRuntime.jsx(
698
+ "div",
699
+ {
700
+ className: cn(
701
+ "pointer-events-none absolute left-1/2 z-0 aspect-square w-3/4 -translate-x-1/2 rounded-full opacity-50 blur-3xl",
702
+ position === "top" ? "-top-1/4" : "-bottom-1/4"
703
+ ),
704
+ style: {
705
+ background: "radial-gradient(circle, hsl(var(--primary)) 0%, transparent 70%)"
706
+ }
707
+ }
708
+ );
709
+ var spotlight = (position) => /* @__PURE__ */ jsxRuntime.jsx(
710
+ "div",
711
+ {
712
+ className: cn(
713
+ "pointer-events-none absolute top-1/2 z-0 aspect-square w-3/4 -translate-y-1/2 rounded-full opacity-40 blur-3xl",
714
+ position === "left" ? "-left-1/4" : "-right-1/4"
715
+ ),
716
+ style: {
717
+ background: "radial-gradient(circle, hsl(var(--primary)) 0%, transparent 70%)"
718
+ }
719
+ }
720
+ );
721
+ var patternOverlays = {
722
+ circuitBoardBasic: () => circuitBoardPattern("circuit-board-basic"),
723
+ circuitBoardFadeTop: () => circuitBoardPattern("circuit-board-fade-top", maskTop),
724
+ circuitBoardFadeBottom: () => circuitBoardPattern("circuit-board-fade-bottom", maskBottom),
725
+ circuitBoardFadeCenter: () => circuitBoardPattern("circuit-board-fade-center", maskCenter),
726
+ circuitBoardFadeTopLeft: () => circuitBoardPattern("circuit-board-fade-top-left", maskTopLeft),
727
+ circuitBoardFadeTopRight: () => circuitBoardPattern("circuit-board-fade-top-right", maskTopRight),
728
+ circuitBoardFadeBottomLeft: () => circuitBoardPattern("circuit-board-fade-bottom-left", maskBottomLeft),
729
+ circuitBoardFadeBottomRight: () => circuitBoardPattern("circuit-board-fade-bottom-right", maskBottomRight),
730
+ dashedGridBasic: () => dashedGridPattern(),
731
+ dashedGridFadeTop: () => dashedGridPattern(maskTop),
732
+ dashedGridFadeBottom: () => dashedGridPattern(maskBottom),
733
+ dashedGridFadeCenter: () => dashedGridPattern(maskCenter),
734
+ dashedGridFadeTopLeft: () => dashedGridPattern(maskTopLeft),
735
+ dashedGridFadeTopRight: () => dashedGridPattern(maskTopRight),
736
+ dashedGridFadeBottomLeft: () => dashedGridPattern(maskBottomLeft),
737
+ dashedGridFadeBottomRight: () => dashedGridPattern(maskBottomRight),
738
+ diagonalCrossBasic: () => diagonalCrossPattern(),
739
+ diagonalCrossFadeTop: () => diagonalCrossPattern(maskTop),
740
+ diagonalCrossFadeBottom: () => diagonalCrossPattern(maskBottom),
741
+ diagonalCrossFadeCenter: () => diagonalCrossPattern(maskCenter),
742
+ diagonalCrossFadeTopLeft: () => diagonalCrossPattern(maskTopLeft),
743
+ diagonalCrossFadeTopRight: () => diagonalCrossPattern(maskTopRight),
744
+ diagonalCrossFadeBottomLeft: () => diagonalCrossPattern(maskBottomLeft),
745
+ diagonalCrossFadeBottomRight: () => diagonalCrossPattern(maskBottomRight),
746
+ gridBasic: () => gridPattern(40),
747
+ gridFadeTop: () => gridPattern(32, maskTop),
748
+ gridFadeBottom: () => gridPattern(32, maskBottom),
749
+ gridFadeCenter: () => gridPattern(40, maskCenter),
750
+ gridFadeTopLeft: () => gridPattern(32, maskTopLeft),
751
+ gridFadeTopRight: () => gridPattern(32, maskTopRight),
752
+ gridFadeBottomLeft: () => gridPattern(32, maskBottomLeft),
753
+ gridFadeBottomRight: () => gridPattern(32, maskBottomRight),
754
+ gridDotsBasic: () => gridDotsPattern("grid-dots-basic"),
755
+ gridDotsFadeCenter: () => gridDotsPattern("grid-dots-fade-center", maskCenter),
756
+ gradientGlowTop: () => gradientGlow("top"),
757
+ gradientGlowBottom: () => gradientGlow("bottom"),
758
+ spotlightLeft: () => spotlight("left"),
759
+ spotlightRight: () => spotlight("right")
760
+ };
761
+ var inlinePatternStyles = {
762
+ radialGradientTop: {
763
+ background: "radial-gradient(125% 125% at 50% 10%, hsl(var(--background)) 40%, hsl(var(--primary)) 100%)"
764
+ },
765
+ radialGradientBottom: {
766
+ background: "radial-gradient(125% 125% at 50% 90%, hsl(var(--background)) 40%, hsl(var(--primary)) 100%)"
767
+ }
768
+ };
769
+ function PatternBackground({
770
+ pattern,
771
+ opacity = 0.08,
772
+ className,
773
+ style
774
+ }) {
775
+ if (!pattern) {
776
+ return null;
777
+ }
778
+ if (pattern in inlinePatternStyles) {
779
+ const inlineStyle = inlinePatternStyles[pattern];
780
+ return /* @__PURE__ */ jsxRuntime.jsx(
781
+ "div",
782
+ {
783
+ className: cn("pointer-events-none absolute inset-0 z-0", className),
784
+ style: { ...inlineStyle, opacity, ...style },
785
+ "aria-hidden": "true"
786
+ }
787
+ );
788
+ }
789
+ if (pattern in patternOverlays) {
790
+ const Overlay = patternOverlays[pattern];
791
+ return /* @__PURE__ */ jsxRuntime.jsx(
792
+ "div",
793
+ {
794
+ className: cn("pointer-events-none absolute inset-0 z-0", className),
795
+ style: { opacity, ...style },
796
+ "aria-hidden": "true",
797
+ children: Overlay()
798
+ }
799
+ );
800
+ }
801
+ const patternUrl = pattern in patternSvgs ? patternSvgs[pattern] : pattern;
802
+ return /* @__PURE__ */ jsxRuntime.jsx(
803
+ "div",
804
+ {
805
+ className: cn("pointer-events-none absolute inset-0 z-0", className),
806
+ style: {
807
+ backgroundImage: `url(${patternUrl})`,
808
+ backgroundRepeat: "repeat",
809
+ backgroundSize: "auto",
810
+ opacity,
811
+ ...style
812
+ },
813
+ "aria-hidden": "true"
814
+ }
815
+ );
816
+ }
817
+ var backgroundStyles = {
818
+ default: "bg-background text-foreground",
819
+ white: "bg-white text-dark",
820
+ gray: "bg-muted/30 text-foreground",
821
+ dark: "bg-foreground text-background",
822
+ transparent: "bg-transparent text-foreground",
823
+ gradient: "bg-linear-to-br from-primary via-primary/90 to-foreground text-primary-foreground",
824
+ primary: "bg-primary text-primary-foreground",
825
+ secondary: "bg-secondary text-secondary-foreground",
826
+ muted: "bg-muted text-muted-foreground"
827
+ };
828
+ var spacingStyles = {
829
+ none: "py-0 md:py-0",
830
+ sm: "py-12 md:py-16",
831
+ md: "py-16 md:py-24",
832
+ lg: "py-20 md:py-32",
833
+ xl: "py-24 md:py-40"
834
+ };
835
+ var Section = React__namespace.default.forwardRef(
836
+ ({
837
+ id,
838
+ title,
839
+ subtitle,
840
+ children,
841
+ className,
842
+ style,
843
+ background = "default",
844
+ spacing = "lg",
845
+ pattern,
846
+ patternOpacity,
847
+ patternClassName,
848
+ containerClassName,
849
+ containerMaxWidth = "xl",
850
+ ...props
851
+ }, ref) => {
852
+ const effectivePatternOpacity = patternOpacity !== void 0 ? patternOpacity : pattern ? 1 : 0;
853
+ return /* @__PURE__ */ jsxRuntime.jsxs(
854
+ "section",
855
+ {
856
+ ref,
857
+ id,
858
+ className: cn(
859
+ "relative",
860
+ pattern ? "overflow-hidden" : null,
861
+ backgroundStyles[background],
862
+ spacingStyles[spacing],
863
+ className
864
+ ),
865
+ style,
866
+ ...props,
867
+ children: [
868
+ /* @__PURE__ */ jsxRuntime.jsx(
869
+ PatternBackground,
870
+ {
871
+ pattern,
872
+ opacity: effectivePatternOpacity,
873
+ className: patternClassName
874
+ }
875
+ ),
876
+ /* @__PURE__ */ jsxRuntime.jsxs(
877
+ Container,
878
+ {
879
+ maxWidth: containerMaxWidth,
880
+ className: cn("relative z-10", containerClassName),
881
+ children: [
882
+ (title || subtitle) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-12 text-center md:mb-16", children: [
883
+ subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-sm font-semibold uppercase tracking-wider text-primary", children: subtitle }),
884
+ title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-3xl font-bold tracking-tight md:text-4xl lg:text-5xl", children: title })
885
+ ] }),
886
+ children
887
+ ]
888
+ }
889
+ )
890
+ ]
891
+ }
892
+ );
893
+ }
894
+ );
895
+ Section.displayName = "Section";
523
896
  function ArticleSplitAnimatedComponent({
524
897
  className,
525
898
  containerClassName,
@@ -551,7 +924,11 @@ function ArticleSplitAnimatedComponent({
551
924
  ctaHref,
552
925
  ctaSlot,
553
926
  enableAnimations = true,
554
- optixFlowConfig
927
+ optixFlowConfig,
928
+ background,
929
+ spacing,
930
+ pattern,
931
+ patternOpacity
555
932
  }) {
556
933
  const ctaActions = ctaActionsProp ?? (ctaText ? [{ label: ctaText, href: ctaHref || "#", variant: "default", size: "lg" }] : []);
557
934
  const MotionWrapper = enableAnimations ? framerMotion.motion.div : "div";
@@ -630,41 +1007,51 @@ function ArticleSplitAnimatedComponent({
630
1007
  viewport: { once: true },
631
1008
  transition: { duration: 0.5, delay: 0.1 }
632
1009
  } : {};
633
- return /* @__PURE__ */ jsxRuntime.jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-8 lg:grid-cols-2 lg:gap-12", children: [
634
- /* @__PURE__ */ jsxRuntime.jsxs(
635
- MotionWrapper,
636
- {
637
- ...imageAnimationProps,
638
- className: cn(
639
- "relative aspect-4/3 overflow-hidden rounded-2xl lg:aspect-auto lg:h-full",
640
- imageContainerClassName
1010
+ return /* @__PURE__ */ jsxRuntime.jsx(
1011
+ Section,
1012
+ {
1013
+ background,
1014
+ spacing,
1015
+ pattern,
1016
+ patternOpacity,
1017
+ className,
1018
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-8 lg:grid-cols-2 lg:gap-12", children: [
1019
+ /* @__PURE__ */ jsxRuntime.jsxs(
1020
+ MotionWrapper,
1021
+ {
1022
+ ...imageAnimationProps,
1023
+ className: cn(
1024
+ "relative aspect-4/3 overflow-hidden rounded-2xl lg:aspect-auto lg:h-full",
1025
+ imageContainerClassName
1026
+ ),
1027
+ children: [
1028
+ heroMediaContent,
1029
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 bg-linear-to-t from-black/60 via-transparent to-transparent" }),
1030
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-0 left-0 p-6", children: categoryContent })
1031
+ ]
1032
+ }
641
1033
  ),
642
- children: [
643
- heroMediaContent,
644
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 bg-linear-to-t from-black/60 via-transparent to-transparent" }),
645
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-0 left-0 p-6", children: categoryContent })
646
- ]
647
- }
648
- ),
649
- /* @__PURE__ */ jsxRuntime.jsxs(
650
- MotionWrapper,
651
- {
652
- ...contentAnimationProps,
653
- className: cn("flex flex-col justify-center", contentClassName),
654
- children: [
655
- (publishDate || readTime) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center gap-4 text-sm text-muted-foreground", metaClassName), children: [
656
- publishDate && /* @__PURE__ */ jsxRuntime.jsx("span", { children: publishDate }),
657
- publishDate && readTime && /* @__PURE__ */ jsxRuntime.jsx(Separator, { orientation: "vertical", className: "h-4" }),
658
- readTime && /* @__PURE__ */ jsxRuntime.jsx("span", { children: readTime })
659
- ] }),
660
- title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("mt-4 text-3xl font-bold tracking-tight md:text-4xl lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", titleClassName), children: title })),
661
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-4 text-lg text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", descriptionClassName), children: description })),
662
- authorContent,
663
- ctaContent
664
- ]
665
- }
666
- )
667
- ] }) }) });
1034
+ /* @__PURE__ */ jsxRuntime.jsxs(
1035
+ MotionWrapper,
1036
+ {
1037
+ ...contentAnimationProps,
1038
+ className: cn("flex flex-col justify-center", contentClassName),
1039
+ children: [
1040
+ (publishDate || readTime) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center gap-4 text-sm text-muted-foreground", metaClassName), children: [
1041
+ publishDate && /* @__PURE__ */ jsxRuntime.jsx("span", { children: publishDate }),
1042
+ publishDate && readTime && /* @__PURE__ */ jsxRuntime.jsx(Separator, { orientation: "vertical", className: "h-4" }),
1043
+ readTime && /* @__PURE__ */ jsxRuntime.jsx("span", { children: readTime })
1044
+ ] }),
1045
+ title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("mt-4 text-3xl font-bold tracking-tight md:text-4xl lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", titleClassName), children: title })),
1046
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-4 text-lg text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", descriptionClassName), children: description })),
1047
+ authorContent,
1048
+ ctaContent
1049
+ ]
1050
+ }
1051
+ )
1052
+ ] }) })
1053
+ }
1054
+ );
668
1055
  }
669
1056
 
670
1057
  exports.ArticleSplitAnimated = ArticleSplitAnimatedComponent;
@@ -1,5 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
+ import { f as SectionBackground, g as SectionSpacing } from './community-initiatives-CODGexkN.cjs';
4
+ import { P as PatternName } from './pattern-background-a7gKHzHy.cjs';
3
5
  import { A as ActionConfig, O as OptixFlowConfig } from './blocks-Cohq4eio.cjs';
4
6
  import 'class-variance-authority';
5
7
  import './button-variants-lRElsmTc.cjs';
@@ -133,7 +135,23 @@ interface ArticleSplitAnimatedProps {
133
135
  * OptixFlow image optimization configuration
134
136
  */
135
137
  optixFlowConfig?: OptixFlowConfig;
138
+ /**
139
+ * Background style for the section
140
+ */
141
+ background?: SectionBackground;
142
+ /**
143
+ * Vertical spacing for the section
144
+ */
145
+ spacing?: SectionSpacing;
146
+ /**
147
+ * Background pattern
148
+ */
149
+ pattern?: PatternName;
150
+ /**
151
+ * Pattern opacity (0-1)
152
+ */
153
+ patternOpacity?: number;
136
154
  }
137
- declare function ArticleSplitAnimatedComponent({ className, containerClassName, imageContainerClassName, contentClassName, titleClassName, descriptionClassName, authorClassName, categoryClassName, metaClassName, ctaClassName, title, description, image, imageAlt, heroMediaSlot, authorName, authorImage, authorRole, authorHref, authorSlot, publishDate, readTime, category, categoryHref, categorySlot, ctaActions: ctaActionsProp, ctaText, ctaHref, ctaSlot, enableAnimations, optixFlowConfig, }: ArticleSplitAnimatedProps): react_jsx_runtime.JSX.Element;
155
+ declare function ArticleSplitAnimatedComponent({ className, containerClassName, imageContainerClassName, contentClassName, titleClassName, descriptionClassName, authorClassName, categoryClassName, metaClassName, ctaClassName, title, description, image, imageAlt, heroMediaSlot, authorName, authorImage, authorRole, authorHref, authorSlot, publishDate, readTime, category, categoryHref, categorySlot, ctaActions: ctaActionsProp, ctaText, ctaHref, ctaSlot, enableAnimations, optixFlowConfig, background, spacing, pattern, patternOpacity, }: ArticleSplitAnimatedProps): react_jsx_runtime.JSX.Element;
138
156
 
139
157
  export { ArticleSplitAnimatedComponent as ArticleSplitAnimated, type ArticleSplitAnimatedProps };
@@ -1,5 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
+ import { f as SectionBackground, g as SectionSpacing } from './community-initiatives-31vhKBa1.js';
4
+ import { P as PatternName } from './pattern-background-a7gKHzHy.js';
3
5
  import { A as ActionConfig, O as OptixFlowConfig } from './blocks-k17uluAz.js';
4
6
  import 'class-variance-authority';
5
7
  import './button-variants-lRElsmTc.js';
@@ -133,7 +135,23 @@ interface ArticleSplitAnimatedProps {
133
135
  * OptixFlow image optimization configuration
134
136
  */
135
137
  optixFlowConfig?: OptixFlowConfig;
138
+ /**
139
+ * Background style for the section
140
+ */
141
+ background?: SectionBackground;
142
+ /**
143
+ * Vertical spacing for the section
144
+ */
145
+ spacing?: SectionSpacing;
146
+ /**
147
+ * Background pattern
148
+ */
149
+ pattern?: PatternName;
150
+ /**
151
+ * Pattern opacity (0-1)
152
+ */
153
+ patternOpacity?: number;
136
154
  }
137
- declare function ArticleSplitAnimatedComponent({ className, containerClassName, imageContainerClassName, contentClassName, titleClassName, descriptionClassName, authorClassName, categoryClassName, metaClassName, ctaClassName, title, description, image, imageAlt, heroMediaSlot, authorName, authorImage, authorRole, authorHref, authorSlot, publishDate, readTime, category, categoryHref, categorySlot, ctaActions: ctaActionsProp, ctaText, ctaHref, ctaSlot, enableAnimations, optixFlowConfig, }: ArticleSplitAnimatedProps): react_jsx_runtime.JSX.Element;
155
+ declare function ArticleSplitAnimatedComponent({ className, containerClassName, imageContainerClassName, contentClassName, titleClassName, descriptionClassName, authorClassName, categoryClassName, metaClassName, ctaClassName, title, description, image, imageAlt, heroMediaSlot, authorName, authorImage, authorRole, authorHref, authorSlot, publishDate, readTime, category, categoryHref, categorySlot, ctaActions: ctaActionsProp, ctaText, ctaHref, ctaSlot, enableAnimations, optixFlowConfig, background, spacing, pattern, patternOpacity, }: ArticleSplitAnimatedProps): react_jsx_runtime.JSX.Element;
138
156
 
139
157
  export { ArticleSplitAnimatedComponent as ArticleSplitAnimated, type ArticleSplitAnimatedProps };