tailwindcss 0.0.0-insiders.fda68f7 → 0.0.0-oxide.6bf5e56
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/CHANGELOG.md +603 -2
- package/LICENSE +1 -2
- package/README.md +14 -6
- package/colors.d.ts +3 -0
- package/colors.js +2 -304
- package/defaultConfig.d.ts +3 -0
- package/defaultConfig.js +2 -4
- package/defaultTheme.d.ts +4 -0
- package/defaultTheme.js +2 -4
- package/lib/cli/build/deps.js +54 -0
- package/lib/cli/build/index.js +48 -0
- package/lib/cli/build/plugin.js +367 -0
- package/lib/cli/build/utils.js +78 -0
- package/lib/cli/build/watching.js +178 -0
- package/lib/cli/help/index.js +71 -0
- package/lib/cli/index.js +18 -0
- package/lib/cli/init/index.js +46 -0
- package/lib/cli/shared.js +13 -0
- package/lib/cli-peer-dependencies.js +22 -14
- package/lib/cli.js +217 -743
- package/lib/constants.js +41 -34
- package/lib/corePluginList.js +178 -5
- package/lib/corePlugins.js +3879 -2941
- package/lib/css/preflight.css +22 -9
- package/lib/featureFlags.js +61 -50
- package/lib/index.js +45 -28
- package/lib/lib/cacheInvalidation.js +90 -0
- package/lib/lib/collapseAdjacentRules.js +52 -36
- package/lib/lib/collapseDuplicateDeclarations.js +83 -0
- package/lib/lib/content.js +176 -0
- package/lib/lib/defaultExtractor.js +236 -0
- package/lib/lib/detectNesting.js +37 -0
- package/lib/lib/evaluateTailwindFunctions.js +203 -161
- package/lib/lib/expandApplyAtRules.js +502 -221
- package/lib/lib/expandTailwindAtRules.js +258 -243
- package/lib/lib/findAtConfigPath.js +44 -0
- package/lib/lib/generateRules.js +775 -320
- package/lib/lib/getModuleDependencies.js +44 -46
- package/lib/lib/normalizeTailwindDirectives.js +79 -60
- package/lib/lib/offsets.js +217 -0
- package/lib/lib/partitionApplyAtRules.js +56 -0
- package/lib/lib/regex.js +60 -0
- package/lib/lib/resolveDefaultsAtRules.js +150 -94
- package/lib/lib/setupContextUtils.js +1146 -599
- package/lib/lib/setupTrackingContext.js +129 -177
- package/lib/lib/sharedState.js +53 -21
- package/lib/lib/substituteScreenAtRules.js +26 -28
- package/{nesting → lib/postcss-plugins/nesting}/README.md +2 -2
- package/lib/postcss-plugins/nesting/index.js +19 -0
- package/lib/postcss-plugins/nesting/plugin.js +87 -0
- package/lib/processTailwindFeatures.js +58 -53
- package/lib/public/colors.js +331 -0
- package/lib/public/create-plugin.js +15 -0
- package/lib/public/default-config.js +16 -0
- package/lib/public/default-theme.js +16 -0
- package/lib/public/resolve-config.js +22 -0
- package/lib/util/bigSign.js +7 -6
- package/lib/util/buildMediaQuery.js +21 -32
- package/lib/util/cloneDeep.js +16 -14
- package/lib/util/cloneNodes.js +29 -15
- package/lib/util/color.js +90 -66
- package/lib/util/configurePlugins.js +17 -15
- package/lib/util/createPlugin.js +23 -26
- package/lib/util/createUtilityPlugin.js +46 -46
- package/lib/util/dataTypes.js +242 -0
- package/lib/util/defaults.js +20 -15
- package/lib/util/escapeClassName.js +18 -17
- package/lib/util/escapeCommas.js +7 -6
- package/lib/util/flattenColorPalette.js +13 -12
- package/lib/util/formatVariantSelector.js +285 -0
- package/lib/util/getAllConfigs.js +44 -18
- package/lib/util/hashConfig.js +15 -12
- package/lib/util/isKeyframeRule.js +7 -6
- package/lib/util/isPlainObject.js +11 -11
- package/lib/util/isSyntacticallyValidPropertyValue.js +72 -0
- package/lib/util/log.js +52 -33
- package/lib/util/nameClass.js +37 -26
- package/lib/util/negateValue.js +31 -17
- package/lib/util/normalizeConfig.js +281 -0
- package/lib/util/normalizeScreens.js +170 -0
- package/lib/util/parseAnimationValue.js +85 -54
- package/lib/util/parseBoxShadowValue.js +84 -0
- package/lib/util/parseDependency.js +41 -70
- package/lib/util/parseGlob.js +34 -0
- package/lib/util/parseObjectStyles.js +30 -24
- package/lib/util/pluginUtils.js +252 -287
- package/lib/util/prefixSelector.js +20 -20
- package/lib/util/removeAlphaVariables.js +29 -0
- package/lib/util/resolveConfig.js +221 -256
- package/lib/util/resolveConfigPath.js +43 -48
- package/lib/util/responsive.js +18 -14
- package/lib/util/splitAtTopLevelOnly.js +43 -0
- package/lib/util/tap.js +8 -7
- package/lib/util/toColorValue.js +7 -6
- package/lib/util/toPath.js +27 -8
- package/lib/util/transformThemeValue.js +67 -28
- package/lib/util/validateConfig.js +24 -0
- package/lib/util/validateFormalSyntax.js +24 -0
- package/lib/util/withAlphaVariable.js +67 -57
- package/nesting/index.js +2 -12
- package/package.json +60 -65
- package/peers/index.js +76445 -84221
- package/plugin.d.ts +11 -0
- package/plugin.js +1 -2
- package/resolveConfig.d.ts +12 -0
- package/resolveConfig.js +2 -7
- package/scripts/create-plugin-list.js +2 -2
- package/scripts/generate-types.js +105 -0
- package/scripts/release-channel.js +18 -0
- package/scripts/release-notes.js +21 -0
- package/scripts/type-utils.js +27 -0
- package/src/cli/build/deps.js +56 -0
- package/src/cli/build/index.js +49 -0
- package/src/cli/build/plugin.js +439 -0
- package/src/cli/build/utils.js +76 -0
- package/src/cli/build/watching.js +227 -0
- package/src/cli/help/index.js +70 -0
- package/src/cli/index.js +3 -0
- package/src/cli/init/index.js +50 -0
- package/src/cli/shared.js +6 -0
- package/src/cli-peer-dependencies.js +7 -1
- package/src/cli.js +50 -575
- package/src/corePluginList.js +1 -1
- package/src/corePlugins.js +2405 -1948
- package/src/css/preflight.css +22 -9
- package/src/featureFlags.js +26 -10
- package/src/index.js +19 -6
- package/src/lib/cacheInvalidation.js +52 -0
- package/src/lib/collapseAdjacentRules.js +21 -2
- package/src/lib/collapseDuplicateDeclarations.js +93 -0
- package/src/lib/content.js +212 -0
- package/src/lib/defaultExtractor.js +211 -0
- package/src/lib/detectNesting.js +39 -0
- package/src/lib/evaluateTailwindFunctions.js +84 -10
- package/src/lib/expandApplyAtRules.js +508 -153
- package/src/lib/expandTailwindAtRules.js +130 -104
- package/src/lib/findAtConfigPath.js +48 -0
- package/src/lib/generateRules.js +596 -70
- package/src/lib/normalizeTailwindDirectives.js +10 -3
- package/src/lib/offsets.js +270 -0
- package/src/lib/partitionApplyAtRules.js +52 -0
- package/src/lib/regex.js +74 -0
- package/src/lib/resolveDefaultsAtRules.js +105 -47
- package/src/lib/setupContextUtils.js +828 -196
- package/src/lib/setupTrackingContext.js +19 -54
- package/src/lib/sharedState.js +45 -7
- package/src/lib/substituteScreenAtRules.js +6 -3
- package/src/postcss-plugins/nesting/README.md +42 -0
- package/src/postcss-plugins/nesting/index.js +13 -0
- package/src/postcss-plugins/nesting/plugin.js +80 -0
- package/src/processTailwindFeatures.js +19 -2
- package/src/public/colors.js +300 -0
- package/src/public/create-plugin.js +2 -0
- package/src/public/default-config.js +4 -0
- package/src/public/default-theme.js +4 -0
- package/src/public/resolve-config.js +7 -0
- package/src/util/buildMediaQuery.js +14 -16
- package/src/util/cloneNodes.js +19 -2
- package/src/util/color.js +31 -14
- package/src/util/createUtilityPlugin.js +2 -11
- package/src/util/dataTypes.js +256 -0
- package/src/util/defaults.js +6 -0
- package/src/util/formatVariantSelector.js +319 -0
- package/src/util/getAllConfigs.js +19 -0
- package/src/util/isSyntacticallyValidPropertyValue.js +61 -0
- package/src/util/log.js +23 -22
- package/src/util/nameClass.js +14 -6
- package/src/util/negateValue.js +15 -5
- package/src/util/normalizeConfig.js +300 -0
- package/src/util/normalizeScreens.js +140 -0
- package/src/util/parseAnimationValue.js +7 -1
- package/src/util/parseBoxShadowValue.js +72 -0
- package/src/util/parseDependency.js +37 -38
- package/src/util/parseGlob.js +24 -0
- package/src/util/pluginUtils.js +216 -197
- package/src/util/prefixSelector.js +7 -8
- package/src/util/removeAlphaVariables.js +24 -0
- package/src/util/resolveConfig.js +86 -91
- package/src/util/splitAtTopLevelOnly.js +45 -0
- package/src/util/toPath.js +23 -1
- package/src/util/transformThemeValue.js +33 -8
- package/src/util/validateConfig.js +13 -0
- package/src/util/validateFormalSyntax.js +34 -0
- package/src/util/withAlphaVariable.js +14 -9
- package/stubs/defaultConfig.stub.js +186 -117
- package/stubs/simpleConfig.stub.js +1 -1
- package/types/config.d.ts +362 -0
- package/types/generated/.gitkeep +0 -0
- package/types/generated/colors.d.ts +276 -0
- package/types/generated/corePluginList.d.ts +1 -0
- package/types/generated/default-theme.d.ts +342 -0
- package/types/index.d.ts +7 -0
- package/lib/lib/setupWatchingContext.js +0 -331
- package/nesting/plugin.js +0 -41
- package/src/lib/setupWatchingContext.js +0 -306
package/lib/util/color.js
CHANGED
|
@@ -1,74 +1,98 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
3
|
+
value: true
|
|
5
4
|
});
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
parseColor: ()=>parseColor,
|
|
13
|
+
formatColor: ()=>formatColor
|
|
14
|
+
});
|
|
15
|
+
const _colorName = /*#__PURE__*/ _interopRequireDefault(require("color-name"));
|
|
16
|
+
function _interopRequireDefault(obj) {
|
|
17
|
+
return obj && obj.__esModule ? obj : {
|
|
18
|
+
default: obj
|
|
19
|
+
};
|
|
20
|
+
}
|
|
13
21
|
let HEX = /^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i;
|
|
14
22
|
let SHORT_HEX = /^#([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i;
|
|
15
|
-
let VALUE =
|
|
16
|
-
let SEP =
|
|
17
|
-
let ALPHA_SEP =
|
|
18
|
-
let
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
23
|
+
let VALUE = /(?:\d+|\d*\.\d+)%?/;
|
|
24
|
+
let SEP = /(?:\s*,\s*|\s+)/;
|
|
25
|
+
let ALPHA_SEP = /\s*[,/]\s*/;
|
|
26
|
+
let CUSTOM_PROPERTY = /var\(--(?:[^ )]*?)\)/;
|
|
27
|
+
let RGB = new RegExp(`^(rgb)a?\\(\\s*(${VALUE.source}|${CUSTOM_PROPERTY.source})(?:${SEP.source}(${VALUE.source}|${CUSTOM_PROPERTY.source}))?(?:${SEP.source}(${VALUE.source}|${CUSTOM_PROPERTY.source}))?(?:${ALPHA_SEP.source}(${VALUE.source}|${CUSTOM_PROPERTY.source}))?\\s*\\)$`);
|
|
28
|
+
let HSL = new RegExp(`^(hsl)a?\\(\\s*((?:${VALUE.source})(?:deg|rad|grad|turn)?|${CUSTOM_PROPERTY.source})(?:${SEP.source}(${VALUE.source}|${CUSTOM_PROPERTY.source}))?(?:${SEP.source}(${VALUE.source}|${CUSTOM_PROPERTY.source}))?(?:${ALPHA_SEP.source}(${VALUE.source}|${CUSTOM_PROPERTY.source}))?\\s*\\)$`);
|
|
29
|
+
function parseColor(value, { loose =false } = {}) {
|
|
30
|
+
var ref, ref1;
|
|
31
|
+
if (typeof value !== "string") {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
value = value.trim();
|
|
35
|
+
if (value === "transparent") {
|
|
36
|
+
return {
|
|
37
|
+
mode: "rgb",
|
|
38
|
+
color: [
|
|
39
|
+
"0",
|
|
40
|
+
"0",
|
|
41
|
+
"0"
|
|
42
|
+
],
|
|
43
|
+
alpha: "0"
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
if (value in _colorName.default) {
|
|
47
|
+
return {
|
|
48
|
+
mode: "rgb",
|
|
49
|
+
color: _colorName.default[value].map((v)=>v.toString())
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
let hex = value.replace(SHORT_HEX, (_, r, g, b, a)=>[
|
|
53
|
+
"#",
|
|
54
|
+
r,
|
|
55
|
+
r,
|
|
56
|
+
g,
|
|
57
|
+
g,
|
|
58
|
+
b,
|
|
59
|
+
b,
|
|
60
|
+
a ? a + a : ""
|
|
61
|
+
].join("")).match(HEX);
|
|
62
|
+
if (hex !== null) {
|
|
63
|
+
return {
|
|
64
|
+
mode: "rgb",
|
|
65
|
+
color: [
|
|
66
|
+
parseInt(hex[1], 16),
|
|
67
|
+
parseInt(hex[2], 16),
|
|
68
|
+
parseInt(hex[3], 16)
|
|
69
|
+
].map((v)=>v.toString()),
|
|
70
|
+
alpha: hex[4] ? (parseInt(hex[4], 16) / 255).toString() : undefined
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
var ref2;
|
|
74
|
+
let match = (ref2 = value.match(RGB)) !== null && ref2 !== void 0 ? ref2 : value.match(HSL);
|
|
75
|
+
if (match === null) {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
let color = [
|
|
79
|
+
match[2],
|
|
80
|
+
match[3],
|
|
81
|
+
match[4]
|
|
82
|
+
].filter(Boolean).map((v)=>v.toString());
|
|
83
|
+
if (!loose && color.length !== 3) {
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
if (color.length < 3 && !color.some((part)=>/^var\(.*?\)$/.test(part))) {
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
36
89
|
return {
|
|
37
|
-
|
|
38
|
-
|
|
90
|
+
mode: match[1],
|
|
91
|
+
color,
|
|
92
|
+
alpha: (ref = match[5]) === null || ref === void 0 ? void 0 : (ref1 = ref.toString) === null || ref1 === void 0 ? void 0 : ref1.call(ref)
|
|
39
93
|
};
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
let hex = value.replace(SHORT_HEX, (_, r, g, b, a) => ['#', r, r, g, g, b, b, a ? a + a : ''].join('')).match(HEX);
|
|
43
|
-
|
|
44
|
-
if (hex !== null) {
|
|
45
|
-
return {
|
|
46
|
-
mode: 'rgb',
|
|
47
|
-
color: [parseInt(hex[1], 16), parseInt(hex[2], 16), parseInt(hex[3], 16)].map(v => v.toString()),
|
|
48
|
-
alpha: hex[4] ? (parseInt(hex[4], 16) / 255).toString() : undefined
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
let match = value.match(RGB_HSL);
|
|
53
|
-
|
|
54
|
-
if (match !== null) {
|
|
55
|
-
var _match$, _match$$toString;
|
|
56
|
-
|
|
57
|
-
return {
|
|
58
|
-
mode: match[1],
|
|
59
|
-
color: [match[2], match[3], match[4]].map(v => v.toString()),
|
|
60
|
-
alpha: (_match$ = match[5]) === null || _match$ === void 0 ? void 0 : (_match$$toString = _match$.toString) === null || _match$$toString === void 0 ? void 0 : _match$$toString.call(_match$)
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
return null;
|
|
65
94
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
alpha
|
|
71
|
-
}) {
|
|
72
|
-
let hasAlpha = alpha !== undefined;
|
|
73
|
-
return `${mode}(${color.join(' ')}${hasAlpha ? ` / ${alpha}` : ''})`;
|
|
74
|
-
}
|
|
95
|
+
function formatColor({ mode , color , alpha }) {
|
|
96
|
+
let hasAlpha = alpha !== undefined;
|
|
97
|
+
return `${mode}(${color.join(" ")}${hasAlpha ? ` / ${alpha}` : ""})`;
|
|
98
|
+
}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>_default
|
|
5
8
|
});
|
|
6
|
-
exports.default = _default;
|
|
7
|
-
|
|
8
9
|
function _default(pluginConfig, plugins) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
10
|
+
if (pluginConfig === undefined) {
|
|
11
|
+
return plugins;
|
|
12
|
+
}
|
|
13
|
+
const pluginNames = Array.isArray(pluginConfig) ? pluginConfig : [
|
|
14
|
+
...new Set(plugins.filter((pluginName)=>{
|
|
15
|
+
return pluginConfig !== false && pluginConfig[pluginName] !== false;
|
|
16
|
+
}).concat(Object.keys(pluginConfig).filter((pluginName)=>{
|
|
17
|
+
return pluginConfig[pluginName] !== false;
|
|
18
|
+
})))
|
|
19
|
+
];
|
|
20
|
+
return pluginNames;
|
|
21
|
+
}
|
package/lib/util/createPlugin.js
CHANGED
|
@@ -1,33 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>_default
|
|
5
8
|
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
9
|
function createPlugin(plugin, config) {
|
|
9
|
-
return {
|
|
10
|
-
handler: plugin,
|
|
11
|
-
config
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
createPlugin.withOptions = function (pluginFunction, configFunction = () => ({})) {
|
|
16
|
-
const optionsFunction = function (options) {
|
|
17
10
|
return {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
11
|
+
handler: plugin,
|
|
12
|
+
config
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
createPlugin.withOptions = function(pluginFunction, configFunction = ()=>({})) {
|
|
16
|
+
const optionsFunction = function(options) {
|
|
17
|
+
return {
|
|
18
|
+
__options: options,
|
|
19
|
+
handler: pluginFunction(options),
|
|
20
|
+
config: configFunction(options)
|
|
21
|
+
};
|
|
21
22
|
};
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
optionsFunction.__configFunction = configFunction;
|
|
29
|
-
return optionsFunction;
|
|
23
|
+
optionsFunction.__isOptionsFunction = true;
|
|
24
|
+
// Expose plugin dependencies so that `object-hash` returns a different
|
|
25
|
+
// value if anything here changes, to ensure a rebuild is triggered.
|
|
26
|
+
optionsFunction.__pluginFunction = pluginFunction;
|
|
27
|
+
optionsFunction.__configFunction = configFunction;
|
|
28
|
+
return optionsFunction;
|
|
30
29
|
};
|
|
31
|
-
|
|
32
|
-
var _default = createPlugin;
|
|
33
|
-
exports.default = _default;
|
|
30
|
+
const _default = createPlugin;
|
|
@@ -1,51 +1,51 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
3
|
+
value: true
|
|
5
4
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
function createUtilityPlugin(themeKey, utilityVariations = [
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
return properties.reduce((obj, name) => {
|
|
33
|
-
if (Array.isArray(name)) {
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>createUtilityPlugin
|
|
8
|
+
});
|
|
9
|
+
const _transformThemeValue = /*#__PURE__*/ _interopRequireDefault(require("./transformThemeValue"));
|
|
10
|
+
function _interopRequireDefault(obj) {
|
|
11
|
+
return obj && obj.__esModule ? obj : {
|
|
12
|
+
default: obj
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
function createUtilityPlugin(themeKey, utilityVariations = [
|
|
16
|
+
[
|
|
17
|
+
themeKey,
|
|
18
|
+
[
|
|
19
|
+
themeKey
|
|
20
|
+
]
|
|
21
|
+
]
|
|
22
|
+
], { filterDefault =false , ...options } = {}) {
|
|
23
|
+
let transformValue = (0, _transformThemeValue.default)(themeKey);
|
|
24
|
+
return function({ matchUtilities , theme }) {
|
|
25
|
+
for (let utilityVariation of utilityVariations){
|
|
26
|
+
let group = Array.isArray(utilityVariation[0]) ? utilityVariation : [
|
|
27
|
+
utilityVariation
|
|
28
|
+
];
|
|
29
|
+
var ref;
|
|
30
|
+
matchUtilities(group.reduce((obj, [classPrefix, properties])=>{
|
|
34
31
|
return Object.assign(obj, {
|
|
35
|
-
|
|
32
|
+
[classPrefix]: (value)=>{
|
|
33
|
+
return properties.reduce((obj, name)=>{
|
|
34
|
+
if (Array.isArray(name)) {
|
|
35
|
+
return Object.assign(obj, {
|
|
36
|
+
[name[0]]: name[1]
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
return Object.assign(obj, {
|
|
40
|
+
[name]: transformValue(value)
|
|
41
|
+
});
|
|
42
|
+
}, {});
|
|
43
|
+
}
|
|
36
44
|
});
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
});
|
|
45
|
-
}, {}), {
|
|
46
|
-
values: filterDefault ? Object.fromEntries(Object.entries((_theme = theme(themeKey)) !== null && _theme !== void 0 ? _theme : {}).filter(([modifier]) => modifier !== 'DEFAULT')) : theme(themeKey),
|
|
47
|
-
type: (_asMap$get = asMap.get(resolveArbitraryValue)) !== null && _asMap$get !== void 0 ? _asMap$get : 'any'
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
}
|
|
45
|
+
}, {}), {
|
|
46
|
+
...options,
|
|
47
|
+
values: filterDefault ? Object.fromEntries(Object.entries((ref = theme(themeKey)) !== null && ref !== void 0 ? ref : {}).filter(([modifier])=>modifier !== "DEFAULT")) : theme(themeKey)
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
normalize: ()=>normalize,
|
|
13
|
+
url: ()=>url,
|
|
14
|
+
number: ()=>number,
|
|
15
|
+
percentage: ()=>percentage,
|
|
16
|
+
length: ()=>length,
|
|
17
|
+
lineWidth: ()=>lineWidth,
|
|
18
|
+
shadow: ()=>shadow,
|
|
19
|
+
color: ()=>color,
|
|
20
|
+
image: ()=>image,
|
|
21
|
+
gradient: ()=>gradient,
|
|
22
|
+
position: ()=>position,
|
|
23
|
+
familyName: ()=>familyName,
|
|
24
|
+
genericName: ()=>genericName,
|
|
25
|
+
absoluteSize: ()=>absoluteSize,
|
|
26
|
+
relativeSize: ()=>relativeSize
|
|
27
|
+
});
|
|
28
|
+
const _color = require("./color");
|
|
29
|
+
const _parseBoxShadowValue = require("./parseBoxShadowValue");
|
|
30
|
+
const _splitAtTopLevelOnly = require("./splitAtTopLevelOnly");
|
|
31
|
+
let cssFunctions = [
|
|
32
|
+
"min",
|
|
33
|
+
"max",
|
|
34
|
+
"clamp",
|
|
35
|
+
"calc"
|
|
36
|
+
];
|
|
37
|
+
// Ref: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Types
|
|
38
|
+
function isCSSFunction(value) {
|
|
39
|
+
return cssFunctions.some((fn)=>new RegExp(`^${fn}\\(.*\\)`).test(value));
|
|
40
|
+
}
|
|
41
|
+
function normalize(value, isRoot = true) {
|
|
42
|
+
if (value.startsWith("--")) {
|
|
43
|
+
return `var(${value})`;
|
|
44
|
+
}
|
|
45
|
+
// Keep raw strings if it starts with `url(`
|
|
46
|
+
if (value.includes("url(")) {
|
|
47
|
+
return value.split(/(url\(.*?\))/g).filter(Boolean).map((part)=>{
|
|
48
|
+
if (/^url\(.*?\)$/.test(part)) {
|
|
49
|
+
return part;
|
|
50
|
+
}
|
|
51
|
+
return normalize(part, false);
|
|
52
|
+
}).join("");
|
|
53
|
+
}
|
|
54
|
+
// Convert `_` to ` `, except for escaped underscores `\_`
|
|
55
|
+
value = value.replace(/([^\\])_+/g, (fullMatch, characterBefore)=>characterBefore + " ".repeat(fullMatch.length - 1)).replace(/^_/g, " ").replace(/\\_/g, "_");
|
|
56
|
+
// Remove leftover whitespace
|
|
57
|
+
if (isRoot) {
|
|
58
|
+
value = value.trim();
|
|
59
|
+
}
|
|
60
|
+
// Add spaces around operators inside math functions like calc() that do not follow an operator
|
|
61
|
+
// or '('.
|
|
62
|
+
value = value.replace(/(calc|min|max|clamp)\(.+\)/g, (match)=>{
|
|
63
|
+
return match.replace(/(-?\d*\.?\d(?!\b-.+[,)](?![^+\-/*])\D)(?:%|[a-z]+)?|\))([+\-/*])/g, "$1 $2 ");
|
|
64
|
+
});
|
|
65
|
+
return value;
|
|
66
|
+
}
|
|
67
|
+
function url(value) {
|
|
68
|
+
return value.startsWith("url(");
|
|
69
|
+
}
|
|
70
|
+
function number(value) {
|
|
71
|
+
return !isNaN(Number(value)) || isCSSFunction(value);
|
|
72
|
+
}
|
|
73
|
+
function percentage(value) {
|
|
74
|
+
return value.endsWith("%") && number(value.slice(0, -1)) || isCSSFunction(value);
|
|
75
|
+
}
|
|
76
|
+
let lengthUnits = [
|
|
77
|
+
"cm",
|
|
78
|
+
"mm",
|
|
79
|
+
"Q",
|
|
80
|
+
"in",
|
|
81
|
+
"pc",
|
|
82
|
+
"pt",
|
|
83
|
+
"px",
|
|
84
|
+
"em",
|
|
85
|
+
"ex",
|
|
86
|
+
"ch",
|
|
87
|
+
"rem",
|
|
88
|
+
"lh",
|
|
89
|
+
"vw",
|
|
90
|
+
"vh",
|
|
91
|
+
"vmin",
|
|
92
|
+
"vmax"
|
|
93
|
+
];
|
|
94
|
+
let lengthUnitsPattern = `(?:${lengthUnits.join("|")})`;
|
|
95
|
+
function length(value) {
|
|
96
|
+
return value === "0" || new RegExp(`^[+-]?[0-9]*\.?[0-9]+(?:[eE][+-]?[0-9]+)?${lengthUnitsPattern}$`).test(value) || isCSSFunction(value);
|
|
97
|
+
}
|
|
98
|
+
let lineWidths = new Set([
|
|
99
|
+
"thin",
|
|
100
|
+
"medium",
|
|
101
|
+
"thick"
|
|
102
|
+
]);
|
|
103
|
+
function lineWidth(value) {
|
|
104
|
+
return lineWidths.has(value);
|
|
105
|
+
}
|
|
106
|
+
function shadow(value) {
|
|
107
|
+
let parsedShadows = (0, _parseBoxShadowValue.parseBoxShadowValue)(normalize(value));
|
|
108
|
+
for (let parsedShadow of parsedShadows){
|
|
109
|
+
if (!parsedShadow.valid) {
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
function color(value) {
|
|
116
|
+
let colors = 0;
|
|
117
|
+
let result = (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(value, "_").every((part)=>{
|
|
118
|
+
part = normalize(part);
|
|
119
|
+
if (part.startsWith("var(")) return true;
|
|
120
|
+
if ((0, _color.parseColor)(part, {
|
|
121
|
+
loose: true
|
|
122
|
+
}) !== null) return colors++, true;
|
|
123
|
+
return false;
|
|
124
|
+
});
|
|
125
|
+
if (!result) return false;
|
|
126
|
+
return colors > 0;
|
|
127
|
+
}
|
|
128
|
+
function image(value) {
|
|
129
|
+
let images = 0;
|
|
130
|
+
let result = (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(value, ",").every((part)=>{
|
|
131
|
+
part = normalize(part);
|
|
132
|
+
if (part.startsWith("var(")) return true;
|
|
133
|
+
if (url(part) || gradient(part) || [
|
|
134
|
+
"element(",
|
|
135
|
+
"image(",
|
|
136
|
+
"cross-fade(",
|
|
137
|
+
"image-set("
|
|
138
|
+
].some((fn)=>part.startsWith(fn))) {
|
|
139
|
+
images++;
|
|
140
|
+
return true;
|
|
141
|
+
}
|
|
142
|
+
return false;
|
|
143
|
+
});
|
|
144
|
+
if (!result) return false;
|
|
145
|
+
return images > 0;
|
|
146
|
+
}
|
|
147
|
+
let gradientTypes = new Set([
|
|
148
|
+
"linear-gradient",
|
|
149
|
+
"radial-gradient",
|
|
150
|
+
"repeating-linear-gradient",
|
|
151
|
+
"repeating-radial-gradient",
|
|
152
|
+
"conic-gradient"
|
|
153
|
+
]);
|
|
154
|
+
function gradient(value) {
|
|
155
|
+
value = normalize(value);
|
|
156
|
+
for (let type of gradientTypes){
|
|
157
|
+
if (value.startsWith(`${type}(`)) {
|
|
158
|
+
return true;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return false;
|
|
162
|
+
}
|
|
163
|
+
let validPositions = new Set([
|
|
164
|
+
"center",
|
|
165
|
+
"top",
|
|
166
|
+
"right",
|
|
167
|
+
"bottom",
|
|
168
|
+
"left"
|
|
169
|
+
]);
|
|
170
|
+
function position(value) {
|
|
171
|
+
let positions = 0;
|
|
172
|
+
let result = (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(value, "_").every((part)=>{
|
|
173
|
+
part = normalize(part);
|
|
174
|
+
if (part.startsWith("var(")) return true;
|
|
175
|
+
if (validPositions.has(part) || length(part) || percentage(part)) {
|
|
176
|
+
positions++;
|
|
177
|
+
return true;
|
|
178
|
+
}
|
|
179
|
+
return false;
|
|
180
|
+
});
|
|
181
|
+
if (!result) return false;
|
|
182
|
+
return positions > 0;
|
|
183
|
+
}
|
|
184
|
+
function familyName(value) {
|
|
185
|
+
let fonts = 0;
|
|
186
|
+
let result = (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(value, ",").every((part)=>{
|
|
187
|
+
part = normalize(part);
|
|
188
|
+
if (part.startsWith("var(")) return true;
|
|
189
|
+
// If it contains spaces, then it should be quoted
|
|
190
|
+
if (part.includes(" ")) {
|
|
191
|
+
if (!/(['"])([^"']+)\1/g.test(part)) {
|
|
192
|
+
return false;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
// If it starts with a number, it's invalid
|
|
196
|
+
if (/^\d/g.test(part)) {
|
|
197
|
+
return false;
|
|
198
|
+
}
|
|
199
|
+
fonts++;
|
|
200
|
+
return true;
|
|
201
|
+
});
|
|
202
|
+
if (!result) return false;
|
|
203
|
+
return fonts > 0;
|
|
204
|
+
}
|
|
205
|
+
let genericNames = new Set([
|
|
206
|
+
"serif",
|
|
207
|
+
"sans-serif",
|
|
208
|
+
"monospace",
|
|
209
|
+
"cursive",
|
|
210
|
+
"fantasy",
|
|
211
|
+
"system-ui",
|
|
212
|
+
"ui-serif",
|
|
213
|
+
"ui-sans-serif",
|
|
214
|
+
"ui-monospace",
|
|
215
|
+
"ui-rounded",
|
|
216
|
+
"math",
|
|
217
|
+
"emoji",
|
|
218
|
+
"fangsong"
|
|
219
|
+
]);
|
|
220
|
+
function genericName(value) {
|
|
221
|
+
return genericNames.has(value);
|
|
222
|
+
}
|
|
223
|
+
let absoluteSizes = new Set([
|
|
224
|
+
"xx-small",
|
|
225
|
+
"x-small",
|
|
226
|
+
"small",
|
|
227
|
+
"medium",
|
|
228
|
+
"large",
|
|
229
|
+
"x-large",
|
|
230
|
+
"x-large",
|
|
231
|
+
"xxx-large"
|
|
232
|
+
]);
|
|
233
|
+
function absoluteSize(value) {
|
|
234
|
+
return absoluteSizes.has(value);
|
|
235
|
+
}
|
|
236
|
+
let relativeSizes = new Set([
|
|
237
|
+
"larger",
|
|
238
|
+
"smaller"
|
|
239
|
+
]);
|
|
240
|
+
function relativeSize(value) {
|
|
241
|
+
return relativeSizes.has(value);
|
|
242
|
+
}
|
package/lib/util/defaults.js
CHANGED
|
@@ -1,20 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "defaults", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>defaults
|
|
5
8
|
});
|
|
6
|
-
exports.defaults = defaults;
|
|
7
|
-
|
|
8
9
|
function defaults(target, ...sources) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
for (let source of sources){
|
|
11
|
+
for(let k in source){
|
|
12
|
+
var ref;
|
|
13
|
+
if (!(target === null || target === void 0 ? void 0 : (ref = target.hasOwnProperty) === null || ref === void 0 ? void 0 : ref.call(target, k))) {
|
|
14
|
+
target[k] = source[k];
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
for (let k1 of Object.getOwnPropertySymbols(source)){
|
|
18
|
+
var ref1;
|
|
19
|
+
if (!(target === null || target === void 0 ? void 0 : (ref1 = target.hasOwnProperty) === null || ref1 === void 0 ? void 0 : ref1.call(target, k1))) {
|
|
20
|
+
target[k1] = source[k1];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
16
23
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
return target;
|
|
20
|
-
}
|
|
24
|
+
return target;
|
|
25
|
+
}
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
3
|
+
value: true
|
|
5
4
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
function _interopRequireDefault(obj) {
|
|
13
|
-
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>escapeClassName
|
|
8
|
+
});
|
|
9
|
+
const _postcssSelectorParser = /*#__PURE__*/ _interopRequireDefault(require("postcss-selector-parser"));
|
|
10
|
+
const _escapeCommas = /*#__PURE__*/ _interopRequireDefault(require("./escapeCommas"));
|
|
11
|
+
function _interopRequireDefault(obj) {
|
|
12
|
+
return obj && obj.__esModule ? obj : {
|
|
13
|
+
default: obj
|
|
14
|
+
};
|
|
15
|
+
}
|
|
14
16
|
function escapeClassName(className) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
17
|
+
var ref;
|
|
18
|
+
let node = _postcssSelectorParser.default.className();
|
|
19
|
+
node.value = className;
|
|
20
|
+
var ref1;
|
|
21
|
+
return (0, _escapeCommas.default)((ref1 = node === null || node === void 0 ? void 0 : (ref = node.raws) === null || ref === void 0 ? void 0 : ref.value) !== null && ref1 !== void 0 ? ref1 : node.value);
|
|
22
|
+
}
|