@shipsite.dev/components 0.2.13 → 0.2.15

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 (76) hide show
  1. package/components.json +11 -85
  2. package/dist/blog/BlogArticle.d.ts +9 -1
  3. package/dist/blog/BlogArticle.d.ts.map +1 -1
  4. package/dist/blog/BlogArticle.js +3 -2
  5. package/dist/blog/BlogArticle.js.map +1 -1
  6. package/dist/blog/BlogArticleClient.d.ts +15 -0
  7. package/dist/blog/BlogArticleClient.d.ts.map +1 -0
  8. package/dist/blog/BlogArticleClient.js +106 -0
  9. package/dist/blog/BlogArticleClient.js.map +1 -0
  10. package/dist/content/ContentPage.d.ts +14 -0
  11. package/dist/content/ContentPage.d.ts.map +1 -0
  12. package/dist/{legal/LegalPage.js → content/ContentPage.js} +3 -3
  13. package/dist/content/ContentPage.js.map +1 -0
  14. package/dist/index.d.ts +2 -8
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +4 -9
  17. package/dist/index.js.map +1 -1
  18. package/dist/marketing/CalloutCard.d.ts.map +1 -1
  19. package/dist/marketing/CalloutCard.js +4 -4
  20. package/dist/marketing/CalloutCard.js.map +1 -1
  21. package/dist/marketing/CardGrid.d.ts.map +1 -1
  22. package/dist/marketing/CardGrid.js +2 -2
  23. package/dist/marketing/CardGrid.js.map +1 -1
  24. package/dist/ui/prose.d.ts +16 -0
  25. package/dist/ui/prose.d.ts.map +1 -0
  26. package/dist/ui/prose.js +44 -0
  27. package/dist/ui/prose.js.map +1 -0
  28. package/dist/ui/table.js +1 -1
  29. package/dist/ui/table.js.map +1 -1
  30. package/package.json +1 -1
  31. package/src/blog/BlogArticle.tsx +14 -4
  32. package/src/blog/BlogArticleClient.tsx +212 -0
  33. package/src/{legal/LegalPage.tsx → content/ContentPage.tsx} +4 -4
  34. package/src/index.ts +5 -9
  35. package/src/marketing/CalloutCard.tsx +6 -4
  36. package/src/marketing/CardGrid.tsx +7 -3
  37. package/src/ui/prose.tsx +201 -0
  38. package/src/ui/table.tsx +1 -1
  39. package/dist/blog/BlogCTA.d.ts +0 -8
  40. package/dist/blog/BlogCTA.d.ts.map +0 -1
  41. package/dist/blog/BlogCTA.js +0 -6
  42. package/dist/blog/BlogCTA.js.map +0 -1
  43. package/dist/blog/BlogCTABanner.d.ts +0 -9
  44. package/dist/blog/BlogCTABanner.d.ts.map +0 -1
  45. package/dist/blog/BlogCTABanner.js +0 -7
  46. package/dist/blog/BlogCTABanner.js.map +0 -1
  47. package/dist/blog/BlogFAQ.d.ts +0 -10
  48. package/dist/blog/BlogFAQ.d.ts.map +0 -1
  49. package/dist/blog/BlogFAQ.js +0 -7
  50. package/dist/blog/BlogFAQ.js.map +0 -1
  51. package/dist/blog/BlogIntro.d.ts +0 -5
  52. package/dist/blog/BlogIntro.d.ts.map +0 -1
  53. package/dist/blog/BlogIntro.js +0 -5
  54. package/dist/blog/BlogIntro.js.map +0 -1
  55. package/dist/blog/BlogTable.d.ts +0 -7
  56. package/dist/blog/BlogTable.d.ts.map +0 -1
  57. package/dist/blog/BlogTable.js +0 -5
  58. package/dist/blog/BlogTable.js.map +0 -1
  59. package/dist/blog/BlogTip.d.ts +0 -8
  60. package/dist/blog/BlogTip.d.ts.map +0 -1
  61. package/dist/blog/BlogTip.js +0 -5
  62. package/dist/blog/BlogTip.js.map +0 -1
  63. package/dist/blog/StartFreeNowCTA.d.ts +0 -9
  64. package/dist/blog/StartFreeNowCTA.d.ts.map +0 -1
  65. package/dist/blog/StartFreeNowCTA.js +0 -7
  66. package/dist/blog/StartFreeNowCTA.js.map +0 -1
  67. package/dist/legal/LegalPage.d.ts +0 -14
  68. package/dist/legal/LegalPage.d.ts.map +0 -1
  69. package/dist/legal/LegalPage.js.map +0 -1
  70. package/src/blog/BlogCTA.tsx +0 -19
  71. package/src/blog/BlogCTABanner.tsx +0 -25
  72. package/src/blog/BlogFAQ.tsx +0 -32
  73. package/src/blog/BlogIntro.tsx +0 -9
  74. package/src/blog/BlogTable.tsx +0 -27
  75. package/src/blog/BlogTip.tsx +0 -15
  76. package/src/blog/StartFreeNowCTA.tsx +0 -29
package/components.json CHANGED
@@ -420,81 +420,7 @@
420
420
  { "name": "children", "type": "React.ReactNode", "required": true, "description": "Article content (headings, paragraphs, blog components)." },
421
421
  { "name": "contentFolder", "type": "string", "required": false, "description": "Content folder identifier for the blog article." }
422
422
  ],
