@haroonwaves/blog-kit-react 1.0.9 → 1.1.1
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.
- package/dist/index.cjs +102 -102
- package/dist/index.js +102 -102
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -59,6 +59,108 @@ function Badge({ children, className }) {
|
|
|
59
59
|
|
|
60
60
|
// src/components/BlogRenderer.tsx
|
|
61
61
|
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
62
|
+
var defaultComponents = {
|
|
63
|
+
h1: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
64
|
+
"h1",
|
|
65
|
+
{
|
|
66
|
+
className: "mt-10 first:mt-0 mb-5 text-3xl md:text-4xl font-semibold tracking-tight text-gray-800 dark:text-gray-200",
|
|
67
|
+
...props
|
|
68
|
+
}
|
|
69
|
+
),
|
|
70
|
+
h2: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
71
|
+
"h2",
|
|
72
|
+
{
|
|
73
|
+
className: "mt-8 first:mt-0 mb-4 text-2xl md:text-3xl font-semibold tracking-tight text-gray-800 dark:text-gray-200",
|
|
74
|
+
...props
|
|
75
|
+
}
|
|
76
|
+
),
|
|
77
|
+
h3: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
78
|
+
"h3",
|
|
79
|
+
{
|
|
80
|
+
className: "mt-6 mb-4 first:mt-0 text-xl md:text-2xl font-semibold text-gray-800 dark:text-gray-200",
|
|
81
|
+
...props
|
|
82
|
+
}
|
|
83
|
+
),
|
|
84
|
+
h4: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
85
|
+
"h4",
|
|
86
|
+
{
|
|
87
|
+
className: "mt-5 mb-3 first:mt-0 text-lg font-semibold text-gray-800 dark:text-gray-200",
|
|
88
|
+
...props
|
|
89
|
+
}
|
|
90
|
+
),
|
|
91
|
+
h5: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
92
|
+
"h5",
|
|
93
|
+
{
|
|
94
|
+
className: "mt-4 mb-2 first:mt-0 text-base font-semibold text-gray-700 dark:text-gray-200",
|
|
95
|
+
...props
|
|
96
|
+
}
|
|
97
|
+
),
|
|
98
|
+
h6: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
99
|
+
"h6",
|
|
100
|
+
{
|
|
101
|
+
className: "mt-4 mb-2 text-sm first:mt-0 font-semibold uppercase tracking-wide text-gray-600 dark:text-gray-300",
|
|
102
|
+
...props
|
|
103
|
+
}
|
|
104
|
+
),
|
|
105
|
+
p: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("p", { className: "mb-4 leading-7 text-gray-700 dark:text-gray-300", ...props }),
|
|
106
|
+
ul: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("ul", { className: "mb-4 ml-6 list-disc space-y-2 text-gray-700 dark:text-gray-300", ...props }),
|
|
107
|
+
ol: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("ol", { className: "mb-4 ml-6 list-decimal space-y-2 text-gray-700 dark:text-gray-300", ...props }),
|
|
108
|
+
li: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("li", { ...props }),
|
|
109
|
+
code: ({ className, children, ...props }) => {
|
|
110
|
+
const isInline = !className;
|
|
111
|
+
return isInline ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
112
|
+
"code",
|
|
113
|
+
{
|
|
114
|
+
className: "rounded bg-gray-100 dark:bg-gray-800 px-1.5 py-0.5 text-sm font-mono text-rose-600 dark:text-rose-400",
|
|
115
|
+
...props,
|
|
116
|
+
children
|
|
117
|
+
}
|
|
118
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("code", { className, ...props, children });
|
|
119
|
+
},
|
|
120
|
+
pre: ({ className: preClassName, children, ...props }) => {
|
|
121
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
122
|
+
"pre",
|
|
123
|
+
{
|
|
124
|
+
className: `mb-4 rounded-lg overflow-x-auto [&>code]:block [&>code]:p-4 ${preClassName || ""}`,
|
|
125
|
+
...props,
|
|
126
|
+
children
|
|
127
|
+
}
|
|
128
|
+
);
|
|
129
|
+
},
|
|
130
|
+
blockquote: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
131
|
+
"blockquote",
|
|
132
|
+
{
|
|
133
|
+
className: "my-6 border-l-4 border-blue-500 pl-4 italic text-gray-600 dark:text-gray-400",
|
|
134
|
+
...props
|
|
135
|
+
}
|
|
136
|
+
),
|
|
137
|
+
a: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
138
|
+
"a",
|
|
139
|
+
{
|
|
140
|
+
className: "text-blue-600 dark:text-blue-400 underline underline-offset-4 hover:text-blue-800 dark:hover:text-blue-300",
|
|
141
|
+
...props
|
|
142
|
+
}
|
|
143
|
+
),
|
|
144
|
+
strong: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("strong", { className: "font-semibold text-gray-800 dark:text-gray-200", ...props }),
|
|
145
|
+
em: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("em", { className: "italic text-gray-800 dark:text-gray-200", ...props }),
|
|
146
|
+
del: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("del", { className: "text-gray-500 dark:text-gray-400", ...props }),
|
|
147
|
+
hr: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("hr", { className: "my-9 border-gray-200 dark:border-neutral-900", ...props }),
|
|
148
|
+
br: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("br", { ...props }),
|
|
149
|
+
img: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("img", { className: "my-6 rounded-xl max-w-full h-auto", ...props }),
|
|
150
|
+
table: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "my-6 overflow-x-auto", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
151
|
+
"table",
|
|
152
|
+
{
|
|
153
|
+
className: "w-full border border-gray-200 dark:border-gray-700 rounded-lg overflow-hidden text-sm",
|
|
154
|
+
...props
|
|
155
|
+
}
|
|
156
|
+
) }),
|
|
157
|
+
thead: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("thead", { className: "bg-gray-50 dark:bg-gray-800 text-gray-700 dark:text-gray-200", ...props }),
|
|
158
|
+
tbody: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("tbody", { ...props }),
|
|
159
|
+
tr: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("tr", { className: "border-b last:border-b-0 border-gray-200 dark:border-gray-700", ...props }),
|
|
160
|
+
th: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("th", { className: "px-4 py-3 text-left font-semibold", ...props }),
|
|
161
|
+
td: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("td", { className: "px-4 py-3 text-gray-700 dark:text-gray-300", ...props }),
|
|
162
|
+
input: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("input", { type: "checkbox", disabled: true, className: "mr-2 accent-blue-600", ...props })
|
|
163
|
+
};
|
|
62
164
|
function BlogRenderer({
|
|
63
165
|
content,
|
|
64
166
|
metadata,
|
|
@@ -68,108 +170,6 @@ function BlogRenderer({
|
|
|
68
170
|
showReadingTime = true,
|
|
69
171
|
showDate = true
|
|
70
172
|
}) {
|
|
71
|
-
const defaultComponents = {
|
|
72
|
-
h1: ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
73
|
-
"h1",
|
|
74
|
-
{
|
|
75
|
-
className: "text-2xl sm:text-3xl md:text-4xl font-bold mb-4 mt-8 text-gray-800 dark:text-gray-100",
|
|
76
|
-
...props
|
|
77
|
-
}
|
|
78
|
-
),
|
|
79
|
-
h2: ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
80
|
-
"h2",
|
|
81
|
-
{
|
|
82
|
-
className: "text-xl sm:text-2xl md:text-3xl font-bold mb-3 mt-6 text-gray-800 dark:text-gray-100",
|
|
83
|
-
...props
|
|
84
|
-
}
|
|
85
|
-
),
|
|
86
|
-
h3: ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
87
|
-
"h3",
|
|
88
|
-
{
|
|
89
|
-
className: "text-lg sm:text-xl md:text-2xl font-semibold mb-2 mt-4 text-gray-800 dark:text-gray-100",
|
|
90
|
-
...props
|
|
91
|
-
}
|
|
92
|
-
),
|
|
93
|
-
h4: ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("h4", { className: "text-xl font-semibold mb-2 mt-4 text-gray-800 dark:text-gray-100", ...props }),
|
|
94
|
-
h5: ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("h5", { className: "text-lg font-semibold mb-2 mt-3 text-gray-800 dark:text-gray-100", ...props }),
|
|
95
|
-
h6: ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
96
|
-
"h6",
|
|
97
|
-
{
|
|
98
|
-
className: "text-base font-semibold mb-2 mt-3 text-gray-800 dark:text-gray-100",
|
|
99
|
-
...props
|
|
100
|
-
}
|
|
101
|
-
),
|
|
102
|
-
p: ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("p", { className: "mb-4 leading-7 text-gray-600 dark:text-gray-300", ...props }),
|
|
103
|
-
ul: ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("ul", { className: "mb-4 ml-6 list-disc text-gray-600 dark:text-gray-300", ...props }),
|
|
104
|
-
ol: ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("ol", { className: "mb-4 ml-6 list-decimal text-gray-600 dark:text-gray-300", ...props }),
|
|
105
|
-
li: ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("li", { className: "mb-2", ...props }),
|
|
106
|
-
code: ({ className: codeClassName, children, ...props }) => {
|
|
107
|
-
const isInline = !codeClassName;
|
|
108
|
-
return isInline ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
109
|
-
"code",
|
|
110
|
-
{
|
|
111
|
-
className: "px-1.5 py-0.5 bg-gray-100 dark:bg-gray-800 rounded text-sm text-red-600 dark:text-red-400",
|
|
112
|
-
...props,
|
|
113
|
-
children
|
|
114
|
-
}
|
|
115
|
-
) : /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("code", { className: codeClassName, ...props, children });
|
|
116
|
-
},
|
|
117
|
-
pre: ({ className: preClassName, children, ...props }) => {
|
|
118
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
119
|
-
"pre",
|
|
120
|
-
{
|
|
121
|
-
className: `mb-4 rounded-lg overflow-x-auto [&>code]:block [&>code]:p-4 ${preClassName || ""}`,
|
|
122
|
-
...props,
|
|
123
|
-
children
|
|
124
|
-
}
|
|
125
|
-
);
|
|
126
|
-
},
|
|
127
|
-
blockquote: ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
128
|
-
"blockquote",
|
|
129
|
-
{
|
|
130
|
-
className: "border-l-4 border-blue-500 dark:border-blue-400 pl-4 italic my-4 text-gray-600 dark:text-gray-400",
|
|
131
|
-
...props
|
|
132
|
-
}
|
|
133
|
-
),
|
|
134
|
-
a: ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
135
|
-
"a",
|
|
136
|
-
{
|
|
137
|
-
className: "text-blue-600 dark:text-blue-400 hover:text-blue-800 dark:hover:text-blue-300 underline",
|
|
138
|
-
...props
|
|
139
|
-
}
|
|
140
|
-
),
|
|
141
|
-
strong: ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("strong", { className: "font-semibold text-gray-800 dark:text-gray-100", ...props }),
|
|
142
|
-
em: ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("em", { className: "italic", ...props }),
|
|
143
|
-
del: ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("del", { className: "line-through text-gray-500 dark:text-gray-400", ...props }),
|
|
144
|
-
hr: ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("hr", { className: "my-8 border-gray-300 dark:border-gray-700", ...props }),
|
|
145
|
-
br: ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("br", { ...props }),
|
|
146
|
-
img: ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("img", { className: "max-w-full h-auto rounded-lg my-4", ...props }),
|
|
147
|
-
table: ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "overflow-x-auto my-4", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
148
|
-
"table",
|
|
149
|
-
{
|
|
150
|
-
className: "min-w-full border border-gray-300 dark:border-gray-700 rounded",
|
|
151
|
-
...props
|
|
152
|
-
}
|
|
153
|
-
) }),
|
|
154
|
-
thead: ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("thead", { className: "bg-gray-50 dark:bg-gray-800", ...props }),
|
|
155
|
-
tbody: ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("tbody", { ...props }),
|
|
156
|
-
tr: ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("tr", { className: "border-b border-gray-300 dark:border-gray-700", ...props }),
|
|
157
|
-
th: ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
158
|
-
"th",
|
|
159
|
-
{
|
|
160
|
-
className: "px-4 py-2 text-left font-semibold border border-gray-300 dark:border-gray-700 dark:text-gray-100",
|
|
161
|
-
...props
|
|
162
|
-
}
|
|
163
|
-
),
|
|
164
|
-
td: ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
165
|
-
"td",
|
|
166
|
-
{
|
|
167
|
-
className: "px-4 py-2 border border-gray-300 dark:border-gray-700 dark:text-gray-300",
|
|
168
|
-
...props
|
|
169
|
-
}
|
|
170
|
-
),
|
|
171
|
-
input: ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("input", { className: "mr-2", type: "checkbox", disabled: true, ...props })
|
|
172
|
-
};
|
|
173
173
|
const mergedComponents = { ...defaultComponents, ...components };
|
|
174
174
|
return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
175
175
|
showCategory || showReadingTime || showDate && /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "flex items-center gap-3 mb-4", children: [
|
package/dist/index.js
CHANGED
|
@@ -19,6 +19,108 @@ function Badge({ children, className }) {
|
|
|
19
19
|
|
|
20
20
|
// src/components/BlogRenderer.tsx
|
|
21
21
|
import { Fragment, jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
22
|
+
var defaultComponents = {
|
|
23
|
+
h1: (props) => /* @__PURE__ */ jsx2(
|
|
24
|
+
"h1",
|
|
25
|
+
{
|
|
26
|
+
className: "mt-10 first:mt-0 mb-5 text-3xl md:text-4xl font-semibold tracking-tight text-gray-800 dark:text-gray-200",
|
|
27
|
+
...props
|
|
28
|
+
}
|
|
29
|
+
),
|
|
30
|
+
h2: (props) => /* @__PURE__ */ jsx2(
|
|
31
|
+
"h2",
|
|
32
|
+
{
|
|
33
|
+
className: "mt-8 first:mt-0 mb-4 text-2xl md:text-3xl font-semibold tracking-tight text-gray-800 dark:text-gray-200",
|
|
34
|
+
...props
|
|
35
|
+
}
|
|
36
|
+
),
|
|
37
|
+
h3: (props) => /* @__PURE__ */ jsx2(
|
|
38
|
+
"h3",
|
|
39
|
+
{
|
|
40
|
+
className: "mt-6 mb-4 first:mt-0 text-xl md:text-2xl font-semibold text-gray-800 dark:text-gray-200",
|
|
41
|
+
...props
|
|
42
|
+
}
|
|
43
|
+
),
|
|
44
|
+
h4: (props) => /* @__PURE__ */ jsx2(
|
|
45
|
+
"h4",
|
|
46
|
+
{
|
|
47
|
+
className: "mt-5 mb-3 first:mt-0 text-lg font-semibold text-gray-800 dark:text-gray-200",
|
|
48
|
+
...props
|
|
49
|
+
}
|
|
50
|
+
),
|
|
51
|
+
h5: (props) => /* @__PURE__ */ jsx2(
|
|
52
|
+
"h5",
|
|
53
|
+
{
|
|
54
|
+
className: "mt-4 mb-2 first:mt-0 text-base font-semibold text-gray-700 dark:text-gray-200",
|
|
55
|
+
...props
|
|
56
|
+
}
|
|
57
|
+
),
|
|
58
|
+
h6: (props) => /* @__PURE__ */ jsx2(
|
|
59
|
+
"h6",
|
|
60
|
+
{
|
|
61
|
+
className: "mt-4 mb-2 text-sm first:mt-0 font-semibold uppercase tracking-wide text-gray-600 dark:text-gray-300",
|
|
62
|
+
...props
|
|
63
|
+
}
|
|
64
|
+
),
|
|
65
|
+
p: (props) => /* @__PURE__ */ jsx2("p", { className: "mb-4 leading-7 text-gray-700 dark:text-gray-300", ...props }),
|
|
66
|
+
ul: (props) => /* @__PURE__ */ jsx2("ul", { className: "mb-4 ml-6 list-disc space-y-2 text-gray-700 dark:text-gray-300", ...props }),
|
|
67
|
+
ol: (props) => /* @__PURE__ */ jsx2("ol", { className: "mb-4 ml-6 list-decimal space-y-2 text-gray-700 dark:text-gray-300", ...props }),
|
|
68
|
+
li: (props) => /* @__PURE__ */ jsx2("li", { ...props }),
|
|
69
|
+
code: ({ className, children, ...props }) => {
|
|
70
|
+
const isInline = !className;
|
|
71
|
+
return isInline ? /* @__PURE__ */ jsx2(
|
|
72
|
+
"code",
|
|
73
|
+
{
|
|
74
|
+
className: "rounded bg-gray-100 dark:bg-gray-800 px-1.5 py-0.5 text-sm font-mono text-rose-600 dark:text-rose-400",
|
|
75
|
+
...props,
|
|
76
|
+
children
|
|
77
|
+
}
|
|
78
|
+
) : /* @__PURE__ */ jsx2("code", { className, ...props, children });
|
|
79
|
+
},
|
|
80
|
+
pre: ({ className: preClassName, children, ...props }) => {
|
|
81
|
+
return /* @__PURE__ */ jsx2(
|
|
82
|
+
"pre",
|
|
83
|
+
{
|
|
84
|
+
className: `mb-4 rounded-lg overflow-x-auto [&>code]:block [&>code]:p-4 ${preClassName || ""}`,
|
|
85
|
+
...props,
|
|
86
|
+
children
|
|
87
|
+
}
|
|
88
|
+
);
|
|
89
|
+
},
|
|
90
|
+
blockquote: (props) => /* @__PURE__ */ jsx2(
|
|
91
|
+
"blockquote",
|
|
92
|
+
{
|
|
93
|
+
className: "my-6 border-l-4 border-blue-500 pl-4 italic text-gray-600 dark:text-gray-400",
|
|
94
|
+
...props
|
|
95
|
+
}
|
|
96
|
+
),
|
|
97
|
+
a: (props) => /* @__PURE__ */ jsx2(
|
|
98
|
+
"a",
|
|
99
|
+
{
|
|
100
|
+
className: "text-blue-600 dark:text-blue-400 underline underline-offset-4 hover:text-blue-800 dark:hover:text-blue-300",
|
|
101
|
+
...props
|
|
102
|
+
}
|
|
103
|
+
),
|
|
104
|
+
strong: (props) => /* @__PURE__ */ jsx2("strong", { className: "font-semibold text-gray-800 dark:text-gray-200", ...props }),
|
|
105
|
+
em: (props) => /* @__PURE__ */ jsx2("em", { className: "italic text-gray-800 dark:text-gray-200", ...props }),
|
|
106
|
+
del: (props) => /* @__PURE__ */ jsx2("del", { className: "text-gray-500 dark:text-gray-400", ...props }),
|
|
107
|
+
hr: (props) => /* @__PURE__ */ jsx2("hr", { className: "my-9 border-gray-200 dark:border-neutral-900", ...props }),
|
|
108
|
+
br: (props) => /* @__PURE__ */ jsx2("br", { ...props }),
|
|
109
|
+
img: (props) => /* @__PURE__ */ jsx2("img", { className: "my-6 rounded-xl max-w-full h-auto", ...props }),
|
|
110
|
+
table: (props) => /* @__PURE__ */ jsx2("div", { className: "my-6 overflow-x-auto", children: /* @__PURE__ */ jsx2(
|
|
111
|
+
"table",
|
|
112
|
+
{
|
|
113
|
+
className: "w-full border border-gray-200 dark:border-gray-700 rounded-lg overflow-hidden text-sm",
|
|
114
|
+
...props
|
|
115
|
+
}
|
|
116
|
+
) }),
|
|
117
|
+
thead: (props) => /* @__PURE__ */ jsx2("thead", { className: "bg-gray-50 dark:bg-gray-800 text-gray-700 dark:text-gray-200", ...props }),
|
|
118
|
+
tbody: (props) => /* @__PURE__ */ jsx2("tbody", { ...props }),
|
|
119
|
+
tr: (props) => /* @__PURE__ */ jsx2("tr", { className: "border-b last:border-b-0 border-gray-200 dark:border-gray-700", ...props }),
|
|
120
|
+
th: (props) => /* @__PURE__ */ jsx2("th", { className: "px-4 py-3 text-left font-semibold", ...props }),
|
|
121
|
+
td: (props) => /* @__PURE__ */ jsx2("td", { className: "px-4 py-3 text-gray-700 dark:text-gray-300", ...props }),
|
|
122
|
+
input: (props) => /* @__PURE__ */ jsx2("input", { type: "checkbox", disabled: true, className: "mr-2 accent-blue-600", ...props })
|
|
123
|
+
};
|
|
22
124
|
function BlogRenderer({
|
|
23
125
|
content,
|
|
24
126
|
metadata,
|
|
@@ -28,108 +130,6 @@ function BlogRenderer({
|
|
|
28
130
|
showReadingTime = true,
|
|
29
131
|
showDate = true
|
|
30
132
|
}) {
|
|
31
|
-
const defaultComponents = {
|
|
32
|
-
h1: ({ ...props }) => /* @__PURE__ */ jsx2(
|
|
33
|
-
"h1",
|
|
34
|
-
{
|
|
35
|
-
className: "text-2xl sm:text-3xl md:text-4xl font-bold mb-4 mt-8 text-gray-800 dark:text-gray-100",
|
|
36
|
-
...props
|
|
37
|
-
}
|
|
38
|
-
),
|
|
39
|
-
h2: ({ ...props }) => /* @__PURE__ */ jsx2(
|
|
40
|
-
"h2",
|
|
41
|
-
{
|
|
42
|
-
className: "text-xl sm:text-2xl md:text-3xl font-bold mb-3 mt-6 text-gray-800 dark:text-gray-100",
|
|
43
|
-
...props
|
|
44
|
-
}
|
|
45
|
-
),
|
|
46
|
-
h3: ({ ...props }) => /* @__PURE__ */ jsx2(
|
|
47
|
-
"h3",
|
|
48
|
-
{
|
|
49
|
-
className: "text-lg sm:text-xl md:text-2xl font-semibold mb-2 mt-4 text-gray-800 dark:text-gray-100",
|
|
50
|
-
...props
|
|
51
|
-
}
|
|
52
|
-
),
|
|
53
|
-
h4: ({ ...props }) => /* @__PURE__ */ jsx2("h4", { className: "text-xl font-semibold mb-2 mt-4 text-gray-800 dark:text-gray-100", ...props }),
|
|
54
|
-
h5: ({ ...props }) => /* @__PURE__ */ jsx2("h5", { className: "text-lg font-semibold mb-2 mt-3 text-gray-800 dark:text-gray-100", ...props }),
|
|
55
|
-
h6: ({ ...props }) => /* @__PURE__ */ jsx2(
|
|
56
|
-
"h6",
|
|
57
|
-
{
|
|
58
|
-
className: "text-base font-semibold mb-2 mt-3 text-gray-800 dark:text-gray-100",
|
|
59
|
-
...props
|
|
60
|
-
}
|
|
61
|
-
),
|
|
62
|
-
p: ({ ...props }) => /* @__PURE__ */ jsx2("p", { className: "mb-4 leading-7 text-gray-600 dark:text-gray-300", ...props }),
|
|
63
|
-
ul: ({ ...props }) => /* @__PURE__ */ jsx2("ul", { className: "mb-4 ml-6 list-disc text-gray-600 dark:text-gray-300", ...props }),
|
|
64
|
-
ol: ({ ...props }) => /* @__PURE__ */ jsx2("ol", { className: "mb-4 ml-6 list-decimal text-gray-600 dark:text-gray-300", ...props }),
|
|
65
|
-
li: ({ ...props }) => /* @__PURE__ */ jsx2("li", { className: "mb-2", ...props }),
|
|
66
|
-
code: ({ className: codeClassName, children, ...props }) => {
|
|
67
|
-
const isInline = !codeClassName;
|
|
68
|
-
return isInline ? /* @__PURE__ */ jsx2(
|
|
69
|
-
"code",
|
|
70
|
-
{
|
|
71
|
-
className: "px-1.5 py-0.5 bg-gray-100 dark:bg-gray-800 rounded text-sm text-red-600 dark:text-red-400",
|
|
72
|
-
...props,
|
|
73
|
-
children
|
|
74
|
-
}
|
|
75
|
-
) : /* @__PURE__ */ jsx2("code", { className: codeClassName, ...props, children });
|
|
76
|
-
},
|
|
77
|
-
pre: ({ className: preClassName, children, ...props }) => {
|
|
78
|
-
return /* @__PURE__ */ jsx2(
|
|
79
|
-
"pre",
|
|
80
|
-
{
|
|
81
|
-
className: `mb-4 rounded-lg overflow-x-auto [&>code]:block [&>code]:p-4 ${preClassName || ""}`,
|
|
82
|
-
...props,
|
|
83
|
-
children
|
|
84
|
-
}
|
|
85
|
-
);
|
|
86
|
-
},
|
|
87
|
-
blockquote: ({ ...props }) => /* @__PURE__ */ jsx2(
|
|
88
|
-
"blockquote",
|
|
89
|
-
{
|
|
90
|
-
className: "border-l-4 border-blue-500 dark:border-blue-400 pl-4 italic my-4 text-gray-600 dark:text-gray-400",
|
|
91
|
-
...props
|
|
92
|
-
}
|
|
93
|
-
),
|
|
94
|
-
a: ({ ...props }) => /* @__PURE__ */ jsx2(
|
|
95
|
-
"a",
|
|
96
|
-
{
|
|
97
|
-
className: "text-blue-600 dark:text-blue-400 hover:text-blue-800 dark:hover:text-blue-300 underline",
|
|
98
|
-
...props
|
|
99
|
-
}
|
|
100
|
-
),
|
|
101
|
-
strong: ({ ...props }) => /* @__PURE__ */ jsx2("strong", { className: "font-semibold text-gray-800 dark:text-gray-100", ...props }),
|
|
102
|
-
em: ({ ...props }) => /* @__PURE__ */ jsx2("em", { className: "italic", ...props }),
|
|
103
|
-
del: ({ ...props }) => /* @__PURE__ */ jsx2("del", { className: "line-through text-gray-500 dark:text-gray-400", ...props }),
|
|
104
|
-
hr: ({ ...props }) => /* @__PURE__ */ jsx2("hr", { className: "my-8 border-gray-300 dark:border-gray-700", ...props }),
|
|
105
|
-
br: ({ ...props }) => /* @__PURE__ */ jsx2("br", { ...props }),
|
|
106
|
-
img: ({ ...props }) => /* @__PURE__ */ jsx2("img", { className: "max-w-full h-auto rounded-lg my-4", ...props }),
|
|
107
|
-
table: ({ ...props }) => /* @__PURE__ */ jsx2("div", { className: "overflow-x-auto my-4", children: /* @__PURE__ */ jsx2(
|
|
108
|
-
"table",
|
|
109
|
-
{
|
|
110
|
-
className: "min-w-full border border-gray-300 dark:border-gray-700 rounded",
|
|
111
|
-
...props
|
|
112
|
-
}
|
|
113
|
-
) }),
|
|
114
|
-
thead: ({ ...props }) => /* @__PURE__ */ jsx2("thead", { className: "bg-gray-50 dark:bg-gray-800", ...props }),
|
|
115
|
-
tbody: ({ ...props }) => /* @__PURE__ */ jsx2("tbody", { ...props }),
|
|
116
|
-
tr: ({ ...props }) => /* @__PURE__ */ jsx2("tr", { className: "border-b border-gray-300 dark:border-gray-700", ...props }),
|
|
117
|
-
th: ({ ...props }) => /* @__PURE__ */ jsx2(
|
|
118
|
-
"th",
|
|
119
|
-
{
|
|
120
|
-
className: "px-4 py-2 text-left font-semibold border border-gray-300 dark:border-gray-700 dark:text-gray-100",
|
|
121
|
-
...props
|
|
122
|
-
}
|
|
123
|
-
),
|
|
124
|
-
td: ({ ...props }) => /* @__PURE__ */ jsx2(
|
|
125
|
-
"td",
|
|
126
|
-
{
|
|
127
|
-
className: "px-4 py-2 border border-gray-300 dark:border-gray-700 dark:text-gray-300",
|
|
128
|
-
...props
|
|
129
|
-
}
|
|
130
|
-
),
|
|
131
|
-
input: ({ ...props }) => /* @__PURE__ */ jsx2("input", { className: "mr-2", type: "checkbox", disabled: true, ...props })
|
|
132
|
-
};
|
|
133
133
|
const mergedComponents = { ...defaultComponents, ...components };
|
|
134
134
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
135
135
|
showCategory || showReadingTime || showDate && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 mb-4", children: [
|
package/dist/style.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
|
|
2
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-600:oklch(57.7% .245 27.325);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-900:oklch(40.8% .123 38.172);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-lg:.5rem;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.my-4{margin-block:calc(var(--spacing)*4)}.my-8{margin-block:calc(var(--spacing)*8)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-6{margin-left:calc(var(--spacing)*6)}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-auto{height:auto}.w-3\/4{width:75%}.max-w-full{max-width:100%}.max-w-none{max-width:none}.min-w-full{min-width:100%}.animate-pulse{animation:var(--animate-pulse)}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-blue-500{border-color:var(--color-blue-500)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-transparent{border-color:#0000}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-white{background-color:var(--color-white)}.p-6{padding:calc(var(--spacing)*6)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-12{padding-block:calc(var(--spacing)*12)}.pl-4{padding-left:calc(var(--spacing)*4)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-7{--tw-leading:calc(var(--spacing)*7);line-height:calc(var(--spacing)*7)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-blue-600{color:var(--color-blue-600)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-orange-500{color:var(--color-orange-500)}.text-red-600{color:var(--color-red-600)}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:text-blue-700:hover{color:var(--color-blue-700)}.hover\:text-blue-800:hover{color:var(--color-blue-800)}.hover\:underline:hover{text-decoration-line:underline}}@media (min-width:40rem){.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:48rem){.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}.dark\:border-blue-400:is(html.dark *){border-color:var(--color-blue-400)}.dark\:border-gray-700:is(html.dark *){border-color:var(--color-gray-700)}.dark\:bg-gray-700:is(html.dark *){background-color:var(--color-gray-700)}.dark\:bg-gray-800:is(html.dark *){background-color:var(--color-gray-800)}.dark\:bg-orange-900\/30:is(html.dark *){background-color:#7e2a0c4d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-orange-900\/30:is(html.dark *){background-color:color-mix(in oklab,var(--color-orange-900)30%,transparent)}}.dark\:text-blue-400:is(html.dark *){color:var(--color-blue-400)}.dark\:text-gray-100:is(html.dark *){color:var(--color-gray-100)}.dark\:text-gray-300:is(html.dark *){color:var(--color-gray-300)}.dark\:text-gray-400:is(html.dark *){color:var(--color-gray-400)}.dark\:text-orange-300:is(html.dark *){color:var(--color-orange-300)}.dark\:text-red-400:is(html.dark *){color:var(--color-red-400)}@media (hover:hover){.dark\:hover\:border-gray-600:is(html.dark *):hover{border-color:var(--color-gray-600)}.dark\:hover\:text-blue-300:is(html.dark *):hover{color:var(--color-blue-300)}}.\[\&\>code\]\:block>code{display:block}.\[\&\>code\]\:p-4>code{padding:calc(var(--spacing)*4)}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
|
|
2
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-orange-100:oklch(95.4% .038 75.164);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-900:oklch(40.8% .123 38.172);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-600:oklch(58.6% .253 17.585);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-neutral-900:oklch(20.5% 0 0);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wide:.025em;--radius-lg:.5rem;--radius-xl:.75rem;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.my-6{margin-block:calc(var(--spacing)*6)}.my-9{margin-block:calc(var(--spacing)*9)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-10{margin-top:calc(var(--spacing)*10)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.ml-6{margin-left:calc(var(--spacing)*6)}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-auto{height:auto}.w-3\/4{width:75%}.w-full{width:100%}.max-w-full{max-width:100%}.max-w-none{max-width:none}.animate-pulse{animation:var(--animate-pulse)}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-blue-500{border-color:var(--color-blue-500)}.border-gray-200{border-color:var(--color-gray-200)}.border-transparent{border-color:#0000}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-white{background-color:var(--color-white)}.p-6{padding:calc(var(--spacing)*6)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-12{padding-block:calc(var(--spacing)*12)}.pl-4{padding-left:calc(var(--spacing)*4)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-7{--tw-leading:calc(var(--spacing)*7);line-height:calc(var(--spacing)*7)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-blue-600{color:var(--color-blue-600)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-orange-500{color:var(--color-orange-500)}.text-rose-600{color:var(--color-rose-600)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.accent-blue-600{accent-color:var(--color-blue-600)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.first\:mt-0:first-child{margin-top:calc(var(--spacing)*0)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:text-blue-700:hover{color:var(--color-blue-700)}.hover\:text-blue-800:hover{color:var(--color-blue-800)}.hover\:underline:hover{text-decoration-line:underline}}@media (min-width:48rem){.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}.dark\:border-gray-700:is(html.dark *){border-color:var(--color-gray-700)}.dark\:border-neutral-900:is(html.dark *){border-color:var(--color-neutral-900)}.dark\:bg-gray-700:is(html.dark *){background-color:var(--color-gray-700)}.dark\:bg-gray-800:is(html.dark *){background-color:var(--color-gray-800)}.dark\:bg-orange-900\/30:is(html.dark *){background-color:#7e2a0c4d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-orange-900\/30:is(html.dark *){background-color:color-mix(in oklab,var(--color-orange-900)30%,transparent)}}.dark\:text-blue-400:is(html.dark *){color:var(--color-blue-400)}.dark\:text-gray-100:is(html.dark *){color:var(--color-gray-100)}.dark\:text-gray-200:is(html.dark *){color:var(--color-gray-200)}.dark\:text-gray-300:is(html.dark *){color:var(--color-gray-300)}.dark\:text-gray-400:is(html.dark *){color:var(--color-gray-400)}.dark\:text-orange-300:is(html.dark *){color:var(--color-orange-300)}.dark\:text-rose-400:is(html.dark *){color:var(--color-rose-400)}@media (hover:hover){.dark\:hover\:border-gray-600:is(html.dark *):hover{border-color:var(--color-gray-600)}.dark\:hover\:text-blue-300:is(html.dark *):hover{color:var(--color-blue-300)}}.\[\&\>code\]\:block>code{display:block}.\[\&\>code\]\:p-4>code{padding:calc(var(--spacing)*4)}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
|