tailwind-to-style 1.0.6 → 1.0.7

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.
Files changed (2) hide show
  1. package/index.js +29 -33
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -5753,42 +5753,38 @@ function tws(classNames, convertToJson) {
5753
5753
  return cssResult;
5754
5754
  }
5755
5755
 
5756
- function twsx(selectorsConfig) {
5757
- return Object.entries(selectorsConfig)
5758
- .map(([selector, [baseStyles, extensions = {}]]) => {
5759
- let baseCSS = `${selector} { ${tws(baseStyles)} }`;
5760
- let extendedCSS = "";
5761
-
5762
- for (const [key, value] of Object.entries(extensions)) {
5763
- if (breakpoints[key]) {
5764
- const mediaQuery = breakpoints[key];
5765
- extendedCSS += `
5766
- ${mediaQuery} {
5767
- ${selector} {
5768
- ${tws(value)}
5769
- }
5770
- }
5771
- `;
5772
- } else if (key.startsWith("@media")) {
5773
- extendedCSS += `
5774
- ${key} {
5775
- ${selector} {
5776
- ${tws(value)}
5777
- }
5778
- }
5779
- `;
5780
- } else {
5781
- extendedCSS += `
5782
- ${selector}${key} {
5783
- ${tws(value)}
5784
- }
5785
- `;
5756
+ function twsx(obj, parentSelector) {
5757
+ let cssString = "";
5758
+
5759
+ for (const key in obj) {
5760
+ const newSelector = parentSelector
5761
+ ? key.startsWith(".") || key.startsWith(":")
5762
+ ? `${parentSelector}${key}`
5763
+ : `${parentSelector} ${key}`
5764
+ : key;
5765
+
5766
+ if (Array.isArray(obj[key])) {
5767
+ const [baseStyle, nestedStyles] = obj[key];
5768
+ cssString += `${newSelector} { ${tws(baseStyle)} } `;
5769
+
5770
+ if (typeof nestedStyles === "object") {
5771
+ cssString += twsx(nestedStyles, newSelector);
5772
+ }
5773
+ } else if (typeof obj[key] === "object" && key !== "breakpoint") {
5774
+ cssString += twsx(obj[key], newSelector);
5775
+ } else if (key === "breakpoint") {
5776
+ const mediaQueries = obj[key];
5777
+ for (const mediaKey in mediaQueries) {
5778
+ if (breakpoints[mediaKey]) {
5779
+ cssString += `${breakpoints[mediaKey]} { ${parentSelector} { ${tws(
5780
+ mediaQueries[mediaKey]
5781
+ )} } } `;
5786
5782
  }
5787
5783
  }
5784
+ }
5785
+ }
5788
5786
 
5789
- return `${baseCSS} ${extendedCSS}`;
5790
- })
5791
- .join(" ");
5787
+ return cssString;
5792
5788
  }
5793
5789
 
5794
5790
  exports.tws = tws;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tailwind-to-style",
3
- "version": "1.0.6",
3
+ "version": "1.0.7",
4
4
  "description": "Convert tailwind classes to inline style",
5
5
  "main": "index.js",
6
6
  "scripts": {