@booga/vblocks 0.3.1 → 0.3.3

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 (47) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/blog/index.cjs +8 -8
  3. package/dist/blog/index.cjs.map +1 -1
  4. package/dist/blog/index.js +8 -8
  5. package/dist/blog/index.js.map +1 -1
  6. package/dist/business/index.cjs +1 -1
  7. package/dist/business/index.cjs.map +1 -1
  8. package/dist/business/index.js +1 -1
  9. package/dist/business/index.js.map +1 -1
  10. package/dist/cta/index.cjs +2 -2
  11. package/dist/cta/index.cjs.map +1 -1
  12. package/dist/cta/index.js +2 -2
  13. package/dist/cta/index.js.map +1 -1
  14. package/dist/features/index.cjs +1 -1
  15. package/dist/features/index.cjs.map +1 -1
  16. package/dist/features/index.js +1 -1
  17. package/dist/features/index.js.map +1 -1
  18. package/dist/gallery/index.cjs +1 -1
  19. package/dist/gallery/index.cjs.map +1 -1
  20. package/dist/gallery/index.js +1 -1
  21. package/dist/gallery/index.js.map +1 -1
  22. package/dist/hero/index.cjs +2 -2
  23. package/dist/hero/index.cjs.map +1 -1
  24. package/dist/hero/index.js +2 -2
  25. package/dist/hero/index.js.map +1 -1
  26. package/dist/index.cjs +24 -29
  27. package/dist/index.cjs.map +1 -1
  28. package/dist/index.js +25 -30
  29. package/dist/index.js.map +1 -1
  30. package/dist/portfolio/index.cjs +3 -3
  31. package/dist/portfolio/index.cjs.map +1 -1
  32. package/dist/portfolio/index.js +3 -3
  33. package/dist/portfolio/index.js.map +1 -1
  34. package/dist/post/index.cjs +3 -3
  35. package/dist/post/index.cjs.map +1 -1
  36. package/dist/post/index.js +3 -3
  37. package/dist/post/index.js.map +1 -1
  38. package/dist/styles.css +1 -1
  39. package/dist/team/index.cjs +1 -1
  40. package/dist/team/index.cjs.map +1 -1
  41. package/dist/team/index.js +1 -1
  42. package/dist/team/index.js.map +1 -1
  43. package/dist/testimonial/index.cjs +2 -7
  44. package/dist/testimonial/index.cjs.map +1 -1
  45. package/dist/testimonial/index.js +3 -8
  46. package/dist/testimonial/index.js.map +1 -1
  47. package/package.json +2 -2
