@changerawr/markdown 1.0.4 → 1.1.0

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.
@@ -2,14 +2,14 @@ import * as node_modules_tailwindcss_dist_types_B254mqw1_d_mts from 'node_module
2
2
 
3
3
  /**
4
4
  * Tailwind CSS plugin for @changerawr/markdown
5
- * Ensures all necessary classes are available for markdown rendering
5
+ * Compatible with both Tailwind v3 and v4
6
6
  */
7
7
  interface ChangerawrMarkdownPluginOptions {
8
8
  /** Prefix for all markdown classes (default: none) */
9
9
  prefix?: string;
10
10
  /** Whether to include dark mode variants (default: true) */
11
11
  darkMode?: boolean;
12
- /** Custom color scheme */
12
+ /** Custom color palette */
13
13
  colors?: {
14
14
  primary?: string;
15
15
  secondary?: string;
@@ -18,9 +18,13 @@ interface ChangerawrMarkdownPluginOptions {
18
18
  warning?: string;
19
19
  error?: string;
20
20
  success?: string;
21
+ muted?: string;
22
+ border?: string;
21
23
  };
22
24
  /** Whether to include extension styles (alerts, buttons, etc.) */
23
25
  includeExtensions?: boolean;
26
+ /** Custom class overrides */
27
+ customClasses?: Record<string, string>;
24
28
  }
25
29
  declare const changerawrMarkdownPlugin: node_modules_tailwindcss_dist_types_B254mqw1_d_mts.c<ChangerawrMarkdownPluginOptions>;
26
30
 
@@ -37,182 +37,291 @@ module.exports = __toCommonJS(index_exports);
37
37
 
38
38
  // src/tailwind/plugin.ts
39
39
  var import_plugin = __toESM(require("tailwindcss/plugin"));
40
+ var defaultColors = {
41
+ primary: "#3b82f6",
42
+ secondary: "#6b7280",
43
+ accent: "#8b5cf6",
44
+ info: "#3b82f6",
45
+ warning: "#f59e0b",
46
+ error: "#ef4444",
47
+ success: "#10b981",
48
+ muted: "#6b7280",
49
+ border: "#d1d5db"
50
+ };
40
51
  var changerawrMarkdownPlugin = import_plugin.default.withOptions(
41
52
  (options = {}) => ({ addUtilities, addComponents }) => {
42
53
  const {
43
54
  prefix = "",
44
55
  darkMode = true,
45
56
  colors = {},
46
- includeExtensions = true
57
+ includeExtensions = true,
58
+ customClasses = {}
47
59
  } = options;
60
+ const mergedColors = { ...defaultColors, ...colors };
48
61
  const prefixClass = (className) => prefix ? `${prefix}-${className}` : className;
49
62
  addUtilities({
50
- // Heading utilities
51
- [`.${prefixClass("text-3xl")}`]: {
63
+ // Essential typography classes for markdown
64
+ [`.${prefixClass("changerawr-text-3xl")}`]: {
52
65
  fontSize: "1.875rem",
53
66
  lineHeight: "2.25rem"
54
67
  },
55
- [`.${prefixClass("text-2xl")}`]: {
68
+ [`.${prefixClass("changerawr-text-2xl")}`]: {
56
69
  fontSize: "1.5rem",
57
70
  lineHeight: "2rem"
58
71
  },
59
- [`.${prefixClass("text-xl")}`]: {
72
+ [`.${prefixClass("changerawr-text-xl")}`]: {
60
73
  fontSize: "1.25rem",
61
74
  lineHeight: "1.75rem"
62
75
  },
63
- [`.${prefixClass("text-lg")}`]: {
76
+ [`.${prefixClass("changerawr-text-lg")}`]: {
64
77
  fontSize: "1.125rem",
65
78
  lineHeight: "1.75rem"
66
79
  },
67
- // Font weights
68
- [`.${prefixClass("font-bold")}`]: {
80
+ [`.${prefixClass("changerawr-font-bold")}`]: {
69
81
  fontWeight: "700"
70
82
  },
71
- [`.${prefixClass("font-semibold")}`]: {
83
+ [`.${prefixClass("changerawr-font-semibold")}`]: {
72
84
  fontWeight: "600"
73
85
  },
74
- [`.${prefixClass("font-medium")}`]: {
86
+ [`.${prefixClass("changerawr-font-medium")}`]: {
75
87
  fontWeight: "500"
76
88
  },
77
- // Spacing utilities commonly used in markdown
78
- [`.${prefixClass("mt-8")}`]: { marginTop: "2rem" },
79
- [`.${prefixClass("mt-6")}`]: { marginTop: "1.5rem" },
80
- [`.${prefixClass("mt-4")}`]: { marginTop: "1rem" },
81
- [`.${prefixClass("mb-8")}`]: { marginBottom: "2rem" },
82
- [`.${prefixClass("mb-6")}`]: { marginBottom: "1.5rem" },
83
- [`.${prefixClass("mb-4")}`]: { marginBottom: "1rem" },
84
- [`.${prefixClass("mb-2")}`]: { marginBottom: "0.5rem" },
89
+ [`.${prefixClass("changerawr-italic")}`]: {
90
+ fontStyle: "italic"
91
+ },
92
+ [`.${prefixClass("changerawr-underline")}`]: {
93
+ textDecoration: "underline"
94
+ },
95
+ [`.${prefixClass("changerawr-line-through")}`]: {
96
+ textDecoration: "line-through"
97
+ },
98
+ // Spacing utilities
99
+ [`.${prefixClass("changerawr-mt-8")}`]: { marginTop: "2rem" },
100
+ [`.${prefixClass("changerawr-mt-6")}`]: { marginTop: "1.5rem" },
101
+ [`.${prefixClass("changerawr-mt-5")}`]: { marginTop: "1.25rem" },
102
+ [`.${prefixClass("changerawr-mt-4")}`]: { marginTop: "1rem" },
103
+ [`.${prefixClass("changerawr-mt-3")}`]: { marginTop: "0.75rem" },
104
+ [`.${prefixClass("changerawr-mb-8")}`]: { marginBottom: "2rem" },
105
+ [`.${prefixClass("changerawr-mb-6")}`]: { marginBottom: "1.5rem" },
106
+ [`.${prefixClass("changerawr-mb-4")}`]: { marginBottom: "1rem" },
107
+ [`.${prefixClass("changerawr-mb-3")}`]: { marginBottom: "0.75rem" },
108
+ [`.${prefixClass("changerawr-mb-2")}`]: { marginBottom: "0.5rem" },
109
+ [`.${prefixClass("changerawr-my-6")}`]: { marginTop: "1.5rem", marginBottom: "1.5rem" },
110
+ [`.${prefixClass("changerawr-my-4")}`]: { marginTop: "1rem", marginBottom: "1rem" },
111
+ [`.${prefixClass("changerawr-my-2")}`]: { marginTop: "0.5rem", marginBottom: "0.5rem" },
112
+ // Padding utilities
113
+ [`.${prefixClass("changerawr-p-4")}`]: { padding: "1rem" },
114
+ [`.${prefixClass("changerawr-p-6")}`]: { padding: "1.5rem" },
115
+ [`.${prefixClass("changerawr-px-2")}`]: { paddingLeft: "0.5rem", paddingRight: "0.5rem" },
116
+ [`.${prefixClass("changerawr-px-3")}`]: { paddingLeft: "0.75rem", paddingRight: "0.75rem" },
117
+ [`.${prefixClass("changerawr-px-4")}`]: { paddingLeft: "1rem", paddingRight: "1rem" },
118
+ [`.${prefixClass("changerawr-px-6")}`]: { paddingLeft: "1.5rem", paddingRight: "1.5rem" },
119
+ [`.${prefixClass("changerawr-py-1")}`]: { paddingTop: "0.25rem", paddingBottom: "0.25rem" },
120
+ [`.${prefixClass("changerawr-py-2")}`]: { paddingTop: "0.5rem", paddingBottom: "0.5rem" },
121
+ [`.${prefixClass("changerawr-py-3")}`]: { paddingTop: "0.75rem", paddingBottom: "0.75rem" },
122
+ [`.${prefixClass("changerawr-pl-4")}`]: { paddingLeft: "1rem" },
123
+ [`.${prefixClass("changerawr-pl-6")}`]: { paddingLeft: "1.5rem" },
124
+ // Line height and leading
125
+ [`.${prefixClass("changerawr-leading-7")}`]: { lineHeight: "1.75rem" },
126
+ [`.${prefixClass("changerawr-leading-relaxed")}`]: { lineHeight: "1.625" },
127
+ [`.${prefixClass("changerawr-leading-loose")}`]: { lineHeight: "2" },
85
128
  // Layout utilities
86
- [`.${prefixClass("leading-7")}`]: { lineHeight: "1.75rem" },
87
- [`.${prefixClass("leading-relaxed")}`]: { lineHeight: "1.625" },
88
- // Border and padding for blockquotes/code
89
- [`.${prefixClass("pl-4")}`]: { paddingLeft: "1rem" },
90
- [`.${prefixClass("pl-6")}`]: { paddingLeft: "1.5rem" },
91
- [`.${prefixClass("py-2")}`]: { paddingTop: "0.5rem", paddingBottom: "0.5rem" },
92
- [`.${prefixClass("px-2")}`]: { paddingLeft: "0.5rem", paddingRight: "0.5rem" },
93
- [`.${prefixClass("px-4")}`]: { paddingLeft: "1rem", paddingRight: "1rem" },
94
- [`.${prefixClass("p-4")}`]: { padding: "1rem" },
95
- [`.${prefixClass("p-6")}`]: { padding: "1.5rem" },
129
+ [`.${prefixClass("changerawr-flex")}`]: { display: "flex" },
130
+ [`.${prefixClass("changerawr-inline-flex")}`]: { display: "inline-flex" },
131
+ [`.${prefixClass("changerawr-items-center")}`]: { alignItems: "center" },
132
+ [`.${prefixClass("changerawr-justify-center")}`]: { justifyContent: "center" },
133
+ [`.${prefixClass("changerawr-gap-1")}`]: { gap: "0.25rem" },
134
+ [`.${prefixClass("changerawr-gap-2")}`]: { gap: "0.5rem" },
135
+ [`.${prefixClass("changerawr-gap-3")}`]: { gap: "0.75rem" },
136
+ [`.${prefixClass("changerawr-group")}`]: {
137
+ /* group parent */
138
+ },
139
+ [`.${prefixClass("changerawr-relative")}`]: { position: "relative" },
96
140
  // Border utilities
97
- [`.${prefixClass("border-l-2")}`]: { borderLeftWidth: "2px" },
98
- [`.${prefixClass("border-l-4")}`]: { borderLeftWidth: "4px" },
99
- [`.${prefixClass("rounded")}`]: { borderRadius: "0.25rem" },
100
- [`.${prefixClass("rounded-lg")}`]: { borderRadius: "0.5rem" },
101
- // Background colors for code blocks
102
- [`.${prefixClass("bg-gray-50")}`]: { backgroundColor: "#f9fafb" },
103
- [`.${prefixClass("bg-gray-100")}`]: { backgroundColor: "#f3f4f6" },
104
- [`.${prefixClass("bg-gray-900")}`]: { backgroundColor: "#111827" },
141
+ [`.${prefixClass("changerawr-border")}`]: { borderWidth: "1px" },
142
+ [`.${prefixClass("changerawr-border-l-2")}`]: { borderLeftWidth: "2px" },
143
+ [`.${prefixClass("changerawr-border-l-4")}`]: { borderLeftWidth: "4px" },
144
+ [`.${prefixClass("changerawr-rounded")}`]: { borderRadius: "0.25rem" },
145
+ [`.${prefixClass("changerawr-rounded-lg")}`]: { borderRadius: "0.5rem" },
146
+ [`.${prefixClass("changerawr-rounded-md")}`]: { borderRadius: "0.375rem" },
147
+ // Background utilities
148
+ [`.${prefixClass("changerawr-bg-gray-50")}`]: { backgroundColor: "#f9fafb" },
149
+ [`.${prefixClass("changerawr-bg-gray-100")}`]: { backgroundColor: "#f3f4f6" },
150
+ [`.${prefixClass("changerawr-bg-gray-900")}`]: { backgroundColor: "#111827" },
151
+ [`.${prefixClass("changerawr-bg-white")}`]: { backgroundColor: "#ffffff" },
105
152
  // Text colors
106
- [`.${prefixClass("text-gray-100")}`]: { color: "#f3f4f6" },
107
- [`.${prefixClass("text-gray-700")}`]: { color: "#374151" },
108
- [`.${prefixClass("text-gray-800")}`]: { color: "#1f2937" },
153
+ [`.${prefixClass("changerawr-text-gray-100")}`]: { color: "#f3f4f6" },
154
+ [`.${prefixClass("changerawr-text-gray-600")}`]: { color: "#4b5563" },
155
+ [`.${prefixClass("changerawr-text-gray-700")}`]: { color: "#374151" },
156
+ [`.${prefixClass("changerawr-text-gray-800")}`]: { color: "#1f2937" },
157
+ [`.${prefixClass("changerawr-text-primary")}`]: { color: mergedColors.primary },
158
+ [`.${prefixClass("changerawr-text-muted-foreground")}`]: { color: mergedColors.muted },
159
+ // Border colors
160
+ [`.${prefixClass("changerawr-border-border")}`]: { borderColor: mergedColors.border },
109
161
  // Display utilities
110
- [`.${prefixClass("overflow-x-auto")}`]: { overflowX: "auto" },
111
- [`.${prefixClass("font-mono")}`]: { fontFamily: 'ui-monospace, SFMono-Regular, "SF Mono", Monaco, Consolas, "Liberation Mono", "Courier New", monospace' },
112
- [`.${prefixClass("italic")}`]: { fontStyle: "italic" },
113
- [`.${prefixClass("underline")}`]: { textDecoration: "underline" },
114
- // Flexbox utilities for headings with anchors
115
- [`.${prefixClass("group")}`]: {
116
- /* group parent class */
162
+ [`.${prefixClass("changerawr-overflow-x-auto")}`]: { overflowX: "auto" },
163
+ [`.${prefixClass("changerawr-max-w-full")}`]: { maxWidth: "100%" },
164
+ [`.${prefixClass("changerawr-h-auto")}`]: { height: "auto" },
165
+ [`.${prefixClass("changerawr-font-mono")}`]: {
166
+ fontFamily: 'ui-monospace, SFMono-Regular, "SF Mono", Monaco, Consolas, "Liberation Mono", "Courier New", monospace'
117
167
  },
118
- [`.${prefixClass("relative")}`]: { position: "relative" },
119
- [`.${prefixClass("flex")}`]: { display: "flex" },
120
- [`.${prefixClass("items-center")}`]: { alignItems: "center" },
121
- [`.${prefixClass("gap-2")}`]: { gap: "0.5rem" },
122
- [`.${prefixClass("opacity-0")}`]: { opacity: "0" },
123
- [`.${prefixClass("transition-opacity")}`]: {
168
+ // Opacity and transitions
169
+ [`.${prefixClass("changerawr-opacity-0")}`]: { opacity: "0" },
170
+ [`.${prefixClass("changerawr-transition-opacity")}`]: {
124
171
  transitionProperty: "opacity",
125
172
  transitionTimingFunction: "cubic-bezier(0.4, 0, 0.2, 1)",
126
173
  transitionDuration: "150ms"
127
174
  },
128
- // Group hover states
129
- [`.group:hover .${prefixClass("group-hover:opacity-100")}`]: { opacity: "1" }
175
+ [`.${prefixClass("changerawr-transition-colors")}`]: {
176
+ transitionProperty: "color, background-color, border-color, text-decoration-color, fill, stroke",
177
+ transitionTimingFunction: "cubic-bezier(0.4, 0, 0.2, 1)",
178
+ transitionDuration: "150ms"
179
+ },
180
+ // Hover states
181
+ [`.${prefixClass("changerawr-hover\\:underline")}:hover`]: { textDecoration: "underline" },
182
+ [`.group:hover .${prefixClass("changerawr-group-hover\\:opacity-100")}`]: { opacity: "1" },
183
+ // Shadow utilities
184
+ [`.${prefixClass("changerawr-shadow-sm")}`]: {
185
+ boxShadow: "0 1px 2px 0 rgb(0 0 0 / 0.05)"
186
+ },
187
+ // Custom markdown classes with overrides
188
+ ...Object.fromEntries(
189
+ Object.entries(customClasses).map(([key, value]) => [
190
+ `.${prefixClass(`changerawr-${key}`)}`,
191
+ typeof value === "string" ? { className: value } : value
192
+ ])
193
+ )
130
194
  });
131
195
  if (includeExtensions) {
132
196
  addComponents({
133
- // Alert components
197
+ // Alert base styles
134
198
  [`.${prefixClass("changerawr-alert")}`]: {
199
+ borderLeftWidth: "4px",
135
200
  padding: "1rem",
136
- borderRadius: "0.5rem",
137
- border: "1px solid",
138
201
  marginBottom: "1rem",
139
- '&[role="alert"]': {
140
- position: "relative"
141
- }
202
+ borderRadius: "0.375rem",
203
+ transitionProperty: "color, background-color, border-color",
204
+ transitionTimingFunction: "cubic-bezier(0.4, 0, 0.2, 1)",
205
+ transitionDuration: "200ms"
142
206
  },
143
- // Alert variants
207
+ // Alert variants using opacity for compatibility
144
208
  [`.${prefixClass("changerawr-alert-info")}`]: {
145
- backgroundColor: colors.info ? `${colors.info}10` : "rgb(59 130 246 / 0.1)",
146
- borderColor: colors.info ? `${colors.info}30` : "rgb(59 130 246 / 0.3)",
147
- color: colors.info || "#1e40af"
209
+ backgroundColor: `color-mix(in srgb, ${mergedColors.info} 10%, transparent)`,
210
+ borderColor: `color-mix(in srgb, ${mergedColors.info} 30%, transparent)`,
211
+ color: mergedColors.info
148
212
  },
149
213
  [`.${prefixClass("changerawr-alert-warning")}`]: {
150
- backgroundColor: colors.warning ? `${colors.warning}10` : "rgb(245 158 11 / 0.1)",
151
- borderColor: colors.warning ? `${colors.warning}30` : "rgb(245 158 11 / 0.3)",
152
- color: colors.warning || "#92400e"
214
+ backgroundColor: `color-mix(in srgb, ${mergedColors.warning} 10%, transparent)`,
215
+ borderColor: `color-mix(in srgb, ${mergedColors.warning} 30%, transparent)`,
216
+ color: mergedColors.warning
153
217
  },
154
218
  [`.${prefixClass("changerawr-alert-error")}`]: {
155
- backgroundColor: colors.error ? `${colors.error}10` : "rgb(239 68 68 / 0.1)",
156
- borderColor: colors.error ? `${colors.error}30` : "rgb(239 68 68 / 0.3)",
157
- color: colors.error || "#dc2626"
219
+ backgroundColor: `color-mix(in srgb, ${mergedColors.error} 10%, transparent)`,
220
+ borderColor: `color-mix(in srgb, ${mergedColors.error} 30%, transparent)`,
221
+ color: mergedColors.error
158
222
  },
159
223
  [`.${prefixClass("changerawr-alert-success")}`]: {
160
- backgroundColor: colors.success ? `${colors.success}10` : "rgb(34 197 94 / 0.1)",
161
- borderColor: colors.success ? `${colors.success}30` : "rgb(34 197 94 / 0.3)",
162
- color: colors.success || "#16a34a"
224
+ backgroundColor: `color-mix(in srgb, ${mergedColors.success} 10%, transparent)`,
225
+ borderColor: `color-mix(in srgb, ${mergedColors.success} 30%, transparent)`,
226
+ color: mergedColors.success
163
227
  },
164
- // Button components
228
+ // Button base styles
165
229
  [`.${prefixClass("changerawr-button")}`]: {
166
230
  display: "inline-flex",
167
231
  alignItems: "center",
168
232
  justifyContent: "center",
169
- borderRadius: "0.375rem",
170
- fontSize: "0.875rem",
233
+ borderRadius: "0.5rem",
171
234
  fontWeight: "500",
172
- transition: "all 150ms cubic-bezier(0.4, 0, 0.2, 1)",
235
+ transitionProperty: "all",
236
+ transitionTimingFunction: "cubic-bezier(0.4, 0, 0.2, 1)",
237
+ transitionDuration: "150ms",
173
238
  border: "1px solid transparent",
174
239
  cursor: "pointer",
175
240
  textDecoration: "none",
176
- "&:hover": {
177
- transform: "translateY(-1px)",
178
- boxShadow: "0 4px 6px -1px rgb(0 0 0 / 0.1)"
241
+ "&:focus": {
242
+ outline: "none",
243
+ ringWidth: "2px",
244
+ ringOffsetWidth: "2px"
245
+ },
246
+ "&:disabled": {
247
+ opacity: "0.5",
248
+ cursor: "not-allowed"
179
249
  }
180
250
  },
251
+ // Button variants
181
252
  [`.${prefixClass("changerawr-button-primary")}`]: {
182
- backgroundColor: colors.primary || "#3b82f6",
253
+ backgroundColor: mergedColors.primary,
183
254
  color: "#ffffff",
184
- "&:hover": {
185
- backgroundColor: colors.primary ? `${colors.primary}dd` : "#2563eb"
255
+ "&:hover:not(:disabled)": {
256
+ backgroundColor: `color-mix(in srgb, ${mergedColors.primary} 90%, black)`
257
+ },
258
+ "&:focus": {
259
+ ringColor: `color-mix(in srgb, ${mergedColors.primary} 50%, transparent)`
186
260
  }
187
261
  },
188
262
  [`.${prefixClass("changerawr-button-secondary")}`]: {
189
- backgroundColor: "#f3f4f6",
190
- color: "#374151",
191
- "&:hover": {
192
- backgroundColor: "#e5e7eb"
263
+ backgroundColor: mergedColors.secondary,
264
+ color: "#ffffff",
265
+ "&:hover:not(:disabled)": {
266
+ backgroundColor: `color-mix(in srgb, ${mergedColors.secondary} 90%, black)`
267
+ },
268
+ "&:focus": {
269
+ ringColor: `color-mix(in srgb, ${mergedColors.secondary} 50%, transparent)`
270
+ }
271
+ },
272
+ [`.${prefixClass("changerawr-button-outline")}`]: {
273
+ borderColor: mergedColors.primary,
274
+ color: mergedColors.primary,
275
+ "&:hover:not(:disabled)": {
276
+ backgroundColor: `color-mix(in srgb, ${mergedColors.primary} 5%, transparent)`
277
+ }
278
+ },
279
+ [`.${prefixClass("changerawr-button-ghost")}`]: {
280
+ color: mergedColors.secondary,
281
+ "&:hover:not(:disabled)": {
282
+ backgroundColor: `color-mix(in srgb, ${mergedColors.secondary} 10%, transparent)`
193
283
  }
194
284
  },
195
285
  // Button sizes
196
286
  [`.${prefixClass("changerawr-button-sm")}`]: {
197
- padding: "0.5rem 0.75rem",
198
- fontSize: "0.75rem"
287
+ paddingLeft: "0.75rem",
288
+ paddingRight: "0.75rem",
289
+ paddingTop: "0.375rem",
290
+ paddingBottom: "0.375rem",
291
+ fontSize: "0.875rem"
199
292
  },
200
293
  [`.${prefixClass("changerawr-button-md")}`]: {
201
- padding: "0.5rem 1rem",
294
+ paddingLeft: "1rem",
295
+ paddingRight: "1rem",
296
+ paddingTop: "0.5rem",
297
+ paddingBottom: "0.5rem",
202
298
  fontSize: "0.875rem"
203
299
  },
204
300
  [`.${prefixClass("changerawr-button-lg")}`]: {
205
- padding: "0.75rem 1.5rem",
301
+ paddingLeft: "1.5rem",
302
+ paddingRight: "1.5rem",
303
+ paddingTop: "0.75rem",
304
+ paddingBottom: "0.75rem",
206
305
  fontSize: "1rem"
306
+ },
307
+ // Embed styles
308
+ [`.${prefixClass("changerawr-embed")}`]: {
309
+ borderRadius: "0.5rem",
310
+ border: "1px solid",
311
+ borderColor: mergedColors.border,
312
+ backgroundColor: "#ffffff",
313
+ boxShadow: "0 1px 2px 0 rgb(0 0 0 / 0.05)",
314
+ marginBottom: "1.5rem",
315
+ overflow: "hidden"
207
316
  }
208
317
  });
209
318
  }
210
319
  if (darkMode) {
211
320
  addUtilities({
212
- [`.dark .${prefixClass("dark:bg-gray-800")}`]: { backgroundColor: "#1f2937" },
213
- [`.dark .${prefixClass("dark:text-gray-100")}`]: { color: "#f3f4f6" },
214
- [`.dark .${prefixClass("dark:text-gray-300")}`]: { color: "#d1d5db" },
215
- [`.dark .${prefixClass("dark:border-gray-600")}`]: { borderColor: "#4b5563" }
321
+ [`.dark .${prefixClass("changerawr-dark\\:bg-gray-800")}`]: { backgroundColor: "#1f2937" },
322
+ [`.dark .${prefixClass("changerawr-dark\\:text-gray-100")}`]: { color: "#f3f4f6" },
323
+ [`.dark .${prefixClass("changerawr-dark\\:text-gray-300")}`]: { color: "#d1d5db" },
324
+ [`.dark .${prefixClass("changerawr-dark\\:border-gray-600")}`]: { borderColor: "#4b5563" }
216
325
  });
217
326
  }
218
327
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tailwind/index.ts","../../src/tailwind/plugin.ts"],"sourcesContent":["/**\r\n * Tailwind CSS plugin exports for @changerawr/markdown\r\n */\r\n\r\n// Export the main plugin and its types\r\nexport {\r\n changerawrMarkdownPlugin,\r\n type ChangerawrMarkdownPluginOptions\r\n} from './plugin';\r\n\r\n// Default export for convenience\r\nexport { changerawrMarkdownPlugin as default } from './plugin';","/**\r\n * Tailwind CSS plugin for @changerawr/markdown\r\n * Ensures all necessary classes are available for markdown rendering\r\n */\r\n\r\nimport plugin from 'tailwindcss/plugin';\r\n\r\nexport interface ChangerawrMarkdownPluginOptions {\r\n /** Prefix for all markdown classes (default: none) */\r\n prefix?: string;\r\n /** Whether to include dark mode variants (default: true) */\r\n darkMode?: boolean;\r\n /** Custom color scheme */\r\n colors?: {\r\n primary?: string;\r\n secondary?: string;\r\n accent?: string;\r\n info?: string;\r\n warning?: string;\r\n error?: string;\r\n success?: string;\r\n };\r\n /** Whether to include extension styles (alerts, buttons, etc.) */\r\n includeExtensions?: boolean;\r\n}\r\n\r\nexport const changerawrMarkdownPlugin = plugin.withOptions<ChangerawrMarkdownPluginOptions>(\r\n (options = {}) =>\r\n ({ addUtilities, addComponents }) => {\r\n const {\r\n prefix = '',\r\n darkMode = true,\r\n colors = {},\r\n includeExtensions = true\r\n } = options;\r\n\r\n const prefixClass = (className: string) => prefix ? `${prefix}-${className}` : className;\r\n\r\n // Base typography utilities that might be missing\r\n addUtilities({\r\n // Heading utilities\r\n [`.${prefixClass('text-3xl')}`]: {\r\n fontSize: '1.875rem',\r\n lineHeight: '2.25rem'\r\n },\r\n [`.${prefixClass('text-2xl')}`]: {\r\n fontSize: '1.5rem',\r\n lineHeight: '2rem'\r\n },\r\n [`.${prefixClass('text-xl')}`]: {\r\n fontSize: '1.25rem',\r\n lineHeight: '1.75rem'\r\n },\r\n [`.${prefixClass('text-lg')}`]: {\r\n fontSize: '1.125rem',\r\n lineHeight: '1.75rem'\r\n },\r\n\r\n // Font weights\r\n [`.${prefixClass('font-bold')}`]: {\r\n fontWeight: '700'\r\n },\r\n [`.${prefixClass('font-semibold')}`]: {\r\n fontWeight: '600'\r\n },\r\n [`.${prefixClass('font-medium')}`]: {\r\n fontWeight: '500'\r\n },\r\n\r\n // Spacing utilities commonly used in markdown\r\n [`.${prefixClass('mt-8')}`]: { marginTop: '2rem' },\r\n [`.${prefixClass('mt-6')}`]: { marginTop: '1.5rem' },\r\n [`.${prefixClass('mt-4')}`]: { marginTop: '1rem' },\r\n [`.${prefixClass('mb-8')}`]: { marginBottom: '2rem' },\r\n [`.${prefixClass('mb-6')}`]: { marginBottom: '1.5rem' },\r\n [`.${prefixClass('mb-4')}`]: { marginBottom: '1rem' },\r\n [`.${prefixClass('mb-2')}`]: { marginBottom: '0.5rem' },\r\n\r\n // Layout utilities\r\n [`.${prefixClass('leading-7')}`]: { lineHeight: '1.75rem' },\r\n [`.${prefixClass('leading-relaxed')}`]: { lineHeight: '1.625' },\r\n\r\n // Border and padding for blockquotes/code\r\n [`.${prefixClass('pl-4')}`]: { paddingLeft: '1rem' },\r\n [`.${prefixClass('pl-6')}`]: { paddingLeft: '1.5rem' },\r\n [`.${prefixClass('py-2')}`]: { paddingTop: '0.5rem', paddingBottom: '0.5rem' },\r\n [`.${prefixClass('px-2')}`]: { paddingLeft: '0.5rem', paddingRight: '0.5rem' },\r\n [`.${prefixClass('px-4')}`]: { paddingLeft: '1rem', paddingRight: '1rem' },\r\n [`.${prefixClass('p-4')}`]: { padding: '1rem' },\r\n [`.${prefixClass('p-6')}`]: { padding: '1.5rem' },\r\n\r\n // Border utilities\r\n [`.${prefixClass('border-l-2')}`]: { borderLeftWidth: '2px' },\r\n [`.${prefixClass('border-l-4')}`]: { borderLeftWidth: '4px' },\r\n [`.${prefixClass('rounded')}`]: { borderRadius: '0.25rem' },\r\n [`.${prefixClass('rounded-lg')}`]: { borderRadius: '0.5rem' },\r\n\r\n // Background colors for code blocks\r\n [`.${prefixClass('bg-gray-50')}`]: { backgroundColor: '#f9fafb' },\r\n [`.${prefixClass('bg-gray-100')}`]: { backgroundColor: '#f3f4f6' },\r\n [`.${prefixClass('bg-gray-900')}`]: { backgroundColor: '#111827' },\r\n\r\n // Text colors\r\n [`.${prefixClass('text-gray-100')}`]: { color: '#f3f4f6' },\r\n [`.${prefixClass('text-gray-700')}`]: { color: '#374151' },\r\n [`.${prefixClass('text-gray-800')}`]: { color: '#1f2937' },\r\n\r\n // Display utilities\r\n [`.${prefixClass('overflow-x-auto')}`]: { overflowX: 'auto' },\r\n [`.${prefixClass('font-mono')}`]: { fontFamily: 'ui-monospace, SFMono-Regular, \"SF Mono\", Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace' },\r\n [`.${prefixClass('italic')}`]: { fontStyle: 'italic' },\r\n [`.${prefixClass('underline')}`]: { textDecoration: 'underline' },\r\n\r\n // Flexbox utilities for headings with anchors\r\n [`.${prefixClass('group')}`]: { /* group parent class */ },\r\n [`.${prefixClass('relative')}`]: { position: 'relative' },\r\n [`.${prefixClass('flex')}`]: { display: 'flex' },\r\n [`.${prefixClass('items-center')}`]: { alignItems: 'center' },\r\n [`.${prefixClass('gap-2')}`]: { gap: '0.5rem' },\r\n [`.${prefixClass('opacity-0')}`]: { opacity: '0' },\r\n [`.${prefixClass('transition-opacity')}`]: {\r\n transitionProperty: 'opacity',\r\n transitionTimingFunction: 'cubic-bezier(0.4, 0, 0.2, 1)',\r\n transitionDuration: '150ms'\r\n },\r\n\r\n // Group hover states\r\n [`.group:hover .${prefixClass('group-hover:opacity-100')}`]: { opacity: '1' }\r\n });\r\n\r\n // Extension-specific components\r\n if (includeExtensions) {\r\n addComponents({\r\n // Alert components\r\n [`.${prefixClass('changerawr-alert')}`]: {\r\n padding: '1rem',\r\n borderRadius: '0.5rem',\r\n border: '1px solid',\r\n marginBottom: '1rem',\r\n\r\n '&[role=\"alert\"]': {\r\n position: 'relative'\r\n }\r\n },\r\n\r\n // Alert variants\r\n [`.${prefixClass('changerawr-alert-info')}`]: {\r\n backgroundColor: colors.info ? `${colors.info}10` : 'rgb(59 130 246 / 0.1)',\r\n borderColor: colors.info ? `${colors.info}30` : 'rgb(59 130 246 / 0.3)',\r\n color: colors.info || '#1e40af'\r\n },\r\n\r\n [`.${prefixClass('changerawr-alert-warning')}`]: {\r\n backgroundColor: colors.warning ? `${colors.warning}10` : 'rgb(245 158 11 / 0.1)',\r\n borderColor: colors.warning ? `${colors.warning}30` : 'rgb(245 158 11 / 0.3)',\r\n color: colors.warning || '#92400e'\r\n },\r\n\r\n [`.${prefixClass('changerawr-alert-error')}`]: {\r\n backgroundColor: colors.error ? `${colors.error}10` : 'rgb(239 68 68 / 0.1)',\r\n borderColor: colors.error ? `${colors.error}30` : 'rgb(239 68 68 / 0.3)',\r\n color: colors.error || '#dc2626'\r\n },\r\n\r\n [`.${prefixClass('changerawr-alert-success')}`]: {\r\n backgroundColor: colors.success ? `${colors.success}10` : 'rgb(34 197 94 / 0.1)',\r\n borderColor: colors.success ? `${colors.success}30` : 'rgb(34 197 94 / 0.3)',\r\n color: colors.success || '#16a34a'\r\n },\r\n\r\n // Button components\r\n [`.${prefixClass('changerawr-button')}`]: {\r\n display: 'inline-flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n borderRadius: '0.375rem',\r\n fontSize: '0.875rem',\r\n fontWeight: '500',\r\n transition: 'all 150ms cubic-bezier(0.4, 0, 0.2, 1)',\r\n border: '1px solid transparent',\r\n cursor: 'pointer',\r\n textDecoration: 'none',\r\n\r\n '&:hover': {\r\n transform: 'translateY(-1px)',\r\n boxShadow: '0 4px 6px -1px rgb(0 0 0 / 0.1)'\r\n }\r\n },\r\n\r\n [`.${prefixClass('changerawr-button-primary')}`]: {\r\n backgroundColor: colors.primary || '#3b82f6',\r\n color: '#ffffff',\r\n\r\n '&:hover': {\r\n backgroundColor: colors.primary ? `${colors.primary}dd` : '#2563eb'\r\n }\r\n },\r\n\r\n [`.${prefixClass('changerawr-button-secondary')}`]: {\r\n backgroundColor: '#f3f4f6',\r\n color: '#374151',\r\n\r\n '&:hover': {\r\n backgroundColor: '#e5e7eb'\r\n }\r\n },\r\n\r\n // Button sizes\r\n [`.${prefixClass('changerawr-button-sm')}`]: {\r\n padding: '0.5rem 0.75rem',\r\n fontSize: '0.75rem'\r\n },\r\n\r\n [`.${prefixClass('changerawr-button-md')}`]: {\r\n padding: '0.5rem 1rem',\r\n fontSize: '0.875rem'\r\n },\r\n\r\n [`.${prefixClass('changerawr-button-lg')}`]: {\r\n padding: '0.75rem 1.5rem',\r\n fontSize: '1rem'\r\n }\r\n });\r\n }\r\n\r\n // Dark mode variants\r\n if (darkMode) {\r\n addUtilities({\r\n [`.dark .${prefixClass('dark:bg-gray-800')}`]: { backgroundColor: '#1f2937' },\r\n [`.dark .${prefixClass('dark:text-gray-100')}`]: { color: '#f3f4f6' },\r\n [`.dark .${prefixClass('dark:text-gray-300')}`]: { color: '#d1d5db' },\r\n [`.dark .${prefixClass('dark:border-gray-600')}`]: { borderColor: '#4b5563' }\r\n });\r\n }\r\n }\r\n);\r\n\r\n// Default export for easier importing\r\nexport default changerawrMarkdownPlugin;"],"mappings":"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","names":["plugin"]}
1
+ {"version":3,"sources":["../../src/tailwind/index.ts","../../src/tailwind/plugin.ts"],"sourcesContent":["/**\r\n * Tailwind CSS plugin exports for @changerawr/markdown\r\n */\r\n\r\n// Export the main plugin and its types\r\nexport {\r\n changerawrMarkdownPlugin,\r\n type ChangerawrMarkdownPluginOptions\r\n} from './plugin';\r\n\r\n// Default export for convenience\r\nexport { changerawrMarkdownPlugin as default } from './plugin';","/**\r\n * Tailwind CSS plugin for @changerawr/markdown\r\n * Compatible with both Tailwind v3 and v4\r\n */\r\n\r\nimport plugin from 'tailwindcss/plugin';\r\n\r\nexport interface ChangerawrMarkdownPluginOptions {\r\n /** Prefix for all markdown classes (default: none) */\r\n prefix?: string;\r\n /** Whether to include dark mode variants (default: true) */\r\n darkMode?: boolean;\r\n /** Custom color palette */\r\n colors?: {\r\n primary?: string;\r\n secondary?: string;\r\n accent?: string;\r\n info?: string;\r\n warning?: string;\r\n error?: string;\r\n success?: string;\r\n muted?: string;\r\n border?: string;\r\n };\r\n /** Whether to include extension styles (alerts, buttons, etc.) */\r\n includeExtensions?: boolean;\r\n /** Custom class overrides */\r\n customClasses?: Record<string, string>;\r\n}\r\n\r\nconst defaultColors = {\r\n primary: '#3b82f6',\r\n secondary: '#6b7280',\r\n accent: '#8b5cf6',\r\n info: '#3b82f6',\r\n warning: '#f59e0b',\r\n error: '#ef4444',\r\n success: '#10b981',\r\n muted: '#6b7280',\r\n border: '#d1d5db',\r\n};\r\n\r\nexport const changerawrMarkdownPlugin = plugin.withOptions<ChangerawrMarkdownPluginOptions>(\r\n (options = {}) =>\r\n ({ addUtilities, addComponents }) => {\r\n const {\r\n prefix = '',\r\n darkMode = true,\r\n colors = {},\r\n includeExtensions = true,\r\n customClasses = {},\r\n } = options;\r\n\r\n const mergedColors = { ...defaultColors, ...colors };\r\n const prefixClass = (className: string) => (prefix ? `${prefix}-${className}` : className);\r\n\r\n // Base typography utilities\r\n addUtilities({\r\n // Essential typography classes for markdown\r\n [`.${prefixClass('changerawr-text-3xl')}`]: {\r\n fontSize: '1.875rem',\r\n lineHeight: '2.25rem',\r\n },\r\n [`.${prefixClass('changerawr-text-2xl')}`]: {\r\n fontSize: '1.5rem',\r\n lineHeight: '2rem',\r\n },\r\n [`.${prefixClass('changerawr-text-xl')}`]: {\r\n fontSize: '1.25rem',\r\n lineHeight: '1.75rem',\r\n },\r\n [`.${prefixClass('changerawr-text-lg')}`]: {\r\n fontSize: '1.125rem',\r\n lineHeight: '1.75rem',\r\n },\r\n [`.${prefixClass('changerawr-font-bold')}`]: {\r\n fontWeight: '700',\r\n },\r\n [`.${prefixClass('changerawr-font-semibold')}`]: {\r\n fontWeight: '600',\r\n },\r\n [`.${prefixClass('changerawr-font-medium')}`]: {\r\n fontWeight: '500',\r\n },\r\n [`.${prefixClass('changerawr-italic')}`]: {\r\n fontStyle: 'italic',\r\n },\r\n [`.${prefixClass('changerawr-underline')}`]: {\r\n textDecoration: 'underline',\r\n },\r\n [`.${prefixClass('changerawr-line-through')}`]: {\r\n textDecoration: 'line-through',\r\n },\r\n\r\n // Spacing utilities\r\n [`.${prefixClass('changerawr-mt-8')}`]: { marginTop: '2rem' },\r\n [`.${prefixClass('changerawr-mt-6')}`]: { marginTop: '1.5rem' },\r\n [`.${prefixClass('changerawr-mt-5')}`]: { marginTop: '1.25rem' },\r\n [`.${prefixClass('changerawr-mt-4')}`]: { marginTop: '1rem' },\r\n [`.${prefixClass('changerawr-mt-3')}`]: { marginTop: '0.75rem' },\r\n [`.${prefixClass('changerawr-mb-8')}`]: { marginBottom: '2rem' },\r\n [`.${prefixClass('changerawr-mb-6')}`]: { marginBottom: '1.5rem' },\r\n [`.${prefixClass('changerawr-mb-4')}`]: { marginBottom: '1rem' },\r\n [`.${prefixClass('changerawr-mb-3')}`]: { marginBottom: '0.75rem' },\r\n [`.${prefixClass('changerawr-mb-2')}`]: { marginBottom: '0.5rem' },\r\n [`.${prefixClass('changerawr-my-6')}`]: { marginTop: '1.5rem', marginBottom: '1.5rem' },\r\n [`.${prefixClass('changerawr-my-4')}`]: { marginTop: '1rem', marginBottom: '1rem' },\r\n [`.${prefixClass('changerawr-my-2')}`]: { marginTop: '0.5rem', marginBottom: '0.5rem' },\r\n\r\n // Padding utilities\r\n [`.${prefixClass('changerawr-p-4')}`]: { padding: '1rem' },\r\n [`.${prefixClass('changerawr-p-6')}`]: { padding: '1.5rem' },\r\n [`.${prefixClass('changerawr-px-2')}`]: { paddingLeft: '0.5rem', paddingRight: '0.5rem' },\r\n [`.${prefixClass('changerawr-px-3')}`]: { paddingLeft: '0.75rem', paddingRight: '0.75rem' },\r\n [`.${prefixClass('changerawr-px-4')}`]: { paddingLeft: '1rem', paddingRight: '1rem' },\r\n [`.${prefixClass('changerawr-px-6')}`]: { paddingLeft: '1.5rem', paddingRight: '1.5rem' },\r\n [`.${prefixClass('changerawr-py-1')}`]: { paddingTop: '0.25rem', paddingBottom: '0.25rem' },\r\n [`.${prefixClass('changerawr-py-2')}`]: { paddingTop: '0.5rem', paddingBottom: '0.5rem' },\r\n [`.${prefixClass('changerawr-py-3')}`]: { paddingTop: '0.75rem', paddingBottom: '0.75rem' },\r\n [`.${prefixClass('changerawr-pl-4')}`]: { paddingLeft: '1rem' },\r\n [`.${prefixClass('changerawr-pl-6')}`]: { paddingLeft: '1.5rem' },\r\n\r\n // Line height and leading\r\n [`.${prefixClass('changerawr-leading-7')}`]: { lineHeight: '1.75rem' },\r\n [`.${prefixClass('changerawr-leading-relaxed')}`]: { lineHeight: '1.625' },\r\n [`.${prefixClass('changerawr-leading-loose')}`]: { lineHeight: '2' },\r\n\r\n // Layout utilities\r\n [`.${prefixClass('changerawr-flex')}`]: { display: 'flex' },\r\n [`.${prefixClass('changerawr-inline-flex')}`]: { display: 'inline-flex' },\r\n [`.${prefixClass('changerawr-items-center')}`]: { alignItems: 'center' },\r\n [`.${prefixClass('changerawr-justify-center')}`]: { justifyContent: 'center' },\r\n [`.${prefixClass('changerawr-gap-1')}`]: { gap: '0.25rem' },\r\n [`.${prefixClass('changerawr-gap-2')}`]: { gap: '0.5rem' },\r\n [`.${prefixClass('changerawr-gap-3')}`]: { gap: '0.75rem' },\r\n [`.${prefixClass('changerawr-group')}`]: { /* group parent */ },\r\n [`.${prefixClass('changerawr-relative')}`]: { position: 'relative' },\r\n\r\n // Border utilities\r\n [`.${prefixClass('changerawr-border')}`]: { borderWidth: '1px' },\r\n [`.${prefixClass('changerawr-border-l-2')}`]: { borderLeftWidth: '2px' },\r\n [`.${prefixClass('changerawr-border-l-4')}`]: { borderLeftWidth: '4px' },\r\n [`.${prefixClass('changerawr-rounded')}`]: { borderRadius: '0.25rem' },\r\n [`.${prefixClass('changerawr-rounded-lg')}`]: { borderRadius: '0.5rem' },\r\n [`.${prefixClass('changerawr-rounded-md')}`]: { borderRadius: '0.375rem' },\r\n\r\n // Background utilities\r\n [`.${prefixClass('changerawr-bg-gray-50')}`]: { backgroundColor: '#f9fafb' },\r\n [`.${prefixClass('changerawr-bg-gray-100')}`]: { backgroundColor: '#f3f4f6' },\r\n [`.${prefixClass('changerawr-bg-gray-900')}`]: { backgroundColor: '#111827' },\r\n [`.${prefixClass('changerawr-bg-white')}`]: { backgroundColor: '#ffffff' },\r\n\r\n // Text colors\r\n [`.${prefixClass('changerawr-text-gray-100')}`]: { color: '#f3f4f6' },\r\n [`.${prefixClass('changerawr-text-gray-600')}`]: { color: '#4b5563' },\r\n [`.${prefixClass('changerawr-text-gray-700')}`]: { color: '#374151' },\r\n [`.${prefixClass('changerawr-text-gray-800')}`]: { color: '#1f2937' },\r\n [`.${prefixClass('changerawr-text-primary')}`]: { color: mergedColors.primary },\r\n [`.${prefixClass('changerawr-text-muted-foreground')}`]: { color: mergedColors.muted },\r\n\r\n // Border colors\r\n [`.${prefixClass('changerawr-border-border')}`]: { borderColor: mergedColors.border },\r\n\r\n // Display utilities\r\n [`.${prefixClass('changerawr-overflow-x-auto')}`]: { overflowX: 'auto' },\r\n [`.${prefixClass('changerawr-max-w-full')}`]: { maxWidth: '100%' },\r\n [`.${prefixClass('changerawr-h-auto')}`]: { height: 'auto' },\r\n [`.${prefixClass('changerawr-font-mono')}`]: {\r\n fontFamily: 'ui-monospace, SFMono-Regular, \"SF Mono\", Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace',\r\n },\r\n\r\n // Opacity and transitions\r\n [`.${prefixClass('changerawr-opacity-0')}`]: { opacity: '0' },\r\n [`.${prefixClass('changerawr-transition-opacity')}`]: {\r\n transitionProperty: 'opacity',\r\n transitionTimingFunction: 'cubic-bezier(0.4, 0, 0.2, 1)',\r\n transitionDuration: '150ms',\r\n },\r\n [`.${prefixClass('changerawr-transition-colors')}`]: {\r\n transitionProperty: 'color, background-color, border-color, text-decoration-color, fill, stroke',\r\n transitionTimingFunction: 'cubic-bezier(0.4, 0, 0.2, 1)',\r\n transitionDuration: '150ms',\r\n },\r\n\r\n // Hover states\r\n [`.${prefixClass('changerawr-hover\\\\:underline')}:hover`]: { textDecoration: 'underline' },\r\n [`.group:hover .${prefixClass('changerawr-group-hover\\\\:opacity-100')}`]: { opacity: '1' },\r\n\r\n // Shadow utilities\r\n [`.${prefixClass('changerawr-shadow-sm')}`]: {\r\n boxShadow: '0 1px 2px 0 rgb(0 0 0 / 0.05)',\r\n },\r\n\r\n // Custom markdown classes with overrides\r\n ...Object.fromEntries(\r\n Object.entries(customClasses).map(([key, value]) => [\r\n `.${prefixClass(`changerawr-${key}`)}`,\r\n typeof value === 'string' ? { className: value } : value,\r\n ])\r\n ),\r\n });\r\n\r\n // Extension components\r\n if (includeExtensions) {\r\n addComponents({\r\n // Alert base styles\r\n [`.${prefixClass('changerawr-alert')}`]: {\r\n borderLeftWidth: '4px',\r\n padding: '1rem',\r\n marginBottom: '1rem',\r\n borderRadius: '0.375rem',\r\n transitionProperty: 'color, background-color, border-color',\r\n transitionTimingFunction: 'cubic-bezier(0.4, 0, 0.2, 1)',\r\n transitionDuration: '200ms',\r\n },\r\n\r\n // Alert variants using opacity for compatibility\r\n [`.${prefixClass('changerawr-alert-info')}`]: {\r\n backgroundColor: `color-mix(in srgb, ${mergedColors.info} 10%, transparent)`,\r\n borderColor: `color-mix(in srgb, ${mergedColors.info} 30%, transparent)`,\r\n color: mergedColors.info,\r\n },\r\n\r\n [`.${prefixClass('changerawr-alert-warning')}`]: {\r\n backgroundColor: `color-mix(in srgb, ${mergedColors.warning} 10%, transparent)`,\r\n borderColor: `color-mix(in srgb, ${mergedColors.warning} 30%, transparent)`,\r\n color: mergedColors.warning,\r\n },\r\n\r\n [`.${prefixClass('changerawr-alert-error')}`]: {\r\n backgroundColor: `color-mix(in srgb, ${mergedColors.error} 10%, transparent)`,\r\n borderColor: `color-mix(in srgb, ${mergedColors.error} 30%, transparent)`,\r\n color: mergedColors.error,\r\n },\r\n\r\n [`.${prefixClass('changerawr-alert-success')}`]: {\r\n backgroundColor: `color-mix(in srgb, ${mergedColors.success} 10%, transparent)`,\r\n borderColor: `color-mix(in srgb, ${mergedColors.success} 30%, transparent)`,\r\n color: mergedColors.success,\r\n },\r\n\r\n // Button base styles\r\n [`.${prefixClass('changerawr-button')}`]: {\r\n display: 'inline-flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n borderRadius: '0.5rem',\r\n fontWeight: '500',\r\n transitionProperty: 'all',\r\n transitionTimingFunction: 'cubic-bezier(0.4, 0, 0.2, 1)',\r\n transitionDuration: '150ms',\r\n border: '1px solid transparent',\r\n cursor: 'pointer',\r\n textDecoration: 'none',\r\n '&:focus': {\r\n outline: 'none',\r\n ringWidth: '2px',\r\n ringOffsetWidth: '2px',\r\n },\r\n '&:disabled': {\r\n opacity: '0.5',\r\n cursor: 'not-allowed',\r\n },\r\n },\r\n\r\n // Button variants\r\n [`.${prefixClass('changerawr-button-primary')}`]: {\r\n backgroundColor: mergedColors.primary,\r\n color: '#ffffff',\r\n '&:hover:not(:disabled)': {\r\n backgroundColor: `color-mix(in srgb, ${mergedColors.primary} 90%, black)`,\r\n },\r\n '&:focus': {\r\n ringColor: `color-mix(in srgb, ${mergedColors.primary} 50%, transparent)`,\r\n },\r\n },\r\n\r\n [`.${prefixClass('changerawr-button-secondary')}`]: {\r\n backgroundColor: mergedColors.secondary,\r\n color: '#ffffff',\r\n '&:hover:not(:disabled)': {\r\n backgroundColor: `color-mix(in srgb, ${mergedColors.secondary} 90%, black)`,\r\n },\r\n '&:focus': {\r\n ringColor: `color-mix(in srgb, ${mergedColors.secondary} 50%, transparent)`,\r\n },\r\n },\r\n\r\n [`.${prefixClass('changerawr-button-outline')}`]: {\r\n borderColor: mergedColors.primary,\r\n color: mergedColors.primary,\r\n '&:hover:not(:disabled)': {\r\n backgroundColor: `color-mix(in srgb, ${mergedColors.primary} 5%, transparent)`,\r\n },\r\n },\r\n\r\n [`.${prefixClass('changerawr-button-ghost')}`]: {\r\n color: mergedColors.secondary,\r\n '&:hover:not(:disabled)': {\r\n backgroundColor: `color-mix(in srgb, ${mergedColors.secondary} 10%, transparent)`,\r\n },\r\n },\r\n\r\n // Button sizes\r\n [`.${prefixClass('changerawr-button-sm')}`]: {\r\n paddingLeft: '0.75rem',\r\n paddingRight: '0.75rem',\r\n paddingTop: '0.375rem',\r\n paddingBottom: '0.375rem',\r\n fontSize: '0.875rem',\r\n },\r\n\r\n [`.${prefixClass('changerawr-button-md')}`]: {\r\n paddingLeft: '1rem',\r\n paddingRight: '1rem',\r\n paddingTop: '0.5rem',\r\n paddingBottom: '0.5rem',\r\n fontSize: '0.875rem',\r\n },\r\n\r\n [`.${prefixClass('changerawr-button-lg')}`]: {\r\n paddingLeft: '1.5rem',\r\n paddingRight: '1.5rem',\r\n paddingTop: '0.75rem',\r\n paddingBottom: '0.75rem',\r\n fontSize: '1rem',\r\n },\r\n\r\n // Embed styles\r\n [`.${prefixClass('changerawr-embed')}`]: {\r\n borderRadius: '0.5rem',\r\n border: '1px solid',\r\n borderColor: mergedColors.border,\r\n backgroundColor: '#ffffff',\r\n boxShadow: '0 1px 2px 0 rgb(0 0 0 / 0.05)',\r\n marginBottom: '1.5rem',\r\n overflow: 'hidden',\r\n },\r\n });\r\n }\r\n\r\n // Dark mode variants\r\n if (darkMode) {\r\n addUtilities({\r\n [`.dark .${prefixClass('changerawr-dark\\\\:bg-gray-800')}`]: { backgroundColor: '#1f2937' },\r\n [`.dark .${prefixClass('changerawr-dark\\\\:text-gray-100')}`]: { color: '#f3f4f6' },\r\n [`.dark .${prefixClass('changerawr-dark\\\\:text-gray-300')}`]: { color: '#d1d5db' },\r\n [`.dark .${prefixClass('changerawr-dark\\\\:border-gray-600')}`]: { borderColor: '#4b5563' },\r\n });\r\n }\r\n }\r\n);\r\n\r\n// CSS-only version for Tailwind v4\r\nexport const changerawrMarkdownCSS = (options: ChangerawrMarkdownPluginOptions = {}) => {\r\n const {\r\n prefix = '',\r\n colors = {},\r\n includeExtensions = true,\r\n } = options;\r\n\r\n const mergedColors = { ...defaultColors, ...colors };\r\n const prefixClass = (className: string) => (prefix ? `${prefix}-${className}` : className);\r\n\r\n return `\r\n/* Changerawr Markdown Styles */\r\n@layer utilities {\r\n /* Typography */\r\n .${prefixClass('changerawr-text-3xl')} { font-size: 1.875rem; line-height: 2.25rem; }\r\n .${prefixClass('changerawr-text-2xl')} { font-size: 1.5rem; line-height: 2rem; }\r\n .${prefixClass('changerawr-text-xl')} { font-size: 1.25rem; line-height: 1.75rem; }\r\n .${prefixClass('changerawr-text-lg')} { font-size: 1.125rem; line-height: 1.75rem; }\r\n .${prefixClass('changerawr-font-bold')} { font-weight: 700; }\r\n .${prefixClass('changerawr-font-semibold')} { font-weight: 600; }\r\n .${prefixClass('changerawr-font-medium')} { font-weight: 500; }\r\n .${prefixClass('changerawr-italic')} { font-style: italic; }\r\n .${prefixClass('changerawr-underline')} { text-decoration: underline; }\r\n \r\n /* Spacing */\r\n .${prefixClass('changerawr-mt-8')} { margin-top: 2rem; }\r\n .${prefixClass('changerawr-mt-6')} { margin-top: 1.5rem; }\r\n .${prefixClass('changerawr-mb-4')} { margin-bottom: 1rem; }\r\n .${prefixClass('changerawr-leading-7')} { line-height: 1.75rem; }\r\n \r\n /* Layout */\r\n .${prefixClass('changerawr-flex')} { display: flex; }\r\n .${prefixClass('changerawr-items-center')} { align-items: center; }\r\n .${prefixClass('changerawr-gap-2')} { gap: 0.5rem; }\r\n \r\n /* Colors */\r\n .${prefixClass('changerawr-text-primary')} { color: ${mergedColors.primary}; }\r\n .${prefixClass('changerawr-text-muted-foreground')} { color: ${mergedColors.muted}; }\r\n}\r\n\r\n${includeExtensions ? `\r\n@layer components {\r\n /* Alert Components */\r\n .${prefixClass('changerawr-alert')} {\r\n border-left-width: 4px;\r\n padding: 1rem;\r\n margin-bottom: 1rem;\r\n border-radius: 0.375rem;\r\n transition: color, background-color, border-color 200ms;\r\n }\r\n \r\n .${prefixClass('changerawr-alert-info')} {\r\n background-color: color-mix(in srgb, ${mergedColors.info} 10%, transparent);\r\n border-color: color-mix(in srgb, ${mergedColors.info} 30%, transparent);\r\n color: ${mergedColors.info};\r\n }\r\n \r\n .${prefixClass('changerawr-alert-warning')} {\r\n background-color: color-mix(in srgb, ${mergedColors.warning} 10%, transparent);\r\n border-color: color-mix(in srgb, ${mergedColors.warning} 30%, transparent);\r\n color: ${mergedColors.warning};\r\n }\r\n \r\n .${prefixClass('changerawr-alert-error')} {\r\n background-color: color-mix(in srgb, ${mergedColors.error} 10%, transparent);\r\n border-color: color-mix(in srgb, ${mergedColors.error} 30%, transparent);\r\n color: ${mergedColors.error};\r\n }\r\n \r\n .${prefixClass('changerawr-alert-success')} {\r\n background-color: color-mix(in srgb, ${mergedColors.success} 10%, transparent);\r\n border-color: color-mix(in srgb, ${mergedColors.success} 30%, transparent);\r\n color: ${mergedColors.success};\r\n }\r\n\r\n /* Button Components */\r\n .${prefixClass('changerawr-button')} {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n border-radius: 0.5rem;\r\n font-weight: 500;\r\n transition: all 150ms;\r\n border: 1px solid transparent;\r\n cursor: pointer;\r\n text-decoration: none;\r\n }\r\n \r\n .${prefixClass('changerawr-button-primary')} {\r\n background-color: ${mergedColors.primary};\r\n color: white;\r\n }\r\n \r\n .${prefixClass('changerawr-button-primary')}:hover:not(:disabled) {\r\n background-color: color-mix(in srgb, ${mergedColors.primary} 90%, black);\r\n }\r\n \r\n .${prefixClass('changerawr-button-md')} {\r\n padding: 0.5rem 1rem;\r\n font-size: 0.875rem;\r\n }\r\n}\r\n` : ''}\r\n`;\r\n};\r\n\r\nexport default changerawrMarkdownPlugin;"],"mappings":"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","names":["plugin"]}