chai-tailwind-js 1.0.1 → 1.0.2
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/chai-tailwind.global.js +2 -223
- package/dist/chai-tailwind.js +2 -221
- package/package.json +1 -1
|
@@ -20,234 +20,13 @@ var chaiTailwind = (() => {
|
|
|
20
20
|
// src/index.js
|
|
21
21
|
var index_exports = {};
|
|
22
22
|
__export(index_exports, {
|
|
23
|
-
default: () =>
|
|
23
|
+
default: () => index_default
|
|
24
24
|
});
|
|
25
|
-
|
|
26
|
-
// src/core/scanner.js
|
|
27
|
-
function scanDOM() {
|
|
28
|
-
const elements = document.querySelectorAll("[class]");
|
|
29
|
-
return elements;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
// src/utils/config.js
|
|
33
|
-
var spacing = {};
|
|
34
|
-
for (let i = 0; i <= 20; i++) {
|
|
35
|
-
spacing[i] = `${i * 4}px`;
|
|
36
|
-
}
|
|
37
|
-
var config = {
|
|
38
|
-
spacing,
|
|
39
|
-
colors: {
|
|
40
|
-
red: {
|
|
41
|
-
100: "#fee2e2",
|
|
42
|
-
300: "#fca5a5",
|
|
43
|
-
500: "#ef4444",
|
|
44
|
-
700: "#b91c1c"
|
|
45
|
-
},
|
|
46
|
-
blue: {
|
|
47
|
-
100: "#dbeafe",
|
|
48
|
-
300: "#93c5fd",
|
|
49
|
-
500: "#3b82f6",
|
|
50
|
-
700: "#1d4ed8"
|
|
51
|
-
},
|
|
52
|
-
green: {
|
|
53
|
-
100: "#dcfce7",
|
|
54
|
-
300: "#86efac",
|
|
55
|
-
500: "#22c55e",
|
|
56
|
-
700: "#15803d"
|
|
57
|
-
},
|
|
58
|
-
yellow: {
|
|
59
|
-
100: "#fef9c3",
|
|
60
|
-
300: "#fde047",
|
|
61
|
-
500: "#eab308",
|
|
62
|
-
700: "#a16207"
|
|
63
|
-
},
|
|
64
|
-
purple: {
|
|
65
|
-
100: "#f3e8ff",
|
|
66
|
-
300: "#d8b4fe",
|
|
67
|
-
500: "#a855f7",
|
|
68
|
-
700: "#7e22ce"
|
|
69
|
-
},
|
|
70
|
-
pink: {
|
|
71
|
-
100: "#fce7f3",
|
|
72
|
-
300: "#f9a8d4",
|
|
73
|
-
500: "#ec4899",
|
|
74
|
-
700: "#be185d"
|
|
75
|
-
},
|
|
76
|
-
black: "black",
|
|
77
|
-
white: "white"
|
|
78
|
-
},
|
|
79
|
-
fontSize: {
|
|
80
|
-
xs: "12px",
|
|
81
|
-
sm: "14px",
|
|
82
|
-
base: "16px",
|
|
83
|
-
lg: "18px",
|
|
84
|
-
xl: "20px",
|
|
85
|
-
"2xl": "24px",
|
|
86
|
-
"3xl": "28px",
|
|
87
|
-
"4xl": "32px",
|
|
88
|
-
"5xl": "40px"
|
|
89
|
-
},
|
|
90
|
-
borderRadius: {
|
|
91
|
-
none: "0px",
|
|
92
|
-
sm: "4px",
|
|
93
|
-
DEFAULT: "8px",
|
|
94
|
-
md: "10px",
|
|
95
|
-
lg: "12px",
|
|
96
|
-
xl: "16px",
|
|
97
|
-
full: "9999px"
|
|
98
|
-
},
|
|
99
|
-
shadows: {
|
|
100
|
-
sm: "0 1px 3px rgba(0,0,0,0.1)",
|
|
101
|
-
DEFAULT: "0 4px 10px rgba(0,0,0,0.1)",
|
|
102
|
-
md: "0 6px 20px rgba(0,0,0,0.15)",
|
|
103
|
-
lg: "0 10px 30px rgba(0,0,0,0.2)"
|
|
104
|
-
}
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
// src/core/parser.js
|
|
108
|
-
function parseClass(cls) {
|
|
109
|
-
let hover = null;
|
|
110
|
-
let utility = cls;
|
|
111
|
-
if (cls.includes(":")) {
|
|
112
|
-
const parts2 = cls.split(":");
|
|
113
|
-
hover = parts2[0];
|
|
114
|
-
utility = parts2[1];
|
|
115
|
-
}
|
|
116
|
-
if (!utility.startsWith("chai-")) return null;
|
|
117
|
-
utility = utility.slice(5);
|
|
118
|
-
if (!utility.includes("-")) return null;
|
|
119
|
-
const parts = utility.split("-");
|
|
120
|
-
const prefix = parts[0];
|
|
121
|
-
const value = parts.slice(1).join("-");
|
|
122
|
-
return {
|
|
123
|
-
hover,
|
|
124
|
-
prefix,
|
|
125
|
-
value
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
// src/runtime/interpreter.js
|
|
130
|
-
var handlers = {
|
|
131
|
-
p: (element, value) => {
|
|
132
|
-
const spacing2 = config.spacing[value];
|
|
133
|
-
if (spacing2) element.style.padding = spacing2;
|
|
134
|
-
},
|
|
135
|
-
m: (element, value) => {
|
|
136
|
-
const spacing2 = config.spacing[value];
|
|
137
|
-
if (spacing2) element.style.margin = spacing2;
|
|
138
|
-
},
|
|
139
|
-
bg: (element, value) => {
|
|
140
|
-
const [color, shade] = value.split("-");
|
|
141
|
-
const colorValue = config.colors[color]?.[shade];
|
|
142
|
-
if (colorValue) {
|
|
143
|
-
element.style.backgroundColor = colorValue;
|
|
144
|
-
}
|
|
145
|
-
},
|
|
146
|
-
text: (element, value) => {
|
|
147
|
-
const parts = value.split("-");
|
|
148
|
-
if (parts.length === 1) {
|
|
149
|
-
const size = config.fontSize[value];
|
|
150
|
-
if (size) {
|
|
151
|
-
element.style.fontSize = size;
|
|
152
|
-
return;
|
|
153
|
-
}
|
|
154
|
-
const color = config.colors[value];
|
|
155
|
-
if (color) element.style.color = color;
|
|
156
|
-
} else {
|
|
157
|
-
const [color, shade] = parts;
|
|
158
|
-
const c = config.colors[color]?.[shade];
|
|
159
|
-
if (c) element.style.color = c;
|
|
160
|
-
}
|
|
161
|
-
},
|
|
162
|
-
rounded: (element, value) => {
|
|
163
|
-
if (value === "DEFAULT") return;
|
|
164
|
-
const radius = config.borderRadius[value || "DEFAULT"];
|
|
165
|
-
if (radius) element.style.borderRadius = radius;
|
|
166
|
-
},
|
|
167
|
-
shadow: (element, value) => {
|
|
168
|
-
if (value === "DEFAULT") return;
|
|
169
|
-
const s = config.shadows[value || "DEFAULT"];
|
|
170
|
-
if (s) element.style.boxShadow = s;
|
|
171
|
-
},
|
|
172
|
-
flex: (element, value) => {
|
|
173
|
-
if (!value) {
|
|
174
|
-
element.style.display = "flex";
|
|
175
|
-
return;
|
|
176
|
-
}
|
|
177
|
-
if (value === "row") {
|
|
178
|
-
element.style.display = "flex";
|
|
179
|
-
element.style.flexDirection = "row";
|
|
180
|
-
}
|
|
181
|
-
if (value === "col") {
|
|
182
|
-
element.style.display = "flex";
|
|
183
|
-
element.style.flexDirection = "column";
|
|
184
|
-
}
|
|
185
|
-
},
|
|
186
|
-
justify: (element, value) => {
|
|
187
|
-
const map = {
|
|
188
|
-
start: "flex-start",
|
|
189
|
-
center: "center",
|
|
190
|
-
end: "flex-end",
|
|
191
|
-
between: "space-between",
|
|
192
|
-
around: "space-around",
|
|
193
|
-
evenly: "space-evenly"
|
|
194
|
-
};
|
|
195
|
-
const justify = map[value];
|
|
196
|
-
if (justify) {
|
|
197
|
-
element.style.display = "flex";
|
|
198
|
-
element.style.justifyContent = justify;
|
|
199
|
-
}
|
|
200
|
-
},
|
|
201
|
-
items: (element, value) => {
|
|
202
|
-
const map = {
|
|
203
|
-
start: "flex-start",
|
|
204
|
-
center: "center",
|
|
205
|
-
end: "flex-end",
|
|
206
|
-
stretch: "stretch",
|
|
207
|
-
baseline: "baseline"
|
|
208
|
-
};
|
|
209
|
-
const align = map[value];
|
|
210
|
-
if (align) {
|
|
211
|
-
element.style.display = "flex";
|
|
212
|
-
element.style.alignItems = align;
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
};
|
|
216
|
-
function interpretClass(element, cls) {
|
|
217
|
-
const parsed = parseClass(cls);
|
|
218
|
-
if (!parsed) return;
|
|
219
|
-
const { hover, prefix, value } = parsed;
|
|
220
|
-
const handler = handlers[prefix];
|
|
221
|
-
if (!handler) return;
|
|
222
|
-
if (!hover) {
|
|
223
|
-
handler(element, value);
|
|
224
|
-
}
|
|
225
|
-
if (hover === "hover") {
|
|
226
|
-
let original = "";
|
|
227
|
-
element.addEventListener("mouseenter", () => {
|
|
228
|
-
original = element.style.backgroundColor;
|
|
229
|
-
handler(element, value);
|
|
230
|
-
});
|
|
231
|
-
element.addEventListener("mouseleave", () => {
|
|
232
|
-
element.style.backgroundColor = original;
|
|
233
|
-
});
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
// src/core/styler.js
|
|
238
|
-
function applyStyles(elements) {
|
|
239
|
-
elements.forEach((element) => {
|
|
240
|
-
element.classList.forEach((cls) => {
|
|
241
|
-
interpretClass(element, cls);
|
|
242
|
-
});
|
|
243
|
-
});
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
// src/index.js
|
|
247
25
|
function chaiTailwind() {
|
|
248
26
|
const elements = scanDOM();
|
|
249
27
|
applyStyles(elements);
|
|
250
28
|
}
|
|
29
|
+
var index_default = chaiTailwind;
|
|
251
30
|
if (typeof window !== "undefined") {
|
|
252
31
|
window.chaiTailwind = chaiTailwind;
|
|
253
32
|
}
|
package/dist/chai-tailwind.js
CHANGED
|
@@ -1,231 +1,12 @@
|
|
|
1
|
-
// src/core/scanner.js
|
|
2
|
-
function scanDOM() {
|
|
3
|
-
const elements = document.querySelectorAll("[class]");
|
|
4
|
-
return elements;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
// src/utils/config.js
|
|
8
|
-
var spacing = {};
|
|
9
|
-
for (let i = 0; i <= 20; i++) {
|
|
10
|
-
spacing[i] = `${i * 4}px`;
|
|
11
|
-
}
|
|
12
|
-
var config = {
|
|
13
|
-
spacing,
|
|
14
|
-
colors: {
|
|
15
|
-
red: {
|
|
16
|
-
100: "#fee2e2",
|
|
17
|
-
300: "#fca5a5",
|
|
18
|
-
500: "#ef4444",
|
|
19
|
-
700: "#b91c1c"
|
|
20
|
-
},
|
|
21
|
-
blue: {
|
|
22
|
-
100: "#dbeafe",
|
|
23
|
-
300: "#93c5fd",
|
|
24
|
-
500: "#3b82f6",
|
|
25
|
-
700: "#1d4ed8"
|
|
26
|
-
},
|
|
27
|
-
green: {
|
|
28
|
-
100: "#dcfce7",
|
|
29
|
-
300: "#86efac",
|
|
30
|
-
500: "#22c55e",
|
|
31
|
-
700: "#15803d"
|
|
32
|
-
},
|
|
33
|
-
yellow: {
|
|
34
|
-
100: "#fef9c3",
|
|
35
|
-
300: "#fde047",
|
|
36
|
-
500: "#eab308",
|
|
37
|
-
700: "#a16207"
|
|
38
|
-
},
|
|
39
|
-
purple: {
|
|
40
|
-
100: "#f3e8ff",
|
|
41
|
-
300: "#d8b4fe",
|
|
42
|
-
500: "#a855f7",
|
|
43
|
-
700: "#7e22ce"
|
|
44
|
-
},
|
|
45
|
-
pink: {
|
|
46
|
-
100: "#fce7f3",
|
|
47
|
-
300: "#f9a8d4",
|
|
48
|
-
500: "#ec4899",
|
|
49
|
-
700: "#be185d"
|
|
50
|
-
},
|
|
51
|
-
black: "black",
|
|
52
|
-
white: "white"
|
|
53
|
-
},
|
|
54
|
-
fontSize: {
|
|
55
|
-
xs: "12px",
|
|
56
|
-
sm: "14px",
|
|
57
|
-
base: "16px",
|
|
58
|
-
lg: "18px",
|
|
59
|
-
xl: "20px",
|
|
60
|
-
"2xl": "24px",
|
|
61
|
-
"3xl": "28px",
|
|
62
|
-
"4xl": "32px",
|
|
63
|
-
"5xl": "40px"
|
|
64
|
-
},
|
|
65
|
-
borderRadius: {
|
|
66
|
-
none: "0px",
|
|
67
|
-
sm: "4px",
|
|
68
|
-
DEFAULT: "8px",
|
|
69
|
-
md: "10px",
|
|
70
|
-
lg: "12px",
|
|
71
|
-
xl: "16px",
|
|
72
|
-
full: "9999px"
|
|
73
|
-
},
|
|
74
|
-
shadows: {
|
|
75
|
-
sm: "0 1px 3px rgba(0,0,0,0.1)",
|
|
76
|
-
DEFAULT: "0 4px 10px rgba(0,0,0,0.1)",
|
|
77
|
-
md: "0 6px 20px rgba(0,0,0,0.15)",
|
|
78
|
-
lg: "0 10px 30px rgba(0,0,0,0.2)"
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
// src/core/parser.js
|
|
83
|
-
function parseClass(cls) {
|
|
84
|
-
let hover = null;
|
|
85
|
-
let utility = cls;
|
|
86
|
-
if (cls.includes(":")) {
|
|
87
|
-
const parts2 = cls.split(":");
|
|
88
|
-
hover = parts2[0];
|
|
89
|
-
utility = parts2[1];
|
|
90
|
-
}
|
|
91
|
-
if (!utility.startsWith("chai-")) return null;
|
|
92
|
-
utility = utility.slice(5);
|
|
93
|
-
if (!utility.includes("-")) return null;
|
|
94
|
-
const parts = utility.split("-");
|
|
95
|
-
const prefix = parts[0];
|
|
96
|
-
const value = parts.slice(1).join("-");
|
|
97
|
-
return {
|
|
98
|
-
hover,
|
|
99
|
-
prefix,
|
|
100
|
-
value
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
// src/runtime/interpreter.js
|
|
105
|
-
var handlers = {
|
|
106
|
-
p: (element, value) => {
|
|
107
|
-
const spacing2 = config.spacing[value];
|
|
108
|
-
if (spacing2) element.style.padding = spacing2;
|
|
109
|
-
},
|
|
110
|
-
m: (element, value) => {
|
|
111
|
-
const spacing2 = config.spacing[value];
|
|
112
|
-
if (spacing2) element.style.margin = spacing2;
|
|
113
|
-
},
|
|
114
|
-
bg: (element, value) => {
|
|
115
|
-
const [color, shade] = value.split("-");
|
|
116
|
-
const colorValue = config.colors[color]?.[shade];
|
|
117
|
-
if (colorValue) {
|
|
118
|
-
element.style.backgroundColor = colorValue;
|
|
119
|
-
}
|
|
120
|
-
},
|
|
121
|
-
text: (element, value) => {
|
|
122
|
-
const parts = value.split("-");
|
|
123
|
-
if (parts.length === 1) {
|
|
124
|
-
const size = config.fontSize[value];
|
|
125
|
-
if (size) {
|
|
126
|
-
element.style.fontSize = size;
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
const color = config.colors[value];
|
|
130
|
-
if (color) element.style.color = color;
|
|
131
|
-
} else {
|
|
132
|
-
const [color, shade] = parts;
|
|
133
|
-
const c = config.colors[color]?.[shade];
|
|
134
|
-
if (c) element.style.color = c;
|
|
135
|
-
}
|
|
136
|
-
},
|
|
137
|
-
rounded: (element, value) => {
|
|
138
|
-
if (value === "DEFAULT") return;
|
|
139
|
-
const radius = config.borderRadius[value || "DEFAULT"];
|
|
140
|
-
if (radius) element.style.borderRadius = radius;
|
|
141
|
-
},
|
|
142
|
-
shadow: (element, value) => {
|
|
143
|
-
if (value === "DEFAULT") return;
|
|
144
|
-
const s = config.shadows[value || "DEFAULT"];
|
|
145
|
-
if (s) element.style.boxShadow = s;
|
|
146
|
-
},
|
|
147
|
-
flex: (element, value) => {
|
|
148
|
-
if (!value) {
|
|
149
|
-
element.style.display = "flex";
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
if (value === "row") {
|
|
153
|
-
element.style.display = "flex";
|
|
154
|
-
element.style.flexDirection = "row";
|
|
155
|
-
}
|
|
156
|
-
if (value === "col") {
|
|
157
|
-
element.style.display = "flex";
|
|
158
|
-
element.style.flexDirection = "column";
|
|
159
|
-
}
|
|
160
|
-
},
|
|
161
|
-
justify: (element, value) => {
|
|
162
|
-
const map = {
|
|
163
|
-
start: "flex-start",
|
|
164
|
-
center: "center",
|
|
165
|
-
end: "flex-end",
|
|
166
|
-
between: "space-between",
|
|
167
|
-
around: "space-around",
|
|
168
|
-
evenly: "space-evenly"
|
|
169
|
-
};
|
|
170
|
-
const justify = map[value];
|
|
171
|
-
if (justify) {
|
|
172
|
-
element.style.display = "flex";
|
|
173
|
-
element.style.justifyContent = justify;
|
|
174
|
-
}
|
|
175
|
-
},
|
|
176
|
-
items: (element, value) => {
|
|
177
|
-
const map = {
|
|
178
|
-
start: "flex-start",
|
|
179
|
-
center: "center",
|
|
180
|
-
end: "flex-end",
|
|
181
|
-
stretch: "stretch",
|
|
182
|
-
baseline: "baseline"
|
|
183
|
-
};
|
|
184
|
-
const align = map[value];
|
|
185
|
-
if (align) {
|
|
186
|
-
element.style.display = "flex";
|
|
187
|
-
element.style.alignItems = align;
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
};
|
|
191
|
-
function interpretClass(element, cls) {
|
|
192
|
-
const parsed = parseClass(cls);
|
|
193
|
-
if (!parsed) return;
|
|
194
|
-
const { hover, prefix, value } = parsed;
|
|
195
|
-
const handler = handlers[prefix];
|
|
196
|
-
if (!handler) return;
|
|
197
|
-
if (!hover) {
|
|
198
|
-
handler(element, value);
|
|
199
|
-
}
|
|
200
|
-
if (hover === "hover") {
|
|
201
|
-
let original = "";
|
|
202
|
-
element.addEventListener("mouseenter", () => {
|
|
203
|
-
original = element.style.backgroundColor;
|
|
204
|
-
handler(element, value);
|
|
205
|
-
});
|
|
206
|
-
element.addEventListener("mouseleave", () => {
|
|
207
|
-
element.style.backgroundColor = original;
|
|
208
|
-
});
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
// src/core/styler.js
|
|
213
|
-
function applyStyles(elements) {
|
|
214
|
-
elements.forEach((element) => {
|
|
215
|
-
element.classList.forEach((cls) => {
|
|
216
|
-
interpretClass(element, cls);
|
|
217
|
-
});
|
|
218
|
-
});
|
|
219
|
-
}
|
|
220
|
-
|
|
221
1
|
// src/index.js
|
|
222
2
|
function chaiTailwind() {
|
|
223
3
|
const elements = scanDOM();
|
|
224
4
|
applyStyles(elements);
|
|
225
5
|
}
|
|
6
|
+
var index_default = chaiTailwind;
|
|
226
7
|
if (typeof window !== "undefined") {
|
|
227
8
|
window.chaiTailwind = chaiTailwind;
|
|
228
9
|
}
|
|
229
10
|
export {
|
|
230
|
-
|
|
11
|
+
index_default as default
|
|
231
12
|
};
|