package/dist/index.cjs CHANGED
@@ -43,7 +43,7 @@ var HeroSplitContentSchema = zod.z.object({
43
43
  function HeroSplit({ content, theme }) {
44
44
  HeroSplitContentSchema.parse(content);
45
45
  const { eyebrow, heading, description, primaryCta, secondaryCta, image } = content;
46
- return /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "section", "aria-label": heading, style: themeStyle(theme), children: /* @__PURE__ */ jsxRuntime.jsxs(DGrid, { columns: 2, px: 6, py: 16, gap: 12, align: "center", className: vui.cn("max-w-6xl mx-auto"), children: [
46
+ return /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "section", "aria-label": heading, style: themeStyle(theme), children: /* @__PURE__ */ jsxRuntime.jsxs(DGrid, { columns: 2, px: 6, py: 24, gap: 12, align: "center", className: vui.cn("max-w-6xl mx-auto"), children: [
47
47
  /* @__PURE__ */ jsxRuntime.jsxs(DStack, { gap: 6, children: [
48
48
  eyebrow && /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "p", color: "accent", className: vui.cn("text-sm font-semibold uppercase tracking-widest"), children: eyebrow }),
49
49
  /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "h1", className: vui.cn("text-5xl font-bold tracking-tight leading-tight"), children: heading }),
@@ -86,7 +86,7 @@ function HeroCentered({ content, theme }) {
86
86
  return /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "section", "aria-label": heading, style: themeStyle(theme), children: /* @__PURE__ */ jsxRuntime.jsxs(DStack, { px: 6, py: 24, gap: 8, align: "center", className: vui.cn("max-w-3xl mx-auto text-center"), children: [
87
87
  eyebrow && /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "p", color: "accent", className: vui.cn("text-sm font-semibold uppercase tracking-widest"), children: eyebrow }),
88
88
  /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "h1", className: vui.cn("text-5xl font-bold tracking-tight leading-tight"), children: heading }),
89
- /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "p", color: "muted", className: vui.cn("text-xl"), children: description }),
89
+ /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "p", color: "muted", className: vui.cn("text-lg"), children: description }),
90
90
  /* @__PURE__ */ jsxRuntime.jsxs(DInline, { wrap: true, gap: 3, justify: "center", children: [
91
91
  /* @__PURE__ */ jsxRuntime.jsx(vui.Button, { as: "a", href: primaryCta.href, children: primaryCta.label }),
92
92
  secondaryCta && /* @__PURE__ */ jsxRuntime.jsx(vui.Button, { as: "a", href: secondaryCta.href, variant: "outline", children: secondaryCta.label })
@@ -112,7 +112,7 @@ function CtaSplit({ content, theme }) {
112
112
  const { heading, description, primaryCta, image } = content;
113
113
  return /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "section", "aria-label": heading, style: themeStyle(theme), children: /* @__PURE__ */ jsxRuntime.jsxs(DGrid, { columns: 2, px: 6, py: 16, gap: 12, align: "center", className: vui.cn("max-w-6xl mx-auto"), children: [
114
114
  /* @__PURE__ */ jsxRuntime.jsxs(DStack, { gap: 6, children: [
115
- /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "h2", className: vui.cn("text-4xl font-bold tracking-tight"), children: heading }),
115
+ /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "h2", className: vui.cn("text-3xl font-bold tracking-tight"), children: heading }),
116
116
  /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "p", color: "muted", className: vui.cn("text-lg"), children: description }),
117
117
  /* @__PURE__ */ jsxRuntime.jsx(vui.Button, { as: "a", href: primaryCta.href, size: "lg", children: primaryCta.label })
118
118
  ] }),
@@ -145,7 +145,7 @@ function CtaCentered({ content, theme }) {
145
145
  CtaCenteredContentSchema.parse(content);
146
146
  const { heading, description, primaryCta, secondaryCta } = content;
147
147
  return /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "section", "aria-label": heading, style: themeStyle(theme), children: /* @__PURE__ */ jsxRuntime.jsxs(DStack, { px: 6, gap: 8, align: "center", className: vui.cn("max-w-2xl mx-auto text-center py-20"), children: [
148
- /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "h2", className: vui.cn("text-4xl font-bold tracking-tight"), children: heading }),
148
+ /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "h2", className: vui.cn("text-3xl font-bold tracking-tight"), children: heading }),
149
149
  /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "p", color: "muted", className: vui.cn("text-lg"), children: description }),
150
150
  /* @__PURE__ */ jsxRuntime.jsxs(DInline, { wrap: true, gap: 3, justify: "center", children: [
151
151
  /* @__PURE__ */ jsxRuntime.jsx(vui.Button, { as: "a", href: primaryCta.href, size: "lg", children: primaryCta.label }),
@@ -354,7 +354,7 @@ var GalleryGridContentSchema = zod.z.object({
354
354
  function GalleryGrid({ content, theme }) {
355
355
  GalleryGridContentSchema.parse(content);
356
356
  const { items } = content;
357
- return /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "section", "aria-label": "Gallery", style: themeStyle(theme), children: /* @__PURE__ */ jsxRuntime.jsx(DGrid, { columns: 3, px: 6, py: 12, gap: 4, className: vui.cn("max-w-6xl mx-auto"), children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs(DBox, { as: "figure", m: 0, children: [
357
+ return /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "section", "aria-label": "Gallery", style: themeStyle(theme), children: /* @__PURE__ */ jsxRuntime.jsx(DGrid, { columns: 3, px: 6, py: 16, gap: 4, className: vui.cn("max-w-6xl mx-auto"), children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs(DBox, { as: "figure", m: 0, children: [
358
358
  /* @__PURE__ */ jsxRuntime.jsx(
359
359
  DBox,
360
360
  {
@@ -406,7 +406,7 @@ function PortfolioSplit({ content, theme }) {
406
406
  }
407
407
  ),
408
408
  /* @__PURE__ */ jsxRuntime.jsx(vui.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs(DStack, { gap: 2, pt: 2, children: [
409
- /* @__PURE__ */ jsxRuntime.jsx(vui.Badge, { variant: "secondary", children: item.category }),
409
+ /* @__PURE__ */ jsxRuntime.jsx(vui.Badge, { variant: "secondary", className: vui.cn("self-start"), children: item.category }),
410
410
  /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "h3", className: vui.cn("font-semibold text-lg"), children: item.title })
411
411
  ] }) })
412
412
  ] }, i)) })
@@ -434,7 +434,7 @@ var PortfolioGridContentSchema = zod.z.object({
434
434
  function PortfolioGrid({ content, theme }) {
435
435
  PortfolioGridContentSchema.parse(content);
436
436
  const { items } = content;
437
- return /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "section", "aria-label": "Portfolio", style: themeStyle(theme), children: /* @__PURE__ */ jsxRuntime.jsx(DGrid, { columns: 2, px: 6, py: 12, gap: 6, className: vui.cn("max-w-6xl mx-auto"), children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs(vui.Card, { children: [
437
+ return /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "section", "aria-label": "Portfolio", style: themeStyle(theme), children: /* @__PURE__ */ jsxRuntime.jsx(DGrid, { columns: 2, px: 6, py: 16, gap: 6, className: vui.cn("max-w-6xl mx-auto"), children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs(vui.Card, { children: [
438
438
  /* @__PURE__ */ jsxRuntime.jsx(
439
439
  DBox,
440
440
  {
@@ -445,7 +445,7 @@ function PortfolioGrid({ content, theme }) {
445
445
  }
446
446
  ),
447
447
  /* @__PURE__ */ jsxRuntime.jsx(vui.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs(DStack, { gap: 2, pt: 2, children: [
448
- /* @__PURE__ */ jsxRuntime.jsx(vui.Badge, { variant: "secondary", children: item.category }),
448
+ /* @__PURE__ */ jsxRuntime.jsx(vui.Badge, { variant: "secondary", className: vui.cn("self-start"), children: item.category }),
449
449
  /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "h3", className: vui.cn("font-semibold text-lg"), children: item.title })
450
450
  ] }) })
451
451
  ] }, i)) }) });
@@ -473,8 +473,8 @@ function PostSplit({ content, theme }) {
473
473
  const { title, author, date, category, body, image } = content;
474
474
  return /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "article", style: themeStyle(theme), children: /* @__PURE__ */ jsxRuntime.jsxs(DGrid, { columns: 2, px: 6, py: 16, gap: 16, align: "start", className: vui.cn("max-w-6xl mx-auto"), children: [
475
475
  /* @__PURE__ */ jsxRuntime.jsxs(DStack, { gap: 6, className: vui.cn("sticky top-16"), children: [
476
- category && /* @__PURE__ */ jsxRuntime.jsx(vui.Badge, { variant: "secondary", children: category }),
477
- /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "h1", className: vui.cn("text-3xl font-bold tracking-tight leading-snug"), children: title }),
476
+ category && /* @__PURE__ */ jsxRuntime.jsx(vui.Badge, { variant: "secondary", className: vui.cn("self-start"), children: category }),
477
+ /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "h1", className: vui.cn("text-4xl font-bold tracking-tight leading-snug"), children: title }),
478
478
  /* @__PURE__ */ jsxRuntime.jsx(vui.Separator, {}),
479
479
  /* @__PURE__ */ jsxRuntime.jsxs(DInline, { gap: 2, color: "muted", className: vui.cn("text-sm"), children: [
480
480
  /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "span", children: author }),
@@ -517,7 +517,7 @@ function PostCentered({ content, theme }) {
517
517
  PostCenteredContentSchema.parse(content);
518
518
  const { title, author, date, category, body } = content;
519
519
  return /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "article", style: themeStyle(theme), children: /* @__PURE__ */ jsxRuntime.jsxs(DStack, { px: 6, py: 16, gap: 6, className: vui.cn("max-w-2xl mx-auto"), children: [
520
- category && /* @__PURE__ */ jsxRuntime.jsx(vui.Badge, { variant: "secondary", children: category }),
520
+ category && /* @__PURE__ */ jsxRuntime.jsx(vui.Badge, { variant: "secondary", className: vui.cn("self-start"), children: category }),
521
521
  /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "h1", className: vui.cn("text-4xl font-bold tracking-tight leading-snug"), children: title }),
522
522
  /* @__PURE__ */ jsxRuntime.jsxs(DInline, { gap: 2, color: "muted", className: vui.cn("text-sm"), children: [
523
523
  /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "span", children: author }),
@@ -594,7 +594,7 @@ function TeamGrid({ content, theme }) {
594
594
  const { heading, members } = content;
595
595
  return /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "section", "aria-label": heading, style: themeStyle(theme), children: /* @__PURE__ */ jsxRuntime.jsxs(DStack, { px: 6, py: 16, className: vui.cn("max-w-6xl mx-auto gap-10"), children: [
596
596
  /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "h2", className: vui.cn("text-3xl font-bold tracking-tight text-center"), children: heading }),
597
- /* @__PURE__ */ jsxRuntime.jsx(DGrid, { columns: 3, gap: 6, children: members.map((member, i) => /* @__PURE__ */ jsxRuntime.jsx(vui.Card, { children: /* @__PURE__ */ jsxRuntime.jsx(vui.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs(DStack, { gap: 3, align: "center", pt: 4, className: vui.cn("text-center"), children: [
597
+ /* @__PURE__ */ jsxRuntime.jsx(DGrid, { columns: 3, gap: 6, children: members.map((member, i) => /* @__PURE__ */ jsxRuntime.jsx(vui.Card, { children: /* @__PURE__ */ jsxRuntime.jsx(vui.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs(DStack, { gap: 4, align: "center", py: 6, className: vui.cn("text-center"), children: [
598
598
  /* @__PURE__ */ jsxRuntime.jsxs(vui.Avatar, { className: vui.cn("w-16 h-16"), children: [
599
599
  /* @__PURE__ */ jsxRuntime.jsx(vui.AvatarImage, { src: member.avatar.src, alt: member.avatar.alt }),
600
600
  /* @__PURE__ */ jsxRuntime.jsx(vui.AvatarFallback, { children: member.name.slice(0, 2).toUpperCase() })
@@ -642,14 +642,9 @@ function TestimonialSplit({ content, theme }) {
642
642
  /* @__PURE__ */ jsxRuntime.jsx(vui.AvatarImage, { src: avatar.src, alt: avatar.alt }),
643
643
  /* @__PURE__ */ jsxRuntime.jsx(vui.AvatarFallback, { children: author.slice(0, 2).toUpperCase() })
644
644
  ] }),
645
- /* @__PURE__ */ jsxRuntime.jsxs(DInline, { gap: 1, color: "muted", className: vui.cn("text-sm"), children: [
645
+ /* @__PURE__ */ jsxRuntime.jsxs(DInline, { gap: 0, color: "muted", className: vui.cn("text-sm"), children: [
646
646
  /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "cite", color: "fg", className: vui.cn("font-semibold not-italic"), children: author }),
647
- /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "span", children: "," }),
648
- /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "span", children: role }),
649
- company && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
650
- /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "span", children: "at" }),
651
- /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "span", children: company })
652
- ] })
647
+ /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "span", children: `, ${company ? `${role} at ${company}` : role}` })
653
648
  ] })
654
649
  ] })
655
650
  ] }) });
@@ -736,8 +731,8 @@ function BlogSplit({ content, theme }) {
736
731
  }
737
732
  ),
738
733
  /* @__PURE__ */ jsxRuntime.jsxs(DStack, { gap: 2, children: [
739
- featured.category && /* @__PURE__ */ jsxRuntime.jsx(vui.Badge, { variant: "secondary", children: featured.category }),
740
- /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "h3", className: vui.cn("text-xl font-semibold"), children: featured.title }),
734
+ featured.category && /* @__PURE__ */ jsxRuntime.jsx(vui.Badge, { variant: "secondary", className: vui.cn("self-start"), children: featured.category }),
735
+ /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "h3", className: vui.cn("text-lg font-semibold"), children: featured.title }),
741
736
  /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "p", color: "muted", children: featured.excerpt }),
742
737
  /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "time", dateTime: featured.date, color: "muted", className: vui.cn("text-xs"), children: featured.date })
743
738
  ] })
@@ -753,8 +748,8 @@ function BlogSplit({ content, theme }) {
753
748
  }
754
749
  ),
755
750
  /* @__PURE__ */ jsxRuntime.jsxs(DStack, { gap: 1, children: [
756
- post.category && /* @__PURE__ */ jsxRuntime.jsx(vui.Badge, { variant: "secondary", children: post.category }),
757
- /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "h3", className: vui.cn("font-semibold leading-snug"), children: post.title }),
751
+ post.category && /* @__PURE__ */ jsxRuntime.jsx(vui.Badge, { variant: "secondary", className: vui.cn("self-start"), children: post.category }),
752
+ /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "h3", className: vui.cn("text-lg font-semibold leading-snug"), children: post.title }),
758
753
  /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "time", dateTime: post.date, color: "muted", className: vui.cn("text-xs"), children: post.date })
759
754
  ] })
760
755
  ] }) }) }, i)) })
