tailwindcss 0.0.0-oxide-insiders.937ac13 → 0.0.0-oxide-insiders.f821c71
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/lib/corePlugins.js
CHANGED
|
@@ -232,7 +232,25 @@ let variantPlugins = {
|
|
|
232
232
|
let result = (0, _dataTypes.normalize)(typeof value === "function" ? value(extra) : value);
|
|
233
233
|
if (!result.includes("&")) result = "&" + result;
|
|
234
234
|
let [a, b] = fn("", extra);
|
|
235
|
-
|
|
235
|
+
let start = null;
|
|
236
|
+
let end = null;
|
|
237
|
+
let quotes = 0;
|
|
238
|
+
for(let i = 0; i < result.length; ++i){
|
|
239
|
+
let c = result[i];
|
|
240
|
+
if (c === "&") {
|
|
241
|
+
start = i;
|
|
242
|
+
} else if (c === "'" || c === '"') {
|
|
243
|
+
quotes += 1;
|
|
244
|
+
} else if (start !== null && c === " " && !quotes) {
|
|
245
|
+
end = i;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
if (start !== null && end === null) {
|
|
249
|
+
end = result.length;
|
|
250
|
+
}
|
|
251
|
+
// Basically this but can handle quotes:
|
|
252
|
+
// result.replace(/&(\S+)?/g, (_, pseudo = '') => a + pseudo + b)
|
|
253
|
+
return result.slice(0, start) + a + result.slice(start + 1, end) + b + result.slice(end);
|
|
236
254
|
}, {
|
|
237
255
|
values: Object.fromEntries(pseudoVariants)
|
|
238
256
|
});
|
package/lib/lib/generateRules.js
CHANGED
|
@@ -198,10 +198,16 @@ function applyVariant(variant, matches, context) {
|
|
|
198
198
|
};
|
|
199
199
|
// Retrieve "modifier"
|
|
200
200
|
{
|
|
201
|
-
let
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
201
|
+
let [baseVariant, ...modifiers] = (0, _splitAtTopLevelOnlyJs.splitAtTopLevelOnly)(variant, "/");
|
|
202
|
+
// This is a hack to support variants with `/` in them, like `ar-1/10/20:text-red-500`
|
|
203
|
+
// In this case 1/10 is a value but /20 is a modifier
|
|
204
|
+
if (modifiers.length > 1) {
|
|
205
|
+
baseVariant = baseVariant + "/" + modifiers.slice(0, -1).join("/");
|
|
206
|
+
modifiers = modifiers.slice(-1);
|
|
207
|
+
}
|
|
208
|
+
if (modifiers.length && !context.variantMap.has(variant)) {
|
|
209
|
+
variant = baseVariant;
|
|
210
|
+
args.modifier = modifiers[0];
|
|
205
211
|
if (!(0, _featureFlags.flagEnabled)(context.tailwindConfig, "generalizedModifiers")) {
|
|
206
212
|
return [];
|
|
207
213
|
}
|
|
@@ -192,7 +192,7 @@ function finalizeSelector(current, formats, { context , candidate , base }) {
|
|
|
192
192
|
parent.insertBefore(simpleSelector[0], simpleStart);
|
|
193
193
|
parent.insertAfter(simpleSelector[simpleSelector.length - 1], simpleEnd);
|
|
194
194
|
for (let child of formatNodes){
|
|
195
|
-
parent.insertBefore(simpleSelector[0], child);
|
|
195
|
+
parent.insertBefore(simpleSelector[0], child.clone());
|
|
196
196
|
}
|
|
197
197
|
node.remove();
|
|
198
198
|
// Re-sort the simple selector to ensure it's in the correct order
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tailwindcss",
|
|
3
|
-
"version": "0.0.0-oxide-insiders.
|
|
3
|
+
"version": "0.0.0-oxide-insiders.f821c71",
|
|
4
4
|
"description": "A utility-first CSS framework for rapidly building custom user interfaces.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"postcss": "^8.0.9"
|
|
71
71
|
},
|
|
72
72
|
"dependencies": {
|
|
73
|
-
"@tailwindcss/oxide": "0.0.0-oxide-insiders.
|
|
73
|
+
"@tailwindcss/oxide": "0.0.0-oxide-insiders.f821c71",
|
|
74
74
|
"arg": "^5.0.2",
|
|
75
75
|
"browserslist": "^4.21.4",
|
|
76
76
|
"chokidar": "^3.5.3",
|
package/src/corePlugins.js
CHANGED
|
@@ -168,7 +168,30 @@ export let variantPlugins = {
|
|
|
168
168
|
if (!result.includes('&')) result = '&' + result
|
|
169
169
|
|
|
170
170
|
let [a, b] = fn('', extra)
|
|
171
|
-
|
|
171
|
+
|
|
172
|
+
let start = null
|
|
173
|
+
let end = null
|
|
174
|
+
let quotes = 0
|
|
175
|
+
|
|
176
|
+
for (let i = 0; i < result.length; ++i) {
|
|
177
|
+
let c = result[i]
|
|
178
|
+
if (c === '&') {
|
|
179
|
+
start = i
|
|
180
|
+
} else if (c === "'" || c === '"') {
|
|
181
|
+
quotes += 1
|
|
182
|
+
} else if (start !== null && c === ' ' && !quotes) {
|
|
183
|
+
end = i
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
if (start !== null && end === null) {
|
|
188
|
+
end = result.length
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
// Basically this but can handle quotes:
|
|
192
|
+
// result.replace(/&(\S+)?/g, (_, pseudo = '') => a + pseudo + b)
|
|
193
|
+
|
|
194
|
+
return result.slice(0, start) + a + result.slice(start + 1, end) + b + result.slice(end)
|
|
172
195
|
},
|
|
173
196
|
{ values: Object.fromEntries(pseudoVariants) }
|
|
174
197
|
)
|
package/src/lib/generateRules.js
CHANGED
|
@@ -152,10 +152,18 @@ function applyVariant(variant, matches, context) {
|
|
|
152
152
|
|
|
153
153
|
// Retrieve "modifier"
|
|
154
154
|
{
|
|
155
|
-
let
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
155
|
+
let [baseVariant, ...modifiers] = splitAtTopLevelOnly(variant, '/')
|
|
156
|
+
|
|
157
|
+
// This is a hack to support variants with `/` in them, like `ar-1/10/20:text-red-500`
|
|
158
|
+
// In this case 1/10 is a value but /20 is a modifier
|
|
159
|
+
if (modifiers.length > 1) {
|
|
160
|
+
baseVariant = baseVariant + '/' + modifiers.slice(0, -1).join('/')
|
|
161
|
+
modifiers = modifiers.slice(-1)
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
if (modifiers.length && !context.variantMap.has(variant)) {
|
|
165
|
+
variant = baseVariant
|
|
166
|
+
args.modifier = modifiers[0]
|
|
159
167
|
|
|
160
168
|
if (!flagEnabled(context.tailwindConfig, 'generalizedModifiers')) {
|
|
161
169
|
return []
|
|
@@ -218,7 +218,7 @@ export function finalizeSelector(current, formats, { context, candidate, base })
|
|
|
218
218
|
parent.insertAfter(simpleSelector[simpleSelector.length - 1], simpleEnd)
|
|
219
219
|
|
|
220
220
|
for (let child of formatNodes) {
|
|
221
|
-
parent.insertBefore(simpleSelector[0], child)
|
|
221
|
+
parent.insertBefore(simpleSelector[0], child.clone())
|
|
222
222
|
}
|
|
223
223
|
|
|
224
224
|
node.remove()
|