tailwindcss 0.0.0-insiders.fe08e91 → 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 +379 -3
- package/LICENSE +1 -2
- package/README.md +12 -8
- package/colors.d.ts +3 -0
- package/defaultConfig.d.ts +3 -0
- package/defaultTheme.d.ts +4 -0
- 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 +20 -7
- package/lib/cli.js +107 -611
- package/lib/constants.js +27 -20
- package/lib/corePluginList.js +6 -3
- package/lib/corePlugins.js +2064 -1811
- package/lib/css/preflight.css +5 -5
- package/lib/featureFlags.js +31 -22
- package/lib/index.js +28 -10
- package/lib/lib/cacheInvalidation.js +90 -0
- package/lib/lib/collapseAdjacentRules.js +27 -9
- package/lib/lib/collapseDuplicateDeclarations.js +12 -9
- package/lib/lib/content.js +176 -0
- package/lib/lib/defaultExtractor.js +225 -31
- package/lib/lib/detectNesting.js +13 -10
- package/lib/lib/evaluateTailwindFunctions.js +118 -55
- package/lib/lib/expandApplyAtRules.js +439 -190
- package/lib/lib/expandTailwindAtRules.js +151 -134
- package/lib/lib/findAtConfigPath.js +44 -0
- package/lib/lib/generateRules.js +454 -187
- package/lib/lib/getModuleDependencies.js +11 -8
- package/lib/lib/normalizeTailwindDirectives.js +36 -32
- 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 +89 -67
- package/lib/lib/setupContextUtils.js +667 -376
- package/lib/lib/setupTrackingContext.js +38 -67
- package/lib/lib/sharedState.js +27 -14
- package/lib/lib/substituteScreenAtRules.js +11 -9
- 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 +35 -25
- package/lib/public/colors.js +247 -245
- package/lib/public/create-plugin.js +6 -4
- package/lib/public/default-config.js +7 -5
- package/lib/public/default-theme.js +7 -5
- package/lib/public/resolve-config.js +8 -5
- package/lib/util/bigSign.js +4 -1
- package/lib/util/buildMediaQuery.js +11 -6
- package/lib/util/cloneDeep.js +7 -6
- package/lib/util/cloneNodes.js +21 -3
- package/lib/util/color.js +53 -54
- package/lib/util/configurePlugins.js +5 -2
- package/lib/util/createPlugin.js +6 -6
- package/lib/util/createUtilityPlugin.js +12 -14
- package/lib/util/dataTypes.js +119 -110
- package/lib/util/defaults.js +4 -1
- package/lib/util/escapeClassName.js +7 -4
- package/lib/util/escapeCommas.js +5 -2
- package/lib/util/flattenColorPalette.js +9 -12
- package/lib/util/formatVariantSelector.js +184 -85
- package/lib/util/getAllConfigs.js +27 -8
- package/lib/util/hashConfig.js +6 -3
- package/lib/util/isKeyframeRule.js +5 -2
- package/lib/util/isPlainObject.js +5 -2
- package/lib/util/{isValidArbitraryValue.js → isSyntacticallyValidPropertyValue.js} +23 -15
- package/lib/util/log.js +20 -14
- package/lib/util/nameClass.js +20 -9
- package/lib/util/negateValue.js +23 -8
- package/lib/util/normalizeConfig.js +116 -72
- package/lib/util/normalizeScreens.js +120 -11
- package/lib/util/parseAnimationValue.js +42 -40
- package/lib/util/parseBoxShadowValue.js +30 -23
- package/lib/util/parseDependency.js +38 -56
- package/lib/util/parseGlob.js +34 -0
- package/lib/util/parseObjectStyles.js +11 -8
- package/lib/util/pluginUtils.js +147 -50
- package/lib/util/prefixSelector.js +10 -8
- package/lib/util/removeAlphaVariables.js +29 -0
- package/lib/util/resolveConfig.js +97 -85
- package/lib/util/resolveConfigPath.js +11 -9
- package/lib/util/responsive.js +8 -5
- package/lib/util/splitAtTopLevelOnly.js +43 -0
- package/lib/util/tap.js +4 -1
- package/lib/util/toColorValue.js +5 -3
- package/lib/util/toPath.js +20 -4
- package/lib/util/transformThemeValue.js +37 -29
- package/lib/util/validateConfig.js +24 -0
- package/lib/util/validateFormalSyntax.js +24 -0
- package/lib/util/withAlphaVariable.js +23 -15
- package/nesting/index.js +2 -12
- package/package.json +47 -42
- package/peers/index.js +11381 -7950
- package/plugin.d.ts +11 -0
- package/resolveConfig.d.ts +12 -0
- 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 -629
- package/src/corePluginList.js +1 -1
- package/src/corePlugins.js +532 -217
- package/src/css/preflight.css +5 -5
- package/src/featureFlags.js +15 -9
- package/src/index.js +20 -1
- package/src/lib/cacheInvalidation.js +52 -0
- package/src/lib/collapseAdjacentRules.js +21 -2
- package/src/lib/content.js +212 -0
- package/src/lib/defaultExtractor.js +196 -33
- package/src/lib/evaluateTailwindFunctions.js +78 -7
- package/src/lib/expandApplyAtRules.js +482 -183
- package/src/lib/expandTailwindAtRules.js +106 -85
- package/src/lib/findAtConfigPath.js +48 -0
- package/src/lib/generateRules.js +418 -129
- package/src/lib/normalizeTailwindDirectives.js +1 -0
- 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 +51 -30
- package/src/lib/setupContextUtils.js +556 -208
- package/src/lib/setupTrackingContext.js +11 -48
- package/src/lib/sharedState.js +5 -0
- 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 +8 -0
- package/src/util/buildMediaQuery.js +5 -3
- package/src/util/cloneNodes.js +19 -2
- package/src/util/color.js +25 -21
- package/src/util/dataTypes.js +29 -21
- package/src/util/formatVariantSelector.js +184 -61
- package/src/util/getAllConfigs.js +19 -0
- package/src/util/{isValidArbitraryValue.js → isSyntacticallyValidPropertyValue.js} +1 -1
- package/src/util/log.js +8 -8
- package/src/util/nameClass.js +4 -0
- package/src/util/negateValue.js +11 -3
- package/src/util/normalizeConfig.js +44 -6
- package/src/util/normalizeScreens.js +99 -4
- package/src/util/parseBoxShadowValue.js +4 -3
- package/src/util/parseDependency.js +37 -42
- package/src/util/parseGlob.js +24 -0
- package/src/util/pluginUtils.js +132 -10
- package/src/util/prefixSelector.js +7 -5
- package/src/util/removeAlphaVariables.js +24 -0
- package/src/util/resolveConfig.js +70 -32
- package/src/util/splitAtTopLevelOnly.js +45 -0
- package/src/util/toPath.js +1 -1
- package/src/util/transformThemeValue.js +13 -3
- package/src/util/validateConfig.js +13 -0
- package/src/util/validateFormalSyntax.js +34 -0
- package/src/util/withAlphaVariable.js +1 -1
- package/stubs/defaultConfig.stub.js +23 -20
- package/stubs/simpleConfig.stub.js +1 -0
- 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/nesting/plugin.js +0 -41
|
@@ -2,11 +2,19 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
+
elementSelectorParser: ()=>elementSelectorParser,
|
|
13
|
+
default: ()=>resolveDefaultsAtRules
|
|
14
|
+
});
|
|
15
|
+
const _postcss = /*#__PURE__*/ _interopRequireDefault(require("postcss"));
|
|
16
|
+
const _postcssSelectorParser = /*#__PURE__*/ _interopRequireDefault(require("postcss-selector-parser"));
|
|
17
|
+
const _featureFlags = require("../featureFlags");
|
|
10
18
|
function _interopRequireDefault(obj) {
|
|
11
19
|
return obj && obj.__esModule ? obj : {
|
|
12
20
|
default: obj
|
|
@@ -15,8 +23,8 @@ function _interopRequireDefault(obj) {
|
|
|
15
23
|
let getNode = {
|
|
16
24
|
id (node) {
|
|
17
25
|
return _postcssSelectorParser.default.attribute({
|
|
18
|
-
attribute:
|
|
19
|
-
operator:
|
|
26
|
+
attribute: "id",
|
|
27
|
+
operator: "=",
|
|
20
28
|
value: node.value,
|
|
21
29
|
quoteMark: '"'
|
|
22
30
|
});
|
|
@@ -25,33 +33,31 @@ let getNode = {
|
|
|
25
33
|
function minimumImpactSelector(nodes) {
|
|
26
34
|
let rest = nodes.filter((node)=>{
|
|
27
35
|
// Keep non-pseudo nodes
|
|
28
|
-
if (node.type !==
|
|
36
|
+
if (node.type !== "pseudo") return true;
|
|
29
37
|
// Keep pseudo nodes that have subnodes
|
|
30
38
|
// E.g.: `:not()` contains subnodes inside the parentheses
|
|
31
39
|
if (node.nodes.length > 0) return true;
|
|
32
40
|
// Keep pseudo `elements`
|
|
33
41
|
// This implicitly means that we ignore pseudo `classes`
|
|
34
|
-
return node.value.startsWith(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
42
|
+
return node.value.startsWith("::") || [
|
|
43
|
+
":before",
|
|
44
|
+
":after",
|
|
45
|
+
":first-line",
|
|
46
|
+
":first-letter"
|
|
39
47
|
].includes(node.value);
|
|
40
48
|
}).reverse();
|
|
41
49
|
let searchFor = new Set([
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
50
|
+
"tag",
|
|
51
|
+
"class",
|
|
52
|
+
"id",
|
|
53
|
+
"attribute"
|
|
46
54
|
]);
|
|
47
|
-
let splitPointIdx = rest.findIndex((n)=>searchFor.has(n.type)
|
|
48
|
-
);
|
|
49
|
-
|
|
50
|
-
let
|
|
51
|
-
let bestNode = getNode[node1.type] ? getNode[node1.type](node1) : node1;
|
|
55
|
+
let splitPointIdx = rest.findIndex((n)=>searchFor.has(n.type));
|
|
56
|
+
if (splitPointIdx === -1) return rest.reverse().join("").trim();
|
|
57
|
+
let node = rest[splitPointIdx];
|
|
58
|
+
let bestNode = getNode[node.type] ? getNode[node.type](node) : node;
|
|
52
59
|
rest = rest.slice(0, splitPointIdx);
|
|
53
|
-
let combinatorIdx = rest.findIndex((n)=>n.type ===
|
|
54
|
-
);
|
|
60
|
+
let combinatorIdx = rest.findIndex((n)=>n.type === "combinator" && n.value === ">");
|
|
55
61
|
if (combinatorIdx !== -1) {
|
|
56
62
|
rest.splice(0, combinatorIdx);
|
|
57
63
|
rest.unshift(_postcssSelectorParser.default.universal());
|
|
@@ -59,16 +65,14 @@ function minimumImpactSelector(nodes) {
|
|
|
59
65
|
return [
|
|
60
66
|
bestNode,
|
|
61
67
|
...rest.reverse()
|
|
62
|
-
].join(
|
|
68
|
+
].join("").trim();
|
|
63
69
|
}
|
|
64
|
-
let elementSelectorParser = (0, _postcssSelectorParser
|
|
70
|
+
let elementSelectorParser = (0, _postcssSelectorParser.default)((selectors)=>{
|
|
65
71
|
return selectors.map((s)=>{
|
|
66
|
-
let nodes = s.split((n)=>n.type ===
|
|
67
|
-
).pop();
|
|
72
|
+
let nodes = s.split((n)=>n.type === "combinator" && n.value === " ").pop();
|
|
68
73
|
return minimumImpactSelector(nodes);
|
|
69
74
|
});
|
|
70
75
|
});
|
|
71
|
-
exports.elementSelectorParser = elementSelectorParser;
|
|
72
76
|
let cache = new Map();
|
|
73
77
|
function extractElementSelector(selector) {
|
|
74
78
|
if (!cache.has(selector)) {
|
|
@@ -80,7 +84,7 @@ function resolveDefaultsAtRules({ tailwindConfig }) {
|
|
|
80
84
|
return (root)=>{
|
|
81
85
|
let variableNodeMap = new Map();
|
|
82
86
|
/** @type {Set<import('postcss').AtRule>} */ let universals = new Set();
|
|
83
|
-
root.walkAtRules(
|
|
87
|
+
root.walkAtRules("defaults", (rule)=>{
|
|
84
88
|
if (rule.nodes && rule.nodes.length > 0) {
|
|
85
89
|
universals.add(rule);
|
|
86
90
|
return;
|
|
@@ -92,48 +96,66 @@ function resolveDefaultsAtRules({ tailwindConfig }) {
|
|
|
92
96
|
variableNodeMap.get(variable).add(rule.parent);
|
|
93
97
|
rule.remove();
|
|
94
98
|
});
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
for (let
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
99
|
+
if ((0, _featureFlags.flagEnabled)(tailwindConfig, "optimizeUniversalDefaults")) {
|
|
100
|
+
for (let universal of universals){
|
|
101
|
+
/** @type {Map<string, Set<string>>} */ let selectorGroups = new Map();
|
|
102
|
+
var ref;
|
|
103
|
+
let rules = (ref = variableNodeMap.get(universal.params)) !== null && ref !== void 0 ? ref : [];
|
|
104
|
+
for (let rule of rules){
|
|
105
|
+
for (let selector of extractElementSelector(rule.selector)){
|
|
106
|
+
// If selector contains a vendor prefix after a pseudo element or class,
|
|
107
|
+
// we consider them separately because merging the declarations into
|
|
108
|
+
// a single rule will cause browsers that do not understand the
|
|
109
|
+
// vendor prefix to throw out the whole rule
|
|
110
|
+
let selectorGroupName = selector.includes(":-") || selector.includes("::-") ? selector : "__DEFAULT__";
|
|
111
|
+
var ref1;
|
|
112
|
+
let selectors = (ref1 = selectorGroups.get(selectorGroupName)) !== null && ref1 !== void 0 ? ref1 : new Set();
|
|
113
|
+
selectorGroups.set(selectorGroupName, selectors);
|
|
114
|
+
selectors.add(selector);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
if ((0, _featureFlags.flagEnabled)(tailwindConfig, "optimizeUniversalDefaults")) {
|
|
118
|
+
if (selectorGroups.size === 0) {
|
|
119
|
+
universal.remove();
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
for (let [, selectors1] of selectorGroups){
|
|
123
|
+
let universalRule = _postcss.default.rule({
|
|
124
|
+
source: universal.source
|
|
125
|
+
});
|
|
126
|
+
universalRule.selectors = [
|
|
127
|
+
...selectors1
|
|
128
|
+
];
|
|
129
|
+
universalRule.append(universal.nodes.map((node)=>node.clone()));
|
|
130
|
+
universal.before(universalRule);
|
|
131
|
+
}
|
|
110
132
|
}
|
|
111
|
-
}
|
|
112
|
-
if (selectorGroups.size === 0) {
|
|
113
133
|
universal.remove();
|
|
114
|
-
continue;
|
|
115
134
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
135
|
+
} else if (universals.size) {
|
|
136
|
+
let universalRule1 = _postcss.default.rule({
|
|
137
|
+
selectors: [
|
|
138
|
+
"*",
|
|
139
|
+
"::before",
|
|
140
|
+
"::after"
|
|
141
|
+
]
|
|
142
|
+
});
|
|
143
|
+
for (let universal1 of universals){
|
|
144
|
+
universalRule1.append(universal1.nodes);
|
|
145
|
+
if (!universalRule1.parent) {
|
|
146
|
+
universal1.before(universalRule1);
|
|
147
|
+
}
|
|
148
|
+
if (!universalRule1.source) {
|
|
149
|
+
universalRule1.source = universal1.source;
|
|
125
150
|
}
|
|
126
|
-
|
|
127
|
-
let universalRule = _postcss.default.rule();
|
|
128
|
-
universalRule.selectors = [
|
|
129
|
-
'*',
|
|
130
|
-
'::before',
|
|
131
|
-
'::after'
|
|
132
|
-
];
|
|
133
|
-
universalRule.append(universal.nodes);
|
|
134
|
-
universal.before(universalRule);
|
|
151
|
+
universal1.remove();
|
|
135
152
|
}
|
|
136
|
-
|
|
153
|
+
let backdropRule = universalRule1.clone({
|
|
154
|
+
selectors: [
|
|
155
|
+
"::backdrop"
|
|
156
|
+
]
|
|
157
|
+
});
|
|
158
|
+
universalRule1.after(backdropRule);
|
|
137
159
|
}
|
|
138
160
|
};
|
|
139
161
|
}
|