@@ -767,7 +762,7 @@ var BlogSplitDefaultContent = {
767
762
  heading: "Latest posts",
768
763
  posts: [
769
764
  { title: "Designing for composability", excerpt: "How modular thinking unlocks maintainable systems at scale.", date: "2026-05-01", category: "Design", image: { src: "https://placehold.co/600x400", alt: "Design systems post" } },
770
- { title: "Type-safe content at runtime", excerpt: "Zod schemas as the single source of truth for block content.", date: "2026-04-18", image: { src: "https://placehold.co/400x280", alt: "Type safety post" } },
765
+ { title: "Type-safe content at runtime", excerpt: "Zod schemas as the single source of truth for block content.", date: "2026-04-18", category: "Engineering", image: { src: "https://placehold.co/400x280", alt: "Type safety post" } },
771
766
  { title: "Tree-shaking section blocks", excerpt: "Per-category entry points and how they keep bundles lean.", date: "2026-04-05", category: "Engineering", image: { src: "https://placehold.co/400x280", alt: "Tree-shaking post" } }
772
767
  ]
773
768
  };
@@ -798,8 +793,8 @@ function BlogGrid({ content, theme }) {
798
793
  }
799
794
  ),
800
795
  /* @__PURE__ */ jsxRuntime.jsx(vui.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs(DStack, { gap: 2, pt: 2, children: [
801
- post.category && /* @__PURE__ */ jsxRuntime.jsx(vui.Badge, { variant: "secondary", children: post.category }),
802
- /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "h3", className: vui.cn("font-semibold leading-snug"), children: post.title }),
796
+ post.category && /* @__PURE__ */ jsxRuntime.jsx(vui.Badge, { variant: "secondary", className: vui.cn("self-start"), children: post.category }),
797
+ /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "h3", className: vui.cn("text-lg font-semibold leading-snug"), children: post.title }),
803
798
  /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "p", color: "muted", className: vui.cn("text-sm"), children: post.excerpt }),
