css-to-tailwind-react 0.1.2 → 0.2.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.
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isHtmlElement = isHtmlElement;
4
+ exports.parseDescendantSelector = parseDescendantSelector;
5
+ exports.isDescendantSelector = isDescendantSelector;
6
+ exports.isSimpleSelector = isSimpleSelector;
7
+ exports.processDescendantSelector = processDescendantSelector;
8
+ const logger_1 = require("./logger");
9
+ const HTML_ELEMENTS = new Set([
10
+ 'a', 'abbr', 'address', 'article', 'aside', 'audio',
11
+ 'b', 'blockquote', 'body', 'br', 'button',
12
+ 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup',
13
+ 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt',
14
+ 'em', 'embed',
15
+ 'fieldset', 'figcaption', 'figure', 'footer', 'form',
16
+ 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html',
17
+ 'i', 'iframe', 'img', 'input', 'ins',
18
+ 'kbd',
19
+ 'label', 'legend', 'li', 'link',
20
+ 'main', 'map', 'mark', 'menu', 'meta', 'meter',
21
+ 'nav', 'noscript',
22
+ 'object', 'ol', 'optgroup', 'option', 'output',
23
+ 'p', 'param', 'picture', 'pre', 'progress',
24
+ 'q',
25
+ 'rp', 'rt', 'ruby',
26
+ 's', 'samp', 'script', 'search', 'section', 'select', 'slot', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'svg',
27
+ 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track',
28
+ 'u', 'ul',
29
+ 'var', 'video',
30
+ 'wbr'
31
+ ]);
32
+ function isHtmlElement(name) {
33
+ return HTML_ELEMENTS.has(name.toLowerCase());
34
+ }
35
+ function parseSelectorPart(part) {
36
+ const trimmed = part.trim();
37
+ if (!trimmed)
38
+ return null;
39
+ if (trimmed.startsWith('.')) {
40
+ const className = trimmed.slice(1);
41
+ if (!className || !/^[a-zA-Z_-][a-zA-Z0-9_-]*$/.test(className)) {
42
+ return null;
43
+ }
44
+ return { type: 'class', name: className };
45
+ }
46
+ if (/^[a-zA-Z][a-zA-Z0-9]*$/.test(trimmed)) {
47
+ return { type: 'element', name: trimmed.toLowerCase() };
48
+ }
49
+ return null;
50
+ }
51
+ function parseDescendantSelector(selector) {
52
+ const trimmed = selector.trim();
53
+ if (trimmed.includes(',')) {
54
+ return {
55
+ parent: undefined,
56
+ target: { type: 'element', name: '' },
57
+ isComplex: true,
58
+ reason: `Skipped comma-separated selector (${selector})`
59
+ };
60
+ }
61
+ if (trimmed.includes('>')) {
62
+ return {
63
+ parent: undefined,
64
+ target: { type: 'element', name: '' },
65
+ isComplex: true,
66
+ reason: `Skipped child combinator selector (${selector})`
67
+ };
68
+ }
69
+ if (trimmed.includes('+')) {
70
+ return {
71
+ parent: undefined,
72
+ target: { type: 'element', name: '' },
73
+ isComplex: true,
74
+ reason: `Skipped adjacent sibling selector (${selector})`
75
+ };
76
+ }
77
+ if (trimmed.includes('~')) {
78
+ return {
79
+ parent: undefined,
80
+ target: { type: 'element', name: '' },
81
+ isComplex: true,
82
+ reason: `Skipped general sibling selector (${selector})`
83
+ };
84
+ }
85
+ if (trimmed.includes(':not') || trimmed.includes(':has') || trimmed.includes(':is') || trimmed.includes(':where')) {
86
+ return {
87
+ parent: undefined,
88
+ target: { type: 'element', name: '' },
89
+ isComplex: true,
90
+ reason: `Skipped pseudo-class with argument (${selector})`
91
+ };
92
+ }
93
+ if (trimmed.includes('[') && trimmed.includes(']')) {
94
+ return {
95
+ parent: undefined,
96
+ target: { type: 'element', name: '' },
97
+ isComplex: true,
98
+ reason: `Skipped attribute selector (${selector})`
99
+ };
100
+ }
101
+ if (trimmed.includes(':')) {
102
+ const colonCount = (trimmed.match(/:/g) || []).length;
103
+ if (colonCount > 2 || trimmed.includes('::before') || trimmed.includes('::after')) {
104
+ return {
105
+ parent: undefined,
106
+ target: { type: 'element', name: '' },
107
+ isComplex: true,
108
+ reason: `Skipped selector with pseudo (${selector})`
109
+ };
110
+ }
111
+ }
112
+ const parts = trimmed.split(/\s+/).filter(Boolean);
113
+ if (parts.length === 1) {
114
+ const part = parseSelectorPart(parts[0]);
115
+ if (!part) {
116
+ return {
117
+ parent: undefined,
118
+ target: { type: 'element', name: '' },
119
+ isComplex: true,
120
+ reason: `Invalid selector part (${parts[0]})`
121
+ };
122
+ }
123
+ return {
124
+ parent: undefined,
125
+ target: part,
126
+ isComplex: false
127
+ };
128
+ }
129
+ if (parts.length === 2) {
130
+ const parentPart = parseSelectorPart(parts[0]);
131
+ const targetPart = parseSelectorPart(parts[1]);
132
+ if (!parentPart || !targetPart) {
133
+ return {
134
+ parent: undefined,
135
+ target: { type: 'element', name: '' },
136
+ isComplex: true,
137
+ reason: `Invalid selector part in (${selector})`
138
+ };
139
+ }
140
+ return {
141
+ parent: parentPart,
142
+ target: targetPart,
143
+ isComplex: false
144
+ };
145
+ }
146
+ if (parts.length > 2) {
147
+ return {
148
+ parent: undefined,
149
+ target: { type: 'element', name: '' },
150
+ isComplex: true,
151
+ reason: `Skipped multi-level descendant selector (${selector})`
152
+ };
153
+ }
154
+ return {
155
+ parent: undefined,
156
+ target: { type: 'element', name: '' },
157
+ isComplex: true,
158
+ reason: `Unable to parse selector (${selector})`
159
+ };
160
+ }
161
+ function isDescendantSelector(selector) {
162
+ const parsed = parseDescendantSelector(selector);
163
+ return !parsed.isComplex && parsed.parent !== undefined;
164
+ }
165
+ function isSimpleSelector(selector) {
166
+ const parsed = parseDescendantSelector(selector);
167
+ return !parsed.isComplex && parsed.parent === undefined;
168
+ }
169
+ function processDescendantSelector(selector) {
170
+ const parsed = parseDescendantSelector(selector);
171
+ if (parsed.isComplex) {
172
+ logger_1.logger.verbose(parsed.reason || `Skipped complex selector: ${selector}`);
173
+ return { parsed: null, skipped: true, reason: parsed.reason };
174
+ }
175
+ if (parsed.parent) {
176
+ const parentDesc = parsed.parent.type === 'class'
177
+ ? `.${parsed.parent.name}`
178
+ : parsed.parent.name;
179
+ const targetDesc = parsed.target.type === 'class'
180
+ ? `.${parsed.target.name}`
181
+ : parsed.target.name;
182
+ logger_1.logger.verbose(`Parsed descendant selector: ${parentDesc} ${targetDesc}`);
183
+ }
184
+ return { parsed, skipped: false };
185
+ }
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY2VuZGFudFNlbGVjdG9yUmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZGVzY2VuZGFudFNlbGVjdG9yUmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF3Q0Esc0NBRUM7QUFxQkQsMERBNEhDO0FBRUQsb0RBR0M7QUFFRCw0Q0FHQztBQUVELDhEQXVCQztBQTlORCxxQ0FBa0M7QUFnQmxDLE1BQU0sYUFBYSxHQUFHLElBQUksR0FBRyxDQUFDO0lBQzVCLEdBQUcsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTztJQUNuRCxHQUFHLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUTtJQUN6QyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVU7SUFDdEQsTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSTtJQUM5RSxJQUFJLEVBQUUsT0FBTztJQUNiLFVBQVUsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNO0lBQ3BELElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNO0lBQzVFLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLO0lBQ3BDLEtBQUs7SUFDTCxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNO0lBQy9CLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTztJQUM5QyxLQUFLLEVBQUUsVUFB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Q0FBQywrQkFBK0IsVUFBVSxJQUFJLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBsb2dnZXIgfSBmcm9tICcuL2xvZ2dlcic7XG5cbmV4cG9ydCB0eXBlIFNlbGVjdG9yVHlwZSA9ICdjbGFzcycgfCAnZWxlbWVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0b3JQYXJ0IHtcbiAgdHlwZTogU2VsZWN0b3JUeXBlO1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVzY2VuZGFudFNlbGVjdG9yIHtcbiAgcGFyZW50PzogU2VsZWN0b3JQYXJ0O1xuICB0YXJnZXQ6IFNlbGVjdG9yUGFydDtcbiAgaXNDb21wbGV4OiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59XG5cbmNvbnN0IEhUTUxfRUxFTUVOVFMgPSBuZXcgU2V0KFtcbiAgJ2EnLCAnYWJicicsICdhZGRyZXNzJywgJ2FydGljbGUnLCAnYXNpZGUnLCAnYXVkaW8nLFxuICAnYicsICdibG9ja3F1b3RlJywgJ2JvZHknLCAnYnInLCAnYnV0dG9uJyxcbiAgJ2NhbnZhcycsICdjYXB0aW9uJywgJ2NpdGUnLCAnY29kZScsICdjb2wnLCAnY29sZ3JvdXAnLFxuICAnZGF0YScsICdkYXRhbGlzdCcsICdkZCcsICdkZWwnLCAnZGV0YWlscycsICdkZm4nLCAnZGlhbG9nJywgJ2RpdicsICdkbCcsICdkdCcsXG4gICdlbScsICdlbWJlZCcsXG4gICdmaWVsZHNldCcsICdmaWdjYXB0aW9uJywgJ2ZpZ3VyZScsICdmb290ZXInLCAnZm9ybScsXG4gICdoMScsICdoMicsICdoMycsICdoNCcsICdoNScsICdoNicsICdoZWFkJywgJ2hlYWRlcicsICdoZ3JvdXAnLCAnaHInLCAnaHRtbCcsXG4gICdpJywgJ2lmcmFtZScsICdpbWcnLCAnaW5wdXQnLCAnaW5zJyxcbiAgJ2tiZCcsXG4gICdsYWJlbCcsICdsZWdlbmQnLCAnbGknLCAnbGluaycsXG4gICdtYWluJywgJ21hcCcsICdtYXJrJywgJ21lbnUnLCAnbWV0YScsICdtZXRlcicsXG4gICduYXYnLCAnbm9zY3JpcHQnLFxuICAnb2JqZWN0JywgJ29sJywgJ29wdGdyb3VwJywgJ29wdGlvbicsICdvdXRwdXQnLFxuICAncCcsICdwYXJhbScsICdwaWN0dXJlJywgJ3ByZScsICdwcm9ncmVzcycsXG4gICdxJyxcbiAgJ3JwJywgJ3J0JywgJ3J1YnknLFxuICAncycsICdzYW1wJywgJ3NjcmlwdCcsICdzZWFyY2gnLCAnc2VjdGlvbicsICdzZWxlY3QnLCAnc2xvdCcsICdzbWFsbCcsICdzb3VyY2UnLCAnc3BhbicsICdzdHJvbmcnLCAnc3R5bGUnLCAnc3ViJywgJ3N1bW1hcnknLCAnc3VwJywgJ3N2ZycsXG4gICd0YWJsZScsICd0Ym9keScsICd0ZCcsICd0ZW1wbGF0ZScsICd0ZXh0YXJlYScsICd0Zm9vdCcsICd0aCcsICd0aGVhZCcsICd0aW1lJywgJ3RpdGxlJywgJ3RyJywgJ3RyYWNrJyxcbiAgJ3UnLCAndWwnLFxuICAndmFyJywgJ3ZpZGVvJyxcbiAgJ3dicidcbl0pO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNIdG1sRWxlbWVudChuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIEhUTUxfRUxFTUVOVFMuaGFzKG5hbWUudG9Mb3dlckNhc2UoKSk7XG59XG5cbmZ1bmN0aW9uIHBhcnNlU2VsZWN0b3JQYXJ0KHBhcnQ6IHN0cmluZyk6IFNlbGVjdG9yUGFydCB8IG51bGwge1xuICBjb25zdCB0cmltbWVkID0gcGFydC50cmltKCk7XG4gIGlmICghdHJpbW1lZCkgcmV0dXJuIG51bGw7XG4gIFxuICBpZiAodHJpbW1lZC5zdGFydHNXaXRoKCcuJykpIHtcbiAgICBjb25zdCBjbGFzc05hbWUgPSB0cmltbWVkLnNsaWNlKDEpO1xuICAgIGlmICghY2xhc3NOYW1lIHx8ICEvXlthLXpBLVpfLV1bYS16QS1aMC05Xy1dKiQvLnRlc3QoY2xhc3NOYW1lKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB7IHR5cGU6ICdjbGFzcycsIG5hbWU6IGNsYXNzTmFtZSB9O1xuICB9XG4gIFxuICBpZiAoL15bYS16QS1aXVthLXpBLVowLTldKiQvLnRlc3QodHJpbW1lZCkpIHtcbiAgICByZXR1cm4geyB0eXBlOiAnZWxlbWVudCcsIG5hbWU6IHRyaW1tZWQudG9Mb3dlckNhc2UoKSB9O1xuICB9XG4gIFxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRGVzY2VuZGFudFNlbGVjdG9yKHNlbGVjdG9yOiBzdHJpbmcpOiBEZXNjZW5kYW50U2VsZWN0b3Ige1xuICBjb25zdCB0cmltbWVkID0gc2VsZWN0b3IudHJpbSgpO1xuICBcbiAgaWYgKHRyaW1tZWQuaW5jbHVkZXMoJywnKSkge1xuICAgIHJldHVybiB7XG4gICAgICBwYXJlbnQ6IHVuZGVmaW5lZCxcbiAgICAgIHRhcmdldDogeyB0eXBlOiAnZWxlbWVudCcsIG5hbWU6ICcnIH0sXG4gICAgICBpc0NvbXBsZXg6IHRydWUsXG4gICAgICByZWFzb246IGBTa2lwcGVkIGNvbW1hLXNlcGFyYXRlZCBzZWxlY3RvciAoJHtzZWxlY3Rvcn0pYFxuICAgIH07XG4gIH1cbiAgXG4gIGlmICh0cmltbWVkLmluY2x1ZGVzKCc+JykpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcGFyZW50OiB1bmRlZmluZWQsXG4gICAgICB0YXJnZXQ6IHsgdHlwZTogJ2VsZW1lbnQnLCBuYW1lOiAnJyB9LFxuICAgICAgaXNDb21wbGV4OiB0cnVlLFxuICAgICAgcmVhc29uOiBgU2tpcHBlZCBjaGlsZCBjb21iaW5hdG9yIHNlbGVjdG9yICgke3NlbGVjdG9yfSlgXG4gICAgfTtcbiAgfVxuICBcbiAgaWYgKHRyaW1tZWQuaW5jbHVkZXMoJysnKSkge1xuICAgIHJldHVybiB7XG4gICAgICBwYXJlbnQ6IHVuZGVmaW5lZCxcbiAgICAgIHRhcmdldDogeyB0eXBlOiAnZWxlbWVudCcsIG5hbWU6ICcnIH0sXG4gICAgICBpc0NvbXBsZXg6IHRydWUsXG4gICAgICByZWFzb246IGBTa2lwcGVkIGFkamFjZW50IHNpYmxpbmcgc2VsZWN0b3IgKCR7c2VsZWN0b3J9KWBcbiAgICB9O1xuICB9XG4gIFxuICBpZiAodHJpbW1lZC5pbmNsdWRlcygnficpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhcmVudDogdW5kZWZpbmVkLFxuICAgICAgdGFyZ2V0OiB7IHR5cGU6ICdlbGVtZW50JywgbmFtZTogJycgfSxcbiAgICAgIGlzQ29tcGxleDogdHJ1ZSxcbiAgICAgIHJlYXNvbjogYFNraXBwZWQgZ2VuZXJhbCBzaWJsaW5nIHNlbGVjdG9yICgke3NlbGVjdG9yfSlgXG4gICAgfTtcbiAgfVxuICBcbiAgaWYgKHRyaW1tZWQuaW5jbHVkZXMoJzpub3QnKSB8fCB0cmltbWVkLmluY2x1ZGVzKCc6aGFzJykgfHwgdHJpbW1lZC5pbmNsdWRlcygnOmlzJykgfHwgdHJpbW1lZC5pbmNsdWRlcygnOndoZXJlJykpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcGFyZW50OiB1bmRlZmluZWQsXG4gICAgICB0YXJnZXQ6IHsgdHlwZTogJ2VsZW1lbnQnLCBuYW1lOiAnJyB9LFxuICAgICAgaXNDb21wbGV4OiB0cnVlLFxuICAgICAgcmVhc29uOiBgU2tpcHBlZCBwc2V1ZG8tY2xhc3Mgd2l0aCBhcmd1bWVudCAoJHtzZWxlY3Rvcn0pYFxuICAgIH07XG4gIH1cbiAgXG4gIGlmICh0cmltbWVkLmluY2x1ZGVzKCdbJykgJiYgdHJpbW1lZC5pbmNsdWRlcygnXScpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhcmVudDogdW5kZWZpbmVkLFxuICAgICAgdGFyZ2V0OiB7IHR5cGU6ICdlbGVtZW50JywgbmFtZTogJycgfSxcbiAgICAgIGlzQ29tcGxleDogdHJ1ZSxcbiAgICAgIHJlYXNvbjogYFNraXBwZWQgYXR0cmlidXRlIHNlbGVjdG9yICgke3NlbGVjdG9yfSlgXG4gICAgfTtcbiAgfVxuICBcbiAgaWYgKHRyaW1tZWQuaW5jbHVkZXMoJzonKSkge1xuICAgIGNvbnN0IGNvbG9uQ291bnQgPSAodHJpbW1lZC5tYXRjaCgvOi9nKSB8fCBbXSkubGVuZ3RoO1xuICAgIGlmIChjb2xvbkNvdW50ID4gMiB8fCB0cmltbWVkLmluY2x1ZGVzKCc6OmJlZm9yZScpIHx8IHRyaW1tZWQuaW5jbHVkZXMoJzo6YWZ0ZXInKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGFyZW50OiB1bmRlZmluZWQsXG4gICAgICAgIHRhcmdldDogeyB0eXBlOiAnZWxlbWVudCcsIG5hbWU6ICcnIH0sXG4gICAgICAgIGlzQ29tcGxleDogdHJ1ZSxcbiAgICAgICAgcmVhc29uOiBgU2tpcHBlZCBzZWxlY3RvciB3aXRoIHBzZXVkbyAoJHtzZWxlY3Rvcn0pYFxuICAgICAgfTtcbiAgICB9XG4gIH1cbiAgXG4gIGNvbnN0IHBhcnRzID0gdHJpbW1lZC5zcGxpdCgvXFxzKy8pLmZpbHRlcihCb29sZWFuKTtcbiAgXG4gIGlmIChwYXJ0cy5sZW5ndGggPT09IDEpIHtcbiAgICBjb25zdCBwYXJ0ID0gcGFyc2VTZWxlY3RvclBhcnQocGFydHNbMF0pO1xuICAgIGlmICghcGFydCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGFyZW50OiB1bmRlZmluZWQsXG4gICAgICAgIHRhcmdldDogeyB0eXBlOiAnZWxlbWVudCcsIG5hbWU6ICcnIH0sXG4gICAgICAgIGlzQ29tcGxleDogdHJ1ZSxcbiAgICAgICAgcmVhc29uOiBgSW52YWxpZCBzZWxlY3RvciBwYXJ0ICgke3BhcnRzWzBdfSlgXG4gICAgICB9O1xuICAgIH1cbiAgICBcbiAgICByZXR1cm4ge1xuICAgICAgcGFyZW50OiB1bmRlZmluZWQsXG4gICAgICB0YXJnZXQ6IHBhcnQsXG4gICAgICBpc0NvbXBsZXg6IGZhbHNlXG4gICAgfTtcbiAgfVxuICBcbiAgaWYgKHBhcnRzLmxlbmd0aCA9PT0gMikge1xuICAgIGNvbnN0IHBhcmVudFBhcnQgPSBwYXJzZVNlbGVjdG9yUGFydChwYXJ0c1swXSk7XG4gICAgY29uc3QgdGFyZ2V0UGFydCA9IHBhcnNlU2VsZWN0b3JQYXJ0KHBhcnRzWzFdKTtcbiAgICBcbiAgICBpZiAoIXBhcmVudFBhcnQgfHwgIXRhcmdldFBhcnQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBhcmVudDogdW5kZWZpbmVkLFxuICAgICAgICB0YXJnZXQ6IHsgdHlwZTogJ2VsZW1lbnQnLCBuYW1lOiAnJyB9LFxuICAgICAgICBpc0NvbXBsZXg6IHRydWUsXG4gICAgICAgIHJlYXNvbjogYEludmFsaWQgc2VsZWN0b3IgcGFydCBpbiAoJHtzZWxlY3Rvcn0pYFxuICAgICAgfTtcbiAgICB9XG4gICAgXG4gICAgcmV0dXJuIHtcbiAgICAgIHBhcmVudDogcGFyZW50UGFydCxcbiAgICAgIHRhcmdldDogdGFyZ2V0UGFydCxcbiAgICAgIGlzQ29tcGxleDogZmFsc2VcbiAgICB9O1xuICB9XG4gIFxuICBpZiAocGFydHMubGVuZ3RoID4gMikge1xuICAgIHJldHVybiB7XG4gICAgICBwYXJlbnQ6IHVuZGVmaW5lZCxcbiAgICAgIHRhcmdldDogeyB0eXBlOiAnZWxlbWVudCcsIG5hbWU6ICcnIH0sXG4gICAgICBpc0NvbXBsZXg6IHRydWUsXG4gICAgICByZWFzb246IGBTa2lwcGVkIG11bHRpLWxldmVsIGRlc2NlbmRhbnQgc2VsZWN0b3IgKCR7c2VsZWN0b3J9KWBcbiAgICB9O1xuICB9XG4gIFxuICByZXR1cm4ge1xuICAgIHBhcmVudDogdW5kZWZpbmVkLFxuICAgIHRhcmdldDogeyB0eXBlOiAnZWxlbWVudCcsIG5hbWU6ICcnIH0sXG4gICAgaXNDb21wbGV4OiB0cnVlLFxuICAgIHJlYXNvbjogYFVuYWJsZSB0byBwYXJzZSBzZWxlY3RvciAoJHtzZWxlY3Rvcn0pYFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNEZXNjZW5kYW50U2VsZWN0b3Ioc2VsZWN0b3I6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBjb25zdCBwYXJzZWQgPSBwYXJzZURlc2NlbmRhbnRTZWxlY3RvcihzZWxlY3Rvcik7XG4gIHJldHVybiAhcGFyc2VkLmlzQ29tcGxleCAmJiBwYXJzZWQucGFyZW50ICE9PSB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NpbXBsZVNlbGVjdG9yKHNlbGVjdG9yOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgcGFyc2VkID0gcGFyc2VEZXNjZW5kYW50U2VsZWN0b3Ioc2VsZWN0b3IpO1xuICByZXR1cm4gIXBhcnNlZC5pc0NvbXBsZXggJiYgcGFyc2VkLnBhcmVudCA9PT0gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2Vzc0Rlc2NlbmRhbnRTZWxlY3RvcihzZWxlY3Rvcjogc3RyaW5nKToge1xuICBwYXJzZWQ6IERlc2NlbmRhbnRTZWxlY3RvciB8IG51bGw7XG4gIHNraXBwZWQ6IGJvb2xlYW47XG4gIHJlYXNvbj86IHN0cmluZztcbn0ge1xuICBjb25zdCBwYXJzZWQgPSBwYXJzZURlc2NlbmRhbnRTZWxlY3RvcihzZWxlY3Rvcik7XG4gIFxuICBpZiAocGFyc2VkLmlzQ29tcGxleCkge1xuICAgIGxvZ2dlci52ZXJib3NlKHBhcnNlZC5yZWFzb24gfHwgYFNraXBwZWQgY29tcGxleCBzZWxlY3RvcjogJHtzZWxlY3Rvcn1gKTtcbiAgICByZXR1cm4geyBwYXJzZWQ6IG51bGwsIHNraXBwZWQ6IHRydWUsIHJlYXNvbjogcGFyc2VkLnJlYXNvbiB9O1xuICB9XG4gIFxuICBpZiAocGFyc2VkLnBhcmVudCkge1xuICAgIGNvbnN0IHBhcmVudERlc2MgPSBwYXJzZWQucGFyZW50LnR5cGUgPT09ICdjbGFzcycgXG4gICAgICA/IGAuJHtwYXJzZWQucGFyZW50Lm5hbWV9YCBcbiAgICAgIDogcGFyc2VkLnBhcmVudC5uYW1lO1xuICAgIGNvbnN0IHRhcmdldERlc2MgPSBwYXJzZWQudGFyZ2V0LnR5cGUgPT09ICdjbGFzcycgXG4gICAgICA/IGAuJHtwYXJzZWQudGFyZ2V0Lm5hbWV9YCBcbiAgICAgIDogcGFyc2VkLnRhcmdldC5uYW1lO1xuICAgIGxvZ2dlci52ZXJib3NlKGBQYXJzZWQgZGVzY2VuZGFudCBzZWxlY3RvcjogJHtwYXJlbnREZXNjfSAke3RhcmdldERlc2N9YCk7XG4gIH1cbiAgXG4gIHJldHVybiB7IHBhcnNlZCwgc2tpcHBlZDogZmFsc2UgfTtcbn0iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "css-to-tailwind-react",
3
- "version": "0.1.2",
3
+ "version": "0.2.0",
4
4
  "description": "Convert traditional CSS (inline, internal, and external) into Tailwind CSS utility classes for React-based frameworks",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",