423
- "example": "<BlogArticle>\n <BlogIntro>Introduction paragraph here.</BlogIntro>\n ## Section heading\n Content here...\n</BlogArticle>"
424
- },
425
- {
426
- "name": "BlogIntro",
427
- "category": "blog",
428
- "description": "Styled intro paragraph block for the opening of a blog article. Renders children in a larger, muted font with relaxed line-height.",
429
- "props": [
430
- { "name": "children", "type": "React.ReactNode", "required": true, "description": "Introductory paragraph content." }
431
- ],
432
- "example": "<BlogIntro>\n This article explores how to improve your team's productivity with modern tools.\n</BlogIntro>"
433
- },
434
- {
435
- "name": "BlogCTA",
436
- "category": "blog",
437
- "description": "Inline call-to-action block for blog articles. Displays a centered title and button within a glass card.",
438
- "props": [
439
- { "name": "title", "type": "string", "required": true, "description": "CTA heading text." },
440
- { "name": "buttonText", "type": "string", "required": true, "description": "Text displayed on the button." },
441
- { "name": "buttonHref", "type": "string", "required": true, "description": "URL the button links to." }
442
- ],
443
- "example": "<BlogCTA\n title=\"Try it free today\"\n buttonText=\"Get Started\"\n buttonHref=\"/signup\"\n/>"
444
- },
445
- {
446
- "name": "BlogCTABanner",
447
- "category": "blog",
448
- "description": "Prominent call-to-action banner for blog articles with a glow effect, title, description, and button. Designed as a mid-article conversion element.",
449
- "props": [
450
- { "name": "title", "type": "string", "required": true, "description": "Banner headline text." },
451
- { "name": "description", "type": "string", "required": true, "description": "Supporting description text." },
452
- { "name": "buttonText", "type": "string", "required": true, "description": "Text displayed on the button." },
453
- { "name": "buttonLink", "type": "string", "required": true, "description": "URL the button links to." }
454
- ],
455
- "example": "<BlogCTABanner\n title=\"Start for free\"\n description=\"No credit card required. Cancel anytime.\"\n buttonText=\"Get Started\"\n buttonLink=\"/signup\"\n/>"
456
- },
457
- {
458
- "name": "BlogFAQ",
459
- "category": "blog",
460
- "description": "FAQ accordion section for blog articles. Renders a titled list of question/answer pairs as collapsible accordion items.",
461
- "props": [
462
- { "name": "title", "type": "string", "required": true, "description": "FAQ section heading (e.g. 'Frequently Asked Questions')." },
463
- { "name": "items", "type": "Array<{ question: string; answer: string }>", "required": true, "description": "Array of FAQ items, each with a question and answer string." }
464
- ],
465
- "example": "<BlogFAQ\n title=\"FAQ\"\n items={[\n { question: \"Is there a free plan?\", answer: \"Yes, our free plan is available forever.\" },\n { question: \"Can I cancel anytime?\", answer: \"Absolutely, no contracts.\" }\n ]}\n/>"
466
- },
467
- {
468
- "name": "BlogTable",
469
- "category": "blog",
470
- "description": "Responsive data table for blog articles with styled headers and rows. Renders inside a bordered, scrollable container.",
471
- "props": [
472
- { "name": "headers", "type": "string[]", "required": true, "description": "Array of column header strings." },
473
- { "name": "rows", "type": "string[][]", "required": true, "description": "Array of row arrays, where each inner array contains cell strings matching the headers." }
474
- ],
475
- "example": "<BlogTable\n headers={[\"Plan\", \"Price\", \"Users\"]}\n rows={[\n [\"Free\", \"$0\", \"Up to 5\"],\n [\"Pro\", \"$29/mo\", \"Unlimited\"]\n ]}\n/>"
476
- },
477
- {
478
- "name": "BlogTip",
479
- "category": "blog",
480
- "description": "Highlighted tip/callout box for blog articles with a green accent. Displays a title and rich content for actionable advice.",
481
- "props": [
482
- { "name": "title", "type": "string", "required": false, "description": "Tip heading text. Defaults to 'Tip'." },
483
- { "name": "children", "type": "React.ReactNode", "required": true, "description": "Tip content." }
484
- ],
485
- "example": "<BlogTip title=\"Pro Tip\">\n Use keyboard shortcuts to navigate faster.\n</BlogTip>"
486
- },
487
- {
488
- "name": "StartFreeNowCTA",
489
- "category": "blog",
490
- "description": "Feature-rich CTA block for blog articles with a title, bullet-point checklist with check icons, and a primary button.",
491
- "props": [
492
- { "name": "title", "type": "string", "required": true, "description": "CTA heading text." },
493
- { "name": "bullets", "type": "string[]", "required": true, "description": "Array of benefit strings displayed as a checklist." },
494
- { "name": "buttonText", "type": "string", "required": true, "description": "Text displayed on the button." },
495
- { "name": "buttonHref", "type": "string", "required": true, "description": "URL the button links to." }
496
- ],
497
- "example": "<StartFreeNowCTA\n title=\"Ready to get started?\"\n bullets={[\"No credit card required\", \"Free forever plan\", \"Cancel anytime\"]}\n buttonText=\"Start Free\"\n buttonHref=\"/signup\"\n/>"
423
+ "example": "<BlogArticle>\n ## Section heading\n Content here...\n</BlogArticle>"
498
424
  },
499
425
  {
500
426
  "name": "BlogIndex",
@@ -508,25 +434,25 @@
508
434
  "example": "<BlogIndex title=\"Blog\" description=\"Latest articles and insights.\">\n {/* Blog post cards rendered here */}\n</BlogIndex>"
509
435
  },
510
436
  {
511
- "name": "LegalSection",
512
- "category": "legal",
513
- "description": "Individual section within a legal page. Renders a titled block with prose-style content formatting for paragraphs and lists.",
437
+ "name": "ContentSection",
438
+ "category": "content",
439
+ "description": "Titled section with prose-style formatting for paragraphs and lists. Used as a child of ContentPage for structured text pages (legal, about, FAQ, etc.).",
514
440
  "props": [
515
- { "name": "title", "type": "string", "required": true, "description": "Section heading (e.g. '1. Data Collection')." },
441
+ { "name": "title", "type": "string", "required": true, "description": "Section heading (e.g. '1. Data Collection', 'Our Mission')." },
516
442
  { "name": "children", "type": "React.ReactNode", "required": true, "description": "Section content (paragraphs, lists, etc.)." }
517
443
  ],
518
- "example": "<LegalSection title=\"1. Data Collection\">\n <p>We collect data that you provide directly to us.</p>\n</LegalSection>"
444
+ "example": "<ContentSection title=\"Our Mission\">\n We build tools that help developers ship faster.\n</ContentSection>"
519
445
  },
