astro-ghostcms/.pnpm-store/v3/files/fa/732c7a139e8203b831b20aadeab...

45 lines
1.6 KiB
Plaintext
Raw Normal View History

2024-02-14 19:45:06 +00:00
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
const core = require('@unocss/core');
const sourceMapRE = /\/\/#\s*sourceMappingURL=.*\n?/g;
function removeSourceMap(code) {
if (code.includes("sourceMappingURL="))
return code.replace(sourceMapRE, "");
return code;
}
const quotedArbitraryValuesRE = /(?:[\w&:[\]-]|\[\S{1,64}=\S{1,64}\]){1,64}\[\\?['"]?\S{1,64}?['"]\]\]?[\w:-]{0,64}/g;
const arbitraryPropertyRE = /\[(\\\W|[\w-]){1,64}:[^\s:]{0,64}?("\S{1,64}?"|'\S{1,64}?'|`\S{1,64}?`|[^\s:]{1,64}?)[^\s:]{0,64}?\)?\]/g;
const arbitraryPropertyCandidateRE = /^\[(\\\W|[\w-]){1,64}:['"]?\S{1,64}?['"]?\]$/;
function splitCodeWithArbitraryVariants(code) {
const result = [];
for (const match of code.matchAll(arbitraryPropertyRE)) {
if (match.index !== 0 && !/^[\s'"`]/.test(code[match.index - 1] ?? ""))
continue;
result.push(match[0]);
}
for (const match of code.matchAll(quotedArbitraryValuesRE))
result.push(match[0]);
code.split(core.defaultSplitRE).forEach((match) => {
if (core.isValidSelector(match) && !arbitraryPropertyCandidateRE.test(match))
result.push(match);
});
return result;
}
const extractorArbitraryVariants = {
name: "@unocss/extractor-arbitrary-variants",
order: 0,
extract({ code }) {
return splitCodeWithArbitraryVariants(removeSourceMap(code));
}
};
exports.arbitraryPropertyRE = arbitraryPropertyRE;
exports.default = extractorArbitraryVariants;
exports.extractorArbitraryVariants = extractorArbitraryVariants;
exports.quotedArbitraryValuesRE = quotedArbitraryValuesRE;
exports.splitCodeWithArbitraryVariants = splitCodeWithArbitraryVariants;