tailwind-to-style 1.0.5 → 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 -34
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -36,7 +36,6 @@ const theme = {
36
36
  "gradient-to-l": "linear-gradient(to left, var(--gradient-color-stops))",
37
37
  "gradient-to-tl":
38
38
  "linear-gradient(to top left, var(--gradient-color-stops))",
39
- custom: "custom_value",
40
39
  },
41
40
  backgroundOpacity: ({ theme }) => theme("opacity"),
42
41
  backgroundPosition: {
@@ -5754,42 +5753,38 @@ function tws(classNames, convertToJson) {
5754
5753
  return cssResult;
5755
5754
  }
5756
5755
 
5757
- function twsx(selectorsConfig) {
5758
- return Object.entries(selectorsConfig)
5759
- .map(([selector, [baseStyles, extensions = {}]]) => {
5760
- let baseCSS = `${selector} { ${tws(baseStyles)} }`;
5761
- let extendedCSS = "";
5762
-
5763
- for (const [key, value] of Object.entries(extensions)) {
5764
- if (breakpoints[key]) {
5765
- const mediaQuery = breakpoints[key];
5766
- extendedCSS += `
5767
- ${mediaQuery} {
5768
- ${selector} {
5769
- ${tws(value)}
5770
- }
5771
- }
5772
- `;
5773
- } else if (key.startsWith("@media")) {
5774
- extendedCSS += `
5775
- ${key} {
5776
- ${selector} {
5777
- ${tws(value)}
5778
- }
5779
- }
5780
- `;
5781
- } else {
5782
- extendedCSS += `
5783
- ${selector}${key} {
5784
- ${tws(value)}
5785
- }
5786
- `;
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
+ )} } } `;
5787
5782
  }
5788
5783
  }
5784
+ }
5785
+ }
5789
5786
 
5790
- return `${baseCSS} ${extendedCSS}`;
5791
- })
5792
- .join(" ");
5787
+ return cssString;
5793
5788
  }
5794
5789
 
5795
5790
  exports.tws = tws;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tailwind-to-style",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "Convert tailwind classes to inline style",
5
5
  "main": "index.js",
6
6
  "scripts": {