520
446
  {
521
- "name": "LegalPage",
522
- "category": "legal",
523
- "description": "Top-level wrapper for legal pages (privacy policy, terms of service, etc.). Renders a centered, max-width container with a title and optional last-updated date.",
447
+ "name": "ContentPage",
448
+ "category": "content",
449
+ "description": "Top-level wrapper for text-heavy pages (legal, about, contact, etc.). Renders a narrow, centered container with a title and optional last-updated date.",
524
450
  "props": [
525
451
  { "name": "title", "type": "string", "required": true, "description": "Page title displayed as an h1." },
526
452
  { "name": "lastUpdated", "type": "string", "required": false, "description": "Date string displayed below the title (e.g. '2024-01-15')." },
527
- { "name": "children", "type": "React.ReactNode", "required": true, "description": "LegalSection children and other content." }
453
+ { "name": "children", "type": "React.ReactNode", "required": true, "description": "ContentSection children and other content." }
528
454
  ],
529
- "example": "<LegalPage title=\"Privacy Policy\" lastUpdated=\"2024-01-15\">\n <LegalSection title=\"1. Introduction\">\n <p>This privacy policy explains how we handle your data.</p>\n </LegalSection>\n</LegalPage>"
455
+ "example": "<ContentPage title=\"About Us\">\n <ContentSection title=\"Our Mission\">\n We build tools that help developers ship faster.\n </ContentSection>\n</ContentPage>"
530
456
  }
531
457
  ]
532
458
  }
@@ -1,8 +1,16 @@
1
1
  import React from 'react';
2
+ interface BlogArticleAuthor {
3
+ name: string;
4
+ role: string;
5
+ image: string;
6
+ }
2
7
  interface BlogArticleProps {
3
8
  children: React.ReactNode;
4
9
  contentFolder?: string;
10
+ date?: string;
11
+ readingTime?: number;
12
+ author?: BlogArticleAuthor;
5
13
  }
