@chartts/tailwind 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/dist/index.cjs +263 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +31 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.js +254 -0
- package/dist/index.js.map +1 -0
- package/package.json +33 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 chartts
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var plugin = require('tailwindcss/plugin');
|
|
6
|
+
|
|
7
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
|
+
|
|
9
|
+
var plugin__default = /*#__PURE__*/_interopDefault(plugin);
|
|
10
|
+
|
|
11
|
+
// src/index.ts
|
|
12
|
+
var COLOR_MAP = {
|
|
13
|
+
blue: {
|
|
14
|
+
50: "#eff6ff",
|
|
15
|
+
100: "#dbeafe",
|
|
16
|
+
200: "#bfdbfe",
|
|
17
|
+
300: "#93c5fd",
|
|
18
|
+
400: "#60a5fa",
|
|
19
|
+
500: "#3b82f6",
|
|
20
|
+
600: "#2563eb",
|
|
21
|
+
700: "#1d4ed8",
|
|
22
|
+
800: "#1e40af",
|
|
23
|
+
900: "#1e3a8a",
|
|
24
|
+
950: "#172554"
|
|
25
|
+
},
|
|
26
|
+
red: {
|
|
27
|
+
50: "#fef2f2",
|
|
28
|
+
100: "#fee2e2",
|
|
29
|
+
200: "#fecaca",
|
|
30
|
+
300: "#fca5a5",
|
|
31
|
+
400: "#f87171",
|
|
32
|
+
500: "#ef4444",
|
|
33
|
+
600: "#dc2626",
|
|
34
|
+
700: "#b91c1c",
|
|
35
|
+
800: "#991b1b",
|
|
36
|
+
900: "#7f1d1d",
|
|
37
|
+
950: "#450a0a"
|
|
38
|
+
},
|
|
39
|
+
emerald: {
|
|
40
|
+
50: "#ecfdf5",
|
|
41
|
+
100: "#d1fae5",
|
|
42
|
+
200: "#a7f3d0",
|
|
43
|
+
300: "#6ee7b7",
|
|
44
|
+
400: "#34d399",
|
|
45
|
+
500: "#10b981",
|
|
46
|
+
600: "#059669",
|
|
47
|
+
700: "#047857",
|
|
48
|
+
800: "#065f46",
|
|
49
|
+
900: "#064e3b",
|
|
50
|
+
950: "#022c22"
|
|
51
|
+
},
|
|
52
|
+
amber: {
|
|
53
|
+
50: "#fffbeb",
|
|
54
|
+
100: "#fef3c7",
|
|
55
|
+
200: "#fde68a",
|
|
56
|
+
300: "#fcd34d",
|
|
57
|
+
400: "#fbbf24",
|
|
58
|
+
500: "#f59e0b",
|
|
59
|
+
600: "#d97706",
|
|
60
|
+
700: "#b45309",
|
|
61
|
+
800: "#92400e",
|
|
62
|
+
900: "#78350f",
|
|
63
|
+
950: "#451a03"
|
|
64
|
+
},
|
|
65
|
+
violet: {
|
|
66
|
+
50: "#f5f3ff",
|
|
67
|
+
100: "#ede9fe",
|
|
68
|
+
200: "#ddd6fe",
|
|
69
|
+
300: "#c4b5fd",
|
|
70
|
+
400: "#a78bfa",
|
|
71
|
+
500: "#8b5cf6",
|
|
72
|
+
600: "#7c3aed",
|
|
73
|
+
700: "#6d28d9",
|
|
74
|
+
800: "#5b21b6",
|
|
75
|
+
900: "#4c1d95",
|
|
76
|
+
950: "#2e1065"
|
|
77
|
+
},
|
|
78
|
+
pink: {
|
|
79
|
+
50: "#fdf2f8",
|
|
80
|
+
100: "#fce7f3",
|
|
81
|
+
200: "#fbcfe8",
|
|
82
|
+
300: "#f9a8d4",
|
|
83
|
+
400: "#f472b6",
|
|
84
|
+
500: "#ec4899",
|
|
85
|
+
600: "#db2777",
|
|
86
|
+
700: "#be185d",
|
|
87
|
+
800: "#9d174d",
|
|
88
|
+
900: "#831843",
|
|
89
|
+
950: "#500724"
|
|
90
|
+
},
|
|
91
|
+
cyan: {
|
|
92
|
+
50: "#ecfeff",
|
|
93
|
+
100: "#cffafe",
|
|
94
|
+
200: "#a5f3fc",
|
|
95
|
+
300: "#67e8f9",
|
|
96
|
+
400: "#22d3ee",
|
|
97
|
+
500: "#06b6d4",
|
|
98
|
+
600: "#0891b2",
|
|
99
|
+
700: "#0e7490",
|
|
100
|
+
800: "#155e75",
|
|
101
|
+
900: "#164e63",
|
|
102
|
+
950: "#083344"
|
|
103
|
+
},
|
|
104
|
+
lime: {
|
|
105
|
+
50: "#f7fee7",
|
|
106
|
+
100: "#ecfccb",
|
|
107
|
+
200: "#d9f99d",
|
|
108
|
+
300: "#bef264",
|
|
109
|
+
400: "#a3e635",
|
|
110
|
+
500: "#84cc16",
|
|
111
|
+
600: "#65a30d",
|
|
112
|
+
700: "#4d7c0f",
|
|
113
|
+
800: "#3f6212",
|
|
114
|
+
900: "#365314",
|
|
115
|
+
950: "#1a2e05"
|
|
116
|
+
},
|
|
117
|
+
orange: {
|
|
118
|
+
50: "#fff7ed",
|
|
119
|
+
100: "#ffedd5",
|
|
120
|
+
200: "#fed7aa",
|
|
121
|
+
300: "#fdba74",
|
|
122
|
+
400: "#fb923c",
|
|
123
|
+
500: "#f97316",
|
|
124
|
+
600: "#ea580c",
|
|
125
|
+
700: "#c2410c",
|
|
126
|
+
800: "#9a3412",
|
|
127
|
+
900: "#7c2d12",
|
|
128
|
+
950: "#431407"
|
|
129
|
+
},
|
|
130
|
+
indigo: {
|
|
131
|
+
50: "#eef2ff",
|
|
132
|
+
100: "#e0e7ff",
|
|
133
|
+
200: "#c7d2fe",
|
|
134
|
+
300: "#a5b4fc",
|
|
135
|
+
400: "#818cf8",
|
|
136
|
+
500: "#6366f1",
|
|
137
|
+
600: "#4f46e5",
|
|
138
|
+
700: "#4338ca",
|
|
139
|
+
800: "#3730a3",
|
|
140
|
+
900: "#312e81",
|
|
141
|
+
950: "#1e1b4e"
|
|
142
|
+
},
|
|
143
|
+
gray: {
|
|
144
|
+
50: "#f9fafb",
|
|
145
|
+
100: "#f3f4f6",
|
|
146
|
+
200: "#e5e7eb",
|
|
147
|
+
300: "#d1d5db",
|
|
148
|
+
400: "#9ca3af",
|
|
149
|
+
500: "#6b7280",
|
|
150
|
+
600: "#4b5563",
|
|
151
|
+
700: "#374151",
|
|
152
|
+
800: "#1f2937",
|
|
153
|
+
900: "#111827",
|
|
154
|
+
950: "#030712"
|
|
155
|
+
},
|
|
156
|
+
white: "#ffffff"
|
|
157
|
+
};
|
|
158
|
+
var THEME_CLASSES = {
|
|
159
|
+
".chartts-theme-corporate": {
|
|
160
|
+
"--chartts-text": "#1e293b",
|
|
161
|
+
"--chartts-text-muted": "#64748b",
|
|
162
|
+
"--chartts-axis": "#94a3b8",
|
|
163
|
+
"--chartts-grid": "#e2e8f0",
|
|
164
|
+
"--chartts-tooltip-bg": "#ffffff",
|
|
165
|
+
"--chartts-tooltip-text": "#1e293b",
|
|
166
|
+
"--chartts-tooltip-border": "#cbd5e1",
|
|
167
|
+
"--chartts-radius": "4px",
|
|
168
|
+
"--chartts-font-family": '"Inter", "Segoe UI", -apple-system, sans-serif'
|
|
169
|
+
},
|
|
170
|
+
".chartts-theme-saas": {
|
|
171
|
+
"--chartts-text": "#0f172a",
|
|
172
|
+
"--chartts-text-muted": "#475569",
|
|
173
|
+
"--chartts-axis": "#cbd5e1",
|
|
174
|
+
"--chartts-grid": "#f1f5f9",
|
|
175
|
+
"--chartts-tooltip-bg": "#0f172a",
|
|
176
|
+
"--chartts-tooltip-text": "#f8fafc",
|
|
177
|
+
"--chartts-tooltip-border": "#334155",
|
|
178
|
+
"--chartts-radius": "8px"
|
|
179
|
+
},
|
|
180
|
+
".chartts-theme-startup": {
|
|
181
|
+
"--chartts-text": "#2d3436",
|
|
182
|
+
"--chartts-text-muted": "#636e72",
|
|
183
|
+
"--chartts-axis": "#b2bec3",
|
|
184
|
+
"--chartts-grid": "#dfe6e9",
|
|
185
|
+
"--chartts-tooltip-bg": "#2d3436",
|
|
186
|
+
"--chartts-tooltip-text": "#dfe6e9",
|
|
187
|
+
"--chartts-tooltip-border": "#636e72",
|
|
188
|
+
"--chartts-radius": "10px",
|
|
189
|
+
"--chartts-font-family": '"DM Sans", "Inter", -apple-system, sans-serif'
|
|
190
|
+
},
|
|
191
|
+
".chartts-theme-editorial": {
|
|
192
|
+
"--chartts-text": "#1a1a1a",
|
|
193
|
+
"--chartts-text-muted": "#7f8c8d",
|
|
194
|
+
"--chartts-axis": "#bdc3c7",
|
|
195
|
+
"--chartts-grid": "#ecf0f1",
|
|
196
|
+
"--chartts-tooltip-bg": "#1a1a1a",
|
|
197
|
+
"--chartts-tooltip-text": "#ecf0f1",
|
|
198
|
+
"--chartts-tooltip-border": "#34495e",
|
|
199
|
+
"--chartts-radius": "0px",
|
|
200
|
+
"--chartts-font-family": '"Georgia", "Times New Roman", serif'
|
|
201
|
+
},
|
|
202
|
+
".chartts-theme-ocean": {
|
|
203
|
+
"--chartts-text": "#dfe6e9",
|
|
204
|
+
"--chartts-text-muted": "#636e72",
|
|
205
|
+
"--chartts-axis": "#2d3436",
|
|
206
|
+
"--chartts-grid": "#2d3436",
|
|
207
|
+
"--chartts-tooltip-bg": "#0a0a23",
|
|
208
|
+
"--chartts-tooltip-text": "#dfe6e9",
|
|
209
|
+
"--chartts-tooltip-border": "#2d3436",
|
|
210
|
+
"--chartts-radius": "6px"
|
|
211
|
+
}
|
|
212
|
+
};
|
|
213
|
+
var DARK_OVERRIDES = {
|
|
214
|
+
"--chartts-text": "#f3f4f6",
|
|
215
|
+
"--chartts-text-muted": "#6b7280",
|
|
216
|
+
"--chartts-axis": "#374151",
|
|
217
|
+
"--chartts-grid": "#1f2937",
|
|
218
|
+
"--chartts-tooltip-bg": "#111827",
|
|
219
|
+
"--chartts-tooltip-text": "#f3f4f6",
|
|
220
|
+
"--chartts-tooltip-border": "#374151"
|
|
221
|
+
};
|
|
222
|
+
var charttsPlugin = plugin__default.default.withOptions(
|
|
223
|
+
(options = {}) => {
|
|
224
|
+
const {
|
|
225
|
+
colors = true,
|
|
226
|
+
themes = true,
|
|
227
|
+
darkMode = true
|
|
228
|
+
} = options;
|
|
229
|
+
return ({ addBase, addUtilities }) => {
|
|
230
|
+
if (colors) {
|
|
231
|
+
const colorVars = {};
|
|
232
|
+
const colorSource = options.palette ?? COLOR_MAP;
|
|
233
|
+
for (const [name, shades] of Object.entries(colorSource)) {
|
|
234
|
+
if (typeof shades === "string") {
|
|
235
|
+
colorVars[`--color-${name}`] = shades;
|
|
236
|
+
} else {
|
|
237
|
+
for (const [shade, hex] of Object.entries(shades)) {
|
|
238
|
+
colorVars[`--color-${name}-${shade}`] = hex;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
addBase({ ":root": colorVars });
|
|
243
|
+
}
|
|
244
|
+
if (themes) {
|
|
245
|
+
addUtilities(THEME_CLASSES);
|
|
246
|
+
}
|
|
247
|
+
if (darkMode) {
|
|
248
|
+
addBase({
|
|
249
|
+
".dark .chartts, .chartts-dark": DARK_OVERRIDES,
|
|
250
|
+
"@media (prefers-color-scheme: dark)": {
|
|
251
|
+
".chartts-auto": DARK_OVERRIDES
|
|
252
|
+
}
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
);
|
|
258
|
+
var index_default = charttsPlugin;
|
|
259
|
+
|
|
260
|
+
exports.charttsPlugin = charttsPlugin;
|
|
261
|
+
exports.default = index_default;
|
|
262
|
+
//# sourceMappingURL=index.cjs.map
|
|
263
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["plugin"],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * @chartts/tailwind — Tailwind CSS plugin for Chartts.\n *\n * Tailwind v4: Works automatically (exposes --color-* variables natively).\n * Tailwind v3: Use this plugin to bridge Tailwind color variables to CSS\n * custom properties that Chartts reads.\n *\n * Usage (tailwind.config.js):\n * ```js\n * import chartts from '@chartts/tailwind'\n * export default {\n * plugins: [chartts()],\n * }\n * ```\n */\n\nimport plugin from 'tailwindcss/plugin'\n\n// ---------------------------------------------------------------------------\n// Tailwind color name → CSS variable mapping\n//\n// Chartts palette uses var(--color-blue-500, #hex) etc.\n// Tailwind v3 doesn't expose --color-* by default — this plugin does.\n// ---------------------------------------------------------------------------\n\nconst COLOR_MAP: Record<string, Record<string, string> | string> = {\n blue: {\n 50: '#eff6ff', 100: '#dbeafe', 200: '#bfdbfe', 300: '#93c5fd',\n 400: '#60a5fa', 500: '#3b82f6', 600: '#2563eb', 700: '#1d4ed8',\n 800: '#1e40af', 900: '#1e3a8a', 950: '#172554',\n },\n red: {\n 50: '#fef2f2', 100: '#fee2e2', 200: '#fecaca', 300: '#fca5a5',\n 400: '#f87171', 500: '#ef4444', 600: '#dc2626', 700: '#b91c1c',\n 800: '#991b1b', 900: '#7f1d1d', 950: '#450a0a',\n },\n emerald: {\n 50: '#ecfdf5', 100: '#d1fae5', 200: '#a7f3d0', 300: '#6ee7b7',\n 400: '#34d399', 500: '#10b981', 600: '#059669', 700: '#047857',\n 800: '#065f46', 900: '#064e3b', 950: '#022c22',\n },\n amber: {\n 50: '#fffbeb', 100: '#fef3c7', 200: '#fde68a', 300: '#fcd34d',\n 400: '#fbbf24', 500: '#f59e0b', 600: '#d97706', 700: '#b45309',\n 800: '#92400e', 900: '#78350f', 950: '#451a03',\n },\n violet: {\n 50: '#f5f3ff', 100: '#ede9fe', 200: '#ddd6fe', 300: '#c4b5fd',\n 400: '#a78bfa', 500: '#8b5cf6', 600: '#7c3aed', 700: '#6d28d9',\n 800: '#5b21b6', 900: '#4c1d95', 950: '#2e1065',\n },\n pink: {\n 50: '#fdf2f8', 100: '#fce7f3', 200: '#fbcfe8', 300: '#f9a8d4',\n 400: '#f472b6', 500: '#ec4899', 600: '#db2777', 700: '#be185d',\n 800: '#9d174d', 900: '#831843', 950: '#500724',\n },\n cyan: {\n 50: '#ecfeff', 100: '#cffafe', 200: '#a5f3fc', 300: '#67e8f9',\n 400: '#22d3ee', 500: '#06b6d4', 600: '#0891b2', 700: '#0e7490',\n 800: '#155e75', 900: '#164e63', 950: '#083344',\n },\n lime: {\n 50: '#f7fee7', 100: '#ecfccb', 200: '#d9f99d', 300: '#bef264',\n 400: '#a3e635', 500: '#84cc16', 600: '#65a30d', 700: '#4d7c0f',\n 800: '#3f6212', 900: '#365314', 950: '#1a2e05',\n },\n orange: {\n 50: '#fff7ed', 100: '#ffedd5', 200: '#fed7aa', 300: '#fdba74',\n 400: '#fb923c', 500: '#f97316', 600: '#ea580c', 700: '#c2410c',\n 800: '#9a3412', 900: '#7c2d12', 950: '#431407',\n },\n indigo: {\n 50: '#eef2ff', 100: '#e0e7ff', 200: '#c7d2fe', 300: '#a5b4fc',\n 400: '#818cf8', 500: '#6366f1', 600: '#4f46e5', 700: '#4338ca',\n 800: '#3730a3', 900: '#312e81', 950: '#1e1b4e',\n },\n gray: {\n 50: '#f9fafb', 100: '#f3f4f6', 200: '#e5e7eb', 300: '#d1d5db',\n 400: '#9ca3af', 500: '#6b7280', 600: '#4b5563', 700: '#374151',\n 800: '#1f2937', 900: '#111827', 950: '#030712',\n },\n white: '#ffffff',\n}\n\n// ---------------------------------------------------------------------------\n// Theme preset CSS classes\n// ---------------------------------------------------------------------------\n\nconst THEME_CLASSES: Record<string, Record<string, string>> = {\n '.chartts-theme-corporate': {\n '--chartts-text': '#1e293b',\n '--chartts-text-muted': '#64748b',\n '--chartts-axis': '#94a3b8',\n '--chartts-grid': '#e2e8f0',\n '--chartts-tooltip-bg': '#ffffff',\n '--chartts-tooltip-text': '#1e293b',\n '--chartts-tooltip-border': '#cbd5e1',\n '--chartts-radius': '4px',\n '--chartts-font-family': '\"Inter\", \"Segoe UI\", -apple-system, sans-serif',\n },\n '.chartts-theme-saas': {\n '--chartts-text': '#0f172a',\n '--chartts-text-muted': '#475569',\n '--chartts-axis': '#cbd5e1',\n '--chartts-grid': '#f1f5f9',\n '--chartts-tooltip-bg': '#0f172a',\n '--chartts-tooltip-text': '#f8fafc',\n '--chartts-tooltip-border': '#334155',\n '--chartts-radius': '8px',\n },\n '.chartts-theme-startup': {\n '--chartts-text': '#2d3436',\n '--chartts-text-muted': '#636e72',\n '--chartts-axis': '#b2bec3',\n '--chartts-grid': '#dfe6e9',\n '--chartts-tooltip-bg': '#2d3436',\n '--chartts-tooltip-text': '#dfe6e9',\n '--chartts-tooltip-border': '#636e72',\n '--chartts-radius': '10px',\n '--chartts-font-family': '\"DM Sans\", \"Inter\", -apple-system, sans-serif',\n },\n '.chartts-theme-editorial': {\n '--chartts-text': '#1a1a1a',\n '--chartts-text-muted': '#7f8c8d',\n '--chartts-axis': '#bdc3c7',\n '--chartts-grid': '#ecf0f1',\n '--chartts-tooltip-bg': '#1a1a1a',\n '--chartts-tooltip-text': '#ecf0f1',\n '--chartts-tooltip-border': '#34495e',\n '--chartts-radius': '0px',\n '--chartts-font-family': '\"Georgia\", \"Times New Roman\", serif',\n },\n '.chartts-theme-ocean': {\n '--chartts-text': '#dfe6e9',\n '--chartts-text-muted': '#636e72',\n '--chartts-axis': '#2d3436',\n '--chartts-grid': '#2d3436',\n '--chartts-tooltip-bg': '#0a0a23',\n '--chartts-tooltip-text': '#dfe6e9',\n '--chartts-tooltip-border': '#2d3436',\n '--chartts-radius': '6px',\n },\n}\n\n// Dark mode overrides\nconst DARK_OVERRIDES: Record<string, string> = {\n '--chartts-text': '#f3f4f6',\n '--chartts-text-muted': '#6b7280',\n '--chartts-axis': '#374151',\n '--chartts-grid': '#1f2937',\n '--chartts-tooltip-bg': '#111827',\n '--chartts-tooltip-text': '#f3f4f6',\n '--chartts-tooltip-border': '#374151',\n}\n\n// ---------------------------------------------------------------------------\n// Plugin options\n// ---------------------------------------------------------------------------\n\nexport interface CharttsPluginOptions {\n /** Include all Tailwind color variables (default: true) */\n colors?: boolean\n /** Include theme preset classes (default: true) */\n themes?: boolean\n /** Include dark mode overrides (default: true) */\n darkMode?: boolean\n /** Custom color palette to expose as --color-* variables */\n palette?: Record<string, Record<string, string> | string>\n}\n\n// ---------------------------------------------------------------------------\n// Plugin\n// ---------------------------------------------------------------------------\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst charttsPlugin: { (options?: CharttsPluginOptions): any; __isOptionsFunction: true } = plugin.withOptions<CharttsPluginOptions>(\n (options = {}) => {\n const {\n colors = true,\n themes = true,\n darkMode = true,\n } = options\n\n return ({ addBase, addUtilities }) => {\n // 1. Expose Tailwind color variables as --color-* CSS custom properties\n // This bridges Tailwind v3 to the var(--color-*) format Chartts uses\n if (colors) {\n const colorVars: Record<string, string> = {}\n const colorSource = options.palette ?? COLOR_MAP\n\n for (const [name, shades] of Object.entries(colorSource)) {\n if (typeof shades === 'string') {\n colorVars[`--color-${name}`] = shades\n } else {\n for (const [shade, hex] of Object.entries(shades)) {\n colorVars[`--color-${name}-${shade}`] = hex\n }\n }\n }\n\n addBase({ ':root': colorVars })\n }\n\n // 2. Theme preset utility classes\n if (themes) {\n addUtilities(THEME_CLASSES)\n }\n\n // 3. Dark mode overrides\n if (darkMode) {\n addBase({\n '.dark .chartts, .chartts-dark': DARK_OVERRIDES,\n '@media (prefers-color-scheme: dark)': {\n '.chartts-auto': DARK_OVERRIDES,\n },\n })\n }\n }\n },\n)\n\nexport default charttsPlugin\nexport { charttsPlugin }\n"]}
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @chartts/tailwind — Tailwind CSS plugin for Chartts.
|
|
3
|
+
*
|
|
4
|
+
* Tailwind v4: Works automatically (exposes --color-* variables natively).
|
|
5
|
+
* Tailwind v3: Use this plugin to bridge Tailwind color variables to CSS
|
|
6
|
+
* custom properties that Chartts reads.
|
|
7
|
+
*
|
|
8
|
+
* Usage (tailwind.config.js):
|
|
9
|
+
* ```js
|
|
10
|
+
* import chartts from '@chartts/tailwind'
|
|
11
|
+
* export default {
|
|
12
|
+
* plugins: [chartts()],
|
|
13
|
+
* }
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
interface CharttsPluginOptions {
|
|
17
|
+
/** Include all Tailwind color variables (default: true) */
|
|
18
|
+
colors?: boolean;
|
|
19
|
+
/** Include theme preset classes (default: true) */
|
|
20
|
+
themes?: boolean;
|
|
21
|
+
/** Include dark mode overrides (default: true) */
|
|
22
|
+
darkMode?: boolean;
|
|
23
|
+
/** Custom color palette to expose as --color-* variables */
|
|
24
|
+
palette?: Record<string, Record<string, string> | string>;
|
|
25
|
+
}
|
|
26
|
+
declare const charttsPlugin: {
|
|
27
|
+
(options?: CharttsPluginOptions): any;
|
|
28
|
+
__isOptionsFunction: true;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export { type CharttsPluginOptions, charttsPlugin, charttsPlugin as default };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @chartts/tailwind — Tailwind CSS plugin for Chartts.
|
|
3
|
+
*
|
|
4
|
+
* Tailwind v4: Works automatically (exposes --color-* variables natively).
|
|
5
|
+
* Tailwind v3: Use this plugin to bridge Tailwind color variables to CSS
|
|
6
|
+
* custom properties that Chartts reads.
|
|
7
|
+
*
|
|
8
|
+
* Usage (tailwind.config.js):
|
|
9
|
+
* ```js
|
|
10
|
+
* import chartts from '@chartts/tailwind'
|
|
11
|
+
* export default {
|
|
12
|
+
* plugins: [chartts()],
|
|
13
|
+
* }
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
interface CharttsPluginOptions {
|
|
17
|
+
/** Include all Tailwind color variables (default: true) */
|
|
18
|
+
colors?: boolean;
|
|
19
|
+
/** Include theme preset classes (default: true) */
|
|
20
|
+
themes?: boolean;
|
|
21
|
+
/** Include dark mode overrides (default: true) */
|
|
22
|
+
darkMode?: boolean;
|
|
23
|
+
/** Custom color palette to expose as --color-* variables */
|
|
24
|
+
palette?: Record<string, Record<string, string> | string>;
|
|
25
|
+
}
|
|
26
|
+
declare const charttsPlugin: {
|
|
27
|
+
(options?: CharttsPluginOptions): any;
|
|
28
|
+
__isOptionsFunction: true;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export { type CharttsPluginOptions, charttsPlugin, charttsPlugin as default };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
import plugin from 'tailwindcss/plugin';
|
|
2
|
+
|
|
3
|
+
// src/index.ts
|
|
4
|
+
var COLOR_MAP = {
|
|
5
|
+
blue: {
|
|
6
|
+
50: "#eff6ff",
|
|
7
|
+
100: "#dbeafe",
|
|
8
|
+
200: "#bfdbfe",
|
|
9
|
+
300: "#93c5fd",
|
|
10
|
+
400: "#60a5fa",
|
|
11
|
+
500: "#3b82f6",
|
|
12
|
+
600: "#2563eb",
|
|
13
|
+
700: "#1d4ed8",
|
|
14
|
+
800: "#1e40af",
|
|
15
|
+
900: "#1e3a8a",
|
|
16
|
+
950: "#172554"
|
|
17
|
+
},
|
|
18
|
+
red: {
|
|
19
|
+
50: "#fef2f2",
|
|
20
|
+
100: "#fee2e2",
|
|
21
|
+
200: "#fecaca",
|
|
22
|
+
300: "#fca5a5",
|
|
23
|
+
400: "#f87171",
|
|
24
|
+
500: "#ef4444",
|
|
25
|
+
600: "#dc2626",
|
|
26
|
+
700: "#b91c1c",
|
|
27
|
+
800: "#991b1b",
|
|
28
|
+
900: "#7f1d1d",
|
|
29
|
+
950: "#450a0a"
|
|
30
|
+
},
|
|
31
|
+
emerald: {
|
|
32
|
+
50: "#ecfdf5",
|
|
33
|
+
100: "#d1fae5",
|
|
34
|
+
200: "#a7f3d0",
|
|
35
|
+
300: "#6ee7b7",
|
|
36
|
+
400: "#34d399",
|
|
37
|
+
500: "#10b981",
|
|
38
|
+
600: "#059669",
|
|
39
|
+
700: "#047857",
|
|
40
|
+
800: "#065f46",
|
|
41
|
+
900: "#064e3b",
|
|
42
|
+
950: "#022c22"
|
|
43
|
+
},
|
|
44
|
+
amber: {
|
|
45
|
+
50: "#fffbeb",
|
|
46
|
+
100: "#fef3c7",
|
|
47
|
+
200: "#fde68a",
|
|
48
|
+
300: "#fcd34d",
|
|
49
|
+
400: "#fbbf24",
|
|
50
|
+
500: "#f59e0b",
|
|
51
|
+
600: "#d97706",
|
|
52
|
+
700: "#b45309",
|
|
53
|
+
800: "#92400e",
|
|
54
|
+
900: "#78350f",
|
|
55
|
+
950: "#451a03"
|
|
56
|
+
},
|
|
57
|
+
violet: {
|
|
58
|
+
50: "#f5f3ff",
|
|
59
|
+
100: "#ede9fe",
|
|
60
|
+
200: "#ddd6fe",
|
|
61
|
+
300: "#c4b5fd",
|
|
62
|
+
400: "#a78bfa",
|
|
63
|
+
500: "#8b5cf6",
|
|
64
|
+
600: "#7c3aed",
|
|
65
|
+
700: "#6d28d9",
|
|
66
|
+
800: "#5b21b6",
|
|
67
|
+
900: "#4c1d95",
|
|
68
|
+
950: "#2e1065"
|
|
69
|
+
},
|
|
70
|
+
pink: {
|
|
71
|
+
50: "#fdf2f8",
|
|
72
|
+
100: "#fce7f3",
|
|
73
|
+
200: "#fbcfe8",
|
|
74
|
+
300: "#f9a8d4",
|
|
75
|
+
400: "#f472b6",
|
|
76
|
+
500: "#ec4899",
|
|
77
|
+
600: "#db2777",
|
|
78
|
+
700: "#be185d",
|
|
79
|
+
800: "#9d174d",
|
|
80
|
+
900: "#831843",
|
|
81
|
+
950: "#500724"
|
|
82
|
+
},
|
|
83
|
+
cyan: {
|
|
84
|
+
50: "#ecfeff",
|
|
85
|
+
100: "#cffafe",
|
|
86
|
+
200: "#a5f3fc",
|
|
87
|
+
300: "#67e8f9",
|
|
88
|
+
400: "#22d3ee",
|
|
89
|
+
500: "#06b6d4",
|
|
90
|
+
600: "#0891b2",
|
|
91
|
+
700: "#0e7490",
|
|
92
|
+
800: "#155e75",
|
|
93
|
+
900: "#164e63",
|
|
94
|
+
950: "#083344"
|
|
95
|
+
},
|
|
96
|
+
lime: {
|
|
97
|
+
50: "#f7fee7",
|
|
98
|
+
100: "#ecfccb",
|
|
99
|
+
200: "#d9f99d",
|
|
100
|
+
300: "#bef264",
|
|
101
|
+
400: "#a3e635",
|
|
102
|
+
500: "#84cc16",
|
|
103
|
+
600: "#65a30d",
|
|
104
|
+
700: "#4d7c0f",
|
|
105
|
+
800: "#3f6212",
|
|
106
|
+
900: "#365314",
|
|
107
|
+
950: "#1a2e05"
|
|
108
|
+
},
|
|
109
|
+
orange: {
|
|
110
|
+
50: "#fff7ed",
|
|
111
|
+
100: "#ffedd5",
|
|
112
|
+
200: "#fed7aa",
|
|
113
|
+
300: "#fdba74",
|
|
114
|
+
400: "#fb923c",
|
|
115
|
+
500: "#f97316",
|
|
116
|
+
600: "#ea580c",
|
|
117
|
+
700: "#c2410c",
|
|
118
|
+
800: "#9a3412",
|
|
119
|
+
900: "#7c2d12",
|
|
120
|
+
950: "#431407"
|
|
121
|
+
},
|
|
122
|
+
indigo: {
|
|
123
|
+
50: "#eef2ff",
|
|
124
|
+
100: "#e0e7ff",
|
|
125
|
+
200: "#c7d2fe",
|
|
126
|
+
300: "#a5b4fc",
|
|
127
|
+
400: "#818cf8",
|
|
128
|
+
500: "#6366f1",
|
|
129
|
+
600: "#4f46e5",
|
|
130
|
+
700: "#4338ca",
|
|
131
|
+
800: "#3730a3",
|
|
132
|
+
900: "#312e81",
|
|
133
|
+
950: "#1e1b4e"
|
|
134
|
+
},
|
|
135
|
+
gray: {
|
|
136
|
+
50: "#f9fafb",
|
|
137
|
+
100: "#f3f4f6",
|
|
138
|
+
200: "#e5e7eb",
|
|
139
|
+
300: "#d1d5db",
|
|
140
|
+
400: "#9ca3af",
|
|
141
|
+
500: "#6b7280",
|
|
142
|
+
600: "#4b5563",
|
|
143
|
+
700: "#374151",
|
|
144
|
+
800: "#1f2937",
|
|
145
|
+
900: "#111827",
|
|
146
|
+
950: "#030712"
|
|
147
|
+
},
|
|
148
|
+
white: "#ffffff"
|
|
149
|
+
};
|
|
150
|
+
var THEME_CLASSES = {
|
|
151
|
+
".chartts-theme-corporate": {
|
|
152
|
+
"--chartts-text": "#1e293b",
|
|
153
|
+
"--chartts-text-muted": "#64748b",
|
|
154
|
+
"--chartts-axis": "#94a3b8",
|
|
155
|
+
"--chartts-grid": "#e2e8f0",
|
|
156
|
+
"--chartts-tooltip-bg": "#ffffff",
|
|
157
|
+
"--chartts-tooltip-text": "#1e293b",
|
|
158
|
+
"--chartts-tooltip-border": "#cbd5e1",
|
|
159
|
+
"--chartts-radius": "4px",
|
|
160
|
+
"--chartts-font-family": '"Inter", "Segoe UI", -apple-system, sans-serif'
|
|
161
|
+
},
|
|
162
|
+
".chartts-theme-saas": {
|
|
163
|
+
"--chartts-text": "#0f172a",
|
|
164
|
+
"--chartts-text-muted": "#475569",
|
|
165
|
+
"--chartts-axis": "#cbd5e1",
|
|
166
|
+
"--chartts-grid": "#f1f5f9",
|
|
167
|
+
"--chartts-tooltip-bg": "#0f172a",
|
|
168
|
+
"--chartts-tooltip-text": "#f8fafc",
|
|
169
|
+
"--chartts-tooltip-border": "#334155",
|
|
170
|
+
"--chartts-radius": "8px"
|
|
171
|
+
},
|
|
172
|
+
".chartts-theme-startup": {
|
|
173
|
+
"--chartts-text": "#2d3436",
|
|
174
|
+
"--chartts-text-muted": "#636e72",
|
|
175
|
+
"--chartts-axis": "#b2bec3",
|
|
176
|
+
"--chartts-grid": "#dfe6e9",
|
|
177
|
+
"--chartts-tooltip-bg": "#2d3436",
|
|
178
|
+
"--chartts-tooltip-text": "#dfe6e9",
|
|
179
|
+
"--chartts-tooltip-border": "#636e72",
|
|
180
|
+
"--chartts-radius": "10px",
|
|
181
|
+
"--chartts-font-family": '"DM Sans", "Inter", -apple-system, sans-serif'
|
|
182
|
+
},
|
|
183
|
+
".chartts-theme-editorial": {
|
|
184
|
+
"--chartts-text": "#1a1a1a",
|
|
185
|
+
"--chartts-text-muted": "#7f8c8d",
|
|
186
|
+
"--chartts-axis": "#bdc3c7",
|
|
187
|
+
"--chartts-grid": "#ecf0f1",
|
|
188
|
+
"--chartts-tooltip-bg": "#1a1a1a",
|
|
189
|
+
"--chartts-tooltip-text": "#ecf0f1",
|
|
190
|
+
"--chartts-tooltip-border": "#34495e",
|
|
191
|
+
"--chartts-radius": "0px",
|
|
192
|
+
"--chartts-font-family": '"Georgia", "Times New Roman", serif'
|
|
193
|
+
},
|
|
194
|
+
".chartts-theme-ocean": {
|
|
195
|
+
"--chartts-text": "#dfe6e9",
|
|
196
|
+
"--chartts-text-muted": "#636e72",
|
|
197
|
+
"--chartts-axis": "#2d3436",
|
|
198
|
+
"--chartts-grid": "#2d3436",
|
|
199
|
+
"--chartts-tooltip-bg": "#0a0a23",
|
|
200
|
+
"--chartts-tooltip-text": "#dfe6e9",
|
|
201
|
+
"--chartts-tooltip-border": "#2d3436",
|
|
202
|
+
"--chartts-radius": "6px"
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
var DARK_OVERRIDES = {
|
|
206
|
+
"--chartts-text": "#f3f4f6",
|
|
207
|
+
"--chartts-text-muted": "#6b7280",
|
|
208
|
+
"--chartts-axis": "#374151",
|
|
209
|
+
"--chartts-grid": "#1f2937",
|
|
210
|
+
"--chartts-tooltip-bg": "#111827",
|
|
211
|
+
"--chartts-tooltip-text": "#f3f4f6",
|
|
212
|
+
"--chartts-tooltip-border": "#374151"
|
|
213
|
+
};
|
|
214
|
+
var charttsPlugin = plugin.withOptions(
|
|
215
|
+
(options = {}) => {
|
|
216
|
+
const {
|
|
217
|
+
colors = true,
|
|
218
|
+
themes = true,
|
|
219
|
+
darkMode = true
|
|
220
|
+
} = options;
|
|
221
|
+
return ({ addBase, addUtilities }) => {
|
|
222
|
+
if (colors) {
|
|
223
|
+
const colorVars = {};
|
|
224
|
+
const colorSource = options.palette ?? COLOR_MAP;
|
|
225
|
+
for (const [name, shades] of Object.entries(colorSource)) {
|
|
226
|
+
if (typeof shades === "string") {
|
|
227
|
+
colorVars[`--color-${name}`] = shades;
|
|
228
|
+
} else {
|
|
229
|
+
for (const [shade, hex] of Object.entries(shades)) {
|
|
230
|
+
colorVars[`--color-${name}-${shade}`] = hex;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
addBase({ ":root": colorVars });
|
|
235
|
+
}
|
|
236
|
+
if (themes) {
|
|
237
|
+
addUtilities(THEME_CLASSES);
|
|
238
|
+
}
|
|
239
|
+
if (darkMode) {
|
|
240
|
+
addBase({
|
|
241
|
+
".dark .chartts, .chartts-dark": DARK_OVERRIDES,
|
|
242
|
+
"@media (prefers-color-scheme: dark)": {
|
|
243
|
+
".chartts-auto": DARK_OVERRIDES
|
|
244
|
+
}
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
);
|
|
250
|
+
var index_default = charttsPlugin;
|
|
251
|
+
|
|
252
|
+
export { charttsPlugin, index_default as default };
|
|
253
|
+
//# sourceMappingURL=index.js.map
|
|
254
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * @chartts/tailwind — Tailwind CSS plugin for Chartts.\n *\n * Tailwind v4: Works automatically (exposes --color-* variables natively).\n * Tailwind v3: Use this plugin to bridge Tailwind color variables to CSS\n * custom properties that Chartts reads.\n *\n * Usage (tailwind.config.js):\n * ```js\n * import chartts from '@chartts/tailwind'\n * export default {\n * plugins: [chartts()],\n * }\n * ```\n */\n\nimport plugin from 'tailwindcss/plugin'\n\n// ---------------------------------------------------------------------------\n// Tailwind color name → CSS variable mapping\n//\n// Chartts palette uses var(--color-blue-500, #hex) etc.\n// Tailwind v3 doesn't expose --color-* by default — this plugin does.\n// ---------------------------------------------------------------------------\n\nconst COLOR_MAP: Record<string, Record<string, string> | string> = {\n blue: {\n 50: '#eff6ff', 100: '#dbeafe', 200: '#bfdbfe', 300: '#93c5fd',\n 400: '#60a5fa', 500: '#3b82f6', 600: '#2563eb', 700: '#1d4ed8',\n 800: '#1e40af', 900: '#1e3a8a', 950: '#172554',\n },\n red: {\n 50: '#fef2f2', 100: '#fee2e2', 200: '#fecaca', 300: '#fca5a5',\n 400: '#f87171', 500: '#ef4444', 600: '#dc2626', 700: '#b91c1c',\n 800: '#991b1b', 900: '#7f1d1d', 950: '#450a0a',\n },\n emerald: {\n 50: '#ecfdf5', 100: '#d1fae5', 200: '#a7f3d0', 300: '#6ee7b7',\n 400: '#34d399', 500: '#10b981', 600: '#059669', 700: '#047857',\n 800: '#065f46', 900: '#064e3b', 950: '#022c22',\n },\n amber: {\n 50: '#fffbeb', 100: '#fef3c7', 200: '#fde68a', 300: '#fcd34d',\n 400: '#fbbf24', 500: '#f59e0b', 600: '#d97706', 700: '#b45309',\n 800: '#92400e', 900: '#78350f', 950: '#451a03',\n },\n violet: {\n 50: '#f5f3ff', 100: '#ede9fe', 200: '#ddd6fe', 300: '#c4b5fd',\n 400: '#a78bfa', 500: '#8b5cf6', 600: '#7c3aed', 700: '#6d28d9',\n 800: '#5b21b6', 900: '#4c1d95', 950: '#2e1065',\n },\n pink: {\n 50: '#fdf2f8', 100: '#fce7f3', 200: '#fbcfe8', 300: '#f9a8d4',\n 400: '#f472b6', 500: '#ec4899', 600: '#db2777', 700: '#be185d',\n 800: '#9d174d', 900: '#831843', 950: '#500724',\n },\n cyan: {\n 50: '#ecfeff', 100: '#cffafe', 200: '#a5f3fc', 300: '#67e8f9',\n 400: '#22d3ee', 500: '#06b6d4', 600: '#0891b2', 700: '#0e7490',\n 800: '#155e75', 900: '#164e63', 950: '#083344',\n },\n lime: {\n 50: '#f7fee7', 100: '#ecfccb', 200: '#d9f99d', 300: '#bef264',\n 400: '#a3e635', 500: '#84cc16', 600: '#65a30d', 700: '#4d7c0f',\n 800: '#3f6212', 900: '#365314', 950: '#1a2e05',\n },\n orange: {\n 50: '#fff7ed', 100: '#ffedd5', 200: '#fed7aa', 300: '#fdba74',\n 400: '#fb923c', 500: '#f97316', 600: '#ea580c', 700: '#c2410c',\n 800: '#9a3412', 900: '#7c2d12', 950: '#431407',\n },\n indigo: {\n 50: '#eef2ff', 100: '#e0e7ff', 200: '#c7d2fe', 300: '#a5b4fc',\n 400: '#818cf8', 500: '#6366f1', 600: '#4f46e5', 700: '#4338ca',\n 800: '#3730a3', 900: '#312e81', 950: '#1e1b4e',\n },\n gray: {\n 50: '#f9fafb', 100: '#f3f4f6', 200: '#e5e7eb', 300: '#d1d5db',\n 400: '#9ca3af', 500: '#6b7280', 600: '#4b5563', 700: '#374151',\n 800: '#1f2937', 900: '#111827', 950: '#030712',\n },\n white: '#ffffff',\n}\n\n// ---------------------------------------------------------------------------\n// Theme preset CSS classes\n// ---------------------------------------------------------------------------\n\nconst THEME_CLASSES: Record<string, Record<string, string>> = {\n '.chartts-theme-corporate': {\n '--chartts-text': '#1e293b',\n '--chartts-text-muted': '#64748b',\n '--chartts-axis': '#94a3b8',\n '--chartts-grid': '#e2e8f0',\n '--chartts-tooltip-bg': '#ffffff',\n '--chartts-tooltip-text': '#1e293b',\n '--chartts-tooltip-border': '#cbd5e1',\n '--chartts-radius': '4px',\n '--chartts-font-family': '\"Inter\", \"Segoe UI\", -apple-system, sans-serif',\n },\n '.chartts-theme-saas': {\n '--chartts-text': '#0f172a',\n '--chartts-text-muted': '#475569',\n '--chartts-axis': '#cbd5e1',\n '--chartts-grid': '#f1f5f9',\n '--chartts-tooltip-bg': '#0f172a',\n '--chartts-tooltip-text': '#f8fafc',\n '--chartts-tooltip-border': '#334155',\n '--chartts-radius': '8px',\n },\n '.chartts-theme-startup': {\n '--chartts-text': '#2d3436',\n '--chartts-text-muted': '#636e72',\n '--chartts-axis': '#b2bec3',\n '--chartts-grid': '#dfe6e9',\n '--chartts-tooltip-bg': '#2d3436',\n '--chartts-tooltip-text': '#dfe6e9',\n '--chartts-tooltip-border': '#636e72',\n '--chartts-radius': '10px',\n '--chartts-font-family': '\"DM Sans\", \"Inter\", -apple-system, sans-serif',\n },\n '.chartts-theme-editorial': {\n '--chartts-text': '#1a1a1a',\n '--chartts-text-muted': '#7f8c8d',\n '--chartts-axis': '#bdc3c7',\n '--chartts-grid': '#ecf0f1',\n '--chartts-tooltip-bg': '#1a1a1a',\n '--chartts-tooltip-text': '#ecf0f1',\n '--chartts-tooltip-border': '#34495e',\n '--chartts-radius': '0px',\n '--chartts-font-family': '\"Georgia\", \"Times New Roman\", serif',\n },\n '.chartts-theme-ocean': {\n '--chartts-text': '#dfe6e9',\n '--chartts-text-muted': '#636e72',\n '--chartts-axis': '#2d3436',\n '--chartts-grid': '#2d3436',\n '--chartts-tooltip-bg': '#0a0a23',\n '--chartts-tooltip-text': '#dfe6e9',\n '--chartts-tooltip-border': '#2d3436',\n '--chartts-radius': '6px',\n },\n}\n\n// Dark mode overrides\nconst DARK_OVERRIDES: Record<string, string> = {\n '--chartts-text': '#f3f4f6',\n '--chartts-text-muted': '#6b7280',\n '--chartts-axis': '#374151',\n '--chartts-grid': '#1f2937',\n '--chartts-tooltip-bg': '#111827',\n '--chartts-tooltip-text': '#f3f4f6',\n '--chartts-tooltip-border': '#374151',\n}\n\n// ---------------------------------------------------------------------------\n// Plugin options\n// ---------------------------------------------------------------------------\n\nexport interface CharttsPluginOptions {\n /** Include all Tailwind color variables (default: true) */\n colors?: boolean\n /** Include theme preset classes (default: true) */\n themes?: boolean\n /** Include dark mode overrides (default: true) */\n darkMode?: boolean\n /** Custom color palette to expose as --color-* variables */\n palette?: Record<string, Record<string, string> | string>\n}\n\n// ---------------------------------------------------------------------------\n// Plugin\n// ---------------------------------------------------------------------------\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst charttsPlugin: { (options?: CharttsPluginOptions): any; __isOptionsFunction: true } = plugin.withOptions<CharttsPluginOptions>(\n (options = {}) => {\n const {\n colors = true,\n themes = true,\n darkMode = true,\n } = options\n\n return ({ addBase, addUtilities }) => {\n // 1. Expose Tailwind color variables as --color-* CSS custom properties\n // This bridges Tailwind v3 to the var(--color-*) format Chartts uses\n if (colors) {\n const colorVars: Record<string, string> = {}\n const colorSource = options.palette ?? COLOR_MAP\n\n for (const [name, shades] of Object.entries(colorSource)) {\n if (typeof shades === 'string') {\n colorVars[`--color-${name}`] = shades\n } else {\n for (const [shade, hex] of Object.entries(shades)) {\n colorVars[`--color-${name}-${shade}`] = hex\n }\n }\n }\n\n addBase({ ':root': colorVars })\n }\n\n // 2. Theme preset utility classes\n if (themes) {\n addUtilities(THEME_CLASSES)\n }\n\n // 3. Dark mode overrides\n if (darkMode) {\n addBase({\n '.dark .chartts, .chartts-dark': DARK_OVERRIDES,\n '@media (prefers-color-scheme: dark)': {\n '.chartts-auto': DARK_OVERRIDES,\n },\n })\n }\n }\n },\n)\n\nexport default charttsPlugin\nexport { charttsPlugin }\n"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@chartts/tailwind",
|
|
3
|
+
"version": "0.1.3",
|
|
4
|
+
"description": "Tailwind CSS plugin for Chartts — style charts with utility classes.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.cjs",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js",
|
|
13
|
+
"require": "./dist/index.cjs"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist"
|
|
18
|
+
],
|
|
19
|
+
"sideEffects": false,
|
|
20
|
+
"peerDependencies": {
|
|
21
|
+
"tailwindcss": ">=3.4.0"
|
|
22
|
+
},
|
|
23
|
+
"license": "MIT",
|
|
24
|
+
"repository": {
|
|
25
|
+
"type": "git",
|
|
26
|
+
"url": "https://github.com/chartts/chartts"
|
|
27
|
+
},
|
|
28
|
+
"homepage": "https://chartts.com",
|
|
29
|
+
"scripts": {
|
|
30
|
+
"build": "tsup",
|
|
31
|
+
"dev": "tsup --watch"
|
|
32
|
+
}
|
|
33
|
+
}
|