804
799
  /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "time", dateTime: post.date, color: "muted", className: vui.cn("text-xs"), children: post.date })
805
800
  ] }) })
@@ -812,7 +807,7 @@ var BlogGridDefaultContent = {
812
807
  heading: "From the blog",
813
808
  posts: [
814
809
  { title: "Designing for composability", excerpt: "Modular thinking at scale.", date: "2026-05-01", category: "Design", image: { src: "https://placehold.co/480x320", alt: "Design post" } },
815
- { title: "Type-safe content at runtime", excerpt: "Zod as single source of truth.", date: "2026-04-18", image: { src: "https://placehold.co/480x320", alt: "Types post" } },
810
+ { title: "Type-safe content at runtime", excerpt: "Zod as single source of truth.", date: "2026-04-18", category: "Engineering", image: { src: "https://placehold.co/480x320", alt: "Types post" } },
816
811
  { title: "Tree-shaking section blocks", excerpt: "Lean bundles, per-category entry points.", date: "2026-04-05", category: "Engineering", image: { src: "https://placehold.co/480x320", alt: "Bundling post" } }
817
812
  ]
818
813
  };
@@ -834,7 +829,7 @@ function BusinessSplit({ content, theme }) {
834
829
  return /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "section", "aria-label": name, style: themeStyle(theme), children: /* @__PURE__ */ jsxRuntime.jsxs(DGrid, { columns: 2, px: 6, py: 16, gap: 16, align: "center", className: vui.cn("max-w-6xl mx-auto"), children: [
835
830
  /* @__PURE__ */ jsxRuntime.jsxs(DStack, { gap: 6, children: [
836
831
  /* @__PURE__ */ jsxRuntime.jsxs(DStack, { gap: 2, children: [
837
- /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "h2", className: vui.cn("text-4xl font-bold tracking-tight"), children: name }),
832
+ /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "h2", className: vui.cn("text-3xl font-bold tracking-tight"), children: name }),
838
833
  /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "p", color: "accent", className: vui.cn("text-xl"), children: tagline })
839
834
  ] }),
840
835
  /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "p", color: "muted", className: vui.cn("text-lg leading-relaxed"), children: description }),
@@ -919,7 +914,7 @@ function FeaturesSplit({ content, theme }) {
919
914
  /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "ul", m: 0, p: 0, gap: 8, display: "flex", className: vui.cn("list-none flex-col"), children: features.map((feature, i) => /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "li", children: /* @__PURE__ */ jsxRuntime.jsxs(DInline, { gap: 4, align: "start", children: [
920
915
  feature.icon && /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "span", className: vui.cn("text-xl flex-shrink-0 mt-0.5"), "aria-hidden": "true", children: feature.icon }),
921
916
  /* @__PURE__ */ jsxRuntime.jsxs(DStack, { gap: 1, children: [
922
- /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "h3", className: vui.cn("font-semibold"), children: feature.title }),
917
+ /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "h3", className: vui.cn("text-lg font-semibold"), children: feature.title }),
923
918
  /* @__PURE__ */ jsxRuntime.jsx(DBox, { as: "p", color: "muted", className: vui.cn("text-sm"), children: feature.description })
924
919
  ] })
925
920
  ] }) }, i)) })