From c06f7ee0a40255214c477e13d9b956a7e07c2900 Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Sat, 14 Oct 2023 15:05:55 +0800 Subject: postcss,(plugins): nanocss, postcss-preset-env --- .../csso/cjs/replace/AttributeSelector.cjs | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 node_modules/csso/cjs/replace/AttributeSelector.cjs (limited to 'node_modules/csso/cjs/replace/AttributeSelector.cjs') diff --git a/node_modules/csso/cjs/replace/AttributeSelector.cjs b/node_modules/csso/cjs/replace/AttributeSelector.cjs new file mode 100644 index 00000000..f06724fc --- /dev/null +++ b/node_modules/csso/cjs/replace/AttributeSelector.cjs @@ -0,0 +1,32 @@ +'use strict'; + +// Can unquote attribute detection +// Adopted implementation of Mathias Bynens +// https://github.com/mathiasbynens/mothereff.in/blob/master/unquoted-attributes/eff.js +const blockUnquoteRx = /^(-?\d|--)|[\u0000-\u002c\u002e\u002f\u003A-\u0040\u005B-\u005E\u0060\u007B-\u009f]/; + +function canUnquote(value) { + if (value === '' || value === '-') { + return false; + } + + return !blockUnquoteRx.test(value); +} + +function AttributeSelector(node) { + const attrValue = node.value; + + if (!attrValue || attrValue.type !== 'String') { + return; + } + + if (canUnquote(attrValue.value)) { + node.value = { + type: 'Identifier', + loc: attrValue.loc, + name: attrValue.value + }; + } +} + +module.exports = AttributeSelector; -- cgit v1.2.3