css-to-tailwind-react 0.1.0 → 0.1.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.
@@ -6,6 +6,7 @@ export interface TailwindConfig {
6
6
  fontSize?: Record<string, any>;
7
7
  fontWeight?: Record<string, string>;
8
8
  borderRadius?: Record<string, string>;
9
+ screens?: Record<string, string | [string, string]>;
9
10
  [key: string]: any;
10
11
  };
11
12
  content?: string[];
@@ -71,6 +71,13 @@ async function loadTailwindConfig(projectRoot) {
71
71
  '56': '14rem',
72
72
  '64': '16rem'
73
73
  },
74
+ screens: {
75
+ 'sm': '640px',
76
+ 'md': '768px',
77
+ 'lg': '1024px',
78
+ 'xl': '1280px',
79
+ '2xl': '1536px'
80
+ },
74
81
  colors: {
75
82
  transparent: 'transparent',
76
83
  current: 'currentColor',
@@ -136,4 +143,4 @@ async function loadTailwindConfig(projectRoot) {
136
143
  }
137
144
  };
138
145
  }
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWtCQSxnREFvSUM7QUF0SkQsZ0RBQXdCO0FBQ3hCLDRDQUFvQjtBQUNwQixzREFBOEI7QUFnQnZCLEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxXQUFtQjtJQUMxRCxNQUFNLFdBQVcsR0FBRztRQUNsQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQixxQkFBcUI7S0FDdEIsQ0FBQztJQUVGLEtBQUssTUFBTSxVQUFVLElBQUksV0FBVyxFQUFFLENBQUM7UUFDckMsTUFBTSxRQUFRLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFcEQsSUFBSSxZQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDO2dCQUNILHdDQUF3QztnQkFDeEMsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFFaEQsa0JBQWtCO2dCQUNsQixJQUFJLE1BQXNCLENBQUM7Z0JBRTNCLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUMvQiwwREFBMEQ7b0JBQzFELGtEQUFrRDtvQkFDbEQsMkRBQTJEO29CQUMzRCxNQUFNLGVBQWUsR0FBRyxpQkFBTyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztvQkFDOUUsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO29CQUU3QyxJQUFJLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQzt3QkFDOUIsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUNy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QUUsQ0FBQyxVQUFVLEVBQUUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLENBQUM7Z0JBQzlDLEtBQUssRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsQ0FBQzthQUM3QztZQUNELFVBQVUsRUFBRTtnQkFDVixJQUFJLEVBQUUsS0FBSztnQkFDWCxVQUFVLEVBQUUsS0FBSztnQkFDakIsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLEtBQUssRUFBRSxLQUFLO2FBQ2I7WUFDRCxZQUFZLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixJQUFJLEVBQUUsVUFBVTtnQkFDaEIsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsTUFBTSxFQUFFLFFBQVE7YUFDakI7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHJlc29sdmUgZnJvbSAncmVzb2x2ZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFpbHdpbmRDb25maWcge1xuICB0aGVtZT86IHtcbiAgICBleHRlbmQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIHNwYWNpbmc/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIGNvbG9ycz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgZm9udFNpemU/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIGZvbnRXZWlnaHQ/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIGJvcmRlclJhZGl1cz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICB9O1xuICBjb250ZW50Pzogc3RyaW5nW107XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRUYWlsd2luZENvbmZpZyhwcm9qZWN0Um9vdDogc3RyaW5nKTogUHJvbWlzZTxUYWlsd2luZENvbmZpZyB8IG51bGw+IHtcbiAgY29uc3QgY29uZmlnUGF0aHMgPSBbXG4gICAgJ3RhaWx3aW5kLmNvbmZpZy5qcycsXG4gICAgJ3RhaWx3aW5kLmNvbmZpZy50cycsXG4gICAgJ3RhaWx3aW5kLmNvbmZpZy5tanMnLFxuICAgICd0YWlsd2luZC5jb25maWcuY2pzJ1xuICBdO1xuXG4gIGZvciAoY29uc3QgY29uZmlnUGF0aCBvZiBjb25maWdQYXRocykge1xuICAgIGNvbnN0IGZ1bGxQYXRoID0gcGF0aC5qb2luKHByb2plY3RSb290LCBjb25maWdQYXRoKTtcbiAgICBcbiAgICBpZiAoZnMuZXhpc3RzU3luYyhmdWxsUGF0aCkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIENsZWFyIHJlcXVpcmUgY2FjaGUgZm9yIGhvdCByZWxvYWRpbmdcbiAgICAgICAgZGVsZXRlIHJlcXVpcmUuY2FjaGVbcmVxdWlyZS5yZXNvbHZlKGZ1bGxQYXRoKV07XG4gICAgICAgIFxuICAgICAgICAvLyBMb2FkIHRoZSBjb25maWdcbiAgICAgICAgbGV0IGNvbmZpZzogVGFpbHdpbmRDb25maWc7XG4gICAgICAgIFxuICAgICAgICBpZiAoY29uZmlnUGF0aC5lbmRzV2l0aCgnLnRzJykpIHtcbiAgICAgICAgICAvLyBGb3IgVHlwZVNjcmlwdCBjb25maWdzLCB3ZSBuZWVkIHRvIHVzZSBhIGR5bmFtaWMgaW1wb3J0XG4gICAgICAgICAgLy8gQnV0IGZvciBDTEkgdXNhZ2UsIHdlJ2xsIHVzZSBhIHNpbXBsZXIgYXBwcm9hY2hcbiAgICAgICAgICAvLyBUcnkgdG8gcmVzb2x2ZSB0YWlsd2luZGNzcyBhbmQgdXNlIGl0cyBjb25maWcgcmVzb2x1dGlvblxuICAgICAgICAgIGNvbnN0IHRhaWx3aW5kY3NzUGF0aCA9IHJlc29sdmUuc3luYygndGFpbHdpbmRjc3MnLCB7IGJhc2VkaXI6IHByb2plY3RSb290IH0pO1xuICAgICAgICAgIGNvbnN0IHRhaWx3aW5kY3NzID0gcmVxdWlyZSh0YWlsd2luZGNzc1BhdGgpO1xuICAgICAgICAgIFxuICAgICAgICAgIGlmICh0YWlsd2luZGNzcy5yZXNvbHZlQ29uZmlnKSB7XG4gICAgICAgICAgICBjb25zdCB1c2VyQ29uZmlnID0gcmVxdWlyZShmdWxsUGF0aCk7XG4gICAgICAgICAgICBjb25maWcgPSB0YWlsd2luZGNzcy5yZXNvbHZlQ29uZmlnKHVzZXJDb25maWcuZGVmYXVsdCB8fCB1c2VyQ29uZmlnKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uZmlnID0gcmVxdWlyZShmdWxsUGF0aCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHVzZXJDb25maWcgPSByZXF1aXJlKGZ1bGxQYXRoKTtcbiAgICAgICAgICBjb25maWcgPSB1c2VyQ29uZmlnLmRlZmF1bHQgfHwgdXNlckNvbmZpZztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb25maWc7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLndhcm4oYEZhaWxlZCB0byBsb2FkIFRhaWx3aW5kIGNvbmZpZyBhdCAke2Z1bGxQYXRofTpgLCBlcnJvcik7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJldHVybiBkZWZhdWx0IFRhaWx3aW5kLWxpa2UgY29uZmlnXG4gIHJldHVybiB7XG4gICAgdGhlbWU6IHtcbiAgICAgIHNwYWNpbmc6IHtcbiAgICAgICAgJzAnOiAnMHB4JyxcbiAgICAgICAgJzEnOiAnMC4yNXJlbScsXG4gICAgICAgICcyJzogJzAuNXJlbScsXG4gICAgICAgICczJzogJzAuNzVyZW0nLFxuICAgICAgICAnNCc6ICcxcmVtJyxcbiAgICAgICAgJzUnOiAnMS4yNXJlbScsXG4gICAgICAgICc2JzogJzEuNXJlbScsXG4gICAgICAgICc4JzogJzJyZW0nLFxuICAgICAgICAnMTAnOiAnMi41cmVtJyxcbiAgICAgICAgJzEyJzogJzNyZW0nLFxuICAgICAgICAnMTYnOiAnNHJlbScsXG4gICAgICAgICcyMCc6ICc1cmVtJyxcbiAgICAgICAgJzI0JzogJzZyZW0nLFxuICAgICAgICAnMzInOiAnOHJlbScsXG4gICAgICAgICc0MCc6ICcxMHJlbScsXG4gICAgICAgICc0OCc6ICcxMnJlbScsXG4gICAgICAgICc1Nic6ICcxNHJlbScsXG4gICAgICAgICc2NCc6ICcxNnJlbSdcbiAgICAgIH0sXG4gICAgICBjb2xvcnM6IHtcbiAgICAgICAgdHJhbnNwYXJlbnQ6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgIGN1cnJlbnQ6ICdjdXJyZW50Q29sb3InLFxuICAgICAgICBibGFjazogJyMwMDAwMDAnLFxuICAgICAgICB3aGl0ZTogJyNmZmZmZmYnLFxuICAgICAgICBncmF5OiB7XG4gICAgICAgICAgNTA6ICcjZjlmYWZiJyxcbiAgICAgICAgICAxMDA6ICcjZjNmNGY2JyxcbiAgICAgICAgICAyMDA6ICcjZTVlN2ViJyxcbiAgICAgICAgICAzMDA6ICcjZDFkNWRiJyxcbiAgICAgICAgICA0MDA6ICcjOWNhM2FmJyxcbiAgICAgICAgICA1MDA6ICcjNmI3MjgwJyxcbiAgICAgICAgICA2MDA6ICcjNGI1NTYzJyxcbiAgICAgICAgICA3MDA6ICcjMzc0MTUxJyxcbiAgICAgICAgICA4MDA6ICcjMWYyOTM3JyxcbiAgICAgICAgICA5MDA6ICcjMTExODI3J1xuICAgICAgICB9LFxuICAgICAgICByZWQ6IHtcbiAgICAgICAgICA1MDA6ICcjZWY0NDQ0JyxcbiAgICAgICAgICA2MDA6ICcjZGMyNjI2J1xuICAgICAgICB9LFxuICAgICAgICBibHVlOiB7XG4gICAgICAgICAgNTAwOiAnIzNiODJmNicsXG4gICAgICAgICAgNjAwOiAnIzI1NjNlYidcbiAgICAgICAgfSxcbiAgICAgICAgZ3JlZW46IHtcbiAgICAgICAgICA1MDA6ICcjMjJjNTVlJyxcbiAgICAgICAgICA2MDA6ICcjMTZhMzRhJ1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZm9udFNpemU6IHtcbiAgICAgICAgJ3hzJzogWycwLjc1cmVtJywgeyBsaW5lSGVpZ2h0OiAnMXJlbScgfV0sXG4gICAgICAgICdzbSc6IFsnMC44NzVyZW0nLCB7IGxpbmVIZWlnaHQ6ICcxLjI1cmVtJyB9XSxcbiAgICAgICAgJ2Jhc2UnOiBbJzFyZW0nLCB7IGxpbmVIZWlnaHQ6ICcxLjVyZW0nIH1dLFxuICAgICAgICAnbGcnOiBbJzEuMTI1cmVtJywgeyBsaW5lSGVpZ2h0OiAnMS43NXJlbScgfV0sXG4gICAgICAgICd4bCc6IFsnMS4yNXJlbScsIHsgbGluZUhlaWdodDogJzEuNzVyZW0nIH1dLFxuICAgICAgICAnMnhsJzogWycxLjVyZW0nLCB7IGxpbmVIZWlnaHQ6ICcycmVtJyB9XSxcbiAgICAgICAgJzN4bCc6IFsnMS44NzVyZW0nLCB7IGxpbmVIZWlnaHQ6ICcyLjI1cmVtJyB9XSxcbiAgICAgICAgJzR4bCc6IFsnMi4yNXJlbScsIHsgbGluZUhlaWdodDogJzIuNXJlbScgfV1cbiAgICAgIH0sXG4gICAgICBmb250V2VpZ2h0OiB7XG4gICAgICAgIHRoaW46ICcxMDAnLFxuICAgICAgICBleHRyYWxpZ2h0OiAnMjAwJyxcbiAgICAgICAgbGlnaHQ6ICczMDAnLFxuICAgICAgICBub3JtYWw6ICc0MDAnLFxuICAgICAgICBtZWRpdW06ICc1MDAnLFxuICAgICAgICBzZW1pYm9sZDogJzYwMCcsXG4gICAgICAgIGJvbGQ6ICc3MDAnLFxuICAgICAgICBleHRyYWJvbGQ6ICc4MDAnLFxuICAgICAgICBibGFjazogJzkwMCdcbiAgICAgIH0sXG4gICAgICBib3JkZXJSYWRpdXM6IHtcbiAgICAgICAgJ25vbmUnOiAnMHB4JyxcbiAgICAgICAgJ3NtJzogJzAuMTI1cmVtJyxcbiAgICAgICAgJ0RFRkFVTFQnOiAnMC4yNXJlbScsXG4gICAgICAgICdtZCc6ICcwLjM3NXJlbScsXG4gICAgICAgICdsZyc6ICcwLjVyZW0nLFxuICAgICAgICAneGwnOiAnMC43NXJlbScsXG4gICAgICAgICcyeGwnOiAnMXJlbScsXG4gICAgICAgICczeGwnOiAnMS41cmVtJyxcbiAgICAgICAgJ2Z1bGwnOiAnOTk5OXB4J1xuICAgICAgfVxuICAgIH1cbiAgfTtcbn1cbiJdfQ==
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQW1CQSxnREEySUM7QUE5SkQsZ0RBQXdCO0FBQ3hCLDRDQUFvQjtBQUNwQixzREFBOEI7QUFpQnZCLEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxXQUFtQjtJQUMxRCxNQUFNLFdBQVcsR0FBRztRQUNsQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQixxQkFBcUI7S0FDdEIsQ0FBQztJQUVGLEtBQUssTUFBTSxVQUFVLElBQUksV0FBVyxFQUFFLENBQUM7UUFDckMsTUFBTSxRQUFRLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFcEQsSUFBSSxZQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDO2dCQUNILHdDQUF3QztnQkFDeEMsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFFaEQsa0JBQWtCO2dCQUNsQixJQUFJLE1BQXNCLENBQUM7Z0JBRTNCLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUMvQiwwREFBMEQ7b0JBQzFELGtEQUFrRDtvQkFDbEQsMkRBQTJEO29CQUMzRCxNQUFNLGVBQWUsR0FBRyxpQkFBTyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztvQkFDOUUsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO29CQUU3QyxJQUFJLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQzt3QkFDOUIsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUNy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RUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsQ0FBQztnQkFDNUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO2dCQUN6QyxLQUFLLEVBQUUsQ0FBQyxVQUFVLEVBQUUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLENBQUM7Z0JBQzlDLEtBQUssRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsQ0FBQzthQUM3QztZQUNELFVBQVUsRUFBRTtnQkFDVixJQUFJLEVBQUUsS0FBSztnQkFDWCxVQUFVLEVBQUUsS0FBSztnQkFDakIsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLEtBQUssRUFBRSxLQUFLO2FBQ2I7WUFDRCxZQUFZLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixJQUFJLEVBQUUsVUFBVTtnQkFDaEIsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsTUFBTSxFQUFFLFFBQVE7YUFDakI7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHJlc29sdmUgZnJvbSAncmVzb2x2ZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFpbHdpbmRDb25maWcge1xuICB0aGVtZT86IHtcbiAgICBleHRlbmQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIHNwYWNpbmc/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIGNvbG9ycz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgZm9udFNpemU/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIGZvbnRXZWlnaHQ/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIGJvcmRlclJhZGl1cz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgc2NyZWVucz86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IFtzdHJpbmcsIHN0cmluZ10+O1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgfTtcbiAgY29udGVudD86IHN0cmluZ1tdO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2FkVGFpbHdpbmRDb25maWcocHJvamVjdFJvb3Q6IHN0cmluZyk6IFByb21pc2U8VGFpbHdpbmRDb25maWcgfCBudWxsPiB7XG4gIGNvbnN0IGNvbmZpZ1BhdGhzID0gW1xuICAgICd0YWlsd2luZC5jb25maWcuanMnLFxuICAgICd0YWlsd2luZC5jb25maWcudHMnLFxuICAgICd0YWlsd2luZC5jb25maWcubWpzJyxcbiAgICAndGFpbHdpbmQuY29uZmlnLmNqcydcbiAgXTtcblxuICBmb3IgKGNvbnN0IGNvbmZpZ1BhdGggb2YgY29uZmlnUGF0aHMpIHtcbiAgICBjb25zdCBmdWxsUGF0aCA9IHBhdGguam9pbihwcm9qZWN0Um9vdCwgY29uZmlnUGF0aCk7XG4gICAgXG4gICAgaWYgKGZzLmV4aXN0c1N5bmMoZnVsbFBhdGgpKSB7XG4gICAgICB0cnkge1xuICAgICAgICAvLyBDbGVhciByZXF1aXJlIGNhY2hlIGZvciBob3QgcmVsb2FkaW5nXG4gICAgICAgIGRlbGV0ZSByZXF1aXJlLmNhY2hlW3JlcXVpcmUucmVzb2x2ZShmdWxsUGF0aCldO1xuICAgICAgICBcbiAgICAgICAgLy8gTG9hZCB0aGUgY29uZmlnXG4gICAgICAgIGxldCBjb25maWc6IFRhaWx3aW5kQ29uZmlnO1xuICAgICAgICBcbiAgICAgICAgaWYgKGNvbmZpZ1BhdGguZW5kc1dpdGgoJy50cycpKSB7XG4gICAgICAgICAgLy8gRm9yIFR5cGVTY3JpcHQgY29uZmlncywgd2UgbmVlZCB0byB1c2UgYSBkeW5hbWljIGltcG9ydFxuICAgICAgICAgIC8vIEJ1dCBmb3IgQ0xJIHVzYWdlLCB3ZSdsbCB1c2UgYSBzaW1wbGVyIGFwcHJvYWNoXG4gICAgICAgICAgLy8gVHJ5IHRvIHJlc29sdmUgdGFpbHdpbmRjc3MgYW5kIHVzZSBpdHMgY29uZmlnIHJlc29sdXRpb25cbiAgICAgICAgICBjb25zdCB0YWlsd2luZGNzc1BhdGggPSByZXNvbHZlLnN5bmMoJ3RhaWx3aW5kY3NzJywgeyBiYXNlZGlyOiBwcm9qZWN0Um9vdCB9KTtcbiAgICAgICAgICBjb25zdCB0YWlsd2luZGNzcyA9IHJlcXVpcmUodGFpbHdpbmRjc3NQYXRoKTtcbiAgICAgICAgICBcbiAgICAgICAgICBpZiAodGFpbHdpbmRjc3MucmVzb2x2ZUNvbmZpZykge1xuICAgICAgICAgICAgY29uc3QgdXNlckNvbmZpZyA9IHJlcXVpcmUoZnVsbFBhdGgpO1xuICAgICAgICAgICAgY29uZmlnID0gdGFpbHdpbmRjc3MucmVzb2x2ZUNvbmZpZyh1c2VyQ29uZmlnLmRlZmF1bHQgfHwgdXNlckNvbmZpZyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbmZpZyA9IHJlcXVpcmUoZnVsbFBhdGgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCB1c2VyQ29uZmlnID0gcmVxdWlyZShmdWxsUGF0aCk7XG4gICAgICAgICAgY29uZmlnID0gdXNlckNvbmZpZy5kZWZhdWx0IHx8IHVzZXJDb25maWc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29uZmlnO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBGYWlsZWQgdG8gbG9hZCBUYWlsd2luZCBjb25maWcgYXQgJHtmdWxsUGF0aH06YCwgZXJyb3IpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXR1cm4gZGVmYXVsdCBUYWlsd2luZC1saWtlIGNvbmZpZ1xuICByZXR1cm4ge1xuICAgIHRoZW1lOiB7XG4gICAgICBzcGFjaW5nOiB7XG4gICAgICAgICcwJzogJzBweCcsXG4gICAgICAgICcxJzogJzAuMjVyZW0nLFxuICAgICAgICAnMic6ICcwLjVyZW0nLFxuICAgICAgICAnMyc6ICcwLjc1cmVtJyxcbiAgICAgICAgJzQnOiAnMXJlbScsXG4gICAgICAgICc1JzogJzEuMjVyZW0nLFxuICAgICAgICAnNic6ICcxLjVyZW0nLFxuICAgICAgICAnOCc6ICcycmVtJyxcbiAgICAgICAgJzEwJzogJzIuNXJlbScsXG4gICAgICAgICcxMic6ICczcmVtJyxcbiAgICAgICAgJzE2JzogJzRyZW0nLFxuICAgICAgICAnMjAnOiAnNXJlbScsXG4gICAgICAgICcyNCc6ICc2cmVtJyxcbiAgICAgICAgJzMyJzogJzhyZW0nLFxuICAgICAgICAnNDAnOiAnMTByZW0nLFxuICAgICAgICAnNDgnOiAnMTJyZW0nLFxuICAgICAgICAnNTYnOiAnMTRyZW0nLFxuICAgICAgICAnNjQnOiAnMTZyZW0nXG4gICAgICB9LFxuICAgICAgc2NyZWVuczoge1xuICAgICAgICAnc20nOiAnNjQwcHgnLFxuICAgICAgICAnbWQnOiAnNzY4cHgnLFxuICAgICAgICAnbGcnOiAnMTAyNHB4JyxcbiAgICAgICAgJ3hsJzogJzEyODBweCcsXG4gICAgICAgICcyeGwnOiAnMTUzNnB4J1xuICAgICAgfSxcbiAgICAgIGNvbG9yczoge1xuICAgICAgICB0cmFuc3BhcmVudDogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgY3VycmVudDogJ2N1cnJlbnRDb2xvcicsXG4gICAgICAgIGJsYWNrOiAnIzAwMDAwMCcsXG4gICAgICAgIHdoaXRlOiAnI2ZmZmZmZicsXG4gICAgICAgIGdyYXk6IHtcbiAgICAgICAgICA1MDogJyNmOWZhZmInLFxuICAgICAgICAgIDEwMDogJyNmM2Y0ZjYnLFxuICAgICAgICAgIDIwMDogJyNlNWU3ZWInLFxuICAgICAgICAgIDMwMDogJyNkMWQ1ZGInLFxuICAgICAgICAgIDQwMDogJyM5Y2EzYWYnLFxuICAgICAgICAgIDUwMDogJyM2YjcyODAnLFxuICAgICAgICAgIDYwMDogJyM0YjU1NjMnLFxuICAgICAgICAgIDcwMDogJyMzNzQxNTEnLFxuICAgICAgICAgIDgwMDogJyMxZjI5MzcnLFxuICAgICAgICAgIDkwMDogJyMxMTE4MjcnXG4gICAgICAgIH0sXG4gICAgICAgIHJlZDoge1xuICAgICAgICAgIDUwMDogJyNlZjQ0NDQnLFxuICAgICAgICAgIDYwMDogJyNkYzI2MjYnXG4gICAgICAgIH0sXG4gICAgICAgIGJsdWU6IHtcbiAgICAgICAgICA1MDA6ICcjM2I4MmY2JyxcbiAgICAgICAgICA2MDA6ICcjMjU2M2ViJ1xuICAgICAgICB9LFxuICAgICAgICBncmVlbjoge1xuICAgICAgICAgIDUwMDogJyMyMmM1NWUnLFxuICAgICAgICAgIDYwMDogJyMxNmEzNGEnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBmb250U2l6ZToge1xuICAgICAgICAneHMnOiBbJzAuNzVyZW0nLCB7IGxpbmVIZWlnaHQ6ICcxcmVtJyB9XSxcbiAgICAgICAgJ3NtJzogWycwLjg3NXJlbScsIHsgbGluZUhlaWdodDogJzEuMjVyZW0nIH1dLFxuICAgICAgICAnYmFzZSc6IFsnMXJlbScsIHsgbGluZUhlaWdodDogJzEuNXJlbScgfV0sXG4gICAgICAgICdsZyc6IFsnMS4xMjVyZW0nLCB7IGxpbmVIZWlnaHQ6ICcxLjc1cmVtJyB9XSxcbiAgICAgICAgJ3hsJzogWycxLjI1cmVtJywgeyBsaW5lSGVpZ2h0OiAnMS43NXJlbScgfV0sXG4gICAgICAgICcyeGwnOiBbJzEuNXJlbScsIHsgbGluZUhlaWdodDogJzJyZW0nIH1dLFxuICAgICAgICAnM3hsJzogWycxLjg3NXJlbScsIHsgbGluZUhlaWdodDogJzIuMjVyZW0nIH1dLFxuICAgICAgICAnNHhsJzogWycyLjI1cmVtJywgeyBsaW5lSGVpZ2h0OiAnMi41cmVtJyB9XVxuICAgICAgfSxcbiAgICAgIGZvbnRXZWlnaHQ6IHtcbiAgICAgICAgdGhpbjogJzEwMCcsXG4gICAgICAgIGV4dHJhbGlnaHQ6ICcyMDAnLFxuICAgICAgICBsaWdodDogJzMwMCcsXG4gICAgICAgIG5vcm1hbDogJzQwMCcsXG4gICAgICAgIG1lZGl1bTogJzUwMCcsXG4gICAgICAgIHNlbWlib2xkOiAnNjAwJyxcbiAgICAgICAgYm9sZDogJzcwMCcsXG4gICAgICAgIGV4dHJhYm9sZDogJzgwMCcsXG4gICAgICAgIGJsYWNrOiAnOTAwJ1xuICAgICAgfSxcbiAgICAgIGJvcmRlclJhZGl1czoge1xuICAgICAgICAnbm9uZSc6ICcwcHgnLFxuICAgICAgICAnc20nOiAnMC4xMjVyZW0nLFxuICAgICAgICAnREVGQVVMVCc6ICcwLjI1cmVtJyxcbiAgICAgICAgJ21kJzogJzAuMzc1cmVtJyxcbiAgICAgICAgJ2xnJzogJzAuNXJlbScsXG4gICAgICAgICd4bCc6ICcwLjc1cmVtJyxcbiAgICAgICAgJzJ4bCc6ICcxcmVtJyxcbiAgICAgICAgJzN4bCc6ICcxLjVyZW0nLFxuICAgICAgICAnZnVsbCc6ICc5OTk5cHgnXG4gICAgICB9XG4gICAgfVxuICB9O1xufVxuIl19
@@ -0,0 +1,17 @@
1
+ export interface ParsedSelector {
2
+ baseClass: string;
3
+ pseudos: string[];
4
+ isComplex: boolean;
5
+ reason?: string;
6
+ }
7
+ export declare const PSEUDO_TO_VARIANT: Record<string, string>;
8
+ export declare const SUPPORTED_PSEUDOS: Set<string>;
9
+ export declare function parseSelector(selector: string): ParsedSelector;
10
+ export declare function mapPseudoToVariant(pseudo: string): string | null;
11
+ export declare function processPseudoSelector(selector: string): {
12
+ baseClass: string | null;
13
+ variants: string[];
14
+ skipped: boolean;
15
+ reason?: string;
16
+ };
17
+ export declare function parseMultipleSelectors(selector: string): ParsedSelector[];
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SUPPORTED_PSEUDOS = exports.PSEUDO_TO_VARIANT = void 0;
4
+ exports.parseSelector = parseSelector;
5
+ exports.mapPseudoToVariant = mapPseudoToVariant;
6
+ exports.processPseudoSelector = processPseudoSelector;
7
+ exports.parseMultipleSelectors = parseMultipleSelectors;
8
+ const logger_1 = require("./logger");
9
+ exports.PSEUDO_TO_VARIANT = {
10
+ 'hover': 'hover',
11
+ 'focus': 'focus',
12
+ 'active': 'active',
13
+ 'disabled': 'disabled',
14
+ 'visited': 'visited',
15
+ 'first-child': 'first',
16
+ 'last-child': 'last',
17
+ 'before': 'before',
18
+ 'after': 'after'
19
+ };
20
+ exports.SUPPORTED_PSEUDOS = new Set(Object.keys(exports.PSEUDO_TO_VARIANT));
21
+ const UNSUPPORTED_PATTERNS = [
22
+ ':nth-child',
23
+ ':nth-of-type',
24
+ ':not(',
25
+ ':has(',
26
+ ':is(',
27
+ ':where(',
28
+ ':first-of-type',
29
+ ':last-of-type',
30
+ ':only-child',
31
+ ':only-of-type',
32
+ ':empty',
33
+ ':checked',
34
+ ':indeterminate',
35
+ ':default',
36
+ ':required',
37
+ ':valid',
38
+ ':invalid',
39
+ ':in-range',
40
+ ':out-of-range',
41
+ ':placeholder-shown',
42
+ ':autofill',
43
+ ':read-only',
44
+ ':target',
45
+ ':root',
46
+ ':scope',
47
+ ':lang(',
48
+ ':dir('
49
+ ];
50
+ function parseSelector(selector) {
51
+ const trimmed = selector.trim();
52
+ if (!trimmed.startsWith('.')) {
53
+ return {
54
+ baseClass: '',
55
+ pseudos: [],
56
+ isComplex: true,
57
+ reason: `Not a class selector: ${selector}`
58
+ };
59
+ }
60
+ for (const pattern of UNSUPPORTED_PATTERNS) {
61
+ if (trimmed.toLowerCase().includes(pattern.toLowerCase())) {
62
+ return {
63
+ baseClass: '',
64
+ pseudos: [],
65
+ isComplex: true,
66
+ reason: `Unsupported pseudo selector pattern: ${pattern}`
67
+ };
68
+ }
69
+ }
70
+ const pseudoMatches = [];
71
+ let remaining = trimmed.slice(1);
72
+ const pseudoRegex = /:([a-zA-Z-]+)/g;
73
+ let match;
74
+ let hasComplexPseudo = false;
75
+ while ((match = pseudoRegex.exec(trimmed)) !== null) {
76
+ const pseudo = match[1].toLowerCase();
77
+ pseudoMatches.push(pseudo);
78
+ if (!exports.SUPPORTED_PSEUDOS.has(pseudo)) {
79
+ hasComplexPseudo = true;
80
+ }
81
+ }
82
+ if (pseudoMatches.length > 1) {
83
+ return {
84
+ baseClass: '',
85
+ pseudos: [],
86
+ isComplex: true,
87
+ reason: `Skipped complex pseudo chain (${selector})`
88
+ };
89
+ }
90
+ if (hasComplexPseudo && pseudoMatches.some(p => !exports.SUPPORTED_PSEUDOS.has(p))) {
91
+ const unsupported = pseudoMatches.find(p => !exports.SUPPORTED_PSEUDOS.has(p));
92
+ return {
93
+ baseClass: '',
94
+ pseudos: [],
95
+ isComplex: true,
96
+ reason: `Unsupported pseudo selector :${unsupported}`
97
+ };
98
+ }
99
+ const baseClassMatch = remaining.match(/^([a-zA-Z_-][a-zA-Z0-9_-]*)/);
100
+ if (!baseClassMatch) {
101
+ return {
102
+ baseClass: '',
103
+ pseudos: [],
104
+ isComplex: true,
105
+ reason: `Invalid class name in selector: ${selector}`
106
+ };
107
+ }
108
+ const baseClass = baseClassMatch[1];
109
+ const expectedSelector = '.' + baseClass + pseudoMatches.map(p => `:${p}`).join('');
110
+ const hasMultipleSelectors = trimmed.includes(',');
111
+ const hasCombinators = /[>\s+~]/.test(trimmed.slice(baseClass.length + 1).replace(/:[a-zA-Z-]+/g, ''));
112
+ if (hasCombinators && !hasMultipleSelectors) {
113
+ return {
114
+ baseClass: '',
115
+ pseudos: [],
116
+ isComplex: true,
117
+ reason: `Complex selector with combinators: ${selector}`
118
+ };
119
+ }
120
+ const variants = pseudoMatches
121
+ .filter(p => exports.SUPPORTED_PSEUDOS.has(p))
122
+ .map(p => exports.PSEUDO_TO_VARIANT[p]);
123
+ return {
124
+ baseClass,
125
+ pseudos: variants,
126
+ isComplex: false
127
+ };
128
+ }
129
+ function mapPseudoToVariant(pseudo) {
130
+ const normalized = pseudo.toLowerCase().replace(/^:/, '');
131
+ return exports.PSEUDO_TO_VARIANT[normalized] || null;
132
+ }
133
+ function processPseudoSelector(selector) {
134
+ const parsed = parseSelector(selector);
135
+ if (parsed.isComplex) {
136
+ logger_1.logger.verbose(parsed.reason || `Skipped complex selector: ${selector}`);
137
+ return {
138
+ baseClass: null,
139
+ variants: [],
140
+ skipped: true,
141
+ reason: parsed.reason
142
+ };
143
+ }
144
+ if (parsed.pseudos.length > 0) {
145
+ logger_1.logger.verbose(`Converted pseudo selector :${parsed.pseudos.join(':')} → ${parsed.pseudos.join(':')}:`);
146
+ logger_1.logger.verbose(`Applied to class .${parsed.baseClass}`);
147
+ }
148
+ return {
149
+ baseClass: parsed.baseClass,
150
+ variants: parsed.pseudos,
151
+ skipped: false
152
+ };
153
+ }
154
+ function parseMultipleSelectors(selector) {
155
+ const parts = selector.split(',').map(s => s.trim()).filter(Boolean);
156
+ const results = [];
157
+ for (const part of parts) {
158
+ const parsed = parseSelector(part);
159
+ results.push(parsed);
160
+ }
161
+ return results;
162
+ }
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHNldWRvU2VsZWN0b3JSZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9wc2V1ZG9TZWxlY3RvclJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXFEQSxzQ0E0RkM7QUFFRCxnREFHQztBQUVELHNEQTRCQztBQUVELHdEQVVDO0FBaE1ELHFDQUFrQztBQVNyQixRQUFBLGlCQUFpQixHQUEyQjtJQUN2RCxPQUFPLEVBQUUsT0FBTztJQUNoQixPQUFPLEVBQUUsT0FBTztJQUNoQixRQUFRLEVBQUUsUUFBUTtJQUNsQixVQUFVLEVBQUUsVUFBVTtJQUN0QixTQUFTLEVBQUUsU0FBUztJQUNwQixhQUFhLEVBQUUsT0FBTztJQUN0QixZQUFZLEVBQUUsTUFBTTtJQUNwQixRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsT0FBTztDQUNqQixDQUFDO0FBRVcsUUFBQSxpQkFBaUIsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHlCQUFpQixDQUFDLENBQUMsQ0FBQztBQUV6RSxNQUFNLG9CQUFvQixHQUFHO0lBQzNCLFlBQVk7SUFDWixjQUFjO0lBQ2QsT0FBTztJQUNQLE9BQU87SUFDUCxNQUFNO0lBQ04sU0FBUztJQUNULGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsYUFBYTtJQUNiLGVBQWU7SUFDZixRQUFRO0lBQ1IsVUFBVTtJQUNWLGdCQUFnQjtJQUNoQixVQUFVO0lBQ1YsV0FBVztJQUNYLFFBQVE7SUFDUixVQUFVO0lBQ1YsV0FBVztJQUNYLGVBQWU7SUFDZixvQkFBb0I7SUFDcEIsV0FBVztJQUNYLFlBQVk7SUFDWixTQUFTO0lBQ1QsT0FBTztJQUNQLFFBQVE7SUFDUixRQUFRO0lBQ1IsT0FBTztDQUNSLENBQUM7QUFFRixTQUFnQixhQUFhLENBQUMsUUFBZ0I7SUFDNUMsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBRWhD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QztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBsb2dnZXIgfSBmcm9tICcuL2xvZ2dlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VkU2VsZWN0b3Ige1xuICBiYXNlQ2xhc3M6IHN0cmluZztcbiAgcHNldWRvczogc3RyaW5nW107XG4gIGlzQ29tcGxleDogYm9vbGVhbjtcbiAgcmVhc29uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgUFNFVURPX1RPX1ZBUklBTlQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICdob3Zlcic6ICdob3ZlcicsXG4gICdmb2N1cyc6ICdmb2N1cycsXG4gICdhY3RpdmUnOiAnYWN0aXZlJyxcbiAgJ2Rpc2FibGVkJzogJ2Rpc2FibGVkJyxcbiAgJ3Zpc2l0ZWQnOiAndmlzaXRlZCcsXG4gICdmaXJzdC1jaGlsZCc6ICdmaXJzdCcsXG4gICdsYXN0LWNoaWxkJzogJ2xhc3QnLFxuICAnYmVmb3JlJzogJ2JlZm9yZScsXG4gICdhZnRlcic6ICdhZnRlcidcbn07XG5cbmV4cG9ydCBjb25zdCBTVVBQT1JURURfUFNFVURPUyA9IG5ldyBTZXQoT2JqZWN0LmtleXMoUFNFVURPX1RPX1ZBUklBTlQpKTtcblxuY29uc3QgVU5TVVBQT1JURURfUEFUVEVSTlMgPSBbXG4gICc6bnRoLWNoaWxkJyxcbiAgJzpudGgtb2YtdHlwZScsXG4gICc6bm90KCcsXG4gICc6aGFzKCcsXG4gICc6aXMoJyxcbiAgJzp3aGVyZSgnLFxuICAnOmZpcnN0LW9mLXR5cGUnLFxuICAnOmxhc3Qtb2YtdHlwZScsXG4gICc6b25seS1jaGlsZCcsXG4gICc6b25seS1vZi10eXBlJyxcbiAgJzplbXB0eScsXG4gICc6Y2hlY2tlZCcsXG4gICc6aW5kZXRlcm1pbmF0ZScsXG4gICc6ZGVmYXVsdCcsXG4gICc6cmVxdWlyZWQnLFxuICAnOnZhbGlkJyxcbiAgJzppbnZhbGlkJyxcbiAgJzppbi1yYW5nZScsXG4gICc6b3V0LW9mLXJhbmdlJyxcbiAgJzpwbGFjZWhvbGRlci1zaG93bicsXG4gICc6YXV0b2ZpbGwnLFxuICAnOnJlYWQtb25seScsXG4gICc6dGFyZ2V0JyxcbiAgJzpyb290JyxcbiAgJzpzY29wZScsXG4gICc6bGFuZygnLFxuICAnOmRpcignXG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VTZWxlY3RvcihzZWxlY3Rvcjogc3RyaW5nKTogUGFyc2VkU2VsZWN0b3Ige1xuICBjb25zdCB0cmltbWVkID0gc2VsZWN0b3IudHJpbSgpO1xuICBcbiAgaWYgKCF0cmltbWVkLnN0YXJ0c1dpdGgoJy4nKSkge1xuICAgIHJldHVybiB7XG4gICAgICBiYXNlQ2xhc3M6ICcnLFxuICAgICAgcHNldWRvczogW10sXG4gICAgICBpc0NvbXBsZXg6IHRydWUsXG4gICAgICByZWFzb246IGBOb3QgYSBjbGFzcyBzZWxlY3RvcjogJHtzZWxlY3Rvcn1gXG4gICAgfTtcbiAgfVxuICBcbiAgZm9yIChjb25zdCBwYXR0ZXJuIG9mIFVOU1VQUE9SVEVEX1BBVFRFUk5TKSB7XG4gICAgaWYgKHRyaW1tZWQudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhwYXR0ZXJuLnRvTG93ZXJDYXNlKCkpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBiYXNlQ2xhc3M6ICcnLFxuICAgICAgICBwc2V1ZG9zOiBbXSxcbiAgICAgICAgaXNDb21wbGV4OiB0cnVlLFxuICAgICAgICByZWFzb246IGBVbnN1cHBvcnRlZCBwc2V1ZG8gc2VsZWN0b3IgcGF0dGVybjogJHtwYXR0ZXJufWBcbiAgICAgIH07XG4gICAgfVxuICB9XG4gIFxuICBjb25zdCBwc2V1ZG9NYXRjaGVzOiBzdHJpbmdbXSA9IFtdO1xuICBsZXQgcmVtYWluaW5nID0gdHJpbW1lZC5zbGljZSgxKTtcbiAgXG4gIGNvbnN0IHBzZXVkb1JlZ2V4ID0gLzooW2EtekEtWi1dKykvZztcbiAgbGV0IG1hdGNoO1xuICBsZXQgaGFzQ29tcGxleFBzZXVkbyA9IGZhbHNlO1xuICBcbiAgd2hpbGUgKChtYXRjaCA9IHBzZXVkb1JlZ2V4LmV4ZWModHJpbW1lZCkpICE9PSBudWxsKSB7XG4gICAgY29uc3QgcHNldWRvID0gbWF0Y2hbMV0udG9Mb3dlckNhc2UoKTtcbiAgICBwc2V1ZG9NYXRjaGVzLnB1c2gocHNldWRvKTtcbiAgICBcbiAgICBpZiAoIVNVUFBPUlRFRF9QU0VVRE9TLmhhcyhwc2V1ZG8pKSB7XG4gICAgICBoYXNDb21wbGV4UHNldWRvID0gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgXG4gIGlmIChwc2V1ZG9NYXRjaGVzLmxlbmd0aCA+IDEpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYmFzZUNsYXNzOiAnJyxcbiAgICAgIHBzZXVkb3M6IFtdLFxuICAgICAgaXNDb21wbGV4OiB0cnVlLFxuICAgICAgcmVhc29uOiBgU2tpcHBlZCBjb21wbGV4IHBzZXVkbyBjaGFpbiAoJHtzZWxlY3Rvcn0pYFxuICAgIH07XG4gIH1cbiAgXG4gIGlmIChoYXNDb21wbGV4UHNldWRvICYmIHBzZXVkb01hdGNoZXMuc29tZShwID0+ICFTVVBQT1JURURfUFNFVURPUy5oYXMocCkpKSB7XG4gICAgY29uc3QgdW5zdXBwb3J0ZWQgPSBwc2V1ZG9NYXRjaGVzLmZpbmQocCA9PiAhU1VQUE9SVEVEX1BTRVVET1MuaGFzKHApKTtcbiAgICByZXR1cm4ge1xuICAgICAgYmFzZUNsYXNzOiAnJyxcbiAgICAgIHBzZXVkb3M6IFtdLFxuICAgICAgaXNDb21wbGV4OiB0cnVlLFxuICAgICAgcmVhc29uOiBgVW5zdXBwb3J0ZWQgcHNldWRvIHNlbGVjdG9yIDoke3Vuc3VwcG9ydGVkfWBcbiAgICB9O1xuICB9XG4gIFxuICBjb25zdCBiYXNlQ2xhc3NNYXRjaCA9IHJlbWFpbmluZy5tYXRjaCgvXihbYS16QS1aXy1dW2EtekEtWjAtOV8tXSopLyk7XG4gIGlmICghYmFzZUNsYXNzTWF0Y2gpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYmFzZUNsYXNzOiAnJyxcbiAgICAgIHBzZXVkb3M6IFtdLFxuICAgICAgaXNDb21wbGV4OiB0cnVlLFxuICAgICAgcmVhc29uOiBgSW52YWxpZCBjbGFzcyBuYW1lIGluIHNlbGVjdG9yOiAke3NlbGVjdG9yfWBcbiAgICB9O1xuICB9XG4gIFxuICBjb25zdCBiYXNlQ2xhc3MgPSBiYXNlQ2xhc3NNYXRjaFsxXTtcbiAgXG4gIGNvbnN0IGV4cGVjdGVkU2VsZWN0b3IgPSAnLicgKyBiYXNlQ2xhc3MgKyBwc2V1ZG9NYXRjaGVzLm1hcChwID0+IGA6JHtwfWApLmpvaW4oJycpO1xuICBjb25zdCBoYXNNdWx0aXBsZVNlbGVjdG9ycyA9IHRyaW1tZWQuaW5jbHVkZXMoJywnKTtcbiAgY29uc3QgaGFzQ29tYmluYXRvcnMgPSAvWz5cXHMrfl0vLnRlc3QodHJpbW1lZC5zbGljZShiYXNlQ2xhc3MubGVuZ3RoICsgMSkucmVwbGFjZSgvOlthLXpBLVotXSsvZywgJycpKTtcbiAgXG4gIGlmIChoYXNDb21iaW5hdG9ycyAmJiAhaGFzTXVsdGlwbGVTZWxlY3RvcnMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYmFzZUNsYXNzOiAnJyxcbiAgICAgIHBzZXVkb3M6IFtdLFxuICAgICAgaXNDb21wbGV4OiB0cnVlLFxuICAgICAgcmVhc29uOiBgQ29tcGxleCBzZWxlY3RvciB3aXRoIGNvbWJpbmF0b3JzOiAke3NlbGVjdG9yfWBcbiAgICB9O1xuICB9XG4gIFxuICBjb25zdCB2YXJpYW50cyA9IHBzZXVkb01hdGNoZXNcbiAgICAuZmlsdGVyKHAgPT4gU1VQUE9SVEVEX1BTRVVET1MuaGFzKHApKVxuICAgIC5tYXAocCA9PiBQU0VVRE9fVE9fVkFSSUFOVFtwXSk7XG4gIFxuICByZXR1cm4ge1xuICAgIGJhc2VDbGFzcyxcbiAgICBwc2V1ZG9zOiB2YXJpYW50cyxcbiAgICBpc0NvbXBsZXg6IGZhbHNlXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXBQc2V1ZG9Ub1ZhcmlhbnQocHNldWRvOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IHBzZXVkby50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL146LywgJycpO1xuICByZXR1cm4gUFNFVURPX1RPX1ZBUklBTlRbbm9ybWFsaXplZF0gfHwgbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb2Nlc3NQc2V1ZG9TZWxlY3RvcihzZWxlY3Rvcjogc3RyaW5nKToge1xuICBiYXNlQ2xhc3M6IHN0cmluZyB8IG51bGw7XG4gIHZhcmlhbnRzOiBzdHJpbmdbXTtcbiAgc2tpcHBlZDogYm9vbGVhbjtcbiAgcmVhc29uPzogc3RyaW5nO1xufSB7XG4gIGNvbnN0IHBhcnNlZCA9IHBhcnNlU2VsZWN0b3Ioc2VsZWN0b3IpO1xuICBcbiAgaWYgKHBhcnNlZC5pc0NvbXBsZXgpIHtcbiAgICBsb2dnZXIudmVyYm9zZShwYXJzZWQucmVhc29uIHx8IGBTa2lwcGVkIGNvbXBsZXggc2VsZWN0b3I6ICR7c2VsZWN0b3J9YCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJhc2VDbGFzczogbnVsbCxcbiAgICAgIHZhcmlhbnRzOiBbXSxcbiAgICAgIHNraXBwZWQ6IHRydWUsXG4gICAgICByZWFzb246IHBhcnNlZC5yZWFzb25cbiAgICB9O1xuICB9XG4gIFxuICBpZiAocGFyc2VkLnBzZXVkb3MubGVuZ3RoID4gMCkge1xuICAgIGxvZ2dlci52ZXJib3NlKGBDb252ZXJ0ZWQgcHNldWRvIHNlbGVjdG9yIDoke3BhcnNlZC5wc2V1ZG9zLmpvaW4oJzonKX0g4oaSICR7cGFyc2VkLnBzZXVkb3Muam9pbignOicpfTpgKTtcbiAgICBsb2dnZXIudmVyYm9zZShgQXBwbGllZCB0byBjbGFzcyAuJHtwYXJzZWQuYmFzZUNsYXNzfWApO1xuICB9XG4gIFxuICByZXR1cm4ge1xuICAgIGJhc2VDbGFzczogcGFyc2VkLmJhc2VDbGFzcyxcbiAgICB2YXJpYW50czogcGFyc2VkLnBzZXVkb3MsXG4gICAgc2tpcHBlZDogZmFsc2VcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTXVsdGlwbGVTZWxlY3RvcnMoc2VsZWN0b3I6IHN0cmluZyk6IFBhcnNlZFNlbGVjdG9yW10ge1xuICBjb25zdCBwYXJ0cyA9IHNlbGVjdG9yLnNwbGl0KCcsJykubWFwKHMgPT4gcy50cmltKCkpLmZpbHRlcihCb29sZWFuKTtcbiAgY29uc3QgcmVzdWx0czogUGFyc2VkU2VsZWN0b3JbXSA9IFtdO1xuICBcbiAgZm9yIChjb25zdCBwYXJ0IG9mIHBhcnRzKSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGFyc2VTZWxlY3RvcihwYXJ0KTtcbiAgICByZXN1bHRzLnB1c2gocGFyc2VkKTtcbiAgfVxuICBcbiAgcmV0dXJuIHJlc3VsdHM7XG59Il19
@@ -0,0 +1,20 @@
1
+ export declare const VARIANT_ORDER: string[];
2
+ export declare function isResponsiveVariant(variant: string): boolean;
3
+ export declare function isPseudoVariant(variant: string): boolean;
4
+ export declare function sortVariants(variants: string[]): string[];
5
+ export declare function deduplicateVariants(variants: string[]): string[];
6
+ export declare function validateVariantOrder(variants: string[]): boolean;
7
+ export declare function normalizeVariantOrder(variants: string[]): string[];
8
+ export declare function assembleUtility(utility: string, variants?: string[]): string;
9
+ export declare function assembleUtilities(utilities: Array<{
10
+ value: string;
11
+ variants?: string[];
12
+ }>): string[];
13
+ export interface MergedUtility {
14
+ value: string;
15
+ variants: string[];
16
+ }
17
+ export declare function mergeUtilities(utilities: Array<{
18
+ value: string;
19
+ variants?: string[];
20
+ }>): MergedUtility[];
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VARIANT_ORDER = void 0;
4
+ exports.isResponsiveVariant = isResponsiveVariant;
5
+ exports.isPseudoVariant = isPseudoVariant;
6
+ exports.sortVariants = sortVariants;
7
+ exports.deduplicateVariants = deduplicateVariants;
8
+ exports.validateVariantOrder = validateVariantOrder;
9
+ exports.normalizeVariantOrder = normalizeVariantOrder;
10
+ exports.assembleUtility = assembleUtility;
11
+ exports.assembleUtilities = assembleUtilities;
12
+ exports.mergeUtilities = mergeUtilities;
13
+ exports.VARIANT_ORDER = ['sm', 'md', 'lg', 'xl', '2xl', 'hover', 'focus', 'active', 'disabled', 'visited', 'first', 'last', 'before', 'after', 'dark', 'light'];
14
+ const RESPONSIVE_VARIANTS = new Set(['sm', 'md', 'lg', 'xl', '2xl']);
15
+ const PSEUDO_VARIANTS = new Set(['hover', 'focus', 'active', 'disabled', 'visited', 'first', 'last', 'before', 'after']);
16
+ function isResponsiveVariant(variant) {
17
+ return RESPONSIVE_VARIANTS.has(variant);
18
+ }
19
+ function isPseudoVariant(variant) {
20
+ return PSEUDO_VARIANTS.has(variant);
21
+ }
22
+ function sortVariants(variants) {
23
+ return [...variants].sort((a, b) => {
24
+ const aIndex = exports.VARIANT_ORDER.indexOf(a);
25
+ const bIndex = exports.VARIANT_ORDER.indexOf(b);
26
+ if (aIndex === -1 && bIndex === -1)
27
+ return a.localeCompare(b);
28
+ if (aIndex === -1)
29
+ return 1;
30
+ if (bIndex === -1)
31
+ return -1;
32
+ return aIndex - bIndex;
33
+ });
34
+ }
35
+ function deduplicateVariants(variants) {
36
+ const seen = new Set();
37
+ const result = [];
38
+ for (const variant of variants) {
39
+ if (!seen.has(variant)) {
40
+ seen.add(variant);
41
+ result.push(variant);
42
+ }
43
+ }
44
+ return result;
45
+ }
46
+ function validateVariantOrder(variants) {
47
+ let hasSeenPseudo = false;
48
+ for (const variant of variants) {
49
+ if (isPseudoVariant(variant)) {
50
+ hasSeenPseudo = true;
51
+ }
52
+ else if (isResponsiveVariant(variant) && hasSeenPseudo) {
53
+ return false;
54
+ }
55
+ }
56
+ return true;
57
+ }
58
+ function normalizeVariantOrder(variants) {
59
+ const deduped = deduplicateVariants(variants);
60
+ const responsive = [];
61
+ const pseudo = [];
62
+ const other = [];
63
+ for (const variant of deduped) {
64
+ if (isResponsiveVariant(variant)) {
65
+ responsive.push(variant);
66
+ }
67
+ else if (isPseudoVariant(variant)) {
68
+ pseudo.push(variant);
69
+ }
70
+ else {
71
+ other.push(variant);
72
+ }
73
+ }
74
+ const sortedResponsive = sortVariants(responsive);
75
+ const sortedPseudo = sortVariants(pseudo);
76
+ const sortedOther = sortVariants(other);
77
+ return [...sortedResponsive, ...sortedPseudo, ...sortedOther];
78
+ }
79
+ function assembleUtility(utility, variants) {
80
+ if (!variants || variants.length === 0) {
81
+ return utility;
82
+ }
83
+ const normalized = normalizeVariantOrder(variants);
84
+ if (normalized.length === 0) {
85
+ return utility;
86
+ }
87
+ const prefix = normalized.join(':');
88
+ return `${prefix}:${utility}`;
89
+ }
90
+ function assembleUtilities(utilities) {
91
+ return utilities.map(u => assembleUtility(u.value, u.variants));
92
+ }
93
+ function mergeUtilities(utilities) {
94
+ const merged = new Map();
95
+ for (const utility of utilities) {
96
+ const key = utility.value;
97
+ const existing = merged.get(key) || new Set();
98
+ if (utility.variants) {
99
+ for (const v of utility.variants) {
100
+ existing.add(v);
101
+ }
102
+ }
103
+ merged.set(key, existing);
104
+ }
105
+ const result = [];
106
+ for (const [value, variantSet] of merged.entries()) {
107
+ result.push({
108
+ value,
109
+ variants: Array.from(variantSet)
110
+ });
111
+ }
112
+ return result;
113
+ }
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFudEFzc2VtYmxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy92YXJpYW50QXNzZW1ibGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU9BLGtEQUVDO0FBRUQsMENBRUM7QUFFRCxvQ0FXQztBQUVELGtEQVlDO0FBRUQsb0RBWUM7QUFFRCxzREFxQkM7QUFFRCwwQ0FhQztBQUVELDhDQUVDO0FBT0Qsd0NBMEJDO0FBL0hZLFFBQUEsYUFBYSxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFFckssTUFBTSxtQkFBbUIsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3JFLE1BQU0sZUFBZSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBRXpILFNBQWdCLG1CQUFtQixDQUFDLE9BQWU7SUFDakQsT0FBTyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVELFNBQWdCLGVBQWUsQ0FBQyxPQUFlO0lBQzdDLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRUQsU0FBZ0IsWUFBWSxDQUFDLFFBQWtCO0lBQzdDLE9BQU8sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxD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SUFFRCxNQUFNLE1BQU0sR0FBb0IsRUFBRSxDQUFDO0lBRW5DLEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUNuRCxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ1YsS0FBSztZQUNMLFFBQVEsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4vbG9nZ2VyJztcblxuZXhwb3J0IGNvbnN0IFZBUklBTlRfT1JERVIgPSBbJ3NtJywgJ21kJywgJ2xnJywgJ3hsJywgJzJ4bCcsICdob3ZlcicsICdmb2N1cycsICdhY3RpdmUnLCAnZGlzYWJsZWQnLCAndmlzaXRlZCcsICdmaXJzdCcsICdsYXN0JywgJ2JlZm9yZScsICdhZnRlcicsICdkYXJrJywgJ2xpZ2h0J107XG5cbmNvbnN0IFJFU1BPTlNJVkVfVkFSSUFOVFMgPSBuZXcgU2V0KFsnc20nLCAnbWQnLCAnbGcnLCAneGwnLCAnMnhsJ10pO1xuY29uc3QgUFNFVURPX1ZBUklBTlRTID0gbmV3IFNldChbJ2hvdmVyJywgJ2ZvY3VzJywgJ2FjdGl2ZScsICdkaXNhYmxlZCcsICd2aXNpdGVkJywgJ2ZpcnN0JywgJ2xhc3QnLCAnYmVmb3JlJywgJ2FmdGVyJ10pO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNSZXNwb25zaXZlVmFyaWFudCh2YXJpYW50OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIFJFU1BPTlNJVkVfVkFSSUFOVFMuaGFzKHZhcmlhbnQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNQc2V1ZG9WYXJpYW50KHZhcmlhbnQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gUFNFVURPX1ZBUklBTlRTLmhhcyh2YXJpYW50KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNvcnRWYXJpYW50cyh2YXJpYW50czogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIHJldHVybiBbLi4udmFyaWFudHNdLnNvcnQoKGEsIGIpID0+IHtcbiAgICBjb25zdCBhSW5kZXggPSBWQVJJQU5UX09SREVSLmluZGV4T2YoYSk7XG4gICAgY29uc3QgYkluZGV4ID0gVkFSSUFOVF9PUkRFUi5pbmRleE9mKGIpO1xuICAgIFxuICAgIGlmIChhSW5kZXggPT09IC0xICYmIGJJbmRleCA9PT0gLTEpIHJldHVybiBhLmxvY2FsZUNvbXBhcmUoYik7XG4gICAgaWYgKGFJbmRleCA9PT0gLTEpIHJldHVybiAxO1xuICAgIGlmIChiSW5kZXggPT09IC0xKSByZXR1cm4gLTE7XG4gICAgXG4gICAgcmV0dXJuIGFJbmRleCAtIGJJbmRleDtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWR1cGxpY2F0ZVZhcmlhbnRzKHZhcmlhbnRzOiBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgY29uc3Qgc2VlbiA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBjb25zdCByZXN1bHQ6IHN0cmluZ1tdID0gW107XG4gIFxuICBmb3IgKGNvbnN0IHZhcmlhbnQgb2YgdmFyaWFudHMpIHtcbiAgICBpZiAoIXNlZW4uaGFzKHZhcmlhbnQpKSB7XG4gICAgICBzZWVuLmFkZCh2YXJpYW50KTtcbiAgICAgIHJlc3VsdC5wdXNoKHZhcmlhbnQpO1xuICAgIH1cbiAgfVxuICBcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlVmFyaWFudE9yZGVyKHZhcmlhbnRzOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICBsZXQgaGFzU2VlblBzZXVkbyA9IGZhbHNlO1xuICBcbiAgZm9yIChjb25zdCB2YXJpYW50IG9mIHZhcmlhbnRzKSB7XG4gICAgaWYgKGlzUHNldWRvVmFyaWFudCh2YXJpYW50KSkge1xuICAgICAgaGFzU2VlblBzZXVkbyA9IHRydWU7XG4gICAgfSBlbHNlIGlmIChpc1Jlc3BvbnNpdmVWYXJpYW50KHZhcmlhbnQpICYmIGhhc1NlZW5Qc2V1ZG8pIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgXG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplVmFyaWFudE9yZGVyKHZhcmlhbnRzOiBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgY29uc3QgZGVkdXBlZCA9IGRlZHVwbGljYXRlVmFyaWFudHModmFyaWFudHMpO1xuICBjb25zdCByZXNwb25zaXZlOiBzdHJpbmdbXSA9IFtdO1xuICBjb25zdCBwc2V1ZG86IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IG90aGVyOiBzdHJpbmdbXSA9IFtdO1xuICBcbiAgZm9yIChjb25zdCB2YXJpYW50IG9mIGRlZHVwZWQpIHtcbiAgICBpZiAoaXNSZXNwb25zaXZlVmFyaWFudCh2YXJpYW50KSkge1xuICAgICAgcmVzcG9uc2l2ZS5wdXNoKHZhcmlhbnQpO1xuICAgIH0gZWxzZSBpZiAoaXNQc2V1ZG9WYXJpYW50KHZhcmlhbnQpKSB7XG4gICAgICBwc2V1ZG8ucHVzaCh2YXJpYW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3RoZXIucHVzaCh2YXJpYW50KTtcbiAgICB9XG4gIH1cbiAgXG4gIGNvbnN0IHNvcnRlZFJlc3BvbnNpdmUgPSBzb3J0VmFyaWFudHMocmVzcG9uc2l2ZSk7XG4gIGNvbnN0IHNvcnRlZFBzZXVkbyA9IHNvcnRWYXJpYW50cyhwc2V1ZG8pO1xuICBjb25zdCBzb3J0ZWRPdGhlciA9IHNvcnRWYXJpYW50cyhvdGhlcik7XG4gIFxuICByZXR1cm4gWy4uLnNvcnRlZFJlc3BvbnNpdmUsIC4uLnNvcnRlZFBzZXVkbywgLi4uc29ydGVkT3RoZXJdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNzZW1ibGVVdGlsaXR5KHV0aWxpdHk6IHN0cmluZywgdmFyaWFudHM/OiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gIGlmICghdmFyaWFudHMgfHwgdmFyaWFudHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHV0aWxpdHk7XG4gIH1cbiAgXG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBub3JtYWxpemVWYXJpYW50T3JkZXIodmFyaWFudHMpO1xuICBcbiAgaWYgKG5vcm1hbGl6ZWQubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHV0aWxpdHk7XG4gIH1cbiAgXG4gIGNvbnN0IHByZWZpeCA9IG5vcm1hbGl6ZWQuam9pbignOicpO1xuICByZXR1cm4gYCR7cHJlZml4fToke3V0aWxpdHl9YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VtYmxlVXRpbGl0aWVzKHV0aWxpdGllczogQXJyYXk8eyB2YWx1ZTogc3RyaW5nOyB2YXJpYW50cz86IHN0cmluZ1tdIH0+KTogc3RyaW5nW10ge1xuICByZXR1cm4gdXRpbGl0aWVzLm1hcCh1ID0+IGFzc2VtYmxlVXRpbGl0eSh1LnZhbHVlLCB1LnZhcmlhbnRzKSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVyZ2VkVXRpbGl0eSB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIHZhcmlhbnRzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlVXRpbGl0aWVzKHV0aWxpdGllczogQXJyYXk8eyB2YWx1ZTogc3RyaW5nOyB2YXJpYW50cz86IHN0cmluZ1tdIH0+KTogTWVyZ2VkVXRpbGl0eVtdIHtcbiAgY29uc3QgbWVyZ2VkID0gbmV3IE1hcDxzdHJpbmcsIFNldDxzdHJpbmc+PigpO1xuICBcbiAgZm9yIChjb25zdCB1dGlsaXR5IG9mIHV0aWxpdGllcykge1xuICAgIGNvbnN0IGtleSA9IHV0aWxpdHkudmFsdWU7XG4gICAgY29uc3QgZXhpc3RpbmcgPSBtZXJnZWQuZ2V0KGtleSkgfHwgbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgXG4gICAgaWYgKHV0aWxpdHkudmFyaWFudHMpIHtcbiAgICAgIGZvciAoY29uc3QgdiBvZiB1dGlsaXR5LnZhcmlhbnRzKSB7XG4gICAgICAgIGV4aXN0aW5nLmFkZCh2KTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgbWVyZ2VkLnNldChrZXksIGV4aXN0aW5nKTtcbiAgfVxuICBcbiAgY29uc3QgcmVzdWx0OiBNZXJnZWRVdGlsaXR5W10gPSBbXTtcbiAgXG4gIGZvciAoY29uc3QgW3ZhbHVlLCB2YXJpYW50U2V0XSBvZiBtZXJnZWQuZW50cmllcygpKSB7XG4gICAgcmVzdWx0LnB1c2goe1xuICAgICAgdmFsdWUsXG4gICAgICB2YXJpYW50czogQXJyYXkuZnJvbSh2YXJpYW50U2V0KVxuICAgIH0pO1xuICB9XG4gIFxuICByZXR1cm4gcmVzdWx0O1xufSJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "css-to-tailwind-react",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
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",
@@ -25,7 +25,9 @@
25
25
  "build:watch": "tsc --watch",
26
26
  "clean": "rm -rf dist",
27
27
  "prepublishOnly": "npm run clean && npm run build",
28
- "test": "echo \"No tests yet\" && exit 0",
28
+ "test": "jest",
29
+ "test:watch": "jest --watch",
30
+ "test:coverage": "jest --coverage",
29
31
  "lint": "tsc --noEmit"
30
32
  },
31
33
  "keywords": [
@@ -61,9 +63,12 @@
61
63
  "devDependencies": {
62
64
  "@types/babel__generator": "^7.6.8",
63
65
  "@types/babel__traverse": "^7.20.5",
66
+ "@types/jest": "^30.0.0",
64
67
  "@types/node": "^20.10.6",
65
68
  "@types/postcss-safe-parser": "^5.0.4",
66
69
  "@types/resolve": "^1.20.6",
70
+ "jest": "^30.2.0",
71
+ "ts-jest": "^29.4.6",
67
72
  "tsc-alias": "^1.8.8",
68
73
  "typescript": "^5.3.3"
69
74
  },