@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
@@ -602,147 +602,379 @@ function AvatarFallback({
602
602
  }
603
603
  );
604
604
  }
605
+ var maxWidthStyles = {
606
+ sm: "max-w-screen-sm",
607
+ md: "max-w-screen-md",
608
+ lg: "max-w-screen-lg",
609
+ xl: "max-w-7xl",
610
+ "2xl": "max-w-screen-2xl",
611
+ "4xl": "max-w-[1536px]",
612
+ full: "max-w-full"
613
+ };
614
+ var Container = React__namespace.default.forwardRef(
615
+ ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
616
+ const Component = as;
617
+ return /* @__PURE__ */ jsxRuntime.jsx(
618
+ Component,
619
+ {
620
+ ref,
621
+ className: cn(
622
+ "mx-auto w-full px-2 sm:px-4 lg:px-8",
623
+ maxWidthStyles[maxWidth],
624
+ className
625
+ ),
626
+ ...props,
627
+ children
628
+ }
629
+ );
630
+ }
631
+ );
632
+ Container.displayName = "Container";
605
633
 
606
- // lib/mediaPlaceholders.ts
607
- var imagePlaceholders = [
608
- "https://toastability-production.s3.amazonaws.com/xlp46pzk3a4d73jgjx4s7xdafwpn",
609
- "https://toastability-production.s3.amazonaws.com/g1iuifb3yzoofo9c7a00koyn6q1t",
610
- "https://toastability-production.s3.amazonaws.com/z9u4sdrj2oq3eds0qyui0nxsus3j",
611
- "https://toastability-production.s3.amazonaws.com/63aotyt2pb4gqpccej2kkw8reson",
612
- "https://toastability-production.s3.amazonaws.com/pjgb223h1bjywdk15i3zi7pjhutg",
613
- "https://toastability-production.s3.amazonaws.com/we9r4e711an6d0bd3dwbl9tb9z7q",
614
- "https://toastability-production.s3.amazonaws.com/f8rfrurzo743ym1s7m5xtbombunz",
615
- "https://toastability-production.s3.amazonaws.com/oe0y4bgiylx81fbfvsw31mhdgjzs",
616
- "https://toastability-production.s3.amazonaws.com/sr370c2cnf7uk5k4f6znyshualv0",
617
- "https://toastability-production.s3.amazonaws.com/cen5x90p3kbdafb80liq1a5j222x",
618
- "https://toastability-production.s3.amazonaws.com/ygob90kp07hxmi5jj4sned76dnmc",
619
- "https://toastability-production.s3.amazonaws.com/qhz2kawawq3bbh7nusz3bvahln3v",
620
- "https://toastability-production.s3.amazonaws.com/zykfhuapdqzu94ee1535gsgnvyac",
621
- "https://toastability-production.s3.amazonaws.com/kh1p8y15v55ctp5ulobm4pd77etm",
622
- "https://toastability-production.s3.amazonaws.com/8x62o6350p1ejm3pjrp1jwvcbh4v",
623
- "https://toastability-production.s3.amazonaws.com/vvixyoo7ybq3h04q2q0kact0s5wc",
624
- "https://toastability-production.s3.amazonaws.com/t502cfynqso7ntkdvmcmfc87yjkt",
625
- "https://toastability-production.s3.amazonaws.com/ihgx63s5nfzp2e93e3ccljjnnrov",
626
- "https://toastability-production.s3.amazonaws.com/b555hwjt7ltr81et05v5254q1ak6",
627
- "https://toastability-production.s3.amazonaws.com/c4sgsy0g7o2rrjmvm9x7evxems82",
628
- "https://toastability-production.s3.amazonaws.com/a3m42usevv0iet0fpfwa1fsytxmv",
629
- "https://toastability-production.s3.amazonaws.com/qghzqu1i99vaubyew9s5dxcbel9l",
630
- "https://toastability-production.s3.amazonaws.com/9covpitzpuuobkg1m4mfokpi0enw",
631
- "https://toastability-production.s3.amazonaws.com/2d4k8d5shwg82276hzj2ztbj7mxq",
632
- "https://toastability-production.s3.amazonaws.com/op92dycs7w856e2jsvx20st0nyz9",
633
- "https://toastability-production.s3.amazonaws.com/f921uoblxbv8f9bmr4s2ik7xxugl",
634
- "https://toastability-production.s3.amazonaws.com/gl7n7p6atndufbsm6q2ac5jeqttp",
635
- "https://toastability-production.s3.amazonaws.com/sj8cs2gpbanaowqwxar1uhhwd23z",
636
- "https://toastability-production.s3.amazonaws.com/hu4gmd93sp95wdyr9qijze0rgim9",
637
- "https://toastability-production.s3.amazonaws.com/uh2vd59np82h8sevbmfnsha89sf1",
638
- "https://toastability-production.s3.amazonaws.com/gxs6zevccphti0hdq5l9fwytprpr",
639
- "https://toastability-production.s3.amazonaws.com/s4vho0wfbjhf758oife8qfuekou8",
640
- "https://toastability-production.s3.amazonaws.com/1b0gd8ul22q799d62dvm3sgyll85",
641
- "https://toastability-production.s3.amazonaws.com/102grjqg8aigxkj585s9x3xbxfv7",
642
- "https://toastability-production.s3.amazonaws.com/dvz0441h9fxjhh88lzqbwdoyxv52",
643
- "https://toastability-production.s3.amazonaws.com/50y066ms7rb5sw62u9u08jzkk8rj",
644
- "https://toastability-production.s3.amazonaws.com/9uxe0jw1zl1tujy0m5yalo7m2ht8",
645
- "https://toastability-production.s3.amazonaws.com/cyhcpla6me8vs936i3fw6wbhypi2",
646
- "https://toastability-production.s3.amazonaws.com/6ntdz6xwid3fswjz8y0otdxmzs40",
647
- "https://toastability-production.s3.amazonaws.com/y1aezpa78m2fhfvj8whcx337y9cb",
648
- "https://toastability-production.s3.amazonaws.com/eoa76d31ynbg34urr6e4619la1f7",
649
- "https://toastability-production.s3.amazonaws.com/0mh8a1dg7ftcqnyzgv303u501c8y",
650
- "https://toastability-production.s3.amazonaws.com/vvucxqs128w2d0z3n4s2z131rq7p",
651
- "https://toastability-production.s3.amazonaws.com/2rbqbw9778770i8izdeabx8v2w2k",
652
- "https://toastability-production.s3.amazonaws.com/90rcw2mljzpeuxlac8q77mor15xz",
653
- "https://toastability-production.s3.amazonaws.com/vh1aowwr93yz4qrzct2s4je0cxdo",
654
- "https://toastability-production.s3.amazonaws.com/ssgb7unxdwdqokfvhkp7cok2v79s",
655
- "https://toastability-production.s3.amazonaws.com/vvkma6b8whdkiq5nq8z4eyfe00vo",
656
- "https://toastability-production.s3.amazonaws.com/9797jh6slgbf9oq6lzlimcdiuziv",
657
- "https://toastability-production.s3.amazonaws.com/betxbx61fkijt0aygineplf489ze",
658
- "https://toastability-production.s3.amazonaws.com/0o6d7z4mm9nzeufhv9kefrhihbip",
659
- "https://toastability-production.s3.amazonaws.com/1xdx70c7gp9l883soyh5d3exesvt",
660
- "https://toastability-production.s3.amazonaws.com/jhjfvkmdzktacyijd9fh6acc7o2c",
661
- "https://toastability-production.s3.amazonaws.com/n001o4pfpszmyw03ubctig7kvf0e",
662
- "https://toastability-production.s3.amazonaws.com/l080sx0lcx51x44dqrb8006nqf08",
663
- "https://toastability-production.s3.amazonaws.com/2t36c7l0ywchaz4nys8yj2l5amae",
664
- "https://toastability-production.s3.amazonaws.com/gg5qnvb4nsl2k3g4dw4ls8bsllwh",
665
- "https://toastability-production.s3.amazonaws.com/3nqc7xvjy3e8d7jo1gdvbzty0oqg",
666
- "https://toastability-production.s3.amazonaws.com/0kx9umbfmv881wt9dfqnohv8efgi",
667
- "https://toastability-production.s3.amazonaws.com/9z0sbfnskx70vse99e3dfhper7i1",
668
- "https://toastability-production.s3.amazonaws.com/9keidwrag6g7jtqr7rdwb1ryt6ht",
669
- "https://toastability-production.s3.amazonaws.com/zm88vf14geh1gh0frd3yrdlb6pl8",
670
- "https://toastability-production.s3.amazonaws.com/0x7ktdk01jfaoysst0emzvqevu19",
671
- "https://toastability-production.s3.amazonaws.com/e83zsyvl0an0owzdmpwjnnty641x",
672
- "https://toastability-production.s3.amazonaws.com/t3k42fbzq7r7j93feldqm5cj1o1n",
673
- "https://toastability-production.s3.amazonaws.com/5sm6wc4no8fyzxfki5njmnv6gql5",
674
- "https://toastability-production.s3.amazonaws.com/w41h7890eivogu3sr78vlwkpzz8g",
675
- "https://toastability-production.s3.amazonaws.com/vrezhtksoqbw1nyo4hwnoqizrus5",
676
- "https://toastability-production.s3.amazonaws.com/8qkikcd43paeqgvw9gc1032j3yup",
677
- "https://toastability-production.s3.amazonaws.com/ihhq8unynafk4aikmys3rhbfibaz",
678
- "https://toastability-production.s3.amazonaws.com/rews5enr9ynu6izioj66s8ec90nc",
679
- "https://toastability-production.s3.amazonaws.com/6ku135fhv528eei3agnoc3zd7y75",
680
- "https://toastability-production.s3.amazonaws.com/x4scuzhsozrwrg703df5wbhygkgo",
681
- "https://toastability-production.s3.amazonaws.com/73e0s79u4crdu7cmjfp99j1l2v55",
682
- "https://toastability-production.s3.amazonaws.com/rddfyzvfpdlbzwhgep2myppwxn05",
683
- "https://toastability-production.s3.amazonaws.com/mat88x8zzdek7wpgtocjrehfivsh",
684
- "https://toastability-production.s3.amazonaws.com/3vwfdbekbkskxj2mvlvu85fz787u",
685
- "https://toastability-production.s3.amazonaws.com/ms4s4zyqpmboh0slez1cwat9qhw4",
686
- "https://toastability-production.s3.amazonaws.com/5jsc0b4e3gxnjs81iotw2c3e6da3",
687
- "https://toastability-production.s3.amazonaws.com/0g6t701zqr2r7najmdgftpeqnxmz",
688
- "https://toastability-production.s3.amazonaws.com/u3p1hlbm2c1vvkwlm8h668pe132z",
689
- "https://toastability-production.s3.amazonaws.com/ehgbcugs782765ke1l2dtbtzd918",
690
- "https://toastability-production.s3.amazonaws.com/kka8f550on7acx1lf82xleu6zhzo",
691
- "https://toastability-production.s3.amazonaws.com/67fnapqepn7f8vwt0x4nqho70hbz",
692
- "https://toastability-production.s3.amazonaws.com/t4cidbsfz3z468bn45yqdrkbx7ou",
693
- "https://toastability-production.s3.amazonaws.com/gq3c9qalkiomu0rzdzxymkdaazdu",
694
- "https://toastability-production.s3.amazonaws.com/9ujya2tfhxja7y5s9wb7d2u8crhd",
695
- "https://toastability-production.s3.amazonaws.com/hotlo54tsvl2k3eht9gg0460l9zw",
696
- "https://toastability-production.s3.amazonaws.com/ytbyjrcvrghc7wl6w1g7g8fwka22",
697
- "https://toastability-production.s3.amazonaws.com/uv0g605yf5mz106nrm1uspt9l0rr",
698
- "https://toastability-production.s3.amazonaws.com/yrp5k5xszwpe26fquupey6a6g0uu",
699
- "https://toastability-production.s3.amazonaws.com/97gctpna2hdozl1f8u5xq4ew8h0o",
700
- "https://toastability-production.s3.amazonaws.com/xjtepune0scj9yjkkqgaiwlq9hls",
701
- "https://toastability-production.s3.amazonaws.com/g607vblaarqctl1cvgxffhx4pw6g",
702
- "https://toastability-production.s3.amazonaws.com/4xpu1ljr9c8g6qzmfum5ygjzbzpb",
703
- "https://toastability-production.s3.amazonaws.com/yw5f7iwyypf4kctpr5ye5e495swt",
704
- "https://toastability-production.s3.amazonaws.com/z37cidvud212bzqhhalrhvk7ipaa",
705
- "https://toastability-production.s3.amazonaws.com/pfllskt7q7144l288lrnpc6gx606",
706
- "https://toastability-production.s3.amazonaws.com/fokd3hxzvdtsomagbfhqooyvndyv",
707
- "https://toastability-production.s3.amazonaws.com/6fffnb4phovtqkjhtzifs4rhb84u",
708
- "https://toastability-production.s3.amazonaws.com/mt87xjr79wxdhjy7496v3r6m2m9t",
709
- "https://toastability-production.s3.amazonaws.com/3dy9ge962uarlaf2xl7imdcviqgx",
710
- "https://toastability-production.s3.amazonaws.com/okf6fg4n9yv59up8ivgcdjy3w030",
711
- "https://toastability-production.s3.amazonaws.com/t7iteqw4xhtppkiws88bsoia25hv",
712
- "https://toastability-production.s3.amazonaws.com/klr5tuvulkyqfb721txtu4hgzxdm",
713
- "https://toastability-production.s3.amazonaws.com/9eddibiq5ovc9cvs3ekijkrjpahg",
714
- "https://toastability-production.s3.amazonaws.com/3ghn8dz3g9qtt4pf4nwbriaydvzb",
715
- "https://toastability-production.s3.amazonaws.com/82ykd8s8boiqaxypkulb0v0s2qiw",
716
- "https://toastability-production.s3.amazonaws.com/4eqmdeanxfk6jzvigo42y5ryv2c8",
717
- "https://toastability-production.s3.amazonaws.com/9ughnl9wnko2vdboib8n3wl3cxsy",
718
- "https://toastability-production.s3.amazonaws.com/4xjcgtlwseruezhoh3o1ga4umhj4",
719
- "https://toastability-production.s3.amazonaws.com/xwh1zzxgyd887thfm1j9lu9qnd6c",
720
- "https://toastability-production.s3.amazonaws.com/ri0dqx79spe6771np76mkmno5xfd",
721
- "https://toastability-production.s3.amazonaws.com/e13qu3083lkhdg7th64vb628172a",
722
- "https://toastability-production.s3.amazonaws.com/w87w0fyjdol9yzwo7yywkgxidvzo"
723
- ];
724
- var defaultArticleContent = (optixFlowConfig) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
725
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "lead", children: "In the ever-evolving landscape of web development, staying current with best practices and emerging technologies is crucial for building exceptional digital experiences." }),
726
- /* @__PURE__ */ jsxRuntime.jsx("h2", { children: "Understanding the Fundamentals" }),
727
- /* @__PURE__ */ jsxRuntime.jsx("p", { children: "Before diving into advanced concepts, it's essential to have a solid grasp of the fundamentals. HTML, CSS, and JavaScript form the backbone of web development, and mastering these technologies opens doors to more complex frameworks and tools." }),
728
- /* @__PURE__ */ jsxRuntime.jsx("p", { children: "Modern web development has evolved significantly over the past decade. What once required extensive server-side rendering can now be accomplished with client-side frameworks that offer improved performance and user experience." }),
729
- /* @__PURE__ */ jsxRuntime.jsx("h2", { children: "The Rise of Component-Based Architecture" }),
730
- /* @__PURE__ */ jsxRuntime.jsx("p", { children: "Component-based architecture has revolutionized how we build web applications. By breaking down interfaces into reusable, self-contained components, developers can create more maintainable and scalable codebases." }),
731
- /* @__PURE__ */ jsxRuntime.jsx("blockquote", { children: "\u201CThe best code is no code at all. Every new line of code you willingly bring into the world is code that has to be debugged, code that has to be read and understood.\u201D" }),
732
- /* @__PURE__ */ jsxRuntime.jsx("h2", { children: "Performance Optimization" }),
733
- /* @__PURE__ */ jsxRuntime.jsx("p", { children: "Performance is no longer optional\u2014it's a critical factor in user experience and search engine rankings. Techniques like code splitting, lazy loading, and image optimization have become standard practices in modern web development." }),
734
- /* @__PURE__ */ jsxRuntime.jsx(
735
- img.Img,
634
+ // lib/patternSvgs.ts
635
+ var patternSvgs = {
636
+ squareAltGrid: "https://cdn.ing/assets/files/record/286187/4gpn0yq2ptra8iwlvmwwv860ggwv",
637
+ grid1: "https://cdn.ing/assets/files/record/286186/nbdflpgp4ostrno079hygibsflp3",
638
+ noise: "https://cdn.ing/assets/i/r/286188/zrqcp9hynh3j7p2laihwzfbujgrl/noise.png",
639
+ dots: "https://cdn.ing/assets/files/record/286198/yfsjx9thvtxzhl2qtshxyhkrm524",
640
+ dotPattern: "https://cdn.ing/assets/files/record/286192/7ig0cku8aqbboiza8nuk6hw0nnsr",
641
+ dotPattern2: "https://cdn.ing/assets/files/record/286189/arez6gd2s7isn9i1o6c7sexdq7bl",
642
+ circles: "https://cdn.ing/assets/files/record/286190/gtmia3sncjtzetdshc20zf1d3c17",
643
+ waves: "https://cdn.ing/assets/files/record/286191/mqlb33fzxz9cdth1bx7if0wmpkp1",
644
+ crossPattern: "https://cdn.ing/assets/files/record/286193/9yfqwdbnqaipbp7fsb3wbzzmq472",
645
+ architect: "https://cdn.ing/assets/files/record/286194/vgs88ugpvyhxu13wqgy0acvae6re",
646
+ tinyCheckers: "https://cdn.ing/assets/files/record/286195/65efaknsw8kcpf9o3c2gybytsl5b",
647
+ p6: "https://cdn.ing/assets/i/r/286196/6kl0rqnd6mjk8j7e525fo8fo0vkc/p6.webp"
648
+ };
649
+ var maskTop = "radial-gradient(ellipse 70% 60% at 50% 0%, #000 60%, transparent 100%)";
650
+ var maskBottom = "radial-gradient(ellipse 100% 80% at 50% 100%, #000 50%, transparent 90%)";
651
+ var maskCenter = "radial-gradient(ellipse 60% 60% at 50% 50%, #000 30%, transparent 70%)";
652
+ var maskTopLeft = "radial-gradient(ellipse 80% 80% at 0% 0%, #000 50%, transparent 90%)";
653
+ var maskTopRight = "radial-gradient(ellipse 80% 80% at 100% 0%, #000 50%, transparent 90%)";
654
+ var maskBottomLeft = "radial-gradient(ellipse 80% 80% at 0% 100%, #000 50%, transparent 90%)";
655
+ var maskBottomRight = "radial-gradient(ellipse 80% 80% at 100% 100%, #000 50%, transparent 90%)";
656
+ var circuitBoardPattern = (id, mask) => /* @__PURE__ */ jsxRuntime.jsxs(
657
+ "svg",
658
+ {
659
+ className: "h-full w-full",
660
+ xmlns: "http://www.w3.org/2000/svg",
661
+ style: mask ? {
662
+ maskImage: mask,
663
+ WebkitMaskImage: mask
664
+ } : void 0,
665
+ children: [
666
+ /* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsxs(
667
+ "pattern",
668
+ {
669
+ id,
670
+ x: "0",
671
+ y: "0",
672
+ width: "100",
673
+ height: "100",
674
+ patternUnits: "userSpaceOnUse",
675
+ children: [
676
+ /* @__PURE__ */ jsxRuntime.jsx(
677
+ "path",
678
+ {
679
+ d: "M0 50h40M60 50h40M50 0v40M50 60v40",
680
+ stroke: "hsl(var(--muted))",
681
+ strokeWidth: "1",
682
+ fill: "none"
683
+ }
684
+ ),
685
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "50", cy: "50", r: "3", fill: "hsl(var(--muted))" }),
686
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "0", cy: "50", r: "2", fill: "hsl(var(--muted))" }),
687
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "100", cy: "50", r: "2", fill: "hsl(var(--muted))" }),
688
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "50", cy: "0", r: "2", fill: "hsl(var(--muted))" }),
689
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "50", cy: "100", r: "2", fill: "hsl(var(--muted))" })
690
+ ]
691
+ }
692
+ ) }),
693
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { width: "100%", height: "100%", fill: `url(#${id})` })
694
+ ]
695
+ }
696
+ );
697
+ var gridDotsPattern = (id, mask) => /* @__PURE__ */ jsxRuntime.jsxs(
698
+ "svg",
699
+ {
700
+ className: "h-full w-full",
701
+ xmlns: "http://www.w3.org/2000/svg",
702
+ style: mask ? {
703
+ maskImage: mask,
704
+ WebkitMaskImage: mask
705
+ } : void 0,
706
+ children: [
707
+ /* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsxs(
708
+ "pattern",
709
+ {
710
+ id,
711
+ x: "0",
712
+ y: "0",
713
+ width: "40",
714
+ height: "40",
715
+ patternUnits: "userSpaceOnUse",
716
+ children: [
717
+ /* @__PURE__ */ jsxRuntime.jsx(
718
+ "path",
719
+ {
720
+ d: "M0 20h40M20 0v40",
721
+ stroke: "hsl(var(--muted))",
722
+ strokeWidth: "0.5",
723
+ fill: "none"
724
+ }
725
+ ),
726
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "20", cy: "20", r: "2", fill: "hsl(var(--muted))" })
727
+ ]
728
+ }
729
+ ) }),
730
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { width: "100%", height: "100%", fill: `url(#${id})` })
731
+ ]
732
+ }
733
+ );
734
+ var gridPattern = (size, mask) => /* @__PURE__ */ jsxRuntime.jsx(
735
+ "div",
736
+ {
737
+ 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)]",
738
+ style: {
739
+ backgroundSize: `${size}px ${size}px`,
740
+ ...mask ? {
741
+ maskImage: mask,
742
+ WebkitMaskImage: mask
743
+ } : {}
744
+ }
745
+ }
746
+ );
747
+ var diagonalCrossPattern = (mask) => /* @__PURE__ */ jsxRuntime.jsx(
748
+ "div",
749
+ {
750
+ className: "h-full w-full",
751
+ style: {
752
+ 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)",
753
+ ...mask ? {
754
+ maskImage: mask,
755
+ WebkitMaskImage: mask
756
+ } : {}
757
+ }
758
+ }
759
+ );
760
+ 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)";
761
+ var dashedGridPattern = (fadeMask) => {
762
+ const mask = fadeMask ? `${dashedGridMaskBase}, ${fadeMask}` : dashedGridMaskBase;
763
+ return /* @__PURE__ */ jsxRuntime.jsx(
764
+ "div",
736
765
  {
737
- src: imagePlaceholders[3],
738
- alt: "Performance optimization illustration",
739
- className: "my-8 aspect-video w-full rounded-lg object-cover",
740
- optixFlowConfig
766
+ className: "h-full w-full",
767
+ style: {
768
+ backgroundImage: "linear-gradient(to right, hsl(var(--muted)) 1px, transparent 1px), linear-gradient(to bottom, hsl(var(--muted)) 1px, transparent 1px)",
769
+ backgroundSize: "20px 20px",
770
+ backgroundPosition: "0 0, 0 0",
771
+ maskImage: mask,
772
+ WebkitMaskImage: mask,
773
+ maskComposite: "intersect",
774
+ WebkitMaskComposite: "source-in"
775
+ }
776
+ }
777
+ );
778
+ };
779
+ var gradientGlow = (position) => /* @__PURE__ */ jsxRuntime.jsx(
780
+ "div",
781
+ {
782
+ className: cn(
783
+ "pointer-events-none absolute left-1/2 z-0 aspect-square w-3/4 -translate-x-1/2 rounded-full opacity-50 blur-3xl",
784
+ position === "top" ? "-top-1/4" : "-bottom-1/4"
785
+ ),
786
+ style: {
787
+ background: "radial-gradient(circle, hsl(var(--primary)) 0%, transparent 70%)"
788
+ }
789
+ }
790
+ );
791
+ var spotlight = (position) => /* @__PURE__ */ jsxRuntime.jsx(
792
+ "div",
793
+ {
794
+ className: cn(
795
+ "pointer-events-none absolute top-1/2 z-0 aspect-square w-3/4 -translate-y-1/2 rounded-full opacity-40 blur-3xl",
796
+ position === "left" ? "-left-1/4" : "-right-1/4"
797
+ ),
798
+ style: {
799
+ background: "radial-gradient(circle, hsl(var(--primary)) 0%, transparent 70%)"
741
800
  }
742
- ),
743
- /* @__PURE__ */ jsxRuntime.jsx("h2", { children: "Looking Ahead" }),
744
- /* @__PURE__ */ jsxRuntime.jsx("p", { children: "The future of web development is exciting, with emerging technologies like WebAssembly, Edge Computing, and AI-powered development tools reshaping how we build for the web. Staying curious and continuously learning will be key to thriving in this dynamic field." })
745
- ] });
801
+ }
802
+ );
803
+ var patternOverlays = {
804
+ circuitBoardBasic: () => circuitBoardPattern("circuit-board-basic"),
805
+ circuitBoardFadeTop: () => circuitBoardPattern("circuit-board-fade-top", maskTop),
806
+ circuitBoardFadeBottom: () => circuitBoardPattern("circuit-board-fade-bottom", maskBottom),
807
+ circuitBoardFadeCenter: () => circuitBoardPattern("circuit-board-fade-center", maskCenter),
808
+ circuitBoardFadeTopLeft: () => circuitBoardPattern("circuit-board-fade-top-left", maskTopLeft),
809
+ circuitBoardFadeTopRight: () => circuitBoardPattern("circuit-board-fade-top-right", maskTopRight),
810
+ circuitBoardFadeBottomLeft: () => circuitBoardPattern("circuit-board-fade-bottom-left", maskBottomLeft),
811
+ circuitBoardFadeBottomRight: () => circuitBoardPattern("circuit-board-fade-bottom-right", maskBottomRight),
812
+ dashedGridBasic: () => dashedGridPattern(),
813
+ dashedGridFadeTop: () => dashedGridPattern(maskTop),
814
+ dashedGridFadeBottom: () => dashedGridPattern(maskBottom),
815
+ dashedGridFadeCenter: () => dashedGridPattern(maskCenter),
816
+ dashedGridFadeTopLeft: () => dashedGridPattern(maskTopLeft),
817
+ dashedGridFadeTopRight: () => dashedGridPattern(maskTopRight),
818
+ dashedGridFadeBottomLeft: () => dashedGridPattern(maskBottomLeft),
819
+ dashedGridFadeBottomRight: () => dashedGridPattern(maskBottomRight),
820
+ diagonalCrossBasic: () => diagonalCrossPattern(),
821
+ diagonalCrossFadeTop: () => diagonalCrossPattern(maskTop),
822
+ diagonalCrossFadeBottom: () => diagonalCrossPattern(maskBottom),
823
+ diagonalCrossFadeCenter: () => diagonalCrossPattern(maskCenter),
824
+ diagonalCrossFadeTopLeft: () => diagonalCrossPattern(maskTopLeft),
825
+ diagonalCrossFadeTopRight: () => diagonalCrossPattern(maskTopRight),
826
+ diagonalCrossFadeBottomLeft: () => diagonalCrossPattern(maskBottomLeft),
827
+ diagonalCrossFadeBottomRight: () => diagonalCrossPattern(maskBottomRight),
828
+ gridBasic: () => gridPattern(40),
829
+ gridFadeTop: () => gridPattern(32, maskTop),
830
+ gridFadeBottom: () => gridPattern(32, maskBottom),
831
+ gridFadeCenter: () => gridPattern(40, maskCenter),
832
+ gridFadeTopLeft: () => gridPattern(32, maskTopLeft),
833
+ gridFadeTopRight: () => gridPattern(32, maskTopRight),
834
+ gridFadeBottomLeft: () => gridPattern(32, maskBottomLeft),
835
+ gridFadeBottomRight: () => gridPattern(32, maskBottomRight),
836
+ gridDotsBasic: () => gridDotsPattern("grid-dots-basic"),
837
+ gridDotsFadeCenter: () => gridDotsPattern("grid-dots-fade-center", maskCenter),
838
+ gradientGlowTop: () => gradientGlow("top"),
839
+ gradientGlowBottom: () => gradientGlow("bottom"),
840
+ spotlightLeft: () => spotlight("left"),
841
+ spotlightRight: () => spotlight("right")
842
+ };
843
+ var inlinePatternStyles = {
844
+ radialGradientTop: {
845
+ background: "radial-gradient(125% 125% at 50% 10%, hsl(var(--background)) 40%, hsl(var(--primary)) 100%)"
846
+ },
847
+ radialGradientBottom: {
848
+ background: "radial-gradient(125% 125% at 50% 90%, hsl(var(--background)) 40%, hsl(var(--primary)) 100%)"
849
+ }
850
+ };
851
+ function PatternBackground({
852
+ pattern,
853
+ opacity = 0.08,
854
+ className,
855
+ style
856
+ }) {
857
+ if (!pattern) {
858
+ return null;
859
+ }
860
+ if (pattern in inlinePatternStyles) {
861
+ const inlineStyle = inlinePatternStyles[pattern];
862
+ return /* @__PURE__ */ jsxRuntime.jsx(
863
+ "div",
864
+ {
865
+ className: cn("pointer-events-none absolute inset-0 z-0", className),
866
+ style: { ...inlineStyle, opacity, ...style },
867
+ "aria-hidden": "true"
868
+ }
869
+ );
870
+ }
871
+ if (pattern in patternOverlays) {
872
+ const Overlay = patternOverlays[pattern];
873
+ return /* @__PURE__ */ jsxRuntime.jsx(
874
+ "div",
875
+ {
876
+ className: cn("pointer-events-none absolute inset-0 z-0", className),
877
+ style: { opacity, ...style },
878
+ "aria-hidden": "true",
879
+ children: Overlay()
880
+ }
881
+ );
882
+ }
883
+ const patternUrl = pattern in patternSvgs ? patternSvgs[pattern] : pattern;
884
+ return /* @__PURE__ */ jsxRuntime.jsx(
885
+ "div",
886
+ {
887
+ className: cn("pointer-events-none absolute inset-0 z-0", className),
888
+ style: {
889
+ backgroundImage: `url(${patternUrl})`,
890
+ backgroundRepeat: "repeat",
891
+ backgroundSize: "auto",
892
+ opacity,
893
+ ...style
894
+ },
895
+ "aria-hidden": "true"
896
+ }
897
+ );
898
+ }
899
+ var backgroundStyles = {
900
+ default: "bg-background text-foreground",
901
+ white: "bg-white text-dark",
902
+ gray: "bg-muted/30 text-foreground",
903
+ dark: "bg-foreground text-background",
904
+ transparent: "bg-transparent text-foreground",
905
+ gradient: "bg-linear-to-br from-primary via-primary/90 to-foreground text-primary-foreground",
906
+ primary: "bg-primary text-primary-foreground",
907
+ secondary: "bg-secondary text-secondary-foreground",
908
+ muted: "bg-muted text-muted-foreground"
909
+ };
910
+ var spacingStyles = {
911
+ none: "py-0 md:py-0",
912
+ sm: "py-12 md:py-16",
913
+ md: "py-16 md:py-24",
914
+ lg: "py-20 md:py-32",
915
+ xl: "py-24 md:py-40"
916
+ };
917
+ var Section = React__namespace.default.forwardRef(
918
+ ({
919
+ id,
920
+ title,
921
+ subtitle,
922
+ children,
923
+ className,
924
+ style,
925
+ background = "default",
926
+ spacing = "lg",
927
+ pattern,
928
+ patternOpacity,
929
+ patternClassName,
930
+ containerClassName,
931
+ containerMaxWidth = "xl",
932
+ ...props
933
+ }, ref) => {
934
+ const effectivePatternOpacity = patternOpacity !== void 0 ? patternOpacity : pattern ? 1 : 0;
935
+ return /* @__PURE__ */ jsxRuntime.jsxs(
936
+ "section",
937
+ {
938
+ ref,
939
+ id,
940
+ className: cn(
941
+ "relative",
942
+ pattern ? "overflow-hidden" : null,
943
+ backgroundStyles[background],
944
+ spacingStyles[spacing],
945
+ className
946
+ ),
947
+ style,
948
+ ...props,
949
+ children: [
950
+ /* @__PURE__ */ jsxRuntime.jsx(
951
+ PatternBackground,
952
+ {
953
+ pattern,
954
+ opacity: effectivePatternOpacity,
955
+ className: patternClassName
956
+ }
957
+ ),
958
+ /* @__PURE__ */ jsxRuntime.jsxs(
959
+ Container,
960
+ {
961
+ maxWidth: containerMaxWidth,
962
+ className: cn("relative z-10", containerClassName),
963
+ children: [
964
+ (title || subtitle) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-12 text-center md:mb-16", children: [
965
+ subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-sm font-semibold uppercase tracking-wider text-primary", children: subtitle }),
966
+ title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-3xl font-bold tracking-tight md:text-4xl lg:text-5xl", children: title })
967
+ ] }),
968
+ children
969
+ ]
970
+ }
971
+ )
972
+ ]
973
+ }
974
+ );
975
+ }
976
+ );
977
+ Section.displayName = "Section";
746
978
  function ArticleSidebarStickyComponent({
747
979
  className,
748
980
  containerClassName,
@@ -766,7 +998,11 @@ function ArticleSidebarStickyComponent({
766
998
  heroImageAlt,
767
999
  heroMediaSlot,
768
1000
  children,
769
- optixFlowConfig
1001
+ optixFlowConfig,
1002
+ background,
1003
+ spacing,
1004
+ pattern,
1005
+ patternOpacity
770
1006
  }) {
771
1007
  const backLinkContent = React__namespace.useMemo(() => {
772
1008
  if (backLinkSlot) return backLinkSlot;
@@ -811,19 +1047,29 @@ function ArticleSidebarStickyComponent({
811
1047
  }
812
1048
  );
813
1049
  }, [heroMediaSlot, heroImageSrc, heroImageAlt, heroImageClassName, optixFlowConfig]);
814
- return /* @__PURE__ */ jsxRuntime.jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-10 lg:grid-cols-[1fr_minmax(0,2fr)]", children: [
815
- /* @__PURE__ */ jsxRuntime.jsx("aside", { className: cn("hidden lg:block", sidebarClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "sticky top-8 space-y-6", children: [
816
- backLinkContent,
817
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-4", children: renderAuthor(false) })
818
- ] }) }),
819
- /* @__PURE__ */ jsxRuntime.jsxs("article", { className: cn("prose max-w-none dark:prose-invert", articleClassName), children: [
820
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-8 lg:hidden", children: backLinkContent }),
821
- title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
822
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4 lg:hidden", children: renderAuthor(true) }),
823
- heroMediaContent,
824
- children || defaultArticleContent(optixFlowConfig)
825
- ] })
826
- ] }) }) });
1050
+ return /* @__PURE__ */ jsxRuntime.jsx(
1051
+ Section,
1052
+ {
1053
+ background,
1054
+ spacing,
1055
+ pattern,
1056
+ patternOpacity,
1057
+ className,
1058
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-10 lg:grid-cols-[1fr_minmax(0,2fr)]", children: [
1059
+ /* @__PURE__ */ jsxRuntime.jsx("aside", { className: cn("hidden lg:block", sidebarClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "sticky top-8 space-y-6", children: [
1060
+ backLinkContent,
1061
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-4", children: renderAuthor(false) })
1062
+ ] }) }),
1063
+ /* @__PURE__ */ jsxRuntime.jsxs("article", { className: cn("prose max-w-none dark:prose-invert", articleClassName), children: [
1064
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-8 lg:hidden", children: backLinkContent }),
1065
+ title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
1066
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4 lg:hidden", children: renderAuthor(true) }),
1067
+ heroMediaContent,
1068
+ children
1069
+ ] })
1070
+ ] }) })
1071
+ }
1072
+ );
827
1073
  }
828
1074
 
829
1075
  exports.ArticleSidebarSticky = ArticleSidebarStickyComponent;
@@ -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 { O as OptixFlowConfig } from './blocks-Cohq4eio.cjs';
4
6
  import 'class-variance-authority';
5
7
  import './button-variants-lRElsmTc.cjs';
@@ -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 };