@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.
- package/dist/about-startup-team.cjs +2 -2
- package/dist/about-startup-team.js +2 -2
- package/dist/article-breadcrumb-social.cjs +434 -215
- package/dist/article-breadcrumb-social.d.cts +19 -1
- package/dist/article-breadcrumb-social.d.ts +19 -1
- package/dist/article-breadcrumb-social.js +434 -214
- package/dist/article-chapters-author.cjs +422 -204
- package/dist/article-chapters-author.d.cts +19 -1
- package/dist/article-chapters-author.d.ts +19 -1
- package/dist/article-chapters-author.js +422 -203
- package/dist/article-compact-toc.cjs +429 -73
- package/dist/article-compact-toc.d.cts +19 -1
- package/dist/article-compact-toc.d.ts +19 -1
- package/dist/article-compact-toc.js +430 -73
- package/dist/article-hero-prose.cjs +394 -347
- package/dist/article-hero-prose.d.cts +19 -1
- package/dist/article-hero-prose.d.ts +19 -1
- package/dist/article-hero-prose.js +396 -348
- package/dist/article-sidebar-sticky.cjs +398 -152
- package/dist/article-sidebar-sticky.d.cts +19 -1
- package/dist/article-sidebar-sticky.d.ts +19 -1
- package/dist/article-sidebar-sticky.js +400 -153
- package/dist/article-split-animated.cjs +422 -35
- package/dist/article-split-animated.d.cts +19 -1
- package/dist/article-split-animated.d.ts +19 -1
- package/dist/article-split-animated.js +423 -35
- package/dist/article-toc-sidebar.cjs +417 -356
- package/dist/article-toc-sidebar.d.cts +19 -1
- package/dist/article-toc-sidebar.d.ts +19 -1
- package/dist/article-toc-sidebar.js +417 -355
- package/dist/blog-cards-read-time.cjs +66 -27
- package/dist/blog-cards-read-time.js +66 -27
- package/dist/blog-cards-tagline-cta.cjs +64 -14
- package/dist/blog-cards-tagline-cta.js +64 -14
- package/dist/blog-carousel-apple.cjs +1255 -0
- package/dist/blog-carousel-apple.d.cts +113 -0
- package/dist/blog-carousel-apple.d.ts +113 -0
- package/dist/blog-carousel-apple.js +1234 -0
- package/dist/blog-category-overlay.cjs +77 -15
- package/dist/blog-category-overlay.js +77 -15
- package/dist/blog-featured-popular.cjs +72 -14
- package/dist/blog-featured-popular.js +72 -14
- package/dist/blog-filtered-results.cjs +122 -39
- package/dist/blog-filtered-results.js +122 -39
- package/dist/blog-grid-author-cards.cjs +40 -6
- package/dist/blog-grid-author-cards.js +40 -6
- package/dist/blog-grid-nine-posts.cjs +40 -6
- package/dist/blog-grid-nine-posts.js +40 -6
- package/dist/blog-horizontal-cards.cjs +34 -6
- package/dist/blog-horizontal-cards.js +34 -6
- package/dist/blog-horizontal-timeline.cjs +41 -12
- package/dist/blog-horizontal-timeline.js +41 -12
- package/dist/blog-masonry-featured.cjs +96 -52
- package/dist/blog-masonry-featured.js +96 -52
- package/dist/blog-related-articles.cjs +47 -9
- package/dist/blog-related-articles.js +47 -9
- package/dist/blog-tech-insights.cjs +78 -14
- package/dist/blog-tech-insights.js +78 -14
- package/dist/registry.cjs +1036 -687
- package/dist/registry.js +1036 -687
- 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(
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
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
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
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 };
|