@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
|
@@ -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 { O as OptixFlowConfig } from './blocks-k17uluAz.js';
|
|
4
6
|
import 'class-variance-authority';
|
|
5
7
|
import './button-variants-lRElsmTc.js';
|
|
@@ -98,7 +100,23 @@ interface ArticleSidebarStickyProps {
|
|
|
98
100
|
* OptixFlow image optimization configuration
|
|
99
101
|
*/
|
|
100
102
|
optixFlowConfig?: OptixFlowConfig;
|
|
103
|
+
/**
|
|
104
|
+
* Background style for the section
|
|
105
|
+
*/
|
|
106
|
+
background?: SectionBackground;
|
|
107
|
+
/**
|
|
108
|
+
* Vertical spacing for the section
|
|
109
|
+
*/
|
|
110
|
+
spacing?: SectionSpacing;
|
|
111
|
+
/**
|
|
112
|
+
* Background pattern
|
|
113
|
+
*/
|
|
114
|
+
pattern?: PatternName;
|
|
115
|
+
/**
|
|
116
|
+
* Pattern opacity (0-1)
|
|
117
|
+
*/
|
|
118
|
+
patternOpacity?: number;
|
|
101
119
|
}
|
|
102
|
-
declare function ArticleSidebarStickyComponent({ className, containerClassName, sidebarClassName, articleClassName, titleClassName, authorClassName, heroImageClassName, backLinkClassName, backHref, backText, backIcon, backLinkSlot, title, authorName, authorImage, authorHref, publishDate, authorSlot, heroImageSrc, heroImageAlt, heroMediaSlot, children, optixFlowConfig, }: ArticleSidebarStickyProps): react_jsx_runtime.JSX.Element;
|
|
120
|
+
declare function ArticleSidebarStickyComponent({ className, containerClassName, sidebarClassName, articleClassName, titleClassName, authorClassName, heroImageClassName, backLinkClassName, backHref, backText, backIcon, backLinkSlot, title, authorName, authorImage, authorHref, publishDate, authorSlot, heroImageSrc, heroImageAlt, heroMediaSlot, children, optixFlowConfig, background, spacing, pattern, patternOpacity, }: ArticleSidebarStickyProps): react_jsx_runtime.JSX.Element;
|
|
103
121
|
|
|
104
122
|
export { ArticleSidebarStickyComponent as ArticleSidebarSticky, type ArticleSidebarStickyProps };
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
+
import React__default from 'react';
|
|
3
4
|
import { clsx } from 'clsx';
|
|
4
5
|
import { twMerge } from 'tailwind-merge';
|
|
5
6
|
import { Img } from '@page-speed/img';
|
|
6
7
|
import { cva } from 'class-variance-authority';
|
|
7
|
-
import { jsx, jsxs
|
|
8
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
8
9
|
import * as AvatarPrimitive from '@radix-ui/react-avatar';
|
|
9
10
|
|
|
10
11
|
// components/blocks/article/article-sidebar-sticky.tsx
|
|
@@ -579,147 +580,379 @@ function AvatarFallback({
|
|
|
579
580
|
}
|
|
580
581
|
);
|
|
581
582
|
}
|
|
583
|
+
var maxWidthStyles = {
|
|
584
|
+
sm: "max-w-screen-sm",
|
|
585
|
+
md: "max-w-screen-md",
|
|
586
|
+
lg: "max-w-screen-lg",
|
|
587
|
+
xl: "max-w-7xl",
|
|
588
|
+
"2xl": "max-w-screen-2xl",
|
|
589
|
+
"4xl": "max-w-[1536px]",
|
|
590
|
+
full: "max-w-full"
|
|
591
|
+
};
|
|
592
|
+
var Container = React__default.forwardRef(
|
|
593
|
+
({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
|
|
594
|
+
const Component = as;
|
|
595
|
+
return /* @__PURE__ */ jsx(
|
|
596
|
+
Component,
|
|
597
|
+
{
|
|
598
|
+
ref,
|
|
599
|
+
className: cn(
|
|
600
|
+
"mx-auto w-full px-2 sm:px-4 lg:px-8",
|
|
601
|
+
maxWidthStyles[maxWidth],
|
|
602
|
+
className
|
|
603
|
+
),
|
|
604
|
+
...props,
|
|
605
|
+
children
|
|
606
|
+
}
|
|
607
|
+
);
|
|
608
|
+
}
|
|
609
|
+
);
|
|
610
|
+
Container.displayName = "Container";
|
|
582
611
|
|
|
583
|
-
// lib/
|
|
584
|
-
var
|
|
585
|
-
"https://
|
|
586
|
-
"https://
|
|
587
|
-
"https://
|
|
588
|
-
"https://
|
|
589
|
-
"https://
|
|
590
|
-
"https://
|
|
591
|
-
"https://
|
|
592
|
-
"https://
|
|
593
|
-
"https://
|
|
594
|
-
"https://
|
|
595
|
-
"https://
|
|
596
|
-
"https://
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
"
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
"
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
"
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
"
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
612
|
+
// lib/patternSvgs.ts
|
|
613
|
+
var patternSvgs = {
|
|
614
|
+
squareAltGrid: "https://cdn.ing/assets/files/record/286187/4gpn0yq2ptra8iwlvmwwv860ggwv",
|
|
615
|
+
grid1: "https://cdn.ing/assets/files/record/286186/nbdflpgp4ostrno079hygibsflp3",
|
|
616
|
+
noise: "https://cdn.ing/assets/i/r/286188/zrqcp9hynh3j7p2laihwzfbujgrl/noise.png",
|
|
617
|
+
dots: "https://cdn.ing/assets/files/record/286198/yfsjx9thvtxzhl2qtshxyhkrm524",
|
|
618
|
+
dotPattern: "https://cdn.ing/assets/files/record/286192/7ig0cku8aqbboiza8nuk6hw0nnsr",
|
|
619
|
+
dotPattern2: "https://cdn.ing/assets/files/record/286189/arez6gd2s7isn9i1o6c7sexdq7bl",
|
|
620
|
+
circles: "https://cdn.ing/assets/files/record/286190/gtmia3sncjtzetdshc20zf1d3c17",
|
|
621
|
+
waves: "https://cdn.ing/assets/files/record/286191/mqlb33fzxz9cdth1bx7if0wmpkp1",
|
|
622
|
+
crossPattern: "https://cdn.ing/assets/files/record/286193/9yfqwdbnqaipbp7fsb3wbzzmq472",
|
|
623
|
+
architect: "https://cdn.ing/assets/files/record/286194/vgs88ugpvyhxu13wqgy0acvae6re",
|
|
624
|
+
tinyCheckers: "https://cdn.ing/assets/files/record/286195/65efaknsw8kcpf9o3c2gybytsl5b",
|
|
625
|
+
p6: "https://cdn.ing/assets/i/r/286196/6kl0rqnd6mjk8j7e525fo8fo0vkc/p6.webp"
|
|
626
|
+
};
|
|
627
|
+
var maskTop = "radial-gradient(ellipse 70% 60% at 50% 0%, #000 60%, transparent 100%)";
|
|
628
|
+
var maskBottom = "radial-gradient(ellipse 100% 80% at 50% 100%, #000 50%, transparent 90%)";
|
|
629
|
+
var maskCenter = "radial-gradient(ellipse 60% 60% at 50% 50%, #000 30%, transparent 70%)";
|
|
630
|
+
var maskTopLeft = "radial-gradient(ellipse 80% 80% at 0% 0%, #000 50%, transparent 90%)";
|
|
631
|
+
var maskTopRight = "radial-gradient(ellipse 80% 80% at 100% 0%, #000 50%, transparent 90%)";
|
|
632
|
+
var maskBottomLeft = "radial-gradient(ellipse 80% 80% at 0% 100%, #000 50%, transparent 90%)";
|
|
633
|
+
var maskBottomRight = "radial-gradient(ellipse 80% 80% at 100% 100%, #000 50%, transparent 90%)";
|
|
634
|
+
var circuitBoardPattern = (id, mask) => /* @__PURE__ */ jsxs(
|
|
635
|
+
"svg",
|
|
636
|
+
{
|
|
637
|
+
className: "h-full w-full",
|
|
638
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
639
|
+
style: mask ? {
|
|
640
|
+
maskImage: mask,
|
|
641
|
+
WebkitMaskImage: mask
|
|
642
|
+
} : void 0,
|
|
643
|
+
children: [
|
|
644
|
+
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs(
|
|
645
|
+
"pattern",
|
|
646
|
+
{
|
|
647
|
+
id,
|
|
648
|
+
x: "0",
|
|
649
|
+
y: "0",
|
|
650
|
+
width: "100",
|
|
651
|
+
height: "100",
|
|
652
|
+
patternUnits: "userSpaceOnUse",
|
|
653
|
+
children: [
|
|
654
|
+
/* @__PURE__ */ jsx(
|
|
655
|
+
"path",
|
|
656
|
+
{
|
|
657
|
+
d: "M0 50h40M60 50h40M50 0v40M50 60v40",
|
|
658
|
+
stroke: "hsl(var(--muted))",
|
|
659
|
+
strokeWidth: "1",
|
|
660
|
+
fill: "none"
|
|
661
|
+
}
|
|
662
|
+
),
|
|
663
|
+
/* @__PURE__ */ jsx("circle", { cx: "50", cy: "50", r: "3", fill: "hsl(var(--muted))" }),
|
|
664
|
+
/* @__PURE__ */ jsx("circle", { cx: "0", cy: "50", r: "2", fill: "hsl(var(--muted))" }),
|
|
665
|
+
/* @__PURE__ */ jsx("circle", { cx: "100", cy: "50", r: "2", fill: "hsl(var(--muted))" }),
|
|
666
|
+
/* @__PURE__ */ jsx("circle", { cx: "50", cy: "0", r: "2", fill: "hsl(var(--muted))" }),
|
|
667
|
+
/* @__PURE__ */ jsx("circle", { cx: "50", cy: "100", r: "2", fill: "hsl(var(--muted))" })
|
|
668
|
+
]
|
|
669
|
+
}
|
|
670
|
+
) }),
|
|
671
|
+
/* @__PURE__ */ jsx("rect", { width: "100%", height: "100%", fill: `url(#${id})` })
|
|
672
|
+
]
|
|
673
|
+
}
|
|
674
|
+
);
|
|
675
|
+
var gridDotsPattern = (id, mask) => /* @__PURE__ */ jsxs(
|
|
676
|
+
"svg",
|
|
677
|
+
{
|
|
678
|
+
className: "h-full w-full",
|
|
679
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
680
|
+
style: mask ? {
|
|
681
|
+
maskImage: mask,
|
|
682
|
+
WebkitMaskImage: mask
|
|
683
|
+
} : void 0,
|
|
684
|
+
children: [
|
|
685
|
+
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs(
|
|
686
|
+
"pattern",
|
|
687
|
+
{
|
|
688
|
+
id,
|
|
689
|
+
x: "0",
|
|
690
|
+
y: "0",
|
|
691
|
+
width: "40",
|
|
692
|
+
height: "40",
|
|
693
|
+
patternUnits: "userSpaceOnUse",
|
|
694
|
+
children: [
|
|
695
|
+
/* @__PURE__ */ jsx(
|
|
696
|
+
"path",
|
|
697
|
+
{
|
|
698
|
+
d: "M0 20h40M20 0v40",
|
|
699
|
+
stroke: "hsl(var(--muted))",
|
|
700
|
+
strokeWidth: "0.5",
|
|
701
|
+
fill: "none"
|
|
702
|
+
}
|
|
703
|
+
),
|
|
704
|
+
/* @__PURE__ */ jsx("circle", { cx: "20", cy: "20", r: "2", fill: "hsl(var(--muted))" })
|
|
705
|
+
]
|
|
706
|
+
}
|
|
707
|
+
) }),
|
|
708
|
+
/* @__PURE__ */ jsx("rect", { width: "100%", height: "100%", fill: `url(#${id})` })
|
|
709
|
+
]
|
|
710
|
+
}
|
|
711
|
+
);
|
|
712
|
+
var gridPattern = (size, mask) => /* @__PURE__ */ jsx(
|
|
713
|
+
"div",
|
|
714
|
+
{
|
|
715
|
+
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)]",
|
|
716
|
+
style: {
|
|
717
|
+
backgroundSize: `${size}px ${size}px`,
|
|
718
|
+
...mask ? {
|
|
719
|
+
maskImage: mask,
|
|
720
|
+
WebkitMaskImage: mask
|
|
721
|
+
} : {}
|
|
722
|
+
}
|
|
723
|
+
}
|
|
724
|
+
);
|
|
725
|
+
var diagonalCrossPattern = (mask) => /* @__PURE__ */ jsx(
|
|
726
|
+
"div",
|
|
727
|
+
{
|
|
728
|
+
className: "h-full w-full",
|
|
729
|
+
style: {
|
|
730
|
+
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)",
|
|
731
|
+
...mask ? {
|
|
732
|
+
maskImage: mask,
|
|
733
|
+
WebkitMaskImage: mask
|
|
734
|
+
} : {}
|
|
735
|
+
}
|
|
736
|
+
}
|
|
737
|
+
);
|
|
738
|
+
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)";
|
|
739
|
+
var dashedGridPattern = (fadeMask) => {
|
|
740
|
+
const mask = fadeMask ? `${dashedGridMaskBase}, ${fadeMask}` : dashedGridMaskBase;
|
|
741
|
+
return /* @__PURE__ */ jsx(
|
|
742
|
+
"div",
|
|
713
743
|
{
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
744
|
+
className: "h-full w-full",
|
|
745
|
+
style: {
|
|
746
|
+
backgroundImage: "linear-gradient(to right, hsl(var(--muted)) 1px, transparent 1px), linear-gradient(to bottom, hsl(var(--muted)) 1px, transparent 1px)",
|
|
747
|
+
backgroundSize: "20px 20px",
|
|
748
|
+
backgroundPosition: "0 0, 0 0",
|
|
749
|
+
maskImage: mask,
|
|
750
|
+
WebkitMaskImage: mask,
|
|
751
|
+
maskComposite: "intersect",
|
|
752
|
+
WebkitMaskComposite: "source-in"
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
);
|
|
756
|
+
};
|
|
757
|
+
var gradientGlow = (position) => /* @__PURE__ */ jsx(
|
|
758
|
+
"div",
|
|
759
|
+
{
|
|
760
|
+
className: cn(
|
|
761
|
+
"pointer-events-none absolute left-1/2 z-0 aspect-square w-3/4 -translate-x-1/2 rounded-full opacity-50 blur-3xl",
|
|
762
|
+
position === "top" ? "-top-1/4" : "-bottom-1/4"
|
|
763
|
+
),
|
|
764
|
+
style: {
|
|
765
|
+
background: "radial-gradient(circle, hsl(var(--primary)) 0%, transparent 70%)"
|
|
766
|
+
}
|
|
767
|
+
}
|
|
768
|
+
);
|
|
769
|
+
var spotlight = (position) => /* @__PURE__ */ jsx(
|
|
770
|
+
"div",
|
|
771
|
+
{
|
|
772
|
+
className: cn(
|
|
773
|
+
"pointer-events-none absolute top-1/2 z-0 aspect-square w-3/4 -translate-y-1/2 rounded-full opacity-40 blur-3xl",
|
|
774
|
+
position === "left" ? "-left-1/4" : "-right-1/4"
|
|
775
|
+
),
|
|
776
|
+
style: {
|
|
777
|
+
background: "radial-gradient(circle, hsl(var(--primary)) 0%, transparent 70%)"
|
|
718
778
|
}
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
779
|
+
}
|
|
780
|
+
);
|
|
781
|
+
var patternOverlays = {
|
|
782
|
+
circuitBoardBasic: () => circuitBoardPattern("circuit-board-basic"),
|
|
783
|
+
circuitBoardFadeTop: () => circuitBoardPattern("circuit-board-fade-top", maskTop),
|
|
784
|
+
circuitBoardFadeBottom: () => circuitBoardPattern("circuit-board-fade-bottom", maskBottom),
|
|
785
|
+
circuitBoardFadeCenter: () => circuitBoardPattern("circuit-board-fade-center", maskCenter),
|
|
786
|
+
circuitBoardFadeTopLeft: () => circuitBoardPattern("circuit-board-fade-top-left", maskTopLeft),
|
|
787
|
+
circuitBoardFadeTopRight: () => circuitBoardPattern("circuit-board-fade-top-right", maskTopRight),
|
|
788
|
+
circuitBoardFadeBottomLeft: () => circuitBoardPattern("circuit-board-fade-bottom-left", maskBottomLeft),
|
|
789
|
+
circuitBoardFadeBottomRight: () => circuitBoardPattern("circuit-board-fade-bottom-right", maskBottomRight),
|
|
790
|
+
dashedGridBasic: () => dashedGridPattern(),
|
|
791
|
+
dashedGridFadeTop: () => dashedGridPattern(maskTop),
|
|
792
|
+
dashedGridFadeBottom: () => dashedGridPattern(maskBottom),
|
|
793
|
+
dashedGridFadeCenter: () => dashedGridPattern(maskCenter),
|
|
794
|
+
dashedGridFadeTopLeft: () => dashedGridPattern(maskTopLeft),
|
|
795
|
+
dashedGridFadeTopRight: () => dashedGridPattern(maskTopRight),
|
|
796
|
+
dashedGridFadeBottomLeft: () => dashedGridPattern(maskBottomLeft),
|
|
797
|
+
dashedGridFadeBottomRight: () => dashedGridPattern(maskBottomRight),
|
|
798
|
+
diagonalCrossBasic: () => diagonalCrossPattern(),
|
|
799
|
+
diagonalCrossFadeTop: () => diagonalCrossPattern(maskTop),
|
|
800
|
+
diagonalCrossFadeBottom: () => diagonalCrossPattern(maskBottom),
|
|
801
|
+
diagonalCrossFadeCenter: () => diagonalCrossPattern(maskCenter),
|
|
802
|
+
diagonalCrossFadeTopLeft: () => diagonalCrossPattern(maskTopLeft),
|
|
803
|
+
diagonalCrossFadeTopRight: () => diagonalCrossPattern(maskTopRight),
|
|
804
|
+
diagonalCrossFadeBottomLeft: () => diagonalCrossPattern(maskBottomLeft),
|
|
805
|
+
diagonalCrossFadeBottomRight: () => diagonalCrossPattern(maskBottomRight),
|
|
806
|
+
gridBasic: () => gridPattern(40),
|
|
807
|
+
gridFadeTop: () => gridPattern(32, maskTop),
|
|
808
|
+
gridFadeBottom: () => gridPattern(32, maskBottom),
|
|
809
|
+
gridFadeCenter: () => gridPattern(40, maskCenter),
|
|
810
|
+
gridFadeTopLeft: () => gridPattern(32, maskTopLeft),
|
|
811
|
+
gridFadeTopRight: () => gridPattern(32, maskTopRight),
|
|
812
|
+
gridFadeBottomLeft: () => gridPattern(32, maskBottomLeft),
|
|
813
|
+
gridFadeBottomRight: () => gridPattern(32, maskBottomRight),
|
|
814
|
+
gridDotsBasic: () => gridDotsPattern("grid-dots-basic"),
|
|
815
|
+
gridDotsFadeCenter: () => gridDotsPattern("grid-dots-fade-center", maskCenter),
|
|
816
|
+
gradientGlowTop: () => gradientGlow("top"),
|
|
817
|
+
gradientGlowBottom: () => gradientGlow("bottom"),
|
|
818
|
+
spotlightLeft: () => spotlight("left"),
|
|
819
|
+
spotlightRight: () => spotlight("right")
|
|
820
|
+
};
|
|
821
|
+
var inlinePatternStyles = {
|
|
822
|
+
radialGradientTop: {
|
|
823
|
+
background: "radial-gradient(125% 125% at 50% 10%, hsl(var(--background)) 40%, hsl(var(--primary)) 100%)"
|
|
824
|
+
},
|
|
825
|
+
radialGradientBottom: {
|
|
826
|
+
background: "radial-gradient(125% 125% at 50% 90%, hsl(var(--background)) 40%, hsl(var(--primary)) 100%)"
|
|
827
|
+
}
|
|
828
|
+
};
|
|
829
|
+
function PatternBackground({
|
|
830
|
+
pattern,
|
|
831
|
+
opacity = 0.08,
|
|
832
|
+
className,
|
|
833
|
+
style
|
|
834
|
+
}) {
|
|
835
|
+
if (!pattern) {
|
|
836
|
+
return null;
|
|
837
|
+
}
|
|
838
|
+
if (pattern in inlinePatternStyles) {
|
|
839
|
+
const inlineStyle = inlinePatternStyles[pattern];
|
|
840
|
+
return /* @__PURE__ */ jsx(
|
|
841
|
+
"div",
|
|
842
|
+
{
|
|
843
|
+
className: cn("pointer-events-none absolute inset-0 z-0", className),
|
|
844
|
+
style: { ...inlineStyle, opacity, ...style },
|
|
845
|
+
"aria-hidden": "true"
|
|
846
|
+
}
|
|
847
|
+
);
|
|
848
|
+
}
|
|
849
|
+
if (pattern in patternOverlays) {
|
|
850
|
+
const Overlay = patternOverlays[pattern];
|
|
851
|
+
return /* @__PURE__ */ jsx(
|
|
852
|
+
"div",
|
|
853
|
+
{
|
|
854
|
+
className: cn("pointer-events-none absolute inset-0 z-0", className),
|
|
855
|
+
style: { opacity, ...style },
|
|
856
|
+
"aria-hidden": "true",
|
|
857
|
+
children: Overlay()
|
|
858
|
+
}
|
|
859
|
+
);
|
|
860
|
+
}
|
|
861
|
+
const patternUrl = pattern in patternSvgs ? patternSvgs[pattern] : pattern;
|
|
862
|
+
return /* @__PURE__ */ jsx(
|
|
863
|
+
"div",
|
|
864
|
+
{
|
|
865
|
+
className: cn("pointer-events-none absolute inset-0 z-0", className),
|
|
866
|
+
style: {
|
|
867
|
+
backgroundImage: `url(${patternUrl})`,
|
|
868
|
+
backgroundRepeat: "repeat",
|
|
869
|
+
backgroundSize: "auto",
|
|
870
|
+
opacity,
|
|
871
|
+
...style
|
|
872
|
+
},
|
|
873
|
+
"aria-hidden": "true"
|
|
874
|
+
}
|
|
875
|
+
);
|
|
876
|
+
}
|
|
877
|
+
var backgroundStyles = {
|
|
878
|
+
default: "bg-background text-foreground",
|
|
879
|
+
white: "bg-white text-dark",
|
|
880
|
+
gray: "bg-muted/30 text-foreground",
|
|
881
|
+
dark: "bg-foreground text-background",
|
|
882
|
+
transparent: "bg-transparent text-foreground",
|
|
883
|
+
gradient: "bg-linear-to-br from-primary via-primary/90 to-foreground text-primary-foreground",
|
|
884
|
+
primary: "bg-primary text-primary-foreground",
|
|
885
|
+
secondary: "bg-secondary text-secondary-foreground",
|
|
886
|
+
muted: "bg-muted text-muted-foreground"
|
|
887
|
+
};
|
|
888
|
+
var spacingStyles = {
|
|
889
|
+
none: "py-0 md:py-0",
|
|
890
|
+
sm: "py-12 md:py-16",
|
|
891
|
+
md: "py-16 md:py-24",
|
|
892
|
+
lg: "py-20 md:py-32",
|
|
893
|
+
xl: "py-24 md:py-40"
|
|
894
|
+
};
|
|
895
|
+
var Section = React__default.forwardRef(
|
|
896
|
+
({
|
|
897
|
+
id,
|
|
898
|
+
title,
|
|
899
|
+
subtitle,
|
|
900
|
+
children,
|
|
901
|
+
className,
|
|
902
|
+
style,
|
|
903
|
+
background = "default",
|
|
904
|
+
spacing = "lg",
|
|
905
|
+
pattern,
|
|
906
|
+
patternOpacity,
|
|
907
|
+
patternClassName,
|
|
908
|
+
containerClassName,
|
|
909
|
+
containerMaxWidth = "xl",
|
|
910
|
+
...props
|
|
911
|
+
}, ref) => {
|
|
912
|
+
const effectivePatternOpacity = patternOpacity !== void 0 ? patternOpacity : pattern ? 1 : 0;
|
|
913
|
+
return /* @__PURE__ */ jsxs(
|
|
914
|
+
"section",
|
|
915
|
+
{
|
|
916
|
+
ref,
|
|
917
|
+
id,
|
|
918
|
+
className: cn(
|
|
919
|
+
"relative",
|
|
920
|
+
pattern ? "overflow-hidden" : null,
|
|
921
|
+
backgroundStyles[background],
|
|
922
|
+
spacingStyles[spacing],
|
|
923
|
+
className
|
|
924
|
+
),
|
|
925
|
+
style,
|
|
926
|
+
...props,
|
|
927
|
+
children: [
|
|
928
|
+
/* @__PURE__ */ jsx(
|
|
929
|
+
PatternBackground,
|
|
930
|
+
{
|
|
931
|
+
pattern,
|
|
932
|
+
opacity: effectivePatternOpacity,
|
|
933
|
+
className: patternClassName
|
|
934
|
+
}
|
|
935
|
+
),
|
|
936
|
+
/* @__PURE__ */ jsxs(
|
|
937
|
+
Container,
|
|
938
|
+
{
|
|
939
|
+
maxWidth: containerMaxWidth,
|
|
940
|
+
className: cn("relative z-10", containerClassName),
|
|
941
|
+
children: [
|
|
942
|
+
(title || subtitle) && /* @__PURE__ */ jsxs("div", { className: "mb-12 text-center md:mb-16", children: [
|
|
943
|
+
subtitle && /* @__PURE__ */ jsx("p", { className: "mb-2 text-sm font-semibold uppercase tracking-wider text-primary", children: subtitle }),
|
|
944
|
+
title && /* @__PURE__ */ jsx("h2", { className: "text-3xl font-bold tracking-tight md:text-4xl lg:text-5xl", children: title })
|
|
945
|
+
] }),
|
|
946
|
+
children
|
|
947
|
+
]
|
|
948
|
+
}
|
|
949
|
+
)
|
|
950
|
+
]
|
|
951
|
+
}
|
|
952
|
+
);
|
|
953
|
+
}
|
|
954
|
+
);
|
|
955
|
+
Section.displayName = "Section";
|
|
723
956
|
function ArticleSidebarStickyComponent({
|
|
724
957
|
className,
|
|
725
958
|
containerClassName,
|
|
@@ -743,7 +976,11 @@ function ArticleSidebarStickyComponent({
|
|
|
743
976
|
heroImageAlt,
|
|
744
977
|
heroMediaSlot,
|
|
745
978
|
children,
|
|
746
|
-
optixFlowConfig
|
|
979
|
+
optixFlowConfig,
|
|
980
|
+
background,
|
|
981
|
+
spacing,
|
|
982
|
+
pattern,
|
|
983
|
+
patternOpacity
|
|
747
984
|
}) {
|
|
748
985
|
const backLinkContent = React.useMemo(() => {
|
|
749
986
|
if (backLinkSlot) return backLinkSlot;
|
|
@@ -788,19 +1025,29 @@ function ArticleSidebarStickyComponent({
|
|
|
788
1025
|
}
|
|
789
1026
|
);
|
|
790
1027
|
}, [heroMediaSlot, heroImageSrc, heroImageAlt, heroImageClassName, optixFlowConfig]);
|
|
791
|
-
return /* @__PURE__ */ jsx(
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
/* @__PURE__ */ jsx("div", { className: "
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
1028
|
+
return /* @__PURE__ */ jsx(
|
|
1029
|
+
Section,
|
|
1030
|
+
{
|
|
1031
|
+
background,
|
|
1032
|
+
spacing,
|
|
1033
|
+
pattern,
|
|
1034
|
+
patternOpacity,
|
|
1035
|
+
className,
|
|
1036
|
+
children: /* @__PURE__ */ jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxs("div", { className: "grid gap-10 lg:grid-cols-[1fr_minmax(0,2fr)]", children: [
|
|
1037
|
+
/* @__PURE__ */ jsx("aside", { className: cn("hidden lg:block", sidebarClassName), children: /* @__PURE__ */ jsxs("div", { className: "sticky top-8 space-y-6", children: [
|
|
1038
|
+
backLinkContent,
|
|
1039
|
+
/* @__PURE__ */ jsx("div", { className: "space-y-4", children: renderAuthor(false) })
|
|
1040
|
+
] }) }),
|
|
1041
|
+
/* @__PURE__ */ jsxs("article", { className: cn("prose max-w-none dark:prose-invert", articleClassName), children: [
|
|
1042
|
+
/* @__PURE__ */ jsx("div", { className: "mb-8 lg:hidden", children: backLinkContent }),
|
|
1043
|
+
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 })),
|
|
1044
|
+
/* @__PURE__ */ jsx("div", { className: "mt-4 lg:hidden", children: renderAuthor(true) }),
|
|
1045
|
+
heroMediaContent,
|
|
1046
|
+
children
|
|
1047
|
+
] })
|
|
1048
|
+
] }) })
|
|
1049
|
+
}
|
|
1050
|
+
);
|
|
804
1051
|
}
|
|
805
1052
|
|
|
806
1053
|
export { ArticleSidebarStickyComponent as ArticleSidebarSticky };
|