6
- export declare function BlogArticle({ children }: BlogArticleProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function BlogArticle({ children, author, date, readingTime }: BlogArticleProps): import("react/jsx-runtime").JSX.Element;
7
15
  export {};
8
16
  //# sourceMappingURL=BlogArticle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlogArticle.d.ts","sourceRoot":"","sources":["../../src/blog/BlogArticle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,gBAAgB;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,gBAAgB,2CAMzD"}
1
+ {"version":3,"file":"BlogArticle.d.ts","sourceRoot":"","sources":["../../src/blog/BlogArticle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,gBAAgB;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,gBAAgB,2CAMpF"}
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- export function BlogArticle({ children }) {
3
- return (_jsx("article", { className: "py-12 md:py-20", children: _jsx("div", { className: "container-main max-w-3xl", children: children }) }));
2
+ import { BlogArticleClient } from './BlogArticleClient';
3
+ export function BlogArticle({ children, author, date, readingTime }) {
4
+ return (_jsx(BlogArticleClient, { author: author, date: date, readingTime: readingTime, children: children }));
4
5
  }
5
6
  //# sourceMappingURL=BlogArticle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlogArticle.js","sourceRoot":"","sources":["../../src/blog/BlogArticle.tsx"],"names":[],"mappings":";AAOA,MAAM,UAAU,WAAW,CAAC,EAAE,QAAQ,EAAoB;IACxD,OAAO,CACL,kBAAS,SAAS,EAAC,gBAAgB,YACjC,cAAK,SAAS,EAAC,0BAA0B,YAAE,QAAQ,GAAO,GAClD,CACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"BlogArticle.js","sourceRoot":"","sources":["../../src/blog/BlogArticle.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAgBxD,MAAM,UAAU,WAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAoB;IACnF,OAAO,CACL,KAAC,iBAAiB,IAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,YACpE,QAAQ,GACS,CACrB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ interface BlogArticleAuthor {
3
+ name: string;
4
+ role: string;
5
+ image: string;
6
+ }
7
+ interface BlogArticleClientProps {
8
+ children: React.ReactNode;
9
+ author?: BlogArticleAuthor;
10
+ date?: string;
11
+ readingTime?: number;
12
+ }
13
+ export declare function BlogArticleClient({ children, author, date, readingTime, }: BlogArticleClientProps): import("react/jsx-runtime").JSX.Element;
14
+ export {};
15
+ //# sourceMappingURL=BlogArticleClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlogArticleClient.d.ts","sourceRoot":"","sources":["../../src/blog/BlogArticleClient.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmD,MAAM,OAAO,CAAC;AASxE,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,WAAW,GACZ,EAAE,sBAAsB,2CAsLxB"}
@@ -0,0 +1,106 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { useCallback, useEffect, useRef, useState } from 'react';
4
+ import { cn } from '../lib/utils';
5
+ export function BlogArticleClient({ children, author, date, readingTime, }) {
6
+ const contentRef = useRef(null);
7
+ const [tocItems, setTocItems] = useState([]);
8
+ const [activeId, setActiveId] = useState('');
9
+ const [activeH2Id, setActiveH2Id] = useState('');
10
+ // Extract headings from rendered content
11
+ useEffect(() => {
12
+ const el = contentRef.current;
13
+ if (!el)
14
+ return;
15
+ const rafId = requestAnimationFrame(() => {
16
+ const headings = el.querySelectorAll('h2, h3');
17
+ const items = [];
18
+ headings.forEach((heading) => {
19
+ const title = heading.textContent?.trim() || '';
20
+ if (!title || heading.hasAttribute('data-toc-exclude'))
21
+ return;
22
+ if (!heading.id) {
23
+ heading.id =
24
+ title
25
+ .toLowerCase()
26
+ .replace(/[^a-z0-9]+/g, '-')
27
+ .replace(/(^-|-$)/g, '') || '';
28
+ }
29
+ items.push({
30
+ id: heading.id,
31
+ title,
32
+ level: heading.tagName === 'H2' ? 2 : 3,
33
+ });
34
+ });
35
+ setTocItems(items);
36
+ });
37
+ return () => cancelAnimationFrame(rafId);
38
+ }, [children]);
39
+ // IntersectionObserver for active heading tracking
40
+ useEffect(() => {
41
+ const el = contentRef.current;
42
+ if (!el || tocItems.length === 0)
43
+ return;
44
+ const observer = new IntersectionObserver((entries) => {
45
+ for (const entry of entries) {
46
+ if (entry.isIntersecting) {
47
+ const id = entry.target.id;
48
+ setActiveId(id);
49
+ const tocItem = tocItems.find((t) => t.id === id);
50
+ if (tocItem?.level === 2) {
51
+ setActiveH2Id(id);
52
+ }
53
+ else if (tocItem?.level === 3) {
54
+ const idx = tocItems.indexOf(tocItem);
55
+ for (let i = idx - 1; i >= 0; i--) {
56
+ if (tocItems[i].level === 2) {
57
+ setActiveH2Id(tocItems[i].id);
58
+ break;
59
+ }
60
+ }
61
+ }
62
+ }
63
+ }
64
+ }, { rootMargin: '-80px 0px -60% 0px', threshold: 0.1 });
65
+ tocItems.forEach((item) => {
66
+ const h = document.getElementById(item.id);
67
+ if (h)
68
+ observer.observe(h);
69
+ });
70
+ return () => observer.disconnect();
71
+ }, [tocItems]);
72
+ // Smooth scroll to heading
73
+ const scrollToHeading = useCallback((id) => {
74
+ const el = document.getElementById(id);
75
+ if (el) {
76
+ const top = el.getBoundingClientRect().top + window.scrollY - 100;
77
+ window.scrollTo({ top, behavior: 'smooth' });
78
+ }
79
+ }, []);
80
+ const formattedDate = date
81
+ ? new Date(date + 'T00:00:00').toLocaleDateString(undefined, {
82
+ year: 'numeric',
83
+ month: 'long',
84
+ day: 'numeric',
85
+ })
86
+ : '';
87
+ return (_jsx("article", { className: "py-12 md:py-20", children: _jsx("div", { className: "mx-auto w-full max-w-[76rem] px-[clamp(1rem,3vw,3rem)]", children: _jsxs("div", { className: "flex gap-10 lg:gap-16", children: [_jsx("div", { ref: contentRef, className: "blog-content min-w-0 flex-1 max-w-3xl", children: children }), _jsx("aside", { className: "hidden lg:block w-64 shrink-0", children: _jsxs("div", { className: "sticky top-24 flex flex-col gap-6", children: [tocItems.length > 0 && (_jsx("nav", { children: _jsx("ul", { className: "flex flex-col", children: tocItems.map((item) => {
88
+ const isActive = activeId === item.id;
89
+ if (item.level === 3) {
90
+ const idx = tocItems.indexOf(item);
91
+ let parentH2Id = '';
92
+ for (let i = idx - 1; i >= 0; i--) {
93
+ if (tocItems[i].level === 2) {
94
+ parentH2Id = tocItems[i].id;
95
+ break;
96
+ }
97
+ }
98
+ if (parentH2Id !== activeH2Id)
99
+ return null;
100
+ }
101
+ return (_jsx("li", { className: item.level === 3 ? 'pl-3' : '', children: _jsxs("button", { onClick: () => scrollToHeading(item.id), className: cn('my-0.5 flex items-center gap-2 w-full cursor-pointer text-left', isActive
102
+ ? 'text-foreground font-medium'
103
+ : 'text-muted-foreground hover:text-foreground'), children: [_jsx("span", { className: cn('w-3 h-px shrink-0 transition-colors', isActive ? 'bg-primary' : 'bg-border') }), _jsx("span", { className: "text-sm leading-snug line-clamp-1", children: item.title })] }) }, item.id));
104
+ }) }) })), author && (_jsxs(_Fragment, { children: [tocItems.length > 0 && _jsx("hr", { className: "border-border" }), _jsxs("div", { className: "flex flex-col gap-3", children: [author.image && (_jsx("img", { src: author.image, alt: author.name, className: "w-12 h-12 rounded-full object-cover" })), _jsxs("div", { children: [_jsx("p", { className: "text-sm font-medium text-foreground", children: author.name }), author.role && (_jsx("p", { className: "text-xs text-muted-foreground", children: author.role }))] })] })] })), (formattedDate || readingTime) && (_jsxs(_Fragment, { children: [(tocItems.length > 0 || author) && !author && (_jsx("hr", { className: "border-border" })), _jsxs("div", { className: "flex flex-col gap-1 text-xs text-muted-foreground", children: [formattedDate && _jsx("span", { children: formattedDate }), readingTime ? _jsxs("span", { children: [readingTime, " min read"] }) : null] })] }))] }) })] }) }) }));
105
+ }
106
+ //# sourceMappingURL=BlogArticleClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlogArticleClient.js","sourceRoot":"","sources":["../../src/blog/BlogArticleClient.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ interface ContentSectionProps {
3
+ title: string;
4
+ children: React.ReactNode;
5
+ }
6
+ export declare function ContentSection({ title, children }: ContentSectionProps): import("react/jsx-runtime").JSX.Element;
7
+ interface ContentPageProps {
8
+ title: string;
9
+ lastUpdated?: string;
10
+ children: React.ReactNode;
11
+ }
12
+ export declare function ContentPage({ title, lastUpdated, children }: ContentPageProps): import("react/jsx-runtime").JSX.Element;
13
+ export {};
14
+ //# sourceMappingURL=ContentPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentPage.d.ts","sourceRoot":"","sources":["../../src/content/ContentPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,mBAAmB,2CAStE;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,gBAAgB,2CAU7E"}
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- export function LegalSection({ title, children }) {
2
+ export function ContentSection({ title, children }) {
3
3
  return (_jsxs("div", { className: "mb-8", children: [_jsx("h2", { className: "text-xl font-bold text-foreground mb-4", children: title }), _jsx("div", { className: "text-muted-foreground text-sm leading-relaxed [&>p]:mb-3 [&>ul]:list-disc [&>ul]:pl-5 [&>ul]:mb-3", children: children })] }));
4
4
  }
5
- export function LegalPage({ title, lastUpdated, children }) {
5
+ export function ContentPage({ title, lastUpdated, children }) {
6
6
  return (_jsx("section", { className: "py-12 md:py-20", children: _jsxs("div", { className: "container-main max-w-3xl", children: [_jsx("h1", { className: "text-3xl md:text-4xl font-bold text-foreground mb-2", children: title }), lastUpdated && _jsxs("p", { className: "text-sm text-muted-foreground mb-8", children: ["Last updated: ", lastUpdated] }), children] }) }));
7
7
  }
8
- //# sourceMappingURL=LegalPage.js.map
8
+ //# sourceMappingURL=ContentPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentPage.js","sourceRoot":"","sources":["../../src/content/ContentPage.tsx"],"names":[],"mappings":";AAOA,MAAM,UAAU,cAAc,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAuB;IACrE,OAAO,CACL,eAAK,SAAS,EAAC,MAAM,aACnB,aAAI,SAAS,EAAC,wCAAwC,YAAE,KAAK,GAAM,EACnE,cAAK,SAAS,EAAC,mGAAmG,YAC/G,QAAQ,GACL,IACF,CACP,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,WAAW,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAoB;IAC5E,OAAO,CACL,kBAAS,SAAS,EAAC,gBAAgB,YACjC,eAAK,SAAS,EAAC,0BAA0B,aACvC,aAAI,SAAS,EAAC,qDAAqD,YAAE,KAAK,GAAM,EAC/E,WAAW,IAAI,aAAG,SAAS,EAAC,oCAAoC,+BAAgB,WAAW,IAAK,EAChG,QAAQ,IACL,GACE,CACX,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -25,13 +25,7 @@ export { Carousel, CarouselItem } from './marketing/Carousel';
25
25
  export { TabsSection, TabItem } from './marketing/TabsSection';
26
26
  export { BlogArticle } from './blog/BlogArticle';
27
27
  export { BlogIndex } from './blog/BlogIndex';
28
- export { BlogCTA } from './blog/BlogCTA';
29
- export { BlogCTABanner } from './blog/BlogCTABanner';
30
- export { BlogFAQ } from './blog/BlogFAQ';
31
- export { BlogIntro } from './blog/BlogIntro';
32
- export { BlogTable } from './blog/BlogTable';
33
- export { BlogTip } from './blog/BlogTip';
34
- export { StartFreeNowCTA } from './blog/StartFreeNowCTA';
35
28
  export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption, } from './ui/table';
36
- export { LegalPage, LegalSection } from './legal/LegalPage';
29
+ export { ProseH2, ProseH3, ProseH4, ProseP, ProseA, ProseUl, ProseOl, ProseLi, ProseBlockquote, ProsePre, ProseCode, ProseHr, ProseImg } from './ui/prose';
30
+ export { ContentPage, ContentSection } from './content/ContentPage';
37
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGvE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,cAAc,EACd,WAAW,EACX,aAAa,EACb,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EACL,KAAK,EACL,WAAW,EACX,SAAS,EACT,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGvE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,cAAc,EACd,WAAW,EACX,aAAa,EACb,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EACL,KAAK,EACL,WAAW,EACX,SAAS,EACT,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3J,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC"}
package/dist/index.js CHANGED
@@ -30,15 +30,10 @@ export { TabsSection, TabItem } from './marketing/TabsSection';
30
30
  // Blog
31
31
  export { BlogArticle } from './blog/BlogArticle';
32
32
  export { BlogIndex } from './blog/BlogIndex';
33
- export { BlogCTA } from './blog/BlogCTA';
34
- export { BlogCTABanner } from './blog/BlogCTABanner';
35
- export { BlogFAQ } from './blog/BlogFAQ';
36
- export { BlogIntro } from './blog/BlogIntro';
37
- export { BlogTable } from './blog/BlogTable';
38
- export { BlogTip } from './blog/BlogTip';
39
- export { StartFreeNowCTA } from './blog/StartFreeNowCTA';
40
33
  // UI primitives
41
34
  export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption, } from './ui/table';
42
- // Legal
43
- export { LegalPage, LegalSection } from './legal/LegalPage';
35
+ // Prose (Markdown element overrides)
36
+ export { ProseH2, ProseH3, ProseH4, ProseP, ProseA, ProseUl, ProseOl, ProseLi, ProseBlockquote, ProsePre, ProseCode, ProseHr, ProseImg } from './ui/prose';
37
+ // Content
38
+ export { ContentPage, ContentSection } from './content/ContentPage';
44
39
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AAEpD,UAAU;AACV,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAGpC,QAAQ;AACR,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,SAAS;AACT,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,YAAY;AACZ,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,cAAc,EACd,WAAW,EACX,aAAa,EACb,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO;AACP,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,gBAAgB;AAChB,OAAO,EACL,KAAK,EACL,WAAW,EACX,SAAS,EACT,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,QAAQ;AACR,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AAEpD,UAAU;AACV,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAGpC,QAAQ;AACR,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,SAAS;AACT,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,YAAY;AACZ,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,cAAc,EACd,WAAW,EACX,aAAa,EACb,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO;AACP,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,gBAAgB;AAChB,OAAO,EACL,KAAK,EACL,WAAW,EACX,SAAS,EACT,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,qCAAqC;AACrC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3J,UAAU;AACV,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CalloutCard.d.ts","sourceRoot":"","sources":["../../src/marketing/CalloutCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAgB,EAAE,QAAQ,EAAE,EAAE,gBAAgB,2CAc/F"}
1
+ {"version":3,"file":"CalloutCard.d.ts","sourceRoot":"","sources":["../../src/marketing/CalloutCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAgB,EAAE,QAAQ,EAAE,EAAE,gBAAgB,2CAgB/F"}
@@ -2,10 +2,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { cn } from '../lib/utils';
3
3
  export function CalloutCard({ title, description, variant = 'info', children }) {
4
4
  const variantStyles = {
5
- info: 'bg-primary/5 border-primary/20',
6
- success: 'bg-emerald-50 border-emerald-200',
7
- warning: 'bg-amber-50 border-amber-200',
5
+ info: 'bg-primary/5 border-primary/20 dark:bg-primary/10',
6
+ success: 'bg-emerald-500/10 border-emerald-500/20',
7
+ warning: 'bg-amber-500/10 border-amber-500/20',
8
8
  };
9
- return (_jsxs("div", { className: cn('rounded-xl border p-6 my-8', variantStyles[variant]), children: [_jsx("h3", { className: "font-semibold text-foreground mb-2", children: title }), _jsx("p", { className: "text-sm text-muted-foreground", children: description }), children] }));
9
+ return (_jsx("div", { className: cn('mx-auto w-full max-w-[76rem] px-[clamp(1rem,3vw,3rem)] my-8'), children: _jsxs("div", { className: cn('rounded-xl border p-6', variantStyles[variant]), children: [_jsx("h3", { className: "font-semibold text-foreground mb-2", children: title }), _jsx("p", { className: "text-sm text-muted-foreground", children: description }), children] }) }));
10
10
  }
11
11
  //# sourceMappingURL=CalloutCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CalloutCard.js","sourceRoot":"","sources":["../../src/marketing/CalloutCard.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AASlC,MAAM,UAAU,WAAW,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,GAAG,MAAM,EAAE,QAAQ,EAAoB;IAC9F,MAAM,aAAa,GAAG;QACpB,IAAI,EAAE,gCAAgC;QACtC,OAAO,EAAE,kCAAkC;QAC3C,OAAO,EAAE,8BAA8B;KACxC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,aACtE,aAAI,SAAS,EAAC,oCAAoC,YAAE,KAAK,GAAM,EAC/D,YAAG,SAAS,EAAC,+BAA+B,YAAE,WAAW,GAAK,EAC7D,QAAQ,IACL,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"CalloutCard.js","sourceRoot":"","sources":["../../src/marketing/CalloutCard.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AASlC,MAAM,UAAU,WAAW,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,GAAG,MAAM,EAAE,QAAQ,EAAoB;IAC9F,MAAM,aAAa,GAAG;QACpB,IAAI,EAAE,mDAAmD;QACzD,OAAO,EAAE,yCAAyC;QAClD,OAAO,EAAE,qCAAqC;KAC/C,CAAC;IAEF,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,6DAA6D,CAAC,YACjF,eAAK,SAAS,EAAE,EAAE,CAAC,uBAAuB,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,aACjE,aAAI,SAAS,EAAC,oCAAoC,YAAE,KAAK,GAAM,EAC/D,YAAG,SAAS,EAAC,+BAA+B,YAAE,WAAW,GAAK,EAC7D,QAAQ,IACL,GACA,CACP,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CardGrid.d.ts","sourceRoot":"","sources":["../../src/marketing/CardGrid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,iBAAiB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,iBAAiB,2CASjF;AAED,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,QAAQ,CAAC,EAAE,OAAW,EAAE,QAAQ,EAAE,EAAE,aAAa,2CAGhE"}
1
+ {"version":3,"file":"CardGrid.d.ts","sourceRoot":"","sources":["../../src/marketing/CardGrid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,iBAAiB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,iBAAiB,2CASjF;AAED,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,QAAQ,CAAC,EAAE,OAAW,EAAE,QAAQ,EAAE,EAAE,aAAa,2CAOhE"}
@@ -1,10 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  export function CardGridItem({ title, description, icon, href }) {
3
3
  const Wrapper = href ? 'a' : 'div';
4
- return (_jsxs(Wrapper, { ...(href ? { href } : {}), className: "block p-6 rounded-xl glass-1 hover:glass-2 transition-all", children: [icon && _jsx("div", { className: "mb-3 text-primary", children: icon }), _jsx("h3", { className: "font-semibold text-foreground mb-2", children: title }), _jsx("p", { className: "text-sm text-muted-foreground", children: description })] }));
4
+ return (_jsxs(Wrapper, { ...(href ? { href } : {}), className: "block p-6 rounded-xl glass-1 hover:glass-2 transition-all focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring", children: [icon && _jsx("div", { className: "mb-3 text-primary", children: icon }), _jsx("h3", { className: "font-semibold tracking-tight text-foreground mb-2", children: title }), _jsx("p", { className: "text-sm text-muted-foreground", children: description })] }));
5
5
  }
6
6
  export function CardGrid({ columns = 3, children }) {
7
7
  const gridCols = { 2: 'md:grid-cols-2', 3: 'md:grid-cols-3', 4: 'md:grid-cols-2 lg:grid-cols-4' };
8
- return _jsx("div", { className: `grid grid-cols-1 ${gridCols[columns]} gap-6 py-8`, children: children });
8
+ return (_jsx("div", { className: "mx-auto w-full max-w-[76rem] px-[clamp(1rem,3vw,3rem)] py-8", children: _jsx("div", { className: `grid grid-cols-1 ${gridCols[columns]} gap-6`, children: children }) }));
9
9
  }
10
10
  //# sourceMappingURL=CardGrid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardGrid.js","sourceRoot":"","sources":["../../src/marketing/CardGrid.tsx"],"names":[],"mappings":";AASA,MAAM,UAAU,YAAY,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAqB;IAChF,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IACnC,OAAO,CACL,MAAC,OAAO,OAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAC,2DAA2D,aACvG,IAAI,IAAI,cAAK,SAAS,EAAC,mBAAmB,YAAE,IAAI,GAAO,EACxD,aAAI,SAAS,EAAC,oCAAoC,YAAE,KAAK,GAAM,EAC/D,YAAG,SAAS,EAAC,+BAA+B,YAAE,WAAW,GAAK,IACtD,CACX,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,QAAQ,EAAiB;IAC/D,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,+BAA+B,EAAE,CAAC;IAClG,OAAO,cAAK,SAAS,EAAE,oBAAoB,QAAQ,CAAC,OAAO,CAAC,aAAa,YAAG,QAAQ,GAAO,CAAC;AAC9F,CAAC"}
1
+ {"version":3,"file":"CardGrid.js","sourceRoot":"","sources":["../../src/marketing/CardGrid.tsx"],"names":[],"mappings":";AASA,MAAM,UAAU,YAAY,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAqB;IAChF,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IACnC,OAAO,CACL,MAAC,OAAO,OAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAC,qIAAqI,aACjL,IAAI,IAAI,cAAK,SAAS,EAAC,mBAAmB,YAAE,IAAI,GAAO,EACxD,aAAI,SAAS,EAAC,mDAAmD,YAAE,KAAK,GAAM,EAC9E,YAAG,SAAS,EAAC,+BAA+B,YAAE,WAAW,GAAK,IACtD,CACX,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,QAAQ,EAAiB;IAC/D,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,+BAA+B,EAAE,CAAC;IAClG,OAAO,CACL,cAAK,SAAS,EAAC,6DAA6D,YAC1E,cAAK,SAAS,EAAE,oBAAoB,QAAQ,CAAC,OAAO,CAAC,QAAQ,YAAG,QAAQ,GAAO,GAC3E,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ import * as React from "react";
2
+ declare function ProseH2({ className, ...props }: React.ComponentProps<"h2">): import("react/jsx-runtime").JSX.Element;
3
+ declare function ProseH3({ className, ...props }: React.ComponentProps<"h3">): import("react/jsx-runtime").JSX.Element;
4
+ declare function ProseH4({ className, ...props }: React.ComponentProps<"h4">): import("react/jsx-runtime").JSX.Element;
5
+ declare function ProseP({ className, ...props }: React.ComponentProps<"p">): import("react/jsx-runtime").JSX.Element;
6
+ declare function ProseA({ className, ...props }: React.ComponentProps<"a">): import("react/jsx-runtime").JSX.Element;
7
+ declare function ProseUl({ className, ...props }: React.ComponentProps<"ul">): import("react/jsx-runtime").JSX.Element;
8
+ declare function ProseOl({ className, ...props }: React.ComponentProps<"ol">): import("react/jsx-runtime").JSX.Element;
9
+ declare function ProseLi({ className, ...props }: React.ComponentProps<"li">): import("react/jsx-runtime").JSX.Element;
10
+ declare function ProseBlockquote({ className, ...props }: React.ComponentProps<"blockquote">): import("react/jsx-runtime").JSX.Element;
11
+ declare function ProsePre({ className, ...props }: React.ComponentProps<"pre">): import("react/jsx-runtime").JSX.Element;
12
+ declare function ProseCode({ className, ...props }: React.ComponentProps<"code">): import("react/jsx-runtime").JSX.Element;
13
+ declare function ProseHr({ className, ...props }: React.ComponentProps<"hr">): import("react/jsx-runtime").JSX.Element;
14
+ declare function ProseImg({ className, alt, ...props }: React.ComponentProps<"img">): import("react/jsx-runtime").JSX.Element;
15
+ export { ProseH2, ProseH3, ProseH4, ProseP, ProseA, ProseUl, ProseOl, ProseLi, ProseBlockquote, ProsePre, ProseCode, ProseHr, ProseImg, };
16
+ //# sourceMappingURL=prose.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prose.d.ts","sourceRoot":"","sources":["../../src/ui/prose.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,iBAAS,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAYnE;AAED,iBAAS,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAYnE;AAED,iBAAS,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAYnE;AAED,iBAAS,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,2CAYjE;AAED,iBAAS,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,2CAWjE;AAED,iBAAS,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAYnE;AAED,iBAAS,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAYnE;AAED,iBAAS,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAQnE;AAED,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,2CAanF;AAED,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAarE;AAED,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,2CAWvE;AAED,iBAAS,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAYnE;AAED,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAc1E;AAED,OAAO,EACL,OAAO,EACP,OAAO,EACP,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,EACP,OAAO,EACP,eAAe,EACf,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,GACT,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from "../lib/utils";
3
+ const container = "prose-container mx-auto w-full max-w-[76rem] px-[clamp(1rem,3vw,3rem)]";
4
+ function ProseH2({ className, ...props }) {
5
+ return (_jsx("h2", { "data-slot": "prose-h2", className: cn(container, "mt-10 mb-4 text-[clamp(1.375rem,1.1rem+1.2vw,2.25rem)] font-semibold tracking-tight", className), ...props }));
6
+ }
7
+ function ProseH3({ className, ...props }) {
8
+ return (_jsx("h3", { "data-slot": "prose-h3", className: cn(container, "mt-6 mb-3 text-[clamp(1.125rem,1rem+0.6vw,1.5rem)] font-semibold tracking-tight", className), ...props }));
9
+ }
10
+ function ProseH4({ className, ...props }) {
11
+ return (_jsx("h4", { "data-slot": "prose-h4", className: cn(container, "mt-4 mb-2 text-lg font-semibold", className), ...props }));
12
+ }
13
+ function ProseP({ className, ...props }) {
14
+ return (_jsx("p", { "data-slot": "prose-p", className: cn(container, "my-2 text-base leading-relaxed", className), ...props }));
15
+ }
16
+ function ProseA({ className, ...props }) {
17
+ return (_jsx("a", { "data-slot": "prose-a", className: cn("text-primary font-medium underline hover:no-underline", className), ...props }));
18
+ }
19
+ function ProseUl({ className, ...props }) {
20
+ return (_jsx("ul", { "data-slot": "prose-ul", className: cn(container, "my-3 list-disc pl-7 [&_ul]:my-1 [&_ul]:max-w-none [&_ul]:px-0 [&_ol]:my-1 [&_ol]:max-w-none [&_ol]:px-0", className), ...props }));
21
+ }
22
+ function ProseOl({ className, ...props }) {
23
+ return (_jsx("ol", { "data-slot": "prose-ol", className: cn(container, "my-3 list-decimal pl-7 [&_ul]:my-1 [&_ul]:max-w-none [&_ul]:px-0 [&_ol]:my-1 [&_ol]:max-w-none [&_ol]:px-0", className), ...props }));
24
+ }
25
+ function ProseLi({ className, ...props }) {
26
+ return (_jsx("li", { "data-slot": "prose-li", className: cn("mt-1 leading-relaxed", className), ...props }));
27
+ }
28
+ function ProseBlockquote({ className, ...props }) {
29
+ return (_jsx("div", { className: container, children: _jsx("blockquote", { "data-slot": "prose-blockquote", className: cn("my-6 rounded-xl border-l-4 border-primary bg-muted/50 px-6 py-4 [&>p]:max-w-none [&>p]:px-0 [&>p]:my-1", className), ...props }) }));
30
+ }
31
+ function ProsePre({ className, ...props }) {
32
+ return (_jsx("div", { className: container, children: _jsx("pre", { "data-slot": "prose-pre", className: cn("my-6 overflow-x-auto rounded-xl border border-border bg-card p-4 shadow-sm", className), ...props }) }));
33
+ }
34
+ function ProseCode({ className, ...props }) {
35
+ return (_jsx("code", { "data-slot": "prose-code", className: cn("rounded-md bg-muted px-1.5 py-0.5 font-mono text-[0.875em] [[data-slot=prose-pre]_&]:bg-transparent [[data-slot=prose-pre]_&]:p-0", className), ...props }));
36
+ }
37
+ function ProseHr({ className, ...props }) {
38
+ return (_jsx("hr", { "data-slot": "prose-hr", className: cn(container, "my-8 border-border", className), ...props }));
39
+ }
40
+ function ProseImg({ className, alt, ...props }) {
41
+ return (_jsx("div", { className: container, children: _jsx("img", { "data-slot": "prose-img", className: cn("my-6 rounded-xl border border-border shadow-sm", className), alt: alt, ...props }) }));
42
+ }
43
+ export { ProseH2, ProseH3, ProseH4, ProseP, ProseA, ProseUl, ProseOl, ProseLi, ProseBlockquote, ProsePre, ProseCode, ProseHr, ProseImg, };
44
+ //# sourceMappingURL=prose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prose.js","sourceRoot":"","sources":["../../src/ui/prose.tsx"],"names":[],"mappings":"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"}
package/dist/ui/table.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { cn } from "../lib/utils";
3
3
  function Table({ className, ...props }) {
4
- return (_jsx("div", { "data-slot": "table-container", className: "my-8 mx-auto w-full max-w-[76rem] px-[clamp(1rem,3vw,3rem)] overflow-x-auto", children: _jsx("div", { className: "rounded-xl border border-border bg-card shadow-sm", children: _jsx("table", { "data-slot": "table", className: cn("w-full caption-bottom text-sm", className), ...props }) }) }));
4
+ return (_jsx("div", { "data-slot": "table-container", className: "prose-container my-8 mx-auto w-full max-w-[76rem] px-[clamp(1rem,3vw,3rem)] overflow-x-auto", children: _jsx("div", { className: "rounded-xl border border-border bg-card shadow-sm", children: _jsx("table", { "data-slot": "table", className: cn("w-full caption-bottom text-sm", className), ...props }) }) }));
5
5
  }
6
6
  function TableHeader({ className, ...props }) {
7
7
  return (_jsx("thead", { "data-slot": "table-header", className: cn("bg-muted/50 [&_tr]:border-b", className), ...props }));
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/ui/table.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,SAAS,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAiC;IACnE,OAAO,CACL,2BAAe,iBAAiB,EAAC,SAAS,EAAC,6EAA6E,YACtH,cAAK,SAAS,EAAC,mDAAmD,YAChE,6BACY,OAAO,EACjB,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,KACrD,KAAK,GACT,GACE,GACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAiC;IACzE,OAAO,CACL,6BACY,cAAc,EACxB,SAAS,EAAE,EAAE,CAAC,6BAA6B,EAAE,SAAS,CAAC,KACnD,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAiC;IACvE,OAAO,CACL,6BACY,YAAY,EACtB,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC,KAClD,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAiC;IACzE,OAAO,CACL,6BACY,cAAc,EACxB,SAAS,EAAE,EAAE,CACX,yDAAyD,EACzD,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA8B;IACnE,OAAO,CACL,0BACY,WAAW,EACrB,SAAS,EAAE,EAAE,CACX,2FAA2F,EAC3F,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA8B;IACpE,OAAO,CACL,0BACY,YAAY,EACtB,SAAS,EAAE,EAAE,CACX,wKAAwK,EACxK,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA8B;IACpE,OAAO,CACL,0BACY,YAAY,EACtB,SAAS,EAAE,EAAE,CACX,4GAA4G,EAC5G,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAmC;IAC5E,OAAO,CACL,+BACY,eAAe,EACzB,SAAS,EAAE,EAAE,CAAC,oCAAoC,EAAE,SAAS,CAAC,KAC1D,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EACL,KAAK,EACL,WAAW,EACX,SAAS,EACT,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,GACb,CAAC"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/ui/table.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,SAAS,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAiC;IACnE,OAAO,CACL,2BAAe,iBAAiB,EAAC,SAAS,EAAC,6FAA6F,YACtI,cAAK,SAAS,EAAC,mDAAmD,YAChE,6BACY,OAAO,EACjB,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,KACrD,KAAK,GACT,GACE,GACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAiC;IACzE,OAAO,CACL,6BACY,cAAc,EACxB,SAAS,EAAE,EAAE,CAAC,6BAA6B,EAAE,SAAS,CAAC,KACnD,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAiC;IACvE,OAAO,CACL,6BACY,YAAY,EACtB,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC,KAClD,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAiC;IACzE,OAAO,CACL,6BACY,cAAc,EACxB,SAAS,EAAE,EAAE,CACX,yDAAyD,EACzD,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA8B;IACnE,OAAO,CACL,0BACY,WAAW,EACrB,SAAS,EAAE,EAAE,CACX,2FAA2F,EAC3F,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA8B;IACpE,OAAO,CACL,0BACY,YAAY,EACtB,SAAS,EAAE,EAAE,CACX,wKAAwK,EACxK,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA8B;IACpE,OAAO,CACL,0BACY,YAAY,EACtB,SAAS,EAAE,EAAE,CACX,4GAA4G,EAC5G,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAmC;IAC5E,OAAO,CACL,+BACY,eAAe,EACzB,SAAS,EAAE,EAAE,CAAC,oCAAoC,EAAE,SAAS,CAAC,KAC1D,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EACL,KAAK,EACL,WAAW,EACX,SAAS,EACT,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,GACb,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shipsite.dev/components",
3
- "version": "0.2.13",
3
+ "version": "0.2.15",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/shipsite/shipsite",