@olwiba/ui 0.0.42 → 0.0.44

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.
@@ -0,0 +1,8 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ interface MdxContentProps {
4
+ code: string;
5
+ }
6
+ declare function MdxContent({ code }: MdxContentProps): react_jsx_runtime.JSX.Element;
7
+
8
+ export { MdxContent, type MdxContentProps };
@@ -0,0 +1,32 @@
1
+ import { cn } from '../chunk-SUKTBILF.js';
2
+ import { useMDXComponent } from '@content-collections/mdx/react';
3
+ import { jsx } from 'react/jsx-runtime';
4
+
5
+ var components = {
6
+ h1: ({ className, ...props }) => /* @__PURE__ */ jsx("h1", { className: cn("mt-8 scroll-m-20 text-3xl font-bold tracking-tight text-foreground first:mt-0", className), ...props }),
7
+ h2: ({ className, ...props }) => /* @__PURE__ */ jsx("h2", { className: cn("mt-10 scroll-m-20 text-2xl font-semibold tracking-tight text-foreground first:mt-0", className), ...props }),
8
+ h3: ({ className, ...props }) => /* @__PURE__ */ jsx("h3", { className: cn("mt-8 scroll-m-20 text-xl font-semibold tracking-tight text-foreground", className), ...props }),
9
+ h4: ({ className, ...props }) => /* @__PURE__ */ jsx("h4", { className: cn("mt-6 scroll-m-20 text-lg font-semibold tracking-tight text-foreground", className), ...props }),
10
+ p: ({ className, ...props }) => /* @__PURE__ */ jsx("p", { className: cn("leading-7 text-muted-foreground [&:not(:first-child)]:mt-6", className), ...props }),
11
+ ul: ({ className, ...props }) => /* @__PURE__ */ jsx("ul", { className: cn("my-6 ml-6 list-disc text-muted-foreground", className), ...props }),
12
+ ol: ({ className, ...props }) => /* @__PURE__ */ jsx("ol", { className: cn("my-6 ml-6 list-decimal text-muted-foreground", className), ...props }),
13
+ li: ({ className, ...props }) => /* @__PURE__ */ jsx("li", { className: cn("mt-2", className), ...props }),
14
+ blockquote: ({ className, ...props }) => /* @__PURE__ */ jsx("blockquote", { className: cn("mt-6 rounded-r-lg border-l-4 border-primary bg-muted py-4 pl-6 pr-4 italic text-muted-foreground", className), ...props }),
15
+ hr: (props) => /* @__PURE__ */ jsx("hr", { className: "my-8 border-border", ...props }),
16
+ img: ({ className, alt, ...props }) => /* @__PURE__ */ jsx("img", { className: cn("rounded-lg border shadow-sm", className), alt, ...props }),
17
+ pre: ({ className, ...props }) => /* @__PURE__ */ jsx("pre", { className: cn("mt-6 mb-4 overflow-x-auto rounded-lg bg-muted p-4 text-sm", className), ...props }),
18
+ code: ({ className, ...props }) => /* @__PURE__ */ jsx("code", { className: cn("relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-sm text-foreground", className), ...props }),
19
+ table: ({ className, ...props }) => /* @__PURE__ */ jsx("div", { className: "my-6 w-full overflow-y-auto rounded-lg border border-border", children: /* @__PURE__ */ jsx("table", { className: cn("w-full", className), ...props }) }),
20
+ tr: ({ className, ...props }) => /* @__PURE__ */ jsx("tr", { className: cn("m-0 border-t border-border p-0 even:bg-muted", className), ...props }),
21
+ th: ({ className, ...props }) => /* @__PURE__ */ jsx("th", { className: cn("border border-border px-4 py-2 text-left font-bold [&[align=center]]:text-center [&[align=right]]:text-right", className), ...props }),
22
+ td: ({ className, ...props }) => /* @__PURE__ */ jsx("td", { className: cn("border border-border px-4 py-2 text-left [&[align=center]]:text-center [&[align=right]]:text-right", className), ...props }),
23
+ a: ({ className, ...props }) => /* @__PURE__ */ jsx("a", { className: cn("font-medium text-primary underline underline-offset-4 hover:text-primary/80", className), ...props })
24
+ };
25
+ function MdxContent({ code }) {
26
+ const MDXComponent = useMDXComponent(code);
27
+ return /* @__PURE__ */ jsx(MDXComponent, { components });
28
+ }
29
+
30
+ export { MdxContent };
31
+ //# sourceMappingURL=index.js.map
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/blog/MdxContent.tsx"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import * as React from 'react';\nimport { useMDXComponent } from '@content-collections/mdx/react';\nimport { cn } from '../lib/utils';\n\nconst components = {\n h1: ({ className, ...props }: React.HTMLAttributes<HTMLHeadingElement>) => (\n <h1 className={cn('mt-8 scroll-m-20 text-3xl font-bold tracking-tight text-foreground first:mt-0', className)} {...props} />\n ),\n h2: ({ className, ...props }: React.HTMLAttributes<HTMLHeadingElement>) => (\n <h2 className={cn('mt-10 scroll-m-20 text-2xl font-semibold tracking-tight text-foreground first:mt-0', className)} {...props} />\n ),\n h3: ({ className, ...props }: React.HTMLAttributes<HTMLHeadingElement>) => (\n <h3 className={cn('mt-8 scroll-m-20 text-xl font-semibold tracking-tight text-foreground', className)} {...props} />\n ),\n h4: ({ className, ...props }: React.HTMLAttributes<HTMLHeadingElement>) => (\n <h4 className={cn('mt-6 scroll-m-20 text-lg font-semibold tracking-tight text-foreground', className)} {...props} />\n ),\n p: ({ className, ...props }: React.HTMLAttributes<HTMLParagraphElement>) => (\n <p className={cn('leading-7 text-muted-foreground [&:not(:first-child)]:mt-6', className)} {...props} />\n ),\n ul: ({ className, ...props }: React.HTMLAttributes<HTMLUListElement>) => (\n <ul className={cn('my-6 ml-6 list-disc text-muted-foreground', className)} {...props} />\n ),\n ol: ({ className, ...props }: React.HTMLAttributes<HTMLOListElement>) => (\n <ol className={cn('my-6 ml-6 list-decimal text-muted-foreground', className)} {...props} />\n ),\n li: ({ className, ...props }: React.HTMLAttributes<HTMLLIElement>) => (\n <li className={cn('mt-2', className)} {...props} />\n ),\n blockquote: ({ className, ...props }: React.HTMLAttributes<HTMLQuoteElement>) => (\n <blockquote className={cn('mt-6 rounded-r-lg border-l-4 border-primary bg-muted py-4 pl-6 pr-4 italic text-muted-foreground', className)} {...props} />\n ),\n hr: (props: React.HTMLAttributes<HTMLHRElement>) => (\n <hr className=\"my-8 border-border\" {...props} />\n ),\n img: ({ className, alt, ...props }: React.ImgHTMLAttributes<HTMLImageElement>) => (\n <img className={cn('rounded-lg border shadow-sm', className)} alt={alt} {...props} />\n ),\n pre: ({ className, ...props }: React.HTMLAttributes<HTMLPreElement>) => (\n <pre className={cn('mt-6 mb-4 overflow-x-auto rounded-lg bg-muted p-4 text-sm', className)} {...props} />\n ),\n code: ({ className, ...props }: React.HTMLAttributes<HTMLElement>) => (\n <code className={cn('relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-sm text-foreground', className)} {...props} />\n ),\n table: ({ className, ...props }: React.HTMLAttributes<HTMLTableElement>) => (\n <div className=\"my-6 w-full overflow-y-auto rounded-lg border border-border\">\n <table className={cn('w-full', className)} {...props} />\n </div>\n ),\n tr: ({ className, ...props }: React.HTMLAttributes<HTMLTableRowElement>) => (\n <tr className={cn('m-0 border-t border-border p-0 even:bg-muted', className)} {...props} />\n ),\n th: ({ className, ...props }: React.HTMLAttributes<HTMLTableCellElement>) => (\n <th className={cn('border border-border px-4 py-2 text-left font-bold [&[align=center]]:text-center [&[align=right]]:text-right', className)} {...props} />\n ),\n td: ({ className, ...props }: React.HTMLAttributes<HTMLTableCellElement>) => (\n <td className={cn('border border-border px-4 py-2 text-left [&[align=center]]:text-center [&[align=right]]:text-right', className)} {...props} />\n ),\n a: ({ className, ...props }: React.AnchorHTMLAttributes<HTMLAnchorElement>) => (\n <a className={cn('font-medium text-primary underline underline-offset-4 hover:text-primary/80', className)} {...props} />\n ),\n};\n\nexport interface MdxContentProps {\n code: string;\n}\n\nexport function MdxContent({ code }: MdxContentProps) {\n const MDXComponent = useMDXComponent(code);\n return <MDXComponent components={components} />;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@olwiba/ui",
3
- "version": "0.0.42",
3
+ "version": "0.0.44",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -15,6 +15,10 @@
15
15
  "./email": {
16
16
  "import": "./dist/email/index.js",
17
17
  "types": "./dist/email/index.d.ts"
18
+ },
19
+ "./mdx": {
20
+ "import": "./dist/mdx/index.js",
21
+ "types": "./dist/mdx/index.d.ts"
18
22
  }
19
23
  },
20
24
  "files": [
package/src/index.ts CHANGED
@@ -112,7 +112,9 @@ export { PostCard, type PostCardProps } from './blog/PostCard';
112
112
  export { PostList, type PostListProps } from './blog/PostList';
113
113
  export { ChangelogList, type ChangelogListProps } from './blog/ChangelogList';
114
114
  export { ChangelogCard, type ChangelogCardProps } from './blog/ChangelogCard';
115
- export { MdxContent, type MdxContentProps } from './blog/MdxContent';
115
+
116
+ // ─── MDX — import from @olwiba/ui/mdx (requires @content-collections/mdx peer) ─
117
+ // MdxContent is not exported here to avoid forcing @content-collections/mdx on all consumers.
116
118
 
117
119
  // ─── Hooks ────────────────────────────────────────────────────────────────────
118
120
  export { useMounted } from './hooks/use-mounted';
@@ -26,7 +26,7 @@ export function Footer({
26
26
  const copyrightText = legal ?? `\u00A9 ${new Date().getFullYear()} ${brand.name}. All rights reserved.`;
27
27
 
28
28
  return (
29
- <footer className="overflow-hidden rounded-2xl border bg-foreground text-background">
29
+ <footer className="overflow-hidden rounded-2xl border bg-muted text-foreground">
30
30
  <div className="mx-auto max-w-7xl px-6 py-20 sm:py-24 lg:px-8">
31
31
  {/* Brand */}
32
32
  <div className="flex justify-center">
@@ -36,11 +36,11 @@ export function Footer({
36
36
  children: (
37
37
  <>
38
38
  {brand.logo && (
39
- <span className="flex h-8 w-8 items-center justify-center rounded-lg bg-background/10 text-background">
39
+ <span className="flex h-8 w-8 items-center justify-center rounded-lg bg-foreground/10 text-foreground">
40
40
  {brand.logo}
41
41
  </span>
42
42
  )}
43
- <span className="text-lg font-semibold text-background">{brand.name}</span>
43
+ <span className="text-lg font-semibold text-foreground">{brand.name}</span>
44
44
  </>
45
45
  ),
46
46
  })}
@@ -53,7 +53,7 @@ export function Footer({
53
53
  <div key={label}>
54
54
  {renderLink({
55
55
  href,
56
- className: 'text-sm/6 text-background/70 transition-colors hover:text-background',
56
+ className: 'text-sm/6 text-muted-foreground transition-colors hover:text-foreground',
57
57
  children: label,
58
58
  })}
59
59
  </div>
@@ -69,7 +69,7 @@ export function Footer({
69
69
  key={label}
70
70
  href={href}
71
71
  aria-label={label}
72
- className="text-background/70 transition-colors hover:text-background"
72
+ className="text-muted-foreground transition-colors hover:text-foreground"
73
73
  >
74
74
  {icon}
75
75
  </a>
@@ -78,7 +78,7 @@ export function Footer({
78
78
  )}
79
79
 
80
80
  {/* Copyright */}
81
- <p className="mt-10 text-center text-sm/6 text-background/50">
81
+ <p className="mt-10 text-center text-sm/6 text-muted-foreground/70">
82
82
  {copyrightText}
83
83
  </p>
84
84
  </div>
@@ -0,0 +1 @@
1
+ export { MdxContent, type MdxContentProps } from '../blog/MdxContent';