tailwindcss 3.4.1 → 4.0.0-alpha.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.
- package/README.md +5 -6
- package/dist/lib.d.mts +324 -0
- package/dist/lib.d.ts +324 -0
- package/dist/lib.js +11 -0
- package/dist/lib.mjs +11 -0
- package/index.css +5 -0
- package/package.json +29 -107
- package/preflight.css +355 -0
- package/theme.css +465 -0
- package/CHANGELOG.md +0 -2571
- package/base.css +0 -1
- package/colors.d.ts +0 -3
- package/colors.js +0 -2
- package/components.css +0 -1
- package/defaultConfig.d.ts +0 -3
- package/defaultConfig.js +0 -2
- package/defaultTheme.d.ts +0 -4
- package/defaultTheme.js +0 -2
- package/lib/cli/build/deps.js +0 -62
- package/lib/cli/build/index.js +0 -54
- package/lib/cli/build/plugin.js +0 -378
- package/lib/cli/build/utils.js +0 -88
- package/lib/cli/build/watching.js +0 -182
- package/lib/cli/help/index.js +0 -73
- package/lib/cli/index.js +0 -230
- package/lib/cli/init/index.js +0 -63
- package/lib/cli-peer-dependencies.js +0 -36
- package/lib/cli.js +0 -7
- package/lib/corePluginList.js +0 -190
- package/lib/corePlugins.js +0 -4282
- package/lib/css/LICENSE +0 -25
- package/lib/css/preflight.css +0 -385
- package/lib/featureFlags.js +0 -83
- package/lib/index.js +0 -2
- package/lib/lib/cacheInvalidation.js +0 -92
- package/lib/lib/collapseAdjacentRules.js +0 -61
- package/lib/lib/collapseDuplicateDeclarations.js +0 -85
- package/lib/lib/content.js +0 -181
- package/lib/lib/defaultExtractor.js +0 -251
- package/lib/lib/detectNesting.js +0 -45
- package/lib/lib/evaluateTailwindFunctions.js +0 -238
- package/lib/lib/expandApplyAtRules.js +0 -540
- package/lib/lib/expandTailwindAtRules.js +0 -291
- package/lib/lib/findAtConfigPath.js +0 -46
- package/lib/lib/generateRules.js +0 -904
- package/lib/lib/getModuleDependencies.js +0 -99
- package/lib/lib/load-config.js +0 -53
- package/lib/lib/normalizeTailwindDirectives.js +0 -89
- package/lib/lib/offsets.js +0 -306
- package/lib/lib/partitionApplyAtRules.js +0 -58
- package/lib/lib/regex.js +0 -74
- package/lib/lib/remap-bitfield.js +0 -89
- package/lib/lib/resolveDefaultsAtRules.js +0 -165
- package/lib/lib/setupContextUtils.js +0 -1294
- package/lib/lib/setupTrackingContext.js +0 -166
- package/lib/lib/sharedState.js +0 -87
- package/lib/lib/substituteScreenAtRules.js +0 -31
- package/lib/oxide/cli/build/deps.js +0 -89
- package/lib/oxide/cli/build/index.js +0 -53
- package/lib/oxide/cli/build/plugin.js +0 -375
- package/lib/oxide/cli/build/utils.js +0 -87
- package/lib/oxide/cli/build/watching.js +0 -179
- package/lib/oxide/cli/help/index.js +0 -72
- package/lib/oxide/cli/index.js +0 -214
- package/lib/oxide/cli/init/index.js +0 -52
- package/lib/oxide/cli.js +0 -5
- package/lib/oxide/postcss-plugin.js +0 -2
- package/lib/plugin.js +0 -98
- package/lib/postcss-plugins/nesting/README.md +0 -42
- package/lib/postcss-plugins/nesting/index.js +0 -21
- package/lib/postcss-plugins/nesting/plugin.js +0 -89
- package/lib/processTailwindFeatures.js +0 -64
- package/lib/public/colors.js +0 -355
- package/lib/public/create-plugin.js +0 -17
- package/lib/public/default-config.js +0 -18
- package/lib/public/default-theme.js +0 -18
- package/lib/public/load-config.js +0 -12
- package/lib/public/resolve-config.js +0 -24
- package/lib/util/applyImportantSelector.js +0 -36
- package/lib/util/bigSign.js +0 -13
- package/lib/util/buildMediaQuery.js +0 -27
- package/lib/util/cloneDeep.js +0 -22
- package/lib/util/cloneNodes.js +0 -54
- package/lib/util/color.js +0 -116
- package/lib/util/colorNames.js +0 -752
- package/lib/util/configurePlugins.js +0 -23
- package/lib/util/createPlugin.js +0 -32
- package/lib/util/createUtilityPlugin.js +0 -53
- package/lib/util/dataTypes.js +0 -415
- package/lib/util/defaults.js +0 -27
- package/lib/util/escapeClassName.js +0 -24
- package/lib/util/escapeCommas.js +0 -13
- package/lib/util/flattenColorPalette.js +0 -18
- package/lib/util/formatVariantSelector.js +0 -270
- package/lib/util/getAllConfigs.js +0 -50
- package/lib/util/hashConfig.js +0 -21
- package/lib/util/isKeyframeRule.js +0 -13
- package/lib/util/isPlainObject.js +0 -17
- package/lib/util/isSyntacticallyValidPropertyValue.js +0 -74
- package/lib/util/log.js +0 -61
- package/lib/util/nameClass.js +0 -49
- package/lib/util/negateValue.js +0 -36
- package/lib/util/normalizeConfig.js +0 -282
- package/lib/util/normalizeScreens.js +0 -178
- package/lib/util/parseAnimationValue.js +0 -93
- package/lib/util/parseBoxShadowValue.js +0 -88
- package/lib/util/parseDependency.js +0 -47
- package/lib/util/parseGlob.js +0 -36
- package/lib/util/parseObjectStyles.js +0 -36
- package/lib/util/pluginUtils.js +0 -289
- package/lib/util/prefixSelector.js +0 -39
- package/lib/util/pseudoElements.js +0 -212
- package/lib/util/removeAlphaVariables.js +0 -31
- package/lib/util/resolveConfig.js +0 -256
- package/lib/util/resolveConfigPath.js +0 -70
- package/lib/util/responsive.js +0 -24
- package/lib/util/splitAtTopLevelOnly.js +0 -51
- package/lib/util/tap.js +0 -14
- package/lib/util/toColorValue.js +0 -13
- package/lib/util/toPath.js +0 -32
- package/lib/util/transformThemeValue.js +0 -73
- package/lib/util/validateConfig.js +0 -37
- package/lib/util/validateFormalSyntax.js +0 -26
- package/lib/util/withAlphaVariable.js +0 -79
- package/lib/value-parser/LICENSE +0 -22
- package/lib/value-parser/README.md +0 -3
- package/lib/value-parser/index.d.js +0 -2
- package/lib/value-parser/index.js +0 -22
- package/lib/value-parser/parse.js +0 -259
- package/lib/value-parser/stringify.js +0 -38
- package/lib/value-parser/unit.js +0 -86
- package/lib/value-parser/walk.js +0 -16
- package/loadConfig.d.ts +0 -4
- package/loadConfig.js +0 -2
- package/nesting/index.d.ts +0 -4
- package/nesting/index.js +0 -2
- package/peers/index.js +0 -96624
- package/plugin.d.ts +0 -11
- package/plugin.js +0 -2
- package/prettier.config.js +0 -19
- package/resolveConfig.d.ts +0 -31
- package/resolveConfig.js +0 -2
- package/screens.css +0 -1
- package/scripts/create-plugin-list.js +0 -10
- package/scripts/generate-types.js +0 -104
- package/scripts/release-channel.js +0 -18
- package/scripts/release-notes.js +0 -21
- package/scripts/swap-engines.js +0 -40
- package/scripts/type-utils.js +0 -27
- package/src/cli/build/deps.js +0 -56
- package/src/cli/build/index.js +0 -49
- package/src/cli/build/plugin.js +0 -444
- package/src/cli/build/utils.js +0 -76
- package/src/cli/build/watching.js +0 -229
- package/src/cli/help/index.js +0 -70
- package/src/cli/index.js +0 -216
- package/src/cli/init/index.js +0 -79
- package/src/cli-peer-dependencies.js +0 -15
- package/src/cli.js +0 -7
- package/src/corePluginList.js +0 -1
- package/src/corePlugins.js +0 -2943
- package/src/css/LICENSE +0 -25
- package/src/css/preflight.css +0 -385
- package/src/featureFlags.js +0 -66
- package/src/index.js +0 -1
- package/src/lib/cacheInvalidation.js +0 -52
- package/src/lib/collapseAdjacentRules.js +0 -58
- package/src/lib/collapseDuplicateDeclarations.js +0 -93
- package/src/lib/content.js +0 -208
- package/src/lib/defaultExtractor.js +0 -230
- package/src/lib/detectNesting.js +0 -47
- package/src/lib/evaluateTailwindFunctions.js +0 -272
- package/src/lib/expandApplyAtRules.js +0 -620
- package/src/lib/expandTailwindAtRules.js +0 -300
- package/src/lib/findAtConfigPath.js +0 -48
- package/src/lib/generateRules.js +0 -951
- package/src/lib/getModuleDependencies.js +0 -79
- package/src/lib/load-config.ts +0 -39
- package/src/lib/normalizeTailwindDirectives.js +0 -84
- package/src/lib/offsets.js +0 -373
- package/src/lib/partitionApplyAtRules.js +0 -52
- package/src/lib/regex.js +0 -74
- package/src/lib/remap-bitfield.js +0 -82
- package/src/lib/resolveDefaultsAtRules.js +0 -163
- package/src/lib/setupContextUtils.js +0 -1366
- package/src/lib/setupTrackingContext.js +0 -169
- package/src/lib/sharedState.js +0 -61
- package/src/lib/substituteScreenAtRules.js +0 -19
- package/src/oxide/cli/build/deps.ts +0 -91
- package/src/oxide/cli/build/index.ts +0 -47
- package/src/oxide/cli/build/plugin.ts +0 -442
- package/src/oxide/cli/build/utils.ts +0 -74
- package/src/oxide/cli/build/watching.ts +0 -225
- package/src/oxide/cli/help/index.ts +0 -69
- package/src/oxide/cli/index.ts +0 -204
- package/src/oxide/cli/init/index.ts +0 -59
- package/src/oxide/cli.ts +0 -1
- package/src/oxide/postcss-plugin.ts +0 -1
- package/src/plugin.js +0 -107
- package/src/postcss-plugins/nesting/README.md +0 -42
- package/src/postcss-plugins/nesting/index.js +0 -13
- package/src/postcss-plugins/nesting/plugin.js +0 -80
- package/src/processTailwindFeatures.js +0 -59
- package/src/public/colors.js +0 -322
- package/src/public/create-plugin.js +0 -2
- package/src/public/default-config.js +0 -4
- package/src/public/default-theme.js +0 -4
- package/src/public/load-config.js +0 -2
- package/src/public/resolve-config.js +0 -7
- package/src/util/applyImportantSelector.js +0 -27
- package/src/util/bigSign.js +0 -3
- package/src/util/buildMediaQuery.js +0 -22
- package/src/util/cloneDeep.js +0 -11
- package/src/util/cloneNodes.js +0 -49
- package/src/util/color.js +0 -88
- package/src/util/colorNames.js +0 -150
- package/src/util/configurePlugins.js +0 -23
- package/src/util/createPlugin.js +0 -27
- package/src/util/createUtilityPlugin.js +0 -37
- package/src/util/dataTypes.js +0 -406
- package/src/util/defaults.js +0 -17
- package/src/util/escapeClassName.js +0 -8
- package/src/util/escapeCommas.js +0 -3
- package/src/util/flattenColorPalette.js +0 -13
- package/src/util/formatVariantSelector.js +0 -324
- package/src/util/getAllConfigs.js +0 -38
- package/src/util/hashConfig.js +0 -5
- package/src/util/isKeyframeRule.js +0 -3
- package/src/util/isPlainObject.js +0 -8
- package/src/util/isSyntacticallyValidPropertyValue.js +0 -61
- package/src/util/log.js +0 -29
- package/src/util/nameClass.js +0 -30
- package/src/util/negateValue.js +0 -24
- package/src/util/normalizeConfig.js +0 -301
- package/src/util/normalizeScreens.js +0 -140
- package/src/util/parseAnimationValue.js +0 -68
- package/src/util/parseBoxShadowValue.js +0 -72
- package/src/util/parseDependency.js +0 -44
- package/src/util/parseGlob.js +0 -24
- package/src/util/parseObjectStyles.js +0 -19
- package/src/util/pluginUtils.js +0 -307
- package/src/util/prefixSelector.js +0 -33
- package/src/util/pseudoElements.js +0 -171
- package/src/util/removeAlphaVariables.js +0 -24
- package/src/util/resolveConfig.js +0 -277
- package/src/util/resolveConfigPath.js +0 -66
- package/src/util/responsive.js +0 -10
- package/src/util/splitAtTopLevelOnly.js +0 -52
- package/src/util/tap.js +0 -4
- package/src/util/toColorValue.js +0 -3
- package/src/util/toPath.js +0 -26
- package/src/util/transformThemeValue.js +0 -62
- package/src/util/validateConfig.js +0 -26
- package/src/util/validateFormalSyntax.js +0 -34
- package/src/util/withAlphaVariable.js +0 -49
- package/src/value-parser/LICENSE +0 -22
- package/src/value-parser/README.md +0 -3
- package/src/value-parser/index.d.ts +0 -177
- package/src/value-parser/index.js +0 -28
- package/src/value-parser/parse.js +0 -303
- package/src/value-parser/stringify.js +0 -41
- package/src/value-parser/unit.js +0 -118
- package/src/value-parser/walk.js +0 -18
- package/stubs/.gitignore +0 -1
- package/stubs/.prettierrc.json +0 -6
- package/stubs/config.full.js +0 -1062
- package/stubs/config.simple.js +0 -7
- package/stubs/postcss.config.cjs +0 -6
- package/stubs/postcss.config.js +0 -6
- package/stubs/tailwind.config.cjs +0 -2
- package/stubs/tailwind.config.js +0 -2
- package/stubs/tailwind.config.ts +0 -3
- package/tailwind.css +0 -5
- package/types/config.d.ts +0 -376
- package/types/generated/.gitkeep +0 -0
- package/types/generated/colors.d.ts +0 -298
- package/types/generated/corePluginList.d.ts +0 -1
- package/types/generated/default-theme.d.ts +0 -397
- package/types/index.d.ts +0 -11
- package/variants.css +0 -1
@@ -1,23 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
3
|
-
value: true
|
4
|
-
});
|
5
|
-
Object.defineProperty(exports, "default", {
|
6
|
-
enumerable: true,
|
7
|
-
get: function() {
|
8
|
-
return _default;
|
9
|
-
}
|
10
|
-
});
|
11
|
-
function _default(pluginConfig, plugins) {
|
12
|
-
if (pluginConfig === undefined) {
|
13
|
-
return plugins;
|
14
|
-
}
|
15
|
-
const pluginNames = Array.isArray(pluginConfig) ? pluginConfig : [
|
16
|
-
...new Set(plugins.filter((pluginName)=>{
|
17
|
-
return pluginConfig !== false && pluginConfig[pluginName] !== false;
|
18
|
-
}).concat(Object.keys(pluginConfig).filter((pluginName)=>{
|
19
|
-
return pluginConfig[pluginName] !== false;
|
20
|
-
})))
|
21
|
-
];
|
22
|
-
return pluginNames;
|
23
|
-
}
|
package/lib/util/createPlugin.js
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
3
|
-
value: true
|
4
|
-
});
|
5
|
-
Object.defineProperty(exports, "default", {
|
6
|
-
enumerable: true,
|
7
|
-
get: function() {
|
8
|
-
return _default;
|
9
|
-
}
|
10
|
-
});
|
11
|
-
function createPlugin(plugin, config) {
|
12
|
-
return {
|
13
|
-
handler: plugin,
|
14
|
-
config
|
15
|
-
};
|
16
|
-
}
|
17
|
-
createPlugin.withOptions = function(pluginFunction, configFunction = ()=>({})) {
|
18
|
-
const optionsFunction = function(options) {
|
19
|
-
return {
|
20
|
-
__options: options,
|
21
|
-
handler: pluginFunction(options),
|
22
|
-
config: configFunction(options)
|
23
|
-
};
|
24
|
-
};
|
25
|
-
optionsFunction.__isOptionsFunction = true;
|
26
|
-
// Expose plugin dependencies so that `object-hash` returns a different
|
27
|
-
// value if anything here changes, to ensure a rebuild is triggered.
|
28
|
-
optionsFunction.__pluginFunction = pluginFunction;
|
29
|
-
optionsFunction.__configFunction = configFunction;
|
30
|
-
return optionsFunction;
|
31
|
-
};
|
32
|
-
const _default = createPlugin;
|
@@ -1,53 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
3
|
-
value: true
|
4
|
-
});
|
5
|
-
Object.defineProperty(exports, "default", {
|
6
|
-
enumerable: true,
|
7
|
-
get: function() {
|
8
|
-
return createUtilityPlugin;
|
9
|
-
}
|
10
|
-
});
|
11
|
-
const _transformThemeValue = /*#__PURE__*/ _interop_require_default(require("./transformThemeValue"));
|
12
|
-
function _interop_require_default(obj) {
|
13
|
-
return obj && obj.__esModule ? obj : {
|
14
|
-
default: obj
|
15
|
-
};
|
16
|
-
}
|
17
|
-
function createUtilityPlugin(themeKey, utilityVariations = [
|
18
|
-
[
|
19
|
-
themeKey,
|
20
|
-
[
|
21
|
-
themeKey
|
22
|
-
]
|
23
|
-
]
|
24
|
-
], { filterDefault =false , ...options } = {}) {
|
25
|
-
let transformValue = (0, _transformThemeValue.default)(themeKey);
|
26
|
-
return function({ matchUtilities , theme }) {
|
27
|
-
for (let utilityVariation of utilityVariations){
|
28
|
-
let group = Array.isArray(utilityVariation[0]) ? utilityVariation : [
|
29
|
-
utilityVariation
|
30
|
-
];
|
31
|
-
var _theme;
|
32
|
-
matchUtilities(group.reduce((obj, [classPrefix, properties])=>{
|
33
|
-
return Object.assign(obj, {
|
34
|
-
[classPrefix]: (value)=>{
|
35
|
-
return properties.reduce((obj, name)=>{
|
36
|
-
if (Array.isArray(name)) {
|
37
|
-
return Object.assign(obj, {
|
38
|
-
[name[0]]: name[1]
|
39
|
-
});
|
40
|
-
}
|
41
|
-
return Object.assign(obj, {
|
42
|
-
[name]: transformValue(value)
|
43
|
-
});
|
44
|
-
}, {});
|
45
|
-
}
|
46
|
-
});
|
47
|
-
}, {}), {
|
48
|
-
...options,
|
49
|
-
values: filterDefault ? Object.fromEntries(Object.entries((_theme = theme(themeKey)) !== null && _theme !== void 0 ? _theme : {}).filter(([modifier])=>modifier !== "DEFAULT")) : theme(themeKey)
|
50
|
-
});
|
51
|
-
}
|
52
|
-
};
|
53
|
-
}
|
package/lib/util/dataTypes.js
DELETED
@@ -1,415 +0,0 @@
|
|
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: function() {
|
13
|
-
return normalize;
|
14
|
-
},
|
15
|
-
url: function() {
|
16
|
-
return url;
|
17
|
-
},
|
18
|
-
number: function() {
|
19
|
-
return number;
|
20
|
-
},
|
21
|
-
percentage: function() {
|
22
|
-
return percentage;
|
23
|
-
},
|
24
|
-
length: function() {
|
25
|
-
return length;
|
26
|
-
},
|
27
|
-
lineWidth: function() {
|
28
|
-
return lineWidth;
|
29
|
-
},
|
30
|
-
shadow: function() {
|
31
|
-
return shadow;
|
32
|
-
},
|
33
|
-
color: function() {
|
34
|
-
return color;
|
35
|
-
},
|
36
|
-
image: function() {
|
37
|
-
return image;
|
38
|
-
},
|
39
|
-
gradient: function() {
|
40
|
-
return gradient;
|
41
|
-
},
|
42
|
-
position: function() {
|
43
|
-
return position;
|
44
|
-
},
|
45
|
-
familyName: function() {
|
46
|
-
return familyName;
|
47
|
-
},
|
48
|
-
genericName: function() {
|
49
|
-
return genericName;
|
50
|
-
},
|
51
|
-
absoluteSize: function() {
|
52
|
-
return absoluteSize;
|
53
|
-
},
|
54
|
-
relativeSize: function() {
|
55
|
-
return relativeSize;
|
56
|
-
}
|
57
|
-
});
|
58
|
-
const _color = require("./color");
|
59
|
-
const _parseBoxShadowValue = require("./parseBoxShadowValue");
|
60
|
-
const _splitAtTopLevelOnly = require("./splitAtTopLevelOnly");
|
61
|
-
let cssFunctions = [
|
62
|
-
"min",
|
63
|
-
"max",
|
64
|
-
"clamp",
|
65
|
-
"calc"
|
66
|
-
];
|
67
|
-
// Ref: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Types
|
68
|
-
function isCSSFunction(value) {
|
69
|
-
return cssFunctions.some((fn)=>new RegExp(`^${fn}\\(.*\\)`).test(value));
|
70
|
-
}
|
71
|
-
// These properties accept a `<dashed-ident>` as one of the values. This means that you can use them
|
72
|
-
// as: `timeline-scope: --tl;`
|
73
|
-
//
|
74
|
-
// Without the `var(--tl)`, in these cases we don't want to normalize the value, and you should add
|
75
|
-
// the `var()` yourself.
|
76
|
-
//
|
77
|
-
// More info:
|
78
|
-
// - https://drafts.csswg.org/scroll-animations/#propdef-timeline-scope
|
79
|
-
// - https://developer.mozilla.org/en-US/docs/Web/CSS/timeline-scope#dashed-ident
|
80
|
-
//
|
81
|
-
const AUTO_VAR_INJECTION_EXCEPTIONS = new Set([
|
82
|
-
// Concrete properties
|
83
|
-
"scroll-timeline-name",
|
84
|
-
"timeline-scope",
|
85
|
-
"view-timeline-name",
|
86
|
-
"font-palette",
|
87
|
-
// Shorthand properties
|
88
|
-
"scroll-timeline",
|
89
|
-
"animation-timeline",
|
90
|
-
"view-timeline"
|
91
|
-
]);
|
92
|
-
function normalize(value, context = null, isRoot = true) {
|
93
|
-
let isVarException = context && AUTO_VAR_INJECTION_EXCEPTIONS.has(context.property);
|
94
|
-
if (value.startsWith("--") && !isVarException) {
|
95
|
-
return `var(${value})`;
|
96
|
-
}
|
97
|
-
// Keep raw strings if it starts with `url(`
|
98
|
-
if (value.includes("url(")) {
|
99
|
-
return value.split(/(url\(.*?\))/g).filter(Boolean).map((part)=>{
|
100
|
-
if (/^url\(.*?\)$/.test(part)) {
|
101
|
-
return part;
|
102
|
-
}
|
103
|
-
return normalize(part, context, false);
|
104
|
-
}).join("");
|
105
|
-
}
|
106
|
-
// Convert `_` to ` `, except for escaped underscores `\_`
|
107
|
-
value = value.replace(/([^\\])_+/g, (fullMatch, characterBefore)=>characterBefore + " ".repeat(fullMatch.length - 1)).replace(/^_/g, " ").replace(/\\_/g, "_");
|
108
|
-
// Remove leftover whitespace
|
109
|
-
if (isRoot) {
|
110
|
-
value = value.trim();
|
111
|
-
}
|
112
|
-
value = normalizeMathOperatorSpacing(value);
|
113
|
-
return value;
|
114
|
-
}
|
115
|
-
/**
|
116
|
-
* Add spaces around operators inside math functions
|
117
|
-
* like calc() that do not follow an operator, '(', or `,`.
|
118
|
-
*
|
119
|
-
* @param {string} value
|
120
|
-
* @returns {string}
|
121
|
-
*/ function normalizeMathOperatorSpacing(value) {
|
122
|
-
let preventFormattingInFunctions = [
|
123
|
-
"theme"
|
124
|
-
];
|
125
|
-
let preventFormattingKeywords = [
|
126
|
-
"min-content",
|
127
|
-
"max-content",
|
128
|
-
"fit-content",
|
129
|
-
// Env
|
130
|
-
"safe-area-inset-top",
|
131
|
-
"safe-area-inset-right",
|
132
|
-
"safe-area-inset-bottom",
|
133
|
-
"safe-area-inset-left",
|
134
|
-
"titlebar-area-x",
|
135
|
-
"titlebar-area-y",
|
136
|
-
"titlebar-area-width",
|
137
|
-
"titlebar-area-height",
|
138
|
-
"keyboard-inset-top",
|
139
|
-
"keyboard-inset-right",
|
140
|
-
"keyboard-inset-bottom",
|
141
|
-
"keyboard-inset-left",
|
142
|
-
"keyboard-inset-width",
|
143
|
-
"keyboard-inset-height",
|
144
|
-
"radial-gradient",
|
145
|
-
"linear-gradient",
|
146
|
-
"conic-gradient",
|
147
|
-
"repeating-radial-gradient",
|
148
|
-
"repeating-linear-gradient",
|
149
|
-
"repeating-conic-gradient"
|
150
|
-
];
|
151
|
-
return value.replace(/(calc|min|max|clamp)\(.+\)/g, (match)=>{
|
152
|
-
let result = "";
|
153
|
-
function lastChar() {
|
154
|
-
let char = result.trimEnd();
|
155
|
-
return char[char.length - 1];
|
156
|
-
}
|
157
|
-
for(let i = 0; i < match.length; i++){
|
158
|
-
function peek(word) {
|
159
|
-
return word.split("").every((char, j)=>match[i + j] === char);
|
160
|
-
}
|
161
|
-
function consumeUntil(chars) {
|
162
|
-
let minIndex = Infinity;
|
163
|
-
for (let char of chars){
|
164
|
-
let index = match.indexOf(char, i);
|
165
|
-
if (index !== -1 && index < minIndex) {
|
166
|
-
minIndex = index;
|
167
|
-
}
|
168
|
-
}
|
169
|
-
let result = match.slice(i, minIndex);
|
170
|
-
i += result.length - 1;
|
171
|
-
return result;
|
172
|
-
}
|
173
|
-
let char = match[i];
|
174
|
-
// Handle `var(--variable)`
|
175
|
-
if (peek("var")) {
|
176
|
-
// When we consume until `)`, then we are dealing with this scenario:
|
177
|
-
// `var(--example)`
|
178
|
-
//
|
179
|
-
// When we consume until `,`, then we are dealing with this scenario:
|
180
|
-
// `var(--example, 1rem)`
|
181
|
-
//
|
182
|
-
// In this case we do want to "format", the default value as well
|
183
|
-
result += consumeUntil([
|
184
|
-
")",
|
185
|
-
","
|
186
|
-
]);
|
187
|
-
} else if (preventFormattingKeywords.some((keyword)=>peek(keyword))) {
|
188
|
-
let keyword = preventFormattingKeywords.find((keyword)=>peek(keyword));
|
189
|
-
result += keyword;
|
190
|
-
i += keyword.length - 1;
|
191
|
-
} else if (preventFormattingInFunctions.some((fn)=>peek(fn))) {
|
192
|
-
result += consumeUntil([
|
193
|
-
")"
|
194
|
-
]);
|
195
|
-
} else if (peek("[")) {
|
196
|
-
result += consumeUntil([
|
197
|
-
"]"
|
198
|
-
]);
|
199
|
-
} else if ([
|
200
|
-
"+",
|
201
|
-
"-",
|
202
|
-
"*",
|
203
|
-
"/"
|
204
|
-
].includes(char) && ![
|
205
|
-
"(",
|
206
|
-
"+",
|
207
|
-
"-",
|
208
|
-
"*",
|
209
|
-
"/",
|
210
|
-
","
|
211
|
-
].includes(lastChar())) {
|
212
|
-
result += ` ${char} `;
|
213
|
-
} else {
|
214
|
-
result += char;
|
215
|
-
}
|
216
|
-
}
|
217
|
-
// Simplify multiple spaces
|
218
|
-
return result.replace(/\s+/g, " ");
|
219
|
-
});
|
220
|
-
}
|
221
|
-
function url(value) {
|
222
|
-
return value.startsWith("url(");
|
223
|
-
}
|
224
|
-
function number(value) {
|
225
|
-
return !isNaN(Number(value)) || isCSSFunction(value);
|
226
|
-
}
|
227
|
-
function percentage(value) {
|
228
|
-
return value.endsWith("%") && number(value.slice(0, -1)) || isCSSFunction(value);
|
229
|
-
}
|
230
|
-
// Please refer to MDN when updating this list:
|
231
|
-
// https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units
|
232
|
-
// https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Container_Queries#container_query_length_units
|
233
|
-
let lengthUnits = [
|
234
|
-
"cm",
|
235
|
-
"mm",
|
236
|
-
"Q",
|
237
|
-
"in",
|
238
|
-
"pc",
|
239
|
-
"pt",
|
240
|
-
"px",
|
241
|
-
"em",
|
242
|
-
"ex",
|
243
|
-
"ch",
|
244
|
-
"rem",
|
245
|
-
"lh",
|
246
|
-
"rlh",
|
247
|
-
"vw",
|
248
|
-
"vh",
|
249
|
-
"vmin",
|
250
|
-
"vmax",
|
251
|
-
"vb",
|
252
|
-
"vi",
|
253
|
-
"svw",
|
254
|
-
"svh",
|
255
|
-
"lvw",
|
256
|
-
"lvh",
|
257
|
-
"dvw",
|
258
|
-
"dvh",
|
259
|
-
"cqw",
|
260
|
-
"cqh",
|
261
|
-
"cqi",
|
262
|
-
"cqb",
|
263
|
-
"cqmin",
|
264
|
-
"cqmax"
|
265
|
-
];
|
266
|
-
let lengthUnitsPattern = `(?:${lengthUnits.join("|")})`;
|
267
|
-
function length(value) {
|
268
|
-
return value === "0" || new RegExp(`^[+-]?[0-9]*\.?[0-9]+(?:[eE][+-]?[0-9]+)?${lengthUnitsPattern}$`).test(value) || isCSSFunction(value);
|
269
|
-
}
|
270
|
-
let lineWidths = new Set([
|
271
|
-
"thin",
|
272
|
-
"medium",
|
273
|
-
"thick"
|
274
|
-
]);
|
275
|
-
function lineWidth(value) {
|
276
|
-
return lineWidths.has(value);
|
277
|
-
}
|
278
|
-
function shadow(value) {
|
279
|
-
let parsedShadows = (0, _parseBoxShadowValue.parseBoxShadowValue)(normalize(value));
|
280
|
-
for (let parsedShadow of parsedShadows){
|
281
|
-
if (!parsedShadow.valid) {
|
282
|
-
return false;
|
283
|
-
}
|
284
|
-
}
|
285
|
-
return true;
|
286
|
-
}
|
287
|
-
function color(value) {
|
288
|
-
let colors = 0;
|
289
|
-
let result = (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(value, "_").every((part)=>{
|
290
|
-
part = normalize(part);
|
291
|
-
if (part.startsWith("var(")) return true;
|
292
|
-
if ((0, _color.parseColor)(part, {
|
293
|
-
loose: true
|
294
|
-
}) !== null) return colors++, true;
|
295
|
-
return false;
|
296
|
-
});
|
297
|
-
if (!result) return false;
|
298
|
-
return colors > 0;
|
299
|
-
}
|
300
|
-
function image(value) {
|
301
|
-
let images = 0;
|
302
|
-
let result = (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(value, ",").every((part)=>{
|
303
|
-
part = normalize(part);
|
304
|
-
if (part.startsWith("var(")) return true;
|
305
|
-
if (url(part) || gradient(part) || [
|
306
|
-
"element(",
|
307
|
-
"image(",
|
308
|
-
"cross-fade(",
|
309
|
-
"image-set("
|
310
|
-
].some((fn)=>part.startsWith(fn))) {
|
311
|
-
images++;
|
312
|
-
return true;
|
313
|
-
}
|
314
|
-
return false;
|
315
|
-
});
|
316
|
-
if (!result) return false;
|
317
|
-
return images > 0;
|
318
|
-
}
|
319
|
-
let gradientTypes = new Set([
|
320
|
-
"conic-gradient",
|
321
|
-
"linear-gradient",
|
322
|
-
"radial-gradient",
|
323
|
-
"repeating-conic-gradient",
|
324
|
-
"repeating-linear-gradient",
|
325
|
-
"repeating-radial-gradient"
|
326
|
-
]);
|
327
|
-
function gradient(value) {
|
328
|
-
value = normalize(value);
|
329
|
-
for (let type of gradientTypes){
|
330
|
-
if (value.startsWith(`${type}(`)) {
|
331
|
-
return true;
|
332
|
-
}
|
333
|
-
}
|
334
|
-
return false;
|
335
|
-
}
|
336
|
-
let validPositions = new Set([
|
337
|
-
"center",
|
338
|
-
"top",
|
339
|
-
"right",
|
340
|
-
"bottom",
|
341
|
-
"left"
|
342
|
-
]);
|
343
|
-
function position(value) {
|
344
|
-
let positions = 0;
|
345
|
-
let result = (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(value, "_").every((part)=>{
|
346
|
-
part = normalize(part);
|
347
|
-
if (part.startsWith("var(")) return true;
|
348
|
-
if (validPositions.has(part) || length(part) || percentage(part)) {
|
349
|
-
positions++;
|
350
|
-
return true;
|
351
|
-
}
|
352
|
-
return false;
|
353
|
-
});
|
354
|
-
if (!result) return false;
|
355
|
-
return positions > 0;
|
356
|
-
}
|
357
|
-
function familyName(value) {
|
358
|
-
let fonts = 0;
|
359
|
-
let result = (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(value, ",").every((part)=>{
|
360
|
-
part = normalize(part);
|
361
|
-
if (part.startsWith("var(")) return true;
|
362
|
-
// If it contains spaces, then it should be quoted
|
363
|
-
if (part.includes(" ")) {
|
364
|
-
if (!/(['"])([^"']+)\1/g.test(part)) {
|
365
|
-
return false;
|
366
|
-
}
|
367
|
-
}
|
368
|
-
// If it starts with a number, it's invalid
|
369
|
-
if (/^\d/g.test(part)) {
|
370
|
-
return false;
|
371
|
-
}
|
372
|
-
fonts++;
|
373
|
-
return true;
|
374
|
-
});
|
375
|
-
if (!result) return false;
|
376
|
-
return fonts > 0;
|
377
|
-
}
|
378
|
-
let genericNames = new Set([
|
379
|
-
"serif",
|
380
|
-
"sans-serif",
|
381
|
-
"monospace",
|
382
|
-
"cursive",
|
383
|
-
"fantasy",
|
384
|
-
"system-ui",
|
385
|
-
"ui-serif",
|
386
|
-
"ui-sans-serif",
|
387
|
-
"ui-monospace",
|
388
|
-
"ui-rounded",
|
389
|
-
"math",
|
390
|
-
"emoji",
|
391
|
-
"fangsong"
|
392
|
-
]);
|
393
|
-
function genericName(value) {
|
394
|
-
return genericNames.has(value);
|
395
|
-
}
|
396
|
-
let absoluteSizes = new Set([
|
397
|
-
"xx-small",
|
398
|
-
"x-small",
|
399
|
-
"small",
|
400
|
-
"medium",
|
401
|
-
"large",
|
402
|
-
"x-large",
|
403
|
-
"x-large",
|
404
|
-
"xxx-large"
|
405
|
-
]);
|
406
|
-
function absoluteSize(value) {
|
407
|
-
return absoluteSizes.has(value);
|
408
|
-
}
|
409
|
-
let relativeSizes = new Set([
|
410
|
-
"larger",
|
411
|
-
"smaller"
|
412
|
-
]);
|
413
|
-
function relativeSize(value) {
|
414
|
-
return relativeSizes.has(value);
|
415
|
-
}
|
package/lib/util/defaults.js
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
3
|
-
value: true
|
4
|
-
});
|
5
|
-
Object.defineProperty(exports, "defaults", {
|
6
|
-
enumerable: true,
|
7
|
-
get: function() {
|
8
|
-
return defaults;
|
9
|
-
}
|
10
|
-
});
|
11
|
-
function defaults(target, ...sources) {
|
12
|
-
for (let source of sources){
|
13
|
-
for(let k in source){
|
14
|
-
var _target_hasOwnProperty;
|
15
|
-
if (!(target === null || target === void 0 ? void 0 : (_target_hasOwnProperty = target.hasOwnProperty) === null || _target_hasOwnProperty === void 0 ? void 0 : _target_hasOwnProperty.call(target, k))) {
|
16
|
-
target[k] = source[k];
|
17
|
-
}
|
18
|
-
}
|
19
|
-
for (let k of Object.getOwnPropertySymbols(source)){
|
20
|
-
var _target_hasOwnProperty1;
|
21
|
-
if (!(target === null || target === void 0 ? void 0 : (_target_hasOwnProperty1 = target.hasOwnProperty) === null || _target_hasOwnProperty1 === void 0 ? void 0 : _target_hasOwnProperty1.call(target, k))) {
|
22
|
-
target[k] = source[k];
|
23
|
-
}
|
24
|
-
}
|
25
|
-
}
|
26
|
-
return target;
|
27
|
-
}
|
@@ -1,24 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
3
|
-
value: true
|
4
|
-
});
|
5
|
-
Object.defineProperty(exports, "default", {
|
6
|
-
enumerable: true,
|
7
|
-
get: function() {
|
8
|
-
return escapeClassName;
|
9
|
-
}
|
10
|
-
});
|
11
|
-
const _postcssselectorparser = /*#__PURE__*/ _interop_require_default(require("postcss-selector-parser"));
|
12
|
-
const _escapeCommas = /*#__PURE__*/ _interop_require_default(require("./escapeCommas"));
|
13
|
-
function _interop_require_default(obj) {
|
14
|
-
return obj && obj.__esModule ? obj : {
|
15
|
-
default: obj
|
16
|
-
};
|
17
|
-
}
|
18
|
-
function escapeClassName(className) {
|
19
|
-
var _node_raws;
|
20
|
-
let node = _postcssselectorparser.default.className();
|
21
|
-
node.value = className;
|
22
|
-
var _node_raws_value;
|
23
|
-
return (0, _escapeCommas.default)((_node_raws_value = node === null || node === void 0 ? void 0 : (_node_raws = node.raws) === null || _node_raws === void 0 ? void 0 : _node_raws.value) !== null && _node_raws_value !== void 0 ? _node_raws_value : node.value);
|
24
|
-
}
|
package/lib/util/escapeCommas.js
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
3
|
-
value: true
|
4
|
-
});
|
5
|
-
Object.defineProperty(exports, "default", {
|
6
|
-
enumerable: true,
|
7
|
-
get: function() {
|
8
|
-
return escapeCommas;
|
9
|
-
}
|
10
|
-
});
|
11
|
-
function escapeCommas(className) {
|
12
|
-
return className.replace(/\\,/g, "\\2c ");
|
13
|
-
}
|
@@ -1,18 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
3
|
-
value: true
|
4
|
-
});
|
5
|
-
Object.defineProperty(exports, "default", {
|
6
|
-
enumerable: true,
|
7
|
-
get: function() {
|
8
|
-
return _default;
|
9
|
-
}
|
10
|
-
});
|
11
|
-
const flattenColorPalette = (colors)=>Object.assign({}, ...Object.entries(colors !== null && colors !== void 0 ? colors : {}).flatMap(([color, values])=>typeof values == "object" ? Object.entries(flattenColorPalette(values)).map(([number, hex])=>({
|
12
|
-
[color + (number === "DEFAULT" ? "" : `-${number}`)]: hex
|
13
|
-
})) : [
|
14
|
-
{
|
15
|
-
[`${color}`]: values
|
16
|
-
}
|
17
|
-
]));
|
18
|
-
const _default = flattenColorPalette;
|