@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
@@ -1,5 +1,6 @@
1
1
  "use client";
2
- import * as React4 from 'react';
2
+ import * as React6 from 'react';
3
+ import React6__default from 'react';
3
4
  import { clsx } from 'clsx';
4
5
  import { twMerge } from 'tailwind-merge';
5
6
  import { Img } from '@page-speed/img';
@@ -88,7 +89,7 @@ function useNavigation({
88
89
  href,
89
90
  onClick
90
91
  } = {}) {
91
- const linkType = React4.useMemo(() => {
92
+ const linkType = React6.useMemo(() => {
92
93
  if (!href || href.trim() === "") {
93
94
  return onClick ? "none" : "none";
94
95
  }
@@ -109,7 +110,7 @@ function useNavigation({
109
110
  return "internal";
110
111
  }
111
112
  }, [href, onClick]);
112
- const normalizedHref = React4.useMemo(() => {
113
+ const normalizedHref = React6.useMemo(() => {
113
114
  if (!href || href.trim() === "") {
114
115
  return void 0;
115
116
  }
@@ -127,7 +128,7 @@ function useNavigation({
127
128
  return trimmed;
128
129
  }
129
130
  }, [href, linkType]);
130
- const target = React4.useMemo(() => {
131
+ const target = React6.useMemo(() => {
131
132
  switch (linkType) {
132
133
  case "external":
133
134
  return "_blank";
@@ -140,7 +141,7 @@ function useNavigation({
140
141
  return void 0;
141
142
  }
142
143
  }, [linkType]);
143
- const rel = React4.useMemo(() => {
144
+ const rel = React6.useMemo(() => {
144
145
  if (linkType === "external") {
145
146
  return "noopener noreferrer";
146
147
  }
@@ -149,7 +150,7 @@ function useNavigation({
149
150
  const isExternal = linkType === "external";
150
151
  const isInternal = linkType === "internal";
151
152
  const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
152
- const handleClick = React4.useCallback(
153
+ const handleClick = React6.useCallback(
153
154
  (event) => {
154
155
  if (onClick) {
155
156
  try {
@@ -333,7 +334,7 @@ var buttonVariants = cva(baseStyles, {
333
334
  size: "default"
334
335
  }
335
336
  });
336
- var Pressable = React4.forwardRef(
337
+ var Pressable = React6.forwardRef(
337
338
  ({
338
339
  children,
339
340
  className,
@@ -439,10 +440,10 @@ function DynamicIcon({
439
440
  className,
440
441
  alt
441
442
  }) {
442
- const [svgContent, setSvgContent] = React4.useState(null);
443
- const [isLoading, setIsLoading] = React4.useState(true);
444
- const [error, setError] = React4.useState(null);
445
- const { url, iconName } = React4.useMemo(() => {
443
+ const [svgContent, setSvgContent] = React6.useState(null);
444
+ const [isLoading, setIsLoading] = React6.useState(true);
445
+ const [error, setError] = React6.useState(null);
446
+ const { url, iconName } = React6.useMemo(() => {
446
447
  const separator = name.includes("/") ? "/" : ":";
447
448
  const [prefix, iconName2] = name.split(separator);
448
449
  const baseUrl = `https://icons.opensite.ai/api/icon/${prefix}/${iconName2}?format=svg&width=${size}&height=${size}`;
@@ -451,7 +452,7 @@ function DynamicIcon({
451
452
  iconName: iconName2
452
453
  };
453
454
  }, [name, size]);
454
- React4.useEffect(() => {
455
+ React6.useEffect(() => {
455
456
  let isMounted = true;
456
457
  const fetchSvg = async () => {
457
458
  const cached = svgCache.get(url);
@@ -672,174 +673,379 @@ function Separator({
672
673
  }
673
674
  );
674
675
  }
676
+ var maxWidthStyles = {
677
+ sm: "max-w-screen-sm",
678
+ md: "max-w-screen-md",
679
+ lg: "max-w-screen-lg",
680
+ xl: "max-w-7xl",
681
+ "2xl": "max-w-screen-2xl",
682
+ "4xl": "max-w-[1536px]",
683
+ full: "max-w-full"
684
+ };
685
+ var Container = React6__default.forwardRef(
686
+ ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
687
+ const Component = as;
688
+ return /* @__PURE__ */ jsx(
689
+ Component,
690
+ {
691
+ ref,
692
+ className: cn(
693
+ "mx-auto w-full px-2 sm:px-4 lg:px-8",
694
+ maxWidthStyles[maxWidth],
695
+ className
696
+ ),
697
+ ...props,
698
+ children
699
+ }
700
+ );
701
+ }
702
+ );
703
+ Container.displayName = "Container";
675
704
 
676
- // lib/mediaPlaceholders.ts
677
- var imagePlaceholders = [
678
- "https://toastability-production.s3.amazonaws.com/xlp46pzk3a4d73jgjx4s7xdafwpn",
679
- "https://toastability-production.s3.amazonaws.com/g1iuifb3yzoofo9c7a00koyn6q1t",
680
- "https://toastability-production.s3.amazonaws.com/z9u4sdrj2oq3eds0qyui0nxsus3j",
681
- "https://toastability-production.s3.amazonaws.com/63aotyt2pb4gqpccej2kkw8reson",
682
- "https://toastability-production.s3.amazonaws.com/pjgb223h1bjywdk15i3zi7pjhutg",
683
- "https://toastability-production.s3.amazonaws.com/we9r4e711an6d0bd3dwbl9tb9z7q",
684
- "https://toastability-production.s3.amazonaws.com/f8rfrurzo743ym1s7m5xtbombunz",
685
- "https://toastability-production.s3.amazonaws.com/oe0y4bgiylx81fbfvsw31mhdgjzs",
686
- "https://toastability-production.s3.amazonaws.com/sr370c2cnf7uk5k4f6znyshualv0",
687
- "https://toastability-production.s3.amazonaws.com/cen5x90p3kbdafb80liq1a5j222x",
688
- "https://toastability-production.s3.amazonaws.com/ygob90kp07hxmi5jj4sned76dnmc",
689
- "https://toastability-production.s3.amazonaws.com/qhz2kawawq3bbh7nusz3bvahln3v",
690
- "https://toastability-production.s3.amazonaws.com/zykfhuapdqzu94ee1535gsgnvyac",
691
- "https://toastability-production.s3.amazonaws.com/kh1p8y15v55ctp5ulobm4pd77etm",
692
- "https://toastability-production.s3.amazonaws.com/8x62o6350p1ejm3pjrp1jwvcbh4v",
693
- "https://toastability-production.s3.amazonaws.com/vvixyoo7ybq3h04q2q0kact0s5wc",
694
- "https://toastability-production.s3.amazonaws.com/t502cfynqso7ntkdvmcmfc87yjkt",
695
- "https://toastability-production.s3.amazonaws.com/ihgx63s5nfzp2e93e3ccljjnnrov",
696
- "https://toastability-production.s3.amazonaws.com/b555hwjt7ltr81et05v5254q1ak6",
697
- "https://toastability-production.s3.amazonaws.com/c4sgsy0g7o2rrjmvm9x7evxems82",
698
- "https://toastability-production.s3.amazonaws.com/a3m42usevv0iet0fpfwa1fsytxmv",
699
- "https://toastability-production.s3.amazonaws.com/qghzqu1i99vaubyew9s5dxcbel9l",
700
- "https://toastability-production.s3.amazonaws.com/9covpitzpuuobkg1m4mfokpi0enw",
701
- "https://toastability-production.s3.amazonaws.com/2d4k8d5shwg82276hzj2ztbj7mxq",
702
- "https://toastability-production.s3.amazonaws.com/op92dycs7w856e2jsvx20st0nyz9",
703
- "https://toastability-production.s3.amazonaws.com/f921uoblxbv8f9bmr4s2ik7xxugl",
704
- "https://toastability-production.s3.amazonaws.com/gl7n7p6atndufbsm6q2ac5jeqttp",
705
- "https://toastability-production.s3.amazonaws.com/sj8cs2gpbanaowqwxar1uhhwd23z",
706
- "https://toastability-production.s3.amazonaws.com/hu4gmd93sp95wdyr9qijze0rgim9",
707
- "https://toastability-production.s3.amazonaws.com/uh2vd59np82h8sevbmfnsha89sf1",
708
- "https://toastability-production.s3.amazonaws.com/gxs6zevccphti0hdq5l9fwytprpr",
709
- "https://toastability-production.s3.amazonaws.com/s4vho0wfbjhf758oife8qfuekou8",
710
- "https://toastability-production.s3.amazonaws.com/1b0gd8ul22q799d62dvm3sgyll85",
711
- "https://toastability-production.s3.amazonaws.com/102grjqg8aigxkj585s9x3xbxfv7",
712
- "https://toastability-production.s3.amazonaws.com/dvz0441h9fxjhh88lzqbwdoyxv52",
713
- "https://toastability-production.s3.amazonaws.com/50y066ms7rb5sw62u9u08jzkk8rj",
714
- "https://toastability-production.s3.amazonaws.com/9uxe0jw1zl1tujy0m5yalo7m2ht8",
715
- "https://toastability-production.s3.amazonaws.com/cyhcpla6me8vs936i3fw6wbhypi2",
716
- "https://toastability-production.s3.amazonaws.com/6ntdz6xwid3fswjz8y0otdxmzs40",
717
- "https://toastability-production.s3.amazonaws.com/y1aezpa78m2fhfvj8whcx337y9cb",
718
- "https://toastability-production.s3.amazonaws.com/eoa76d31ynbg34urr6e4619la1f7",
719
- "https://toastability-production.s3.amazonaws.com/0mh8a1dg7ftcqnyzgv303u501c8y",
720
- "https://toastability-production.s3.amazonaws.com/vvucxqs128w2d0z3n4s2z131rq7p",
721
- "https://toastability-production.s3.amazonaws.com/2rbqbw9778770i8izdeabx8v2w2k",
722
- "https://toastability-production.s3.amazonaws.com/90rcw2mljzpeuxlac8q77mor15xz",
723
- "https://toastability-production.s3.amazonaws.com/vh1aowwr93yz4qrzct2s4je0cxdo",
724
- "https://toastability-production.s3.amazonaws.com/ssgb7unxdwdqokfvhkp7cok2v79s",
725
- "https://toastability-production.s3.amazonaws.com/vvkma6b8whdkiq5nq8z4eyfe00vo",
726
- "https://toastability-production.s3.amazonaws.com/9797jh6slgbf9oq6lzlimcdiuziv",
727
- "https://toastability-production.s3.amazonaws.com/betxbx61fkijt0aygineplf489ze",
728
- "https://toastability-production.s3.amazonaws.com/0o6d7z4mm9nzeufhv9kefrhihbip",
729
- "https://toastability-production.s3.amazonaws.com/1xdx70c7gp9l883soyh5d3exesvt",
730
- "https://toastability-production.s3.amazonaws.com/jhjfvkmdzktacyijd9fh6acc7o2c",
731
- "https://toastability-production.s3.amazonaws.com/n001o4pfpszmyw03ubctig7kvf0e",
732
- "https://toastability-production.s3.amazonaws.com/l080sx0lcx51x44dqrb8006nqf08",
733
- "https://toastability-production.s3.amazonaws.com/2t36c7l0ywchaz4nys8yj2l5amae",
734
- "https://toastability-production.s3.amazonaws.com/gg5qnvb4nsl2k3g4dw4ls8bsllwh",
735
- "https://toastability-production.s3.amazonaws.com/3nqc7xvjy3e8d7jo1gdvbzty0oqg",
736
- "https://toastability-production.s3.amazonaws.com/0kx9umbfmv881wt9dfqnohv8efgi",
737
- "https://toastability-production.s3.amazonaws.com/9z0sbfnskx70vse99e3dfhper7i1",
738
- "https://toastability-production.s3.amazonaws.com/9keidwrag6g7jtqr7rdwb1ryt6ht",
739
- "https://toastability-production.s3.amazonaws.com/zm88vf14geh1gh0frd3yrdlb6pl8",
740
- "https://toastability-production.s3.amazonaws.com/0x7ktdk01jfaoysst0emzvqevu19",
741
- "https://toastability-production.s3.amazonaws.com/e83zsyvl0an0owzdmpwjnnty641x",
742
- "https://toastability-production.s3.amazonaws.com/t3k42fbzq7r7j93feldqm5cj1o1n",
743
- "https://toastability-production.s3.amazonaws.com/5sm6wc4no8fyzxfki5njmnv6gql5",
744
- "https://toastability-production.s3.amazonaws.com/w41h7890eivogu3sr78vlwkpzz8g",
745
- "https://toastability-production.s3.amazonaws.com/vrezhtksoqbw1nyo4hwnoqizrus5",
746
- "https://toastability-production.s3.amazonaws.com/8qkikcd43paeqgvw9gc1032j3yup",
747
- "https://toastability-production.s3.amazonaws.com/ihhq8unynafk4aikmys3rhbfibaz",
748
- "https://toastability-production.s3.amazonaws.com/rews5enr9ynu6izioj66s8ec90nc",
749
- "https://toastability-production.s3.amazonaws.com/6ku135fhv528eei3agnoc3zd7y75",
750
- "https://toastability-production.s3.amazonaws.com/x4scuzhsozrwrg703df5wbhygkgo",
751
- "https://toastability-production.s3.amazonaws.com/73e0s79u4crdu7cmjfp99j1l2v55",
752
- "https://toastability-production.s3.amazonaws.com/rddfyzvfpdlbzwhgep2myppwxn05",
753
- "https://toastability-production.s3.amazonaws.com/mat88x8zzdek7wpgtocjrehfivsh",
754
- "https://toastability-production.s3.amazonaws.com/3vwfdbekbkskxj2mvlvu85fz787u",
755
- "https://toastability-production.s3.amazonaws.com/ms4s4zyqpmboh0slez1cwat9qhw4",
756
- "https://toastability-production.s3.amazonaws.com/5jsc0b4e3gxnjs81iotw2c3e6da3",
757
- "https://toastability-production.s3.amazonaws.com/0g6t701zqr2r7najmdgftpeqnxmz",
758
- "https://toastability-production.s3.amazonaws.com/u3p1hlbm2c1vvkwlm8h668pe132z",
759
- "https://toastability-production.s3.amazonaws.com/ehgbcugs782765ke1l2dtbtzd918",
760
- "https://toastability-production.s3.amazonaws.com/kka8f550on7acx1lf82xleu6zhzo",
761
- "https://toastability-production.s3.amazonaws.com/67fnapqepn7f8vwt0x4nqho70hbz",
762
- "https://toastability-production.s3.amazonaws.com/t4cidbsfz3z468bn45yqdrkbx7ou",
763
- "https://toastability-production.s3.amazonaws.com/gq3c9qalkiomu0rzdzxymkdaazdu",
764
- "https://toastability-production.s3.amazonaws.com/9ujya2tfhxja7y5s9wb7d2u8crhd",
765
- "https://toastability-production.s3.amazonaws.com/hotlo54tsvl2k3eht9gg0460l9zw",
766
- "https://toastability-production.s3.amazonaws.com/ytbyjrcvrghc7wl6w1g7g8fwka22",
767
- "https://toastability-production.s3.amazonaws.com/uv0g605yf5mz106nrm1uspt9l0rr",
768
- "https://toastability-production.s3.amazonaws.com/yrp5k5xszwpe26fquupey6a6g0uu",
769
- "https://toastability-production.s3.amazonaws.com/97gctpna2hdozl1f8u5xq4ew8h0o",
770
- "https://toastability-production.s3.amazonaws.com/xjtepune0scj9yjkkqgaiwlq9hls",
771
- "https://toastability-production.s3.amazonaws.com/g607vblaarqctl1cvgxffhx4pw6g",
772
- "https://toastability-production.s3.amazonaws.com/4xpu1ljr9c8g6qzmfum5ygjzbzpb",
773
- "https://toastability-production.s3.amazonaws.com/yw5f7iwyypf4kctpr5ye5e495swt",
774
- "https://toastability-production.s3.amazonaws.com/z37cidvud212bzqhhalrhvk7ipaa",
775
- "https://toastability-production.s3.amazonaws.com/pfllskt7q7144l288lrnpc6gx606",
776
- "https://toastability-production.s3.amazonaws.com/fokd3hxzvdtsomagbfhqooyvndyv",
777
- "https://toastability-production.s3.amazonaws.com/6fffnb4phovtqkjhtzifs4rhb84u",
778
- "https://toastability-production.s3.amazonaws.com/mt87xjr79wxdhjy7496v3r6m2m9t",
779
- "https://toastability-production.s3.amazonaws.com/3dy9ge962uarlaf2xl7imdcviqgx",
780
- "https://toastability-production.s3.amazonaws.com/okf6fg4n9yv59up8ivgcdjy3w030",
781
- "https://toastability-production.s3.amazonaws.com/t7iteqw4xhtppkiws88bsoia25hv",
782
- "https://toastability-production.s3.amazonaws.com/klr5tuvulkyqfb721txtu4hgzxdm",
783
- "https://toastability-production.s3.amazonaws.com/9eddibiq5ovc9cvs3ekijkrjpahg",
784
- "https://toastability-production.s3.amazonaws.com/3ghn8dz3g9qtt4pf4nwbriaydvzb",
785
- "https://toastability-production.s3.amazonaws.com/82ykd8s8boiqaxypkulb0v0s2qiw",
786
- "https://toastability-production.s3.amazonaws.com/4eqmdeanxfk6jzvigo42y5ryv2c8",
787
- "https://toastability-production.s3.amazonaws.com/9ughnl9wnko2vdboib8n3wl3cxsy",
788
- "https://toastability-production.s3.amazonaws.com/4xjcgtlwseruezhoh3o1ga4umhj4",
789
- "https://toastability-production.s3.amazonaws.com/xwh1zzxgyd887thfm1j9lu9qnd6c",
790
- "https://toastability-production.s3.amazonaws.com/ri0dqx79spe6771np76mkmno5xfd",
791
- "https://toastability-production.s3.amazonaws.com/e13qu3083lkhdg7th64vb628172a",
792
- "https://toastability-production.s3.amazonaws.com/w87w0fyjdol9yzwo7yywkgxidvzo"
793
- ];
794
- var defaultArticleContent = (optixFlowConfig) => /* @__PURE__ */ jsxs(Fragment, { children: [
795
- /* @__PURE__ */ jsx(
796
- Img,
705
+ // lib/patternSvgs.ts
706
+ var patternSvgs = {
707
+ squareAltGrid: "https://cdn.ing/assets/files/record/286187/4gpn0yq2ptra8iwlvmwwv860ggwv",
708
+ grid1: "https://cdn.ing/assets/files/record/286186/nbdflpgp4ostrno079hygibsflp3",
709
+ noise: "https://cdn.ing/assets/i/r/286188/zrqcp9hynh3j7p2laihwzfbujgrl/noise.png",
710
+ dots: "https://cdn.ing/assets/files/record/286198/yfsjx9thvtxzhl2qtshxyhkrm524",
711
+ dotPattern: "https://cdn.ing/assets/files/record/286192/7ig0cku8aqbboiza8nuk6hw0nnsr",
712
+ dotPattern2: "https://cdn.ing/assets/files/record/286189/arez6gd2s7isn9i1o6c7sexdq7bl",
713
+ circles: "https://cdn.ing/assets/files/record/286190/gtmia3sncjtzetdshc20zf1d3c17",
714
+ waves: "https://cdn.ing/assets/files/record/286191/mqlb33fzxz9cdth1bx7if0wmpkp1",
715
+ crossPattern: "https://cdn.ing/assets/files/record/286193/9yfqwdbnqaipbp7fsb3wbzzmq472",
716
+ architect: "https://cdn.ing/assets/files/record/286194/vgs88ugpvyhxu13wqgy0acvae6re",
717
+ tinyCheckers: "https://cdn.ing/assets/files/record/286195/65efaknsw8kcpf9o3c2gybytsl5b",
718
+ p6: "https://cdn.ing/assets/i/r/286196/6kl0rqnd6mjk8j7e525fo8fo0vkc/p6.webp"
719
+ };
720
+ var maskTop = "radial-gradient(ellipse 70% 60% at 50% 0%, #000 60%, transparent 100%)";
721
+ var maskBottom = "radial-gradient(ellipse 100% 80% at 50% 100%, #000 50%, transparent 90%)";
722
+ var maskCenter = "radial-gradient(ellipse 60% 60% at 50% 50%, #000 30%, transparent 70%)";
723
+ var maskTopLeft = "radial-gradient(ellipse 80% 80% at 0% 0%, #000 50%, transparent 90%)";
724
+ var maskTopRight = "radial-gradient(ellipse 80% 80% at 100% 0%, #000 50%, transparent 90%)";
725
+ var maskBottomLeft = "radial-gradient(ellipse 80% 80% at 0% 100%, #000 50%, transparent 90%)";
726
+ var maskBottomRight = "radial-gradient(ellipse 80% 80% at 100% 100%, #000 50%, transparent 90%)";
727
+ var circuitBoardPattern = (id, mask) => /* @__PURE__ */ jsxs(
728
+ "svg",
729
+ {
730
+ className: "h-full w-full",
731
+ xmlns: "http://www.w3.org/2000/svg",
732
+ style: mask ? {
733
+ maskImage: mask,
734
+ WebkitMaskImage: mask
735
+ } : void 0,
736
+ children: [
737
+ /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs(
738
+ "pattern",
739
+ {
740
+ id,
741
+ x: "0",
742
+ y: "0",
743
+ width: "100",
744
+ height: "100",
745
+ patternUnits: "userSpaceOnUse",
746
+ children: [
747
+ /* @__PURE__ */ jsx(
748
+ "path",
749
+ {
750
+ d: "M0 50h40M60 50h40M50 0v40M50 60v40",
751
+ stroke: "hsl(var(--muted))",
752
+ strokeWidth: "1",
753
+ fill: "none"
754
+ }
755
+ ),
756
+ /* @__PURE__ */ jsx("circle", { cx: "50", cy: "50", r: "3", fill: "hsl(var(--muted))" }),
757
+ /* @__PURE__ */ jsx("circle", { cx: "0", cy: "50", r: "2", fill: "hsl(var(--muted))" }),
758
+ /* @__PURE__ */ jsx("circle", { cx: "100", cy: "50", r: "2", fill: "hsl(var(--muted))" }),
759
+ /* @__PURE__ */ jsx("circle", { cx: "50", cy: "0", r: "2", fill: "hsl(var(--muted))" }),
760
+ /* @__PURE__ */ jsx("circle", { cx: "50", cy: "100", r: "2", fill: "hsl(var(--muted))" })
761
+ ]
762
+ }
763
+ ) }),
764
+ /* @__PURE__ */ jsx("rect", { width: "100%", height: "100%", fill: `url(#${id})` })
765
+ ]
766
+ }
767
+ );
768
+ var gridDotsPattern = (id, mask) => /* @__PURE__ */ jsxs(
769
+ "svg",
770
+ {
771
+ className: "h-full w-full",
772
+ xmlns: "http://www.w3.org/2000/svg",
773
+ style: mask ? {
774
+ maskImage: mask,
775
+ WebkitMaskImage: mask
776
+ } : void 0,
777
+ children: [
778
+ /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs(
779
+ "pattern",
780
+ {
781
+ id,
782
+ x: "0",
783
+ y: "0",
784
+ width: "40",
785
+ height: "40",
786
+ patternUnits: "userSpaceOnUse",
787
+ children: [
788
+ /* @__PURE__ */ jsx(
789
+ "path",
790
+ {
791
+ d: "M0 20h40M20 0v40",
792
+ stroke: "hsl(var(--muted))",
793
+ strokeWidth: "0.5",
794
+ fill: "none"
795
+ }
796
+ ),
797
+ /* @__PURE__ */ jsx("circle", { cx: "20", cy: "20", r: "2", fill: "hsl(var(--muted))" })
798
+ ]
799
+ }
800
+ ) }),
801
+ /* @__PURE__ */ jsx("rect", { width: "100%", height: "100%", fill: `url(#${id})` })
802
+ ]
803
+ }
804
+ );
805
+ var gridPattern = (size, mask) => /* @__PURE__ */ jsx(
806
+ "div",
807
+ {
808
+ 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)]",
809
+ style: {
810
+ backgroundSize: `${size}px ${size}px`,
811
+ ...mask ? {
812
+ maskImage: mask,
813
+ WebkitMaskImage: mask
814
+ } : {}
815
+ }
816
+ }
817
+ );
818
+ var diagonalCrossPattern = (mask) => /* @__PURE__ */ jsx(
819
+ "div",
820
+ {
821
+ className: "h-full w-full",
822
+ style: {
823
+ 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)",
824
+ ...mask ? {
825
+ maskImage: mask,
826
+ WebkitMaskImage: mask
827
+ } : {}
828
+ }
829
+ }
830
+ );
831
+ 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)";
832
+ var dashedGridPattern = (fadeMask) => {
833
+ const mask = fadeMask ? `${dashedGridMaskBase}, ${fadeMask}` : dashedGridMaskBase;
834
+ return /* @__PURE__ */ jsx(
835
+ "div",
797
836
  {
798
- src: imagePlaceholders[6],
799
- alt: "Article hero",
800
- className: "my-8 aspect-video w-full rounded-lg object-cover",
801
- optixFlowConfig
837
+ className: "h-full w-full",
838
+ style: {
839
+ backgroundImage: "linear-gradient(to right, hsl(var(--muted)) 1px, transparent 1px), linear-gradient(to bottom, hsl(var(--muted)) 1px, transparent 1px)",
840
+ backgroundSize: "20px 20px",
841
+ backgroundPosition: "0 0, 0 0",
842
+ maskImage: mask,
843
+ WebkitMaskImage: mask,
844
+ maskComposite: "intersect",
845
+ WebkitMaskComposite: "source-in"
846
+ }
802
847
  }
803
- ),
804
- /* @__PURE__ */ jsxs("section", { id: "overview", children: [
805
- /* @__PURE__ */ jsx("h2", { children: "Overview" }),
806
- /* @__PURE__ */ jsx("p", { children: "Performance optimization is crucial for delivering exceptional user experiences. In this comprehensive guide, we'll explore proven strategies for improving web application performance." }),
807
- /* @__PURE__ */ jsx("p", { children: "From initial page load to runtime performance, every millisecond counts. Users expect fast, responsive applications, and search engines reward sites that deliver." })
808
- ] }),
809
- /* @__PURE__ */ jsxs("section", { id: "key-features", children: [
810
- /* @__PURE__ */ jsx("h2", { children: "Key Features" }),
811
- /* @__PURE__ */ jsx("p", { children: "Modern performance optimization encompasses several key areas:" }),
812
- /* @__PURE__ */ jsxs("ul", { children: [
813
- /* @__PURE__ */ jsx("li", { children: "Code splitting and lazy loading" }),
814
- /* @__PURE__ */ jsx("li", { children: "Image optimization and responsive images" }),
815
- /* @__PURE__ */ jsx("li", { children: "Caching strategies and CDN utilization" }),
816
- /* @__PURE__ */ jsx("li", { children: "Bundle size optimization" })
817
- ] }),
818
- /* @__PURE__ */ jsx(
819
- Img,
848
+ );
849
+ };
850
+ var gradientGlow = (position) => /* @__PURE__ */ jsx(
851
+ "div",
852
+ {
853
+ className: cn(
854
+ "pointer-events-none absolute left-1/2 z-0 aspect-square w-3/4 -translate-x-1/2 rounded-full opacity-50 blur-3xl",
855
+ position === "top" ? "-top-1/4" : "-bottom-1/4"
856
+ ),
857
+ style: {
858
+ background: "radial-gradient(circle, hsl(var(--primary)) 0%, transparent 70%)"
859
+ }
860
+ }
861
+ );
862
+ var spotlight = (position) => /* @__PURE__ */ jsx(
863
+ "div",
864
+ {
865
+ className: cn(
866
+ "pointer-events-none absolute top-1/2 z-0 aspect-square w-3/4 -translate-y-1/2 rounded-full opacity-40 blur-3xl",
867
+ position === "left" ? "-left-1/4" : "-right-1/4"
868
+ ),
869
+ style: {
870
+ background: "radial-gradient(circle, hsl(var(--primary)) 0%, transparent 70%)"
871
+ }
872
+ }
873
+ );
874
+ var patternOverlays = {
875
+ circuitBoardBasic: () => circuitBoardPattern("circuit-board-basic"),
876
+ circuitBoardFadeTop: () => circuitBoardPattern("circuit-board-fade-top", maskTop),
877
+ circuitBoardFadeBottom: () => circuitBoardPattern("circuit-board-fade-bottom", maskBottom),
878
+ circuitBoardFadeCenter: () => circuitBoardPattern("circuit-board-fade-center", maskCenter),
879
+ circuitBoardFadeTopLeft: () => circuitBoardPattern("circuit-board-fade-top-left", maskTopLeft),
880
+ circuitBoardFadeTopRight: () => circuitBoardPattern("circuit-board-fade-top-right", maskTopRight),
881
+ circuitBoardFadeBottomLeft: () => circuitBoardPattern("circuit-board-fade-bottom-left", maskBottomLeft),
882
+ circuitBoardFadeBottomRight: () => circuitBoardPattern("circuit-board-fade-bottom-right", maskBottomRight),
883
+ dashedGridBasic: () => dashedGridPattern(),
884
+ dashedGridFadeTop: () => dashedGridPattern(maskTop),
885
+ dashedGridFadeBottom: () => dashedGridPattern(maskBottom),
886
+ dashedGridFadeCenter: () => dashedGridPattern(maskCenter),
887
+ dashedGridFadeTopLeft: () => dashedGridPattern(maskTopLeft),
888
+ dashedGridFadeTopRight: () => dashedGridPattern(maskTopRight),
889
+ dashedGridFadeBottomLeft: () => dashedGridPattern(maskBottomLeft),
890
+ dashedGridFadeBottomRight: () => dashedGridPattern(maskBottomRight),
891
+ diagonalCrossBasic: () => diagonalCrossPattern(),
892
+ diagonalCrossFadeTop: () => diagonalCrossPattern(maskTop),
893
+ diagonalCrossFadeBottom: () => diagonalCrossPattern(maskBottom),
894
+ diagonalCrossFadeCenter: () => diagonalCrossPattern(maskCenter),
895
+ diagonalCrossFadeTopLeft: () => diagonalCrossPattern(maskTopLeft),
896
+ diagonalCrossFadeTopRight: () => diagonalCrossPattern(maskTopRight),
897
+ diagonalCrossFadeBottomLeft: () => diagonalCrossPattern(maskBottomLeft),
898
+ diagonalCrossFadeBottomRight: () => diagonalCrossPattern(maskBottomRight),
899
+ gridBasic: () => gridPattern(40),
900
+ gridFadeTop: () => gridPattern(32, maskTop),
901
+ gridFadeBottom: () => gridPattern(32, maskBottom),
902
+ gridFadeCenter: () => gridPattern(40, maskCenter),
903
+ gridFadeTopLeft: () => gridPattern(32, maskTopLeft),
904
+ gridFadeTopRight: () => gridPattern(32, maskTopRight),
905
+ gridFadeBottomLeft: () => gridPattern(32, maskBottomLeft),
906
+ gridFadeBottomRight: () => gridPattern(32, maskBottomRight),
907
+ gridDotsBasic: () => gridDotsPattern("grid-dots-basic"),
908
+ gridDotsFadeCenter: () => gridDotsPattern("grid-dots-fade-center", maskCenter),
909
+ gradientGlowTop: () => gradientGlow("top"),
910
+ gradientGlowBottom: () => gradientGlow("bottom"),
911
+ spotlightLeft: () => spotlight("left"),
912
+ spotlightRight: () => spotlight("right")
913
+ };
914
+ var inlinePatternStyles = {
915
+ radialGradientTop: {
916
+ background: "radial-gradient(125% 125% at 50% 10%, hsl(var(--background)) 40%, hsl(var(--primary)) 100%)"
917
+ },
918
+ radialGradientBottom: {
919
+ background: "radial-gradient(125% 125% at 50% 90%, hsl(var(--background)) 40%, hsl(var(--primary)) 100%)"
920
+ }
921
+ };
922
+ function PatternBackground({
923
+ pattern,
924
+ opacity = 0.08,
925
+ className,
926
+ style
927
+ }) {
928
+ if (!pattern) {
929
+ return null;
930
+ }
931
+ if (pattern in inlinePatternStyles) {
932
+ const inlineStyle = inlinePatternStyles[pattern];
933
+ return /* @__PURE__ */ jsx(
934
+ "div",
820
935
  {
821
- src: imagePlaceholders[7],
822
- alt: "Performance metrics",
823
- className: "my-8 aspect-video w-full rounded-lg object-cover",
824
- optixFlowConfig
936
+ className: cn("pointer-events-none absolute inset-0 z-0", className),
937
+ style: { ...inlineStyle, opacity, ...style },
938
+ "aria-hidden": "true"
825
939
  }
826
- )
827
- ] }),
828
- /* @__PURE__ */ jsxs("section", { id: "implementation", children: [
829
- /* @__PURE__ */ jsx("h2", { children: "Implementation" }),
830
- /* @__PURE__ */ jsx("p", { children: "Implementing performance optimizations requires a systematic approach. Start by measuring your current performance using tools like Lighthouse, WebPageTest, or Chrome DevTools." }),
831
- /* @__PURE__ */ jsx("blockquote", { children: "\u201CYou can't improve what you don't measure.\u201D - Peter Drucker" }),
832
- /* @__PURE__ */ jsx("p", { children: "Once you have baseline metrics, prioritize optimizations based on their potential impact and implementation effort." })
833
- ] }),
834
- /* @__PURE__ */ jsxs("section", { id: "performance", children: [
835
- /* @__PURE__ */ jsx("h2", { children: "Performance Metrics" }),
836
- /* @__PURE__ */ jsx("p", { children: "Focus on Core Web Vitals: Largest Contentful Paint (LCP), First Input Delay (FID), and Cumulative Layout Shift (CLS). These metrics directly impact user experience and SEO rankings." })
837
- ] }),
838
- /* @__PURE__ */ jsxs("section", { id: "summary", children: [
839
- /* @__PURE__ */ jsx("h2", { children: "Summary" }),
840
- /* @__PURE__ */ jsx("p", { children: "Performance optimization is an ongoing process, not a one-time task. Continuously monitor your metrics, identify bottlenecks, and iterate on improvements to maintain a fast, responsive application." })
841
- ] })
842
- ] });
940
+ );
941
+ }
942
+ if (pattern in patternOverlays) {
943
+ const Overlay = patternOverlays[pattern];
944
+ return /* @__PURE__ */ jsx(
945
+ "div",
946
+ {
947
+ className: cn("pointer-events-none absolute inset-0 z-0", className),
948
+ style: { opacity, ...style },
949
+ "aria-hidden": "true",
950
+ children: Overlay()
951
+ }
952
+ );
953
+ }
954
+ const patternUrl = pattern in patternSvgs ? patternSvgs[pattern] : pattern;
955
+ return /* @__PURE__ */ jsx(
956
+ "div",
957
+ {
958
+ className: cn("pointer-events-none absolute inset-0 z-0", className),
959
+ style: {
960
+ backgroundImage: `url(${patternUrl})`,
961
+ backgroundRepeat: "repeat",
962
+ backgroundSize: "auto",
963
+ opacity,
964
+ ...style
965
+ },
966
+ "aria-hidden": "true"
967
+ }
968
+ );
969
+ }
970
+ var backgroundStyles = {
971
+ default: "bg-background text-foreground",
972
+ white: "bg-white text-dark",
973
+ gray: "bg-muted/30 text-foreground",
974
+ dark: "bg-foreground text-background",
975
+ transparent: "bg-transparent text-foreground",
976
+ gradient: "bg-linear-to-br from-primary via-primary/90 to-foreground text-primary-foreground",
977
+ primary: "bg-primary text-primary-foreground",
978
+ secondary: "bg-secondary text-secondary-foreground",
979
+ muted: "bg-muted text-muted-foreground"
980
+ };
981
+ var spacingStyles = {
982
+ none: "py-0 md:py-0",
983
+ sm: "py-12 md:py-16",
984
+ md: "py-16 md:py-24",
985
+ lg: "py-20 md:py-32",
986
+ xl: "py-24 md:py-40"
987
+ };
988
+ var Section = React6__default.forwardRef(
989
+ ({
990
+ id,
991
+ title,
992
+ subtitle,
993
+ children,
994
+ className,
995
+ style,
996
+ background = "default",
997
+ spacing = "lg",
998
+ pattern,
999
+ patternOpacity,
1000
+ patternClassName,
1001
+ containerClassName,
1002
+ containerMaxWidth = "xl",
1003
+ ...props
1004
+ }, ref) => {
1005
+ const effectivePatternOpacity = patternOpacity !== void 0 ? patternOpacity : pattern ? 1 : 0;
1006
+ return /* @__PURE__ */ jsxs(
1007
+ "section",
1008
+ {
1009
+ ref,
1010
+ id,
1011
+ className: cn(
1012
+ "relative",
1013
+ pattern ? "overflow-hidden" : null,
1014
+ backgroundStyles[background],
1015
+ spacingStyles[spacing],
1016
+ className
1017
+ ),
1018
+ style,
1019
+ ...props,
1020
+ children: [
1021
+ /* @__PURE__ */ jsx(
1022
+ PatternBackground,
1023
+ {
1024
+ pattern,
1025
+ opacity: effectivePatternOpacity,
1026
+ className: patternClassName
1027
+ }
1028
+ ),
1029
+ /* @__PURE__ */ jsxs(
1030
+ Container,
1031
+ {
1032
+ maxWidth: containerMaxWidth,
1033
+ className: cn("relative z-10", containerClassName),
1034
+ children: [
1035
+ (title || subtitle) && /* @__PURE__ */ jsxs("div", { className: "mb-12 text-center md:mb-16", children: [
1036
+ subtitle && /* @__PURE__ */ jsx("p", { className: "mb-2 text-sm font-semibold uppercase tracking-wider text-primary", children: subtitle }),
1037
+ title && /* @__PURE__ */ jsx("h2", { className: "text-3xl font-bold tracking-tight md:text-4xl lg:text-5xl", children: title })
1038
+ ] }),
1039
+ children
1040
+ ]
1041
+ }
1042
+ )
1043
+ ]
1044
+ }
1045
+ );
1046
+ }
1047
+ );
1048
+ Section.displayName = "Section";
843
1049
  function ArticleBreadcrumbSocialComponent({
844
1050
  className,
845
1051
  containerClassName,
@@ -874,7 +1080,11 @@ function ArticleBreadcrumbSocialComponent({
874
1080
  children,
875
1081
  enableTocTracking,
876
1082
  enableBackToTop,
877
- optixFlowConfig
1083
+ optixFlowConfig,
1084
+ background,
1085
+ spacing,
1086
+ pattern,
1087
+ patternOpacity
878
1088
  }) {
879
1089
  const author = authorProp ?? (authorName ? { name: authorName, image: authorImage, role: authorRole } : void 0);
880
1090
  const platformLabels = {
@@ -891,11 +1101,11 @@ function ArticleBreadcrumbSocialComponent({
891
1101
  "aria-label": `Share on ${platformLabels[platform] || platform.charAt(0).toUpperCase() + platform.slice(1)}`,
892
1102
  className: void 0
893
1103
  })) : []);
894
- const [activeSection, setActiveSection] = React4.useState(
1104
+ const [activeSection, setActiveSection] = React6.useState(
895
1105
  sections?.[0]?.id || ""
896
1106
  );
897
- const [showBackToTop, setShowBackToTop] = React4.useState(false);
898
- React4.useEffect(() => {
1107
+ const [showBackToTop, setShowBackToTop] = React6.useState(false);
1108
+ React6.useEffect(() => {
899
1109
  if (!enableTocTracking || !sections || sections.length === 0) return;
900
1110
  const observer = new IntersectionObserver(
901
1111
  (entries) => {
@@ -913,7 +1123,7 @@ function ArticleBreadcrumbSocialComponent({
913
1123
  });
914
1124
  return () => observer.disconnect();
915
1125
  }, [sections, enableTocTracking]);
916
- React4.useEffect(() => {
1126
+ React6.useEffect(() => {
917
1127
  if (!enableBackToTop) return;
918
1128
  const handleScroll = () => {
919
1129
  setShowBackToTop(window.scrollY > 400);
@@ -921,15 +1131,15 @@ function ArticleBreadcrumbSocialComponent({
921
1131
  window.addEventListener("scroll", handleScroll);
922
1132
  return () => window.removeEventListener("scroll", handleScroll);
923
1133
  }, [enableBackToTop]);
924
- const scrollToTop = React4.useCallback(() => {
1134
+ const scrollToTop = React6.useCallback(() => {
925
1135
  window.scrollTo({ top: 0, behavior: "smooth" });
926
1136
  }, []);
927
- const breadcrumbsContent = React4.useMemo(() => {
1137
+ const breadcrumbsContent = React6.useMemo(() => {
928
1138
  if (breadcrumbsSlot) return breadcrumbsSlot;
929
1139
  if (!breadcrumbs || breadcrumbs.length === 0) return null;
930
1140
  return /* @__PURE__ */ jsx(Breadcrumb, { className: cn("mb-8", breadcrumbClassName), children: /* @__PURE__ */ jsxs(BreadcrumbList, { children: [
931
1141
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: "#", children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/home", size: 16 }) }) }) }),
932
- breadcrumbs.map((crumb, index) => /* @__PURE__ */ jsxs(React4.Fragment, { children: [
1142
+ breadcrumbs.map((crumb, index) => /* @__PURE__ */ jsxs(React6.Fragment, { children: [
933
1143
  /* @__PURE__ */ jsx(BreadcrumbSeparator, {}),
934
1144
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: crumb.href, children: crumb.label }) }) })
935
1145
  ] }, index)),
@@ -939,7 +1149,7 @@ function ArticleBreadcrumbSocialComponent({
939
1149
  ] })
940
1150
  ] }) });
941
1151
  }, [breadcrumbsSlot, breadcrumbs, currentPage, breadcrumbClassName]);
942
- const authorContent = React4.useMemo(() => {
1152
+ const authorContent = React6.useMemo(() => {
943
1153
  if (authorSlot) return authorSlot;
944
1154
  if (!author) return null;
945
1155
  return /* @__PURE__ */ jsxs("div", { className: cn("mt-6 flex items-center gap-4 not-prose", authorClassName), children: [
@@ -953,7 +1163,7 @@ function ArticleBreadcrumbSocialComponent({
953
1163
  ] })
954
1164
  ] });
955
1165
  }, [authorSlot, author, publishDate, readTime, authorClassName]);
956
- const heroMediaContent = React4.useMemo(() => {
1166
+ const heroMediaContent = React6.useMemo(() => {
957
1167
  if (heroMediaSlot) return heroMediaSlot;
958
1168
  if (!heroImageSrc) return null;
959
1169
  return /* @__PURE__ */ jsx(
@@ -966,7 +1176,7 @@ function ArticleBreadcrumbSocialComponent({
966
1176
  }
967
1177
  );
968
1178
  }, [heroMediaSlot, heroImageSrc, heroImageAlt, heroImageClassName, optixFlowConfig]);
969
- const tocContent = React4.useMemo(() => {
1179
+ const tocContent = React6.useMemo(() => {
970
1180
  if (tocSlot) return tocSlot;
971
1181
  if (!sections || sections.length === 0) return null;
972
1182
  return /* @__PURE__ */ jsxs("div", { className: cn("rounded-lg border p-4", tocClassName), children: [
@@ -974,7 +1184,7 @@ function ArticleBreadcrumbSocialComponent({
974
1184
  /* @__PURE__ */ jsx("nav", { className: "space-y-2", children: sections.map((section) => {
975
1185
  const isActive = activeSection === section.id;
976
1186
  if (renderSectionLink) {
977
- return /* @__PURE__ */ jsx(React4.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
1187
+ return /* @__PURE__ */ jsx(React6.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
978
1188
  }
979
1189
  return /* @__PURE__ */ jsx(
980
1190
  Pressable,
@@ -991,7 +1201,7 @@ function ArticleBreadcrumbSocialComponent({
991
1201
  }) })
992
1202
  ] });
993
1203
  }, [tocSlot, sections, activeSection, renderSectionLink, tocClassName]);
994
- const shareButtonsContent = React4.useMemo(() => {
1204
+ const shareButtonsContent = React6.useMemo(() => {
995
1205
  if (shareSlot) return shareSlot;
996
1206
  if (!socialLinks || socialLinks.length === 0) return null;
997
1207
  return /* @__PURE__ */ jsxs("div", { className: cn("rounded-lg border p-4", shareClassName), children: [
@@ -1011,33 +1221,43 @@ function ArticleBreadcrumbSocialComponent({
1011
1221
  )) })
1012
1222
  ] });
1013
1223
  }, [shareSlot, socialLinks, shareClassName]);
1014
- return /* @__PURE__ */ jsxs("section", { className: cn("py-32", className), children: [
1015
- /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
1016
- breadcrumbsContent,
1017
- /* @__PURE__ */ jsxs("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,1fr)_280px]", children: [
1018
- /* @__PURE__ */ jsxs("article", { className: cn("prose max-w-none dark:prose-invert", articleClassName), children: [
1019
- 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 })),
1020
- authorContent,
1021
- /* @__PURE__ */ jsx(Separator, { className: "my-8" }),
1022
- heroMediaContent,
1023
- children || defaultArticleContent(optixFlowConfig)
1224
+ return /* @__PURE__ */ jsxs(
1225
+ Section,
1226
+ {
1227
+ background,
1228
+ spacing,
1229
+ pattern,
1230
+ patternOpacity,
1231
+ className,
1232
+ children: [
1233
+ /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
1234
+ breadcrumbsContent,
1235
+ /* @__PURE__ */ jsxs("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,1fr)_280px]", children: [
1236
+ children && /* @__PURE__ */ jsxs("article", { className: cn("prose max-w-none dark:prose-invert", articleClassName), children: [
1237
+ 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 })),
1238
+ authorContent,
1239
+ /* @__PURE__ */ jsx(Separator, { className: "my-8" }),
1240
+ heroMediaContent,
1241
+ children
1242
+ ] }),
1243
+ /* @__PURE__ */ jsx("aside", { className: cn("hidden lg:block", sidebarClassName), children: /* @__PURE__ */ jsxs("div", { className: "sticky top-8 space-y-6", children: [
1244
+ tocContent,
1245
+ shareButtonsContent
1246
+ ] }) })
1247
+ ] })
1024
1248
  ] }),
1025
- /* @__PURE__ */ jsx("aside", { className: cn("hidden lg:block", sidebarClassName), children: /* @__PURE__ */ jsxs("div", { className: "sticky top-8 space-y-6", children: [
1026
- tocContent,
1027
- shareButtonsContent
1028
- ] }) })
1029
- ] })
1030
- ] }),
1031
- enableBackToTop && showBackToTop && /* @__PURE__ */ jsx(
1032
- "button",
1033
- {
1034
- onClick: scrollToTop,
1035
- className: "fixed bottom-8 right-8 flex h-10 w-10 items-center justify-center rounded-full bg-primary text-primary-foreground shadow-lg transition-opacity hover:opacity-90",
1036
- "aria-label": "Back to top",
1037
- children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-up", size: 20 })
1038
- }
1039
- )
1040
- ] });
1249
+ enableBackToTop && showBackToTop && /* @__PURE__ */ jsx(
1250
+ "button",
1251
+ {
1252
+ onClick: scrollToTop,
1253
+ className: "fixed bottom-8 right-8 flex h-10 w-10 items-center justify-center rounded-full bg-primary text-primary-foreground shadow-lg transition-opacity hover:opacity-90",
1254
+ "aria-label": "Back to top",
1255
+ children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-up", size: 20 })
1256
+ }
1257
+ )
1258
+ ]
1259
+ }
1260
+ );
1041
1261
  }
1042
1262
 
1043
1263
  export { ArticleBreadcrumbSocialComponent as ArticleBreadcrumbSocial };