From d88fd960cbc7c218816fa756a7a55dd9d997881e Mon Sep 17 00:00:00 2001 From: tophf Date: Sat, 6 Aug 2022 01:53:52 +0300 Subject: [PATCH] v14.9.1 + sugarss, try2 --- build/bundle.js | 7 + build/empty.js | 0 build/index.js | 67 +- dist/stylelint-bundle.js | 15007 ++++++++++++++------------------- dist/stylelint-bundle.min.js | 4 +- package-lock.json | 182 +- package.json | 4 +- 7 files changed, 6508 insertions(+), 8763 deletions(-) create mode 100644 build/empty.js diff --git a/build/bundle.js b/build/bundle.js index 9f8c3b7..365d2c5 100644 --- a/build/bundle.js +++ b/build/bundle.js @@ -26,10 +26,17 @@ const BABEL_OPTS = { ]], }; const chunks = []; +const builtins = require('browserify/lib/builtins.js'); +for (const key in builtins) { + if (!/^(path|_process)$/.test(key)) { + builtins[key] = 'build/empty.js'; + } +} browserify(null, { require: 'stylelint', standalone: 'stylelint', + builtins, }) .bundle() .on('data', ch => chunks.push(ch)) diff --git a/build/empty.js b/build/empty.js new file mode 100644 index 0000000..e69de29 diff --git a/build/index.js b/build/index.js index 339b171..aeb294b 100644 --- a/build/index.js +++ b/build/index.js @@ -15,27 +15,39 @@ const remove = [ 'lib/rules/property-no-vendor-prefix', 'lib/rules/selector-no-vendor-prefix', 'lib/rules/value-no-vendor-prefix', - 'lib/formatters/stringFormatter.js', - 'lib/formatters/verboseFormatter.js', ]; const rxComments = /\/\*([^*]|\*(?!\/))*(\*\/|$)/g; - // Specific file modifications // Remove use of "fs", "path" and // "autoprefixer" - which includes prefixes downloaded from caniuse const modify = { - 'lib/formatters/index.js': file => replaceBlocks(file, [ - [/string: importLazy.*?,/g, 'string: () => {},'], - [/verbose: importLazy.*?,/g, 'verbose: () => {},'], - ]), + 'lib/index.js': [ + [/(?=utils: {)/, 'SugarSSParser: require("sugarss/parser"),'], + ], + + 'lib/formatters/index.js': [ + /const _?importLazy\s*=.+?;/g, + [/(?<=json:\s*)importLazy\(/g, 'require('], + [/importLazy.*?,/g, '() => {},'], + ], + + 'lib/rules/index.js': [ + [/(['"])[-\w]+?-no-vendor-prefix\1:\s*importLazy\(\s*\1.*?\1\s*\),\r?\n/g, ''], + [/const _?importLazy\s*=.+?;/g, ''], + [/(? replaceBlocks(file, [ - /(['"])[-\w]+?-no-vendor-prefix\1:\s*importLazy[\s\S]*?\)\(\),/g, - ]), + 'lib/rules/function-no-unknown/index.js': (file, name) => replaceBlocks(file, [ + /const (fs|functionsListPath) = require.+/g, + [ + "fs.readFileSync(functionsListPath.toString(), 'utf8')", + JSON.stringify(fs.readFileSync(require.resolve('css-functions-list/index.json'), 'utf8')), + ] + ], name), - 'lib/createStylelint.js': file => replaceBlocks(file, [ + 'lib/createStylelint.js': [ [ /const getConfigForFile = require.+/, `const getConfigForFile = async stylelint => ({ @@ -45,16 +57,21 @@ const modify = { /const isPathIgnored = require.+/, 'const isPathIgnored = async () => false;', ], - /const (augmentConfig|{\s*cosmiconfig\s*}) = require.+/g, + /const\W*(augmentConfig|cosmiconfig)\W*= require.+/g, /stylelint\._(full|extend)Explorer = cosmiconfig[\s\S]*?\n[\x20\t]+}\);/g, - ]), + ], - 'lib/getPostcssResult.js': file => replaceBlocks(file, [ - /const { promises: fs } = require.+/, + 'lib/getPostcssResult.js': [ + /const ({ promises: fs }|path) = require.+/g, /getCode = await fs\.readFile.+/, - ]), + [ + /(?<=function cssSyntax.+?{)[\s\S]+?return {[\s\S]+?};\s+}/, + 'return postcss}', + ], + [/$/, ';cssSyntax.sugarss = require("sugarss")'] + ], - 'lib/standalone.js': file => replaceBlocks(file, [ + 'lib/standalone.js': [ new RegExp(`const (${[ 'FileCache', 'NoFilesFoundError', @@ -78,7 +95,7 @@ const modify = { /&&\s+!filterFilePaths.+/, '&& false', ], - ]), + ], 'package.json': file => { const json = JSON.parse(file); @@ -96,10 +113,11 @@ const modify = { }, }; -function replaceBlocks(file, blocks) { +function replaceBlocks(file, blocks, name) { + let errors = ''; blocks.forEach(blk => { const [needle, replacement] = Array.isArray(blk) ? blk : [blk]; - const index = file.search(needle); + const index = typeof needle === 'string' ? file.indexOf(needle) : file.search(needle); if (index > -1) { // Don't comment out blocks that have already been processed if (file.substring(index - 3, index) !== '/* ') { @@ -107,9 +125,10 @@ function replaceBlocks(file, blocks) { s => `/* ${s.replace(rxComments, '')} */${replacement ? '\n' + replacement : ''}`); } } else { - console.log(`*** Error: RegExp ${needle} did not match anything`); + errors += `*** Error: RegExp ${needle} did not match anything in ${name}\n`; } }); + if (errors) console.error('\n' + errors); return file; } @@ -118,5 +137,9 @@ childProcess.execSync('npm install --no-save stylelint@' + version, {stdio: 'inh remove.forEach(name => fs.rmSync(src + name, {recursive: true})); Object.entries(modify).forEach(([name, modifier]) => { - fs.writeFileSync(src + name, modifier(fs.readFileSync(src + name, 'utf8'))); + const text = fs.readFileSync(src + name, 'utf8'); + const patched = Array.isArray(modifier) + ? replaceBlocks(text, modifier, name) + : modifier(text, name); + fs.writeFileSync(src + name, patched); }); diff --git a/dist/stylelint-bundle.js b/dist/stylelint-bundle.js index cd4b79e..d26bfe6 100644 --- a/dist/stylelint-bundle.js +++ b/dist/stylelint-bundle.js @@ -1,2047 +1,13 @@ -/*!= Stylelint v14.2.0 bundle =*/ +/*!= Stylelint v14.9.1 bundle =*/ /* See https://github.com/openstyles/stylelint-bundle */ ;(()=>{"use strict";function _objectWithoutPropertiesLoose(source, excluded) {if (source == null) return {};var target = {};var sourceKeys = Object.keys(source);var key, i;for (i = 0; i < sourceKeys.length; i++) {key = sourceKeys[i];if (excluded.indexOf(key) >= 0) continue;target[key] = source[key];}return target;}function _extends() {_extends = Object.assign || function (target) {for (var i = 1; i < arguments.length; i++) {var source = arguments[i];for (var key in source) {if (Object.prototype.hasOwnProperty.call(source, key)) {target[key] = source[key];}}}return target;};return _extends.apply(this, arguments);}(function (f) {if (typeof exports === "object" && typeof module !== "undefined") {module.exports = f();} else if (typeof define === "function" && define.amd) {define([], f);} else {var g;if (typeof window !== "undefined") {g = window;} else if (typeof global !== "undefined") {g = global;} else if (typeof self !== "undefined") {g = self;} else {g = this;}g.stylelint = f();}})(function () {var define, module, exports;return function () {function r(e, n, t) {function o(i, f) {if (!n[i]) {if (!e[i]) {var c = "function" == typeof require && require;if (!f && c) return c(i, !0);if (u) return u(i, !0);var a = new Error("Cannot find module '" + i + "'");throw a.code = "MODULE_NOT_FOUND", a;}var p = n[i] = { exports: {} };e[i][0].call(p.exports, function (r) {var n = e[i][1][r];return o(n || r);}, p, p.exports, r, e, n, t);}return n[i].exports;}for (var u = "function" == typeof require && require, i = 0; i < t.length; i++) o(t[i]);return o;}return r;}()({ 1: [function (require, module, exports) { - /** - * Array#filter. - * - * @param {Array} arr - * @param {Function} fn - * @param {Object=} self - * @return {Array} - * @throw TypeError - */ - - module.exports = function (arr, fn, self) { - if (arr.filter) return arr.filter(fn, self); - if (void 0 === arr || null === arr) throw new TypeError(); - if ('function' != typeof fn) throw new TypeError(); - var ret = []; - for (var i = 0; i < arr.length; i++) { - if (!hasOwn.call(arr, i)) continue; - var val = arr[i]; - if (fn.call(self, val, i, arr)) ret.push(val); - } - return ret; - }; - - var hasOwn = Object.prototype.hasOwnProperty; - }, {}], 2: [function (require, module, exports) { - (function (global) {(function () { - 'use strict'; - - var filter = require('array-filter'); - - module.exports = function availableTypedArrays() { - return filter([ - 'BigInt64Array', - 'BigUint64Array', - 'Float32Array', - 'Float64Array', - 'Int16Array', - 'Int32Array', - 'Int8Array', - 'Uint16Array', - 'Uint32Array', - 'Uint8Array', - 'Uint8ClampedArray'], - function (typedArray) { - return typeof global[typedArray] === 'function'; - }); - }; - - }).call(this);}).call(this, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}); - }, { "array-filter": 1 }], 3: [function (require, module, exports) { - 'use strict'; - - exports.byteLength = byteLength; - exports.toByteArray = toByteArray; - exports.fromByteArray = fromByteArray; - - var lookup = []; - var revLookup = []; - var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array; - - var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; - for (var i = 0, len = code.length; i < len; ++i) { - lookup[i] = code[i]; - revLookup[code.charCodeAt(i)] = i; - } - - // Support decoding URL-safe base64 strings, as Node.js does. - // See: https://en.wikipedia.org/wiki/Base64#URL_applications - revLookup['-'.charCodeAt(0)] = 62; - revLookup['_'.charCodeAt(0)] = 63; - - function getLens(b64) { - var len = b64.length; - - if (len % 4 > 0) { - throw new Error('Invalid string. Length must be a multiple of 4'); - } - - // Trim off extra bytes after placeholder bytes are found - // See: https://github.com/beatgammit/base64-js/issues/42 - var validLen = b64.indexOf('='); - if (validLen === -1) validLen = len; - - var placeHoldersLen = validLen === len ? - 0 : - 4 - validLen % 4; - - return [validLen, placeHoldersLen]; - } - - // base64 is 4/3 + up to two characters of the original data - function byteLength(b64) { - var lens = getLens(b64); - var validLen = lens[0]; - var placeHoldersLen = lens[1]; - return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen; - } - - function _byteLength(b64, validLen, placeHoldersLen) { - return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen; - } - - function toByteArray(b64) { - var tmp; - var lens = getLens(b64); - var validLen = lens[0]; - var placeHoldersLen = lens[1]; - - var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)); - - var curByte = 0; - - // if there are placeholders, only get up to the last complete 4 chars - var len = placeHoldersLen > 0 ? - validLen - 4 : - validLen; - - var i; - for (i = 0; i < len; i += 4) { - tmp = - revLookup[b64.charCodeAt(i)] << 18 | - revLookup[b64.charCodeAt(i + 1)] << 12 | - revLookup[b64.charCodeAt(i + 2)] << 6 | - revLookup[b64.charCodeAt(i + 3)]; - arr[curByte++] = tmp >> 16 & 0xFF; - arr[curByte++] = tmp >> 8 & 0xFF; - arr[curByte++] = tmp & 0xFF; - } - - if (placeHoldersLen === 2) { - tmp = - revLookup[b64.charCodeAt(i)] << 2 | - revLookup[b64.charCodeAt(i + 1)] >> 4; - arr[curByte++] = tmp & 0xFF; - } - - if (placeHoldersLen === 1) { - tmp = - revLookup[b64.charCodeAt(i)] << 10 | - revLookup[b64.charCodeAt(i + 1)] << 4 | - revLookup[b64.charCodeAt(i + 2)] >> 2; - arr[curByte++] = tmp >> 8 & 0xFF; - arr[curByte++] = tmp & 0xFF; - } - - return arr; - } - - function tripletToBase64(num) { - return lookup[num >> 18 & 0x3F] + - lookup[num >> 12 & 0x3F] + - lookup[num >> 6 & 0x3F] + - lookup[num & 0x3F]; - } - - function encodeChunk(uint8, start, end) { - var tmp; - var output = []; - for (var i = start; i < end; i += 3) { - tmp = - (uint8[i] << 16 & 0xFF0000) + ( - uint8[i + 1] << 8 & 0xFF00) + ( - uint8[i + 2] & 0xFF); - output.push(tripletToBase64(tmp)); - } - return output.join(''); - } - - function fromByteArray(uint8) { - var tmp; - var len = uint8.length; - var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes - var parts = []; - var maxChunkLength = 16383; // must be multiple of 3 - - // go through the array every three bytes, we'll deal with trailing stuff later - for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { - parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength)); - } - - // pad the end with zeros, but make sure to not forget the extra bytes - if (extraBytes === 1) { - tmp = uint8[len - 1]; - parts.push( - lookup[tmp >> 2] + - lookup[tmp << 4 & 0x3F] + - '=='); - - } else if (extraBytes === 2) { - tmp = (uint8[len - 2] << 8) + uint8[len - 1]; - parts.push( - lookup[tmp >> 10] + - lookup[tmp >> 4 & 0x3F] + - lookup[tmp << 2 & 0x3F] + - '='); - - } - - return parts.join(''); - } - - }, {}], 4: [function (require, module, exports) { - - }, {}], 5: [function (require, module, exports) { - arguments[4][4][0].apply(exports, arguments); - }, { "dup": 4 }], 6: [function (require, module, exports) { - (function (Buffer) {(function () { - /*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ - /* eslint-disable no-proto */ - - 'use strict'; - - var base64 = require('base64-js'); - var ieee754 = require('ieee754'); - - exports.Buffer = Buffer; - exports.SlowBuffer = SlowBuffer; - exports.INSPECT_MAX_BYTES = 50; - - var K_MAX_LENGTH = 0x7fffffff; - exports.kMaxLength = K_MAX_LENGTH; - - /** - * If `Buffer.TYPED_ARRAY_SUPPORT`: - * === true Use Uint8Array implementation (fastest) - * === false Print warning and recommend using `buffer` v4.x which has an Object - * implementation (most compatible, even IE6) - * - * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, - * Opera 11.6+, iOS 4.2+. - * - * We report that the browser does not support typed arrays if the are not subclassable - * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array` - * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support - * for __proto__ and has a buggy typed array implementation. - */ - Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport(); - - if (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' && - typeof console.error === 'function') { - console.error( - 'This browser lacks typed array (Uint8Array) support which is required by ' + - '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'); - - } - - function typedArraySupport() { - // Can typed array instances can be augmented? - try { - var arr = new Uint8Array(1); - arr.__proto__ = { __proto__: Uint8Array.prototype, foo: function () {return 42;} }; - return arr.foo() === 42; - } catch (e) { - return false; - } - } - - Object.defineProperty(Buffer.prototype, 'parent', { - enumerable: true, - get: function () { - if (!Buffer.isBuffer(this)) return undefined; - return this.buffer; - } }); - - - Object.defineProperty(Buffer.prototype, 'offset', { - enumerable: true, - get: function () { - if (!Buffer.isBuffer(this)) return undefined; - return this.byteOffset; - } }); - - - function createBuffer(length) { - if (length > K_MAX_LENGTH) { - throw new RangeError('The value "' + length + '" is invalid for option "size"'); - } - // Return an augmented `Uint8Array` instance - var buf = new Uint8Array(length); - buf.__proto__ = Buffer.prototype; - return buf; - } - - /** - * The Buffer constructor returns instances of `Uint8Array` that have their - * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of - * `Uint8Array`, so the returned instances will have all the node `Buffer` methods - * and the `Uint8Array` methods. Square bracket notation works as expected -- it - * returns a single octet. - * - * The `Uint8Array` prototype remains unmodified. - */ - - function Buffer(arg, encodingOrOffset, length) { - // Common case. - if (typeof arg === 'number') { - if (typeof encodingOrOffset === 'string') { - throw new TypeError( - 'The "string" argument must be of type string. Received type number'); - - } - return allocUnsafe(arg); - } - return from(arg, encodingOrOffset, length); - } - - // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97 - if (typeof Symbol !== 'undefined' && Symbol.species != null && - Buffer[Symbol.species] === Buffer) { - Object.defineProperty(Buffer, Symbol.species, { - value: null, - configurable: true, - enumerable: false, - writable: false }); - - } - - Buffer.poolSize = 8192; // not used by this implementation - - function from(value, encodingOrOffset, length) { - if (typeof value === 'string') { - return fromString(value, encodingOrOffset); - } - - if (ArrayBuffer.isView(value)) { - return fromArrayLike(value); - } - - if (value == null) { - throw TypeError( - 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' + - 'or Array-like Object. Received type ' + typeof value); - - } - - if (isInstance(value, ArrayBuffer) || - value && isInstance(value.buffer, ArrayBuffer)) { - return fromArrayBuffer(value, encodingOrOffset, length); - } - - if (typeof value === 'number') { - throw new TypeError( - 'The "value" argument must not be of type number. Received type number'); - - } - - var valueOf = value.valueOf && value.valueOf(); - if (valueOf != null && valueOf !== value) { - return Buffer.from(valueOf, encodingOrOffset, length); - } - - var b = fromObject(value); - if (b) return b; - - if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null && - typeof value[Symbol.toPrimitive] === 'function') { - return Buffer.from( - value[Symbol.toPrimitive]('string'), encodingOrOffset, length); - - } - - throw new TypeError( - 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' + - 'or Array-like Object. Received type ' + typeof value); - - } - - /** - * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError - * if value is a number. - * Buffer.from(str[, encoding]) - * Buffer.from(array) - * Buffer.from(buffer) - * Buffer.from(arrayBuffer[, byteOffset[, length]]) - **/ - Buffer.from = function (value, encodingOrOffset, length) { - return from(value, encodingOrOffset, length); - }; - - // Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug: - // https://github.com/feross/buffer/pull/148 - Buffer.prototype.__proto__ = Uint8Array.prototype; - Buffer.__proto__ = Uint8Array; - - function assertSize(size) { - if (typeof size !== 'number') { - throw new TypeError('"size" argument must be of type number'); - } else if (size < 0) { - throw new RangeError('The value "' + size + '" is invalid for option "size"'); - } - } - - function alloc(size, fill, encoding) { - assertSize(size); - if (size <= 0) { - return createBuffer(size); - } - if (fill !== undefined) { - // Only pay attention to encoding if it's a string. This - // prevents accidentally sending in a number that would - // be interpretted as a start offset. - return typeof encoding === 'string' ? - createBuffer(size).fill(fill, encoding) : - createBuffer(size).fill(fill); - } - return createBuffer(size); - } - - /** - * Creates a new filled Buffer instance. - * alloc(size[, fill[, encoding]]) - **/ - Buffer.alloc = function (size, fill, encoding) { - return alloc(size, fill, encoding); - }; - - function allocUnsafe(size) { - assertSize(size); - return createBuffer(size < 0 ? 0 : checked(size) | 0); - } - - /** - * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance. - * */ - Buffer.allocUnsafe = function (size) { - return allocUnsafe(size); - }; - /** - * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance. - */ - Buffer.allocUnsafeSlow = function (size) { - return allocUnsafe(size); - }; - - function fromString(string, encoding) { - if (typeof encoding !== 'string' || encoding === '') { - encoding = 'utf8'; - } - - if (!Buffer.isEncoding(encoding)) { - throw new TypeError('Unknown encoding: ' + encoding); - } - - var length = byteLength(string, encoding) | 0; - var buf = createBuffer(length); - - var actual = buf.write(string, encoding); - - if (actual !== length) { - // Writing a hex string, for example, that contains invalid characters will - // cause everything after the first invalid character to be ignored. (e.g. - // 'abxxcd' will be treated as 'ab') - buf = buf.slice(0, actual); - } - - return buf; - } - - function fromArrayLike(array) { - var length = array.length < 0 ? 0 : checked(array.length) | 0; - var buf = createBuffer(length); - for (var i = 0; i < length; i += 1) { - buf[i] = array[i] & 255; - } - return buf; - } - - function fromArrayBuffer(array, byteOffset, length) { - if (byteOffset < 0 || array.byteLength < byteOffset) { - throw new RangeError('"offset" is outside of buffer bounds'); - } - - if (array.byteLength < byteOffset + (length || 0)) { - throw new RangeError('"length" is outside of buffer bounds'); - } - - var buf; - if (byteOffset === undefined && length === undefined) { - buf = new Uint8Array(array); - } else if (length === undefined) { - buf = new Uint8Array(array, byteOffset); - } else { - buf = new Uint8Array(array, byteOffset, length); - } - - // Return an augmented `Uint8Array` instance - buf.__proto__ = Buffer.prototype; - return buf; - } - - function fromObject(obj) { - if (Buffer.isBuffer(obj)) { - var len = checked(obj.length) | 0; - var buf = createBuffer(len); - - if (buf.length === 0) { - return buf; - } - - obj.copy(buf, 0, 0, len); - return buf; - } - - if (obj.length !== undefined) { - if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) { - return createBuffer(0); - } - return fromArrayLike(obj); - } - - if (obj.type === 'Buffer' && Array.isArray(obj.data)) { - return fromArrayLike(obj.data); - } - } - - function checked(length) { - // Note: cannot use `length < K_MAX_LENGTH` here because that fails when - // length is NaN (which is otherwise coerced to zero.) - if (length >= K_MAX_LENGTH) { - throw new RangeError('Attempt to allocate Buffer larger than maximum ' + - 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes'); - } - return length | 0; - } - - function SlowBuffer(length) { - if (+length != length) {// eslint-disable-line eqeqeq - length = 0; - } - return Buffer.alloc(+length); - } - - Buffer.isBuffer = function isBuffer(b) { - return b != null && b._isBuffer === true && - b !== Buffer.prototype; // so Buffer.isBuffer(Buffer.prototype) will be false - }; - - Buffer.compare = function compare(a, b) { - if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength); - if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength); - if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { - throw new TypeError( - 'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array'); - - } - - if (a === b) return 0; - - var x = a.length; - var y = b.length; - - for (var i = 0, len = Math.min(x, y); i < len; ++i) { - if (a[i] !== b[i]) { - x = a[i]; - y = b[i]; - break; - } - } - - if (x < y) return -1; - if (y < x) return 1; - return 0; - }; - - Buffer.isEncoding = function isEncoding(encoding) { - switch (String(encoding).toLowerCase()) { - case 'hex': - case 'utf8': - case 'utf-8': - case 'ascii': - case 'latin1': - case 'binary': - case 'base64': - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return true; - default: - return false;} - - }; - - Buffer.concat = function concat(list, length) { - if (!Array.isArray(list)) { - throw new TypeError('"list" argument must be an Array of Buffers'); - } - - if (list.length === 0) { - return Buffer.alloc(0); - } - - var i; - if (length === undefined) { - length = 0; - for (i = 0; i < list.length; ++i) { - length += list[i].length; - } - } - - var buffer = Buffer.allocUnsafe(length); - var pos = 0; - for (i = 0; i < list.length; ++i) { - var buf = list[i]; - if (isInstance(buf, Uint8Array)) { - buf = Buffer.from(buf); - } - if (!Buffer.isBuffer(buf)) { - throw new TypeError('"list" argument must be an Array of Buffers'); - } - buf.copy(buffer, pos); - pos += buf.length; - } - return buffer; - }; - - function byteLength(string, encoding) { - if (Buffer.isBuffer(string)) { - return string.length; - } - if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) { - return string.byteLength; - } - if (typeof string !== 'string') { - throw new TypeError( - 'The "string" argument must be one of type string, Buffer, or ArrayBuffer. ' + - 'Received type ' + typeof string); - - } - - var len = string.length; - var mustMatch = arguments.length > 2 && arguments[2] === true; - if (!mustMatch && len === 0) return 0; - - // Use a for loop to avoid recursion - var loweredCase = false; - for (;;) { - switch (encoding) { - case 'ascii': - case 'latin1': - case 'binary': - return len; - case 'utf8': - case 'utf-8': - return utf8ToBytes(string).length; - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return len * 2; - case 'hex': - return len >>> 1; - case 'base64': - return base64ToBytes(string).length; - default: - if (loweredCase) { - return mustMatch ? -1 : utf8ToBytes(string).length; // assume utf8 - } - encoding = ('' + encoding).toLowerCase(); - loweredCase = true;} - - } - } - Buffer.byteLength = byteLength; - - function slowToString(encoding, start, end) { - var loweredCase = false; - - // No need to verify that "this.length <= MAX_UINT32" since it's a read-only - // property of a typed array. - - // This behaves neither like String nor Uint8Array in that we set start/end - // to their upper/lower bounds if the value passed is out of range. - // undefined is handled specially as per ECMA-262 6th Edition, - // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization. - if (start === undefined || start < 0) { - start = 0; - } - // Return early if start > this.length. Done here to prevent potential uint32 - // coercion fail below. - if (start > this.length) { - return ''; - } - - if (end === undefined || end > this.length) { - end = this.length; - } - - if (end <= 0) { - return ''; - } - - // Force coersion to uint32. This will also coerce falsey/NaN values to 0. - end >>>= 0; - start >>>= 0; - - if (end <= start) { - return ''; - } - - if (!encoding) encoding = 'utf8'; - - while (true) { - switch (encoding) { - case 'hex': - return hexSlice(this, start, end); - - case 'utf8': - case 'utf-8': - return utf8Slice(this, start, end); - - case 'ascii': - return asciiSlice(this, start, end); - - case 'latin1': - case 'binary': - return latin1Slice(this, start, end); - - case 'base64': - return base64Slice(this, start, end); - - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return utf16leSlice(this, start, end); - - default: - if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding); - encoding = (encoding + '').toLowerCase(); - loweredCase = true;} - - } - } - - // This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package) - // to detect a Buffer instance. It's not possible to use `instanceof Buffer` - // reliably in a browserify context because there could be multiple different - // copies of the 'buffer' package in use. This method works even for Buffer - // instances that were created from another copy of the `buffer` package. - // See: https://github.com/feross/buffer/issues/154 - Buffer.prototype._isBuffer = true; - - function swap(b, n, m) { - var i = b[n]; - b[n] = b[m]; - b[m] = i; - } - - Buffer.prototype.swap16 = function swap16() { - var len = this.length; - if (len % 2 !== 0) { - throw new RangeError('Buffer size must be a multiple of 16-bits'); - } - for (var i = 0; i < len; i += 2) { - swap(this, i, i + 1); - } - return this; - }; - - Buffer.prototype.swap32 = function swap32() { - var len = this.length; - if (len % 4 !== 0) { - throw new RangeError('Buffer size must be a multiple of 32-bits'); - } - for (var i = 0; i < len; i += 4) { - swap(this, i, i + 3); - swap(this, i + 1, i + 2); - } - return this; - }; - - Buffer.prototype.swap64 = function swap64() { - var len = this.length; - if (len % 8 !== 0) { - throw new RangeError('Buffer size must be a multiple of 64-bits'); - } - for (var i = 0; i < len; i += 8) { - swap(this, i, i + 7); - swap(this, i + 1, i + 6); - swap(this, i + 2, i + 5); - swap(this, i + 3, i + 4); - } - return this; - }; - - Buffer.prototype.toString = function toString() { - var length = this.length; - if (length === 0) return ''; - if (arguments.length === 0) return utf8Slice(this, 0, length); - return slowToString.apply(this, arguments); - }; - - Buffer.prototype.toLocaleString = Buffer.prototype.toString; - - Buffer.prototype.equals = function equals(b) { - if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer'); - if (this === b) return true; - return Buffer.compare(this, b) === 0; - }; - - Buffer.prototype.inspect = function inspect() { - var str = ''; - var max = exports.INSPECT_MAX_BYTES; - str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim(); - if (this.length > max) str += ' ... '; - return ''; - }; - - Buffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) { - if (isInstance(target, Uint8Array)) { - target = Buffer.from(target, target.offset, target.byteLength); - } - if (!Buffer.isBuffer(target)) { - throw new TypeError( - 'The "target" argument must be one of type Buffer or Uint8Array. ' + - 'Received type ' + typeof target); - - } - - if (start === undefined) { - start = 0; - } - if (end === undefined) { - end = target ? target.length : 0; - } - if (thisStart === undefined) { - thisStart = 0; - } - if (thisEnd === undefined) { - thisEnd = this.length; - } - - if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { - throw new RangeError('out of range index'); - } - - if (thisStart >= thisEnd && start >= end) { - return 0; - } - if (thisStart >= thisEnd) { - return -1; - } - if (start >= end) { - return 1; - } - - start >>>= 0; - end >>>= 0; - thisStart >>>= 0; - thisEnd >>>= 0; - - if (this === target) return 0; - - var x = thisEnd - thisStart; - var y = end - start; - var len = Math.min(x, y); - - var thisCopy = this.slice(thisStart, thisEnd); - var targetCopy = target.slice(start, end); - - for (var i = 0; i < len; ++i) { - if (thisCopy[i] !== targetCopy[i]) { - x = thisCopy[i]; - y = targetCopy[i]; - break; - } - } - - if (x < y) return -1; - if (y < x) return 1; - return 0; - }; - - // Finds either the first index of `val` in `buffer` at offset >= `byteOffset`, - // OR the last index of `val` in `buffer` at offset <= `byteOffset`. - // - // Arguments: - // - buffer - a Buffer to search - // - val - a string, Buffer, or number - // - byteOffset - an index into `buffer`; will be clamped to an int32 - // - encoding - an optional encoding, relevant is val is a string - // - dir - true for indexOf, false for lastIndexOf - function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) { - // Empty buffer means no match - if (buffer.length === 0) return -1; - - // Normalize byteOffset - if (typeof byteOffset === 'string') { - encoding = byteOffset; - byteOffset = 0; - } else if (byteOffset > 0x7fffffff) { - byteOffset = 0x7fffffff; - } else if (byteOffset < -0x80000000) { - byteOffset = -0x80000000; - } - byteOffset = +byteOffset; // Coerce to Number. - if (numberIsNaN(byteOffset)) { - // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer - byteOffset = dir ? 0 : buffer.length - 1; - } - - // Normalize byteOffset: negative offsets start from the end of the buffer - if (byteOffset < 0) byteOffset = buffer.length + byteOffset; - if (byteOffset >= buffer.length) { - if (dir) return -1;else - byteOffset = buffer.length - 1; - } else if (byteOffset < 0) { - if (dir) byteOffset = 0;else - return -1; - } - - // Normalize val - if (typeof val === 'string') { - val = Buffer.from(val, encoding); - } - - // Finally, search either indexOf (if dir is true) or lastIndexOf - if (Buffer.isBuffer(val)) { - // Special case: looking for empty string/buffer always fails - if (val.length === 0) { - return -1; - } - return arrayIndexOf(buffer, val, byteOffset, encoding, dir); - } else if (typeof val === 'number') { - val = val & 0xFF; // Search for a byte value [0-255] - if (typeof Uint8Array.prototype.indexOf === 'function') { - if (dir) { - return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset); - } else { - return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset); - } - } - return arrayIndexOf(buffer, [val], byteOffset, encoding, dir); - } - - throw new TypeError('val must be string, number or Buffer'); - } - - function arrayIndexOf(arr, val, byteOffset, encoding, dir) { - var indexSize = 1; - var arrLength = arr.length; - var valLength = val.length; - - if (encoding !== undefined) { - encoding = String(encoding).toLowerCase(); - if (encoding === 'ucs2' || encoding === 'ucs-2' || - encoding === 'utf16le' || encoding === 'utf-16le') { - if (arr.length < 2 || val.length < 2) { - return -1; - } - indexSize = 2; - arrLength /= 2; - valLength /= 2; - byteOffset /= 2; - } - } - - function read(buf, i) { - if (indexSize === 1) { - return buf[i]; - } else { - return buf.readUInt16BE(i * indexSize); - } - } - - var i; - if (dir) { - var foundIndex = -1; - for (i = byteOffset; i < arrLength; i++) { - if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { - if (foundIndex === -1) foundIndex = i; - if (i - foundIndex + 1 === valLength) return foundIndex * indexSize; - } else { - if (foundIndex !== -1) i -= i - foundIndex; - foundIndex = -1; - } - } - } else { - if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength; - for (i = byteOffset; i >= 0; i--) { - var found = true; - for (var j = 0; j < valLength; j++) { - if (read(arr, i + j) !== read(val, j)) { - found = false; - break; - } - } - if (found) return i; - } - } - - return -1; - } - - Buffer.prototype.includes = function includes(val, byteOffset, encoding) { - return this.indexOf(val, byteOffset, encoding) !== -1; - }; - - Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) { - return bidirectionalIndexOf(this, val, byteOffset, encoding, true); - }; - - Buffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) { - return bidirectionalIndexOf(this, val, byteOffset, encoding, false); - }; - - function hexWrite(buf, string, offset, length) { - offset = Number(offset) || 0; - var remaining = buf.length - offset; - if (!length) { - length = remaining; - } else { - length = Number(length); - if (length > remaining) { - length = remaining; - } - } - - var strLen = string.length; - - if (length > strLen / 2) { - length = strLen / 2; - } - for (var i = 0; i < length; ++i) { - var parsed = parseInt(string.substr(i * 2, 2), 16); - if (numberIsNaN(parsed)) return i; - buf[offset + i] = parsed; - } - return i; - } - - function utf8Write(buf, string, offset, length) { - return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length); - } - - function asciiWrite(buf, string, offset, length) { - return blitBuffer(asciiToBytes(string), buf, offset, length); - } - - function latin1Write(buf, string, offset, length) { - return asciiWrite(buf, string, offset, length); - } - - function base64Write(buf, string, offset, length) { - return blitBuffer(base64ToBytes(string), buf, offset, length); - } - - function ucs2Write(buf, string, offset, length) { - return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length); - } - - Buffer.prototype.write = function write(string, offset, length, encoding) { - // Buffer#write(string) - if (offset === undefined) { - encoding = 'utf8'; - length = this.length; - offset = 0; - // Buffer#write(string, encoding) - } else if (length === undefined && typeof offset === 'string') { - encoding = offset; - length = this.length; - offset = 0; - // Buffer#write(string, offset[, length][, encoding]) - } else if (isFinite(offset)) { - offset = offset >>> 0; - if (isFinite(length)) { - length = length >>> 0; - if (encoding === undefined) encoding = 'utf8'; - } else { - encoding = length; - length = undefined; - } - } else { - throw new Error( - 'Buffer.write(string, encoding, offset[, length]) is no longer supported'); - - } - - var remaining = this.length - offset; - if (length === undefined || length > remaining) length = remaining; - - if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) { - throw new RangeError('Attempt to write outside buffer bounds'); - } - - if (!encoding) encoding = 'utf8'; - - var loweredCase = false; - for (;;) { - switch (encoding) { - case 'hex': - return hexWrite(this, string, offset, length); - - case 'utf8': - case 'utf-8': - return utf8Write(this, string, offset, length); - - case 'ascii': - return asciiWrite(this, string, offset, length); - - case 'latin1': - case 'binary': - return latin1Write(this, string, offset, length); - - case 'base64': - // Warning: maxLength not taken into account in base64Write - return base64Write(this, string, offset, length); - - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return ucs2Write(this, string, offset, length); - - default: - if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding); - encoding = ('' + encoding).toLowerCase(); - loweredCase = true;} - - } - }; - - Buffer.prototype.toJSON = function toJSON() { - return { - type: 'Buffer', - data: Array.prototype.slice.call(this._arr || this, 0) }; - - }; - - function base64Slice(buf, start, end) { - if (start === 0 && end === buf.length) { - return base64.fromByteArray(buf); - } else { - return base64.fromByteArray(buf.slice(start, end)); - } - } - - function utf8Slice(buf, start, end) { - end = Math.min(buf.length, end); - var res = []; - - var i = start; - while (i < end) { - var firstByte = buf[i]; - var codePoint = null; - var bytesPerSequence = firstByte > 0xEF ? 4 : - firstByte > 0xDF ? 3 : - firstByte > 0xBF ? 2 : - 1; - - if (i + bytesPerSequence <= end) { - var secondByte, thirdByte, fourthByte, tempCodePoint; - - switch (bytesPerSequence) { - case 1: - if (firstByte < 0x80) { - codePoint = firstByte; - } - break; - case 2: - secondByte = buf[i + 1]; - if ((secondByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0x1F) << 0x6 | secondByte & 0x3F; - if (tempCodePoint > 0x7F) { - codePoint = tempCodePoint; - } - } - break; - case 3: - secondByte = buf[i + 1]; - thirdByte = buf[i + 2]; - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | thirdByte & 0x3F; - if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) { - codePoint = tempCodePoint; - } - } - break; - case 4: - secondByte = buf[i + 1]; - thirdByte = buf[i + 2]; - fourthByte = buf[i + 3]; - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | fourthByte & 0x3F; - if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) { - codePoint = tempCodePoint; - } - }} - - } - - if (codePoint === null) { - // we did not generate a valid codePoint so insert a - // replacement char (U+FFFD) and advance only 1 byte - codePoint = 0xFFFD; - bytesPerSequence = 1; - } else if (codePoint > 0xFFFF) { - // encode to utf16 (surrogate pair dance) - codePoint -= 0x10000; - res.push(codePoint >>> 10 & 0x3FF | 0xD800); - codePoint = 0xDC00 | codePoint & 0x3FF; - } - - res.push(codePoint); - i += bytesPerSequence; - } - - return decodeCodePointsArray(res); - } - - // Based on http://stackoverflow.com/a/22747272/680742, the browser with - // the lowest limit is Chrome, with 0x10000 args. - // We go 1 magnitude less, for safety - var MAX_ARGUMENTS_LENGTH = 0x1000; - - function decodeCodePointsArray(codePoints) { - var len = codePoints.length; - if (len <= MAX_ARGUMENTS_LENGTH) { - return String.fromCharCode.apply(String, codePoints); // avoid extra slice() - } - - // Decode in chunks to avoid "call stack size exceeded". - var res = ''; - var i = 0; - while (i < len) { - res += String.fromCharCode.apply( - String, - codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)); - - } - return res; - } - - function asciiSlice(buf, start, end) { - var ret = ''; - end = Math.min(buf.length, end); - - for (var i = start; i < end; ++i) { - ret += String.fromCharCode(buf[i] & 0x7F); - } - return ret; - } - - function latin1Slice(buf, start, end) { - var ret = ''; - end = Math.min(buf.length, end); - - for (var i = start; i < end; ++i) { - ret += String.fromCharCode(buf[i]); - } - return ret; - } - - function hexSlice(buf, start, end) { - var len = buf.length; - - if (!start || start < 0) start = 0; - if (!end || end < 0 || end > len) end = len; - - var out = ''; - for (var i = start; i < end; ++i) { - out += toHex(buf[i]); - } - return out; - } - - function utf16leSlice(buf, start, end) { - var bytes = buf.slice(start, end); - var res = ''; - for (var i = 0; i < bytes.length; i += 2) { - res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256); - } - return res; - } - - Buffer.prototype.slice = function slice(start, end) { - var len = this.length; - start = ~~start; - end = end === undefined ? len : ~~end; - - if (start < 0) { - start += len; - if (start < 0) start = 0; - } else if (start > len) { - start = len; - } - - if (end < 0) { - end += len; - if (end < 0) end = 0; - } else if (end > len) { - end = len; - } - - if (end < start) end = start; - - var newBuf = this.subarray(start, end); - // Return an augmented `Uint8Array` instance - newBuf.__proto__ = Buffer.prototype; - return newBuf; - }; - - /* - * Need to make sure that buffer isn't trying to write out of bounds. - */ - function checkOffset(offset, ext, length) { - if (offset % 1 !== 0 || offset < 0) throw new RangeError('offset is not uint'); - if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length'); - } - - Buffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) { - offset = offset >>> 0; - byteLength = byteLength >>> 0; - if (!noAssert) checkOffset(offset, byteLength, this.length); - - var val = this[offset]; - var mul = 1; - var i = 0; - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul; - } - - return val; - }; - - Buffer.prototype.readUIntBE = function readUIntBE(offset, byteLength, noAssert) { - offset = offset >>> 0; - byteLength = byteLength >>> 0; - if (!noAssert) { - checkOffset(offset, byteLength, this.length); - } - - var val = this[offset + --byteLength]; - var mul = 1; - while (byteLength > 0 && (mul *= 0x100)) { - val += this[offset + --byteLength] * mul; - } - - return val; - }; - - Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 1, this.length); - return this[offset]; - }; - - Buffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 2, this.length); - return this[offset] | this[offset + 1] << 8; - }; - - Buffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 2, this.length); - return this[offset] << 8 | this[offset + 1]; - }; - - Buffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 4, this.length); - - return (this[offset] | - this[offset + 1] << 8 | - this[offset + 2] << 16) + - this[offset + 3] * 0x1000000; - }; - - Buffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 4, this.length); - - return this[offset] * 0x1000000 + ( - this[offset + 1] << 16 | - this[offset + 2] << 8 | - this[offset + 3]); - }; - - Buffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) { - offset = offset >>> 0; - byteLength = byteLength >>> 0; - if (!noAssert) checkOffset(offset, byteLength, this.length); - - var val = this[offset]; - var mul = 1; - var i = 0; - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul; - } - mul *= 0x80; - - if (val >= mul) val -= Math.pow(2, 8 * byteLength); - - return val; - }; - - Buffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) { - offset = offset >>> 0; - byteLength = byteLength >>> 0; - if (!noAssert) checkOffset(offset, byteLength, this.length); - - var i = byteLength; - var mul = 1; - var val = this[offset + --i]; - while (i > 0 && (mul *= 0x100)) { - val += this[offset + --i] * mul; - } - mul *= 0x80; - - if (val >= mul) val -= Math.pow(2, 8 * byteLength); - - return val; - }; - - Buffer.prototype.readInt8 = function readInt8(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 1, this.length); - if (!(this[offset] & 0x80)) return this[offset]; - return (0xff - this[offset] + 1) * -1; - }; - - Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 2, this.length); - var val = this[offset] | this[offset + 1] << 8; - return val & 0x8000 ? val | 0xFFFF0000 : val; - }; - - Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 2, this.length); - var val = this[offset + 1] | this[offset] << 8; - return val & 0x8000 ? val | 0xFFFF0000 : val; - }; - - Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 4, this.length); - - return this[offset] | - this[offset + 1] << 8 | - this[offset + 2] << 16 | - this[offset + 3] << 24; - }; - - Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 4, this.length); - - return this[offset] << 24 | - this[offset + 1] << 16 | - this[offset + 2] << 8 | - this[offset + 3]; - }; - - Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 4, this.length); - return ieee754.read(this, offset, true, 23, 4); - }; - - Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 4, this.length); - return ieee754.read(this, offset, false, 23, 4); - }; - - Buffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 8, this.length); - return ieee754.read(this, offset, true, 52, 8); - }; - - Buffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 8, this.length); - return ieee754.read(this, offset, false, 52, 8); - }; - - function checkInt(buf, value, offset, ext, max, min) { - if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance'); - if (value > max || value < min) throw new RangeError('"value" argument is out of bounds'); - if (offset + ext > buf.length) throw new RangeError('Index out of range'); - } - - Buffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) { - value = +value; - offset = offset >>> 0; - byteLength = byteLength >>> 0; - if (!noAssert) { - var maxBytes = Math.pow(2, 8 * byteLength) - 1; - checkInt(this, value, offset, byteLength, maxBytes, 0); - } - - var mul = 1; - var i = 0; - this[offset] = value & 0xFF; - while (++i < byteLength && (mul *= 0x100)) { - this[offset + i] = value / mul & 0xFF; - } - - return offset + byteLength; - }; - - Buffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) { - value = +value; - offset = offset >>> 0; - byteLength = byteLength >>> 0; - if (!noAssert) { - var maxBytes = Math.pow(2, 8 * byteLength) - 1; - checkInt(this, value, offset, byteLength, maxBytes, 0); - } - - var i = byteLength - 1; - var mul = 1; - this[offset + i] = value & 0xFF; - while (--i >= 0 && (mul *= 0x100)) { - this[offset + i] = value / mul & 0xFF; - } - - return offset + byteLength; - }; - - Buffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0); - this[offset] = value & 0xff; - return offset + 1; - }; - - Buffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0); - this[offset] = value & 0xff; - this[offset + 1] = value >>> 8; - return offset + 2; - }; - - Buffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0); - this[offset] = value >>> 8; - this[offset + 1] = value & 0xff; - return offset + 2; - }; - - Buffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0); - this[offset + 3] = value >>> 24; - this[offset + 2] = value >>> 16; - this[offset + 1] = value >>> 8; - this[offset] = value & 0xff; - return offset + 4; - }; - - Buffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0); - this[offset] = value >>> 24; - this[offset + 1] = value >>> 16; - this[offset + 2] = value >>> 8; - this[offset + 3] = value & 0xff; - return offset + 4; - }; - - Buffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) { - var limit = Math.pow(2, 8 * byteLength - 1); - - checkInt(this, value, offset, byteLength, limit - 1, -limit); - } - - var i = 0; - var mul = 1; - var sub = 0; - this[offset] = value & 0xFF; - while (++i < byteLength && (mul *= 0x100)) { - if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { - sub = 1; - } - this[offset + i] = (value / mul >> 0) - sub & 0xFF; - } - - return offset + byteLength; - }; - - Buffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) { - var limit = Math.pow(2, 8 * byteLength - 1); - - checkInt(this, value, offset, byteLength, limit - 1, -limit); - } - - var i = byteLength - 1; - var mul = 1; - var sub = 0; - this[offset + i] = value & 0xFF; - while (--i >= 0 && (mul *= 0x100)) { - if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { - sub = 1; - } - this[offset + i] = (value / mul >> 0) - sub & 0xFF; - } - - return offset + byteLength; - }; - - Buffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80); - if (value < 0) value = 0xff + value + 1; - this[offset] = value & 0xff; - return offset + 1; - }; - - Buffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000); - this[offset] = value & 0xff; - this[offset + 1] = value >>> 8; - return offset + 2; - }; - - Buffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000); - this[offset] = value >>> 8; - this[offset + 1] = value & 0xff; - return offset + 2; - }; - - Buffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000); - this[offset] = value & 0xff; - this[offset + 1] = value >>> 8; - this[offset + 2] = value >>> 16; - this[offset + 3] = value >>> 24; - return offset + 4; - }; - - Buffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000); - if (value < 0) value = 0xffffffff + value + 1; - this[offset] = value >>> 24; - this[offset + 1] = value >>> 16; - this[offset + 2] = value >>> 8; - this[offset + 3] = value & 0xff; - return offset + 4; - }; - - function checkIEEE754(buf, value, offset, ext, max, min) { - if (offset + ext > buf.length) throw new RangeError('Index out of range'); - if (offset < 0) throw new RangeError('Index out of range'); - } - - function writeFloat(buf, value, offset, littleEndian, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) { - checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38); - } - ieee754.write(buf, value, offset, littleEndian, 23, 4); - return offset + 4; - } - - Buffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) { - return writeFloat(this, value, offset, true, noAssert); - }; - - Buffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) { - return writeFloat(this, value, offset, false, noAssert); - }; - - function writeDouble(buf, value, offset, littleEndian, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) { - checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308); - } - ieee754.write(buf, value, offset, littleEndian, 52, 8); - return offset + 8; - } - - Buffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) { - return writeDouble(this, value, offset, true, noAssert); - }; - - Buffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) { - return writeDouble(this, value, offset, false, noAssert); - }; - - // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) - Buffer.prototype.copy = function copy(target, targetStart, start, end) { - if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer'); - if (!start) start = 0; - if (!end && end !== 0) end = this.length; - if (targetStart >= target.length) targetStart = target.length; - if (!targetStart) targetStart = 0; - if (end > 0 && end < start) end = start; - - // Copy 0 bytes; we're done - if (end === start) return 0; - if (target.length === 0 || this.length === 0) return 0; - - // Fatal error conditions - if (targetStart < 0) { - throw new RangeError('targetStart out of bounds'); - } - if (start < 0 || start >= this.length) throw new RangeError('Index out of range'); - if (end < 0) throw new RangeError('sourceEnd out of bounds'); - - // Are we oob? - if (end > this.length) end = this.length; - if (target.length - targetStart < end - start) { - end = target.length - targetStart + start; - } - - var len = end - start; - - if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') { - // Use built-in when available, missing from IE11 - this.copyWithin(targetStart, start, end); - } else if (this === target && start < targetStart && targetStart < end) { - // descending copy from end - for (var i = len - 1; i >= 0; --i) { - target[i + targetStart] = this[i + start]; - } - } else { - Uint8Array.prototype.set.call( - target, - this.subarray(start, end), - targetStart); - - } - - return len; - }; - - // Usage: - // buffer.fill(number[, offset[, end]]) - // buffer.fill(buffer[, offset[, end]]) - // buffer.fill(string[, offset[, end]][, encoding]) - Buffer.prototype.fill = function fill(val, start, end, encoding) { - // Handle string cases: - if (typeof val === 'string') { - if (typeof start === 'string') { - encoding = start; - start = 0; - end = this.length; - } else if (typeof end === 'string') { - encoding = end; - end = this.length; - } - if (encoding !== undefined && typeof encoding !== 'string') { - throw new TypeError('encoding must be a string'); - } - if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) { - throw new TypeError('Unknown encoding: ' + encoding); - } - if (val.length === 1) { - var code = val.charCodeAt(0); - if (encoding === 'utf8' && code < 128 || - encoding === 'latin1') { - // Fast path: If `val` fits into a single byte, use that numeric value. - val = code; - } - } - } else if (typeof val === 'number') { - val = val & 255; - } - - // Invalid ranges are not set to a default, so can range check early. - if (start < 0 || this.length < start || this.length < end) { - throw new RangeError('Out of range index'); - } - - if (end <= start) { - return this; - } - - start = start >>> 0; - end = end === undefined ? this.length : end >>> 0; - - if (!val) val = 0; - - var i; - if (typeof val === 'number') { - for (i = start; i < end; ++i) { - this[i] = val; - } - } else { - var bytes = Buffer.isBuffer(val) ? - val : - Buffer.from(val, encoding); - var len = bytes.length; - if (len === 0) { - throw new TypeError('The value "' + val + - '" is invalid for argument "value"'); - } - for (i = 0; i < end - start; ++i) { - this[i + start] = bytes[i % len]; - } - } - - return this; - }; - - // HELPER FUNCTIONS - // ================ - - var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g; - - function base64clean(str) { - // Node takes equal signs as end of the Base64 encoding - str = str.split('=')[0]; - // Node strips out invalid characters like \n and \t from the string, base64-js does not - str = str.trim().replace(INVALID_BASE64_RE, ''); - // Node converts strings with length < 2 to '' - if (str.length < 2) return ''; - // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not - while (str.length % 4 !== 0) { - str = str + '='; - } - return str; - } - - function toHex(n) { - if (n < 16) return '0' + n.toString(16); - return n.toString(16); - } - - function utf8ToBytes(string, units) { - units = units || Infinity; - var codePoint; - var length = string.length; - var leadSurrogate = null; - var bytes = []; - - for (var i = 0; i < length; ++i) { - codePoint = string.charCodeAt(i); - - // is surrogate component - if (codePoint > 0xD7FF && codePoint < 0xE000) { - // last char was a lead - if (!leadSurrogate) { - // no lead yet - if (codePoint > 0xDBFF) { - // unexpected trail - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD); - continue; - } else if (i + 1 === length) { - // unpaired lead - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD); - continue; - } - - // valid lead - leadSurrogate = codePoint; - - continue; - } - - // 2 leads in a row - if (codePoint < 0xDC00) { - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD); - leadSurrogate = codePoint; - continue; - } - - // valid surrogate pair - codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000; - } else if (leadSurrogate) { - // valid bmp char, but last char was a lead - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD); - } - - leadSurrogate = null; - - // encode utf8 - if (codePoint < 0x80) { - if ((units -= 1) < 0) break; - bytes.push(codePoint); - } else if (codePoint < 0x800) { - if ((units -= 2) < 0) break; - bytes.push( - codePoint >> 0x6 | 0xC0, - codePoint & 0x3F | 0x80); - - } else if (codePoint < 0x10000) { - if ((units -= 3) < 0) break; - bytes.push( - codePoint >> 0xC | 0xE0, - codePoint >> 0x6 & 0x3F | 0x80, - codePoint & 0x3F | 0x80); - - } else if (codePoint < 0x110000) { - if ((units -= 4) < 0) break; - bytes.push( - codePoint >> 0x12 | 0xF0, - codePoint >> 0xC & 0x3F | 0x80, - codePoint >> 0x6 & 0x3F | 0x80, - codePoint & 0x3F | 0x80); - - } else { - throw new Error('Invalid code point'); - } - } - - return bytes; - } - - function asciiToBytes(str) { - var byteArray = []; - for (var i = 0; i < str.length; ++i) { - // Node's code seems to be doing this and not & 0x7F.. - byteArray.push(str.charCodeAt(i) & 0xFF); - } - return byteArray; - } - - function utf16leToBytes(str, units) { - var c, hi, lo; - var byteArray = []; - for (var i = 0; i < str.length; ++i) { - if ((units -= 2) < 0) break; - - c = str.charCodeAt(i); - hi = c >> 8; - lo = c % 256; - byteArray.push(lo); - byteArray.push(hi); - } - - return byteArray; - } - - function base64ToBytes(str) { - return base64.toByteArray(base64clean(str)); - } - - function blitBuffer(src, dst, offset, length) { - for (var i = 0; i < length; ++i) { - if (i + offset >= dst.length || i >= src.length) break; - dst[i + offset] = src[i]; - } - return i; - } - - // ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass - // the `instanceof` check but they should be treated as of that type. - // See: https://github.com/feross/buffer/issues/166 - function isInstance(obj, type) { - return obj instanceof type || - obj != null && obj.constructor != null && obj.constructor.name != null && - obj.constructor.name === type.name; - } - function numberIsNaN(obj) { - // For IE11 support - return obj !== obj; // eslint-disable-line no-self-compare - } - - }).call(this);}).call(this, require("buffer").Buffer); - }, { "base64-js": 3, "buffer": 6, "ieee754": 29 }], 7: [function (require, module, exports) { - 'use strict'; - - var GetIntrinsic = require('get-intrinsic'); - - var callBind = require('./'); - - var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf')); - - module.exports = function callBoundIntrinsic(name, allowMissing) { - var intrinsic = GetIntrinsic(name, !!allowMissing); - if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) { - return callBind(intrinsic); - } - return intrinsic; - }; - - }, { "./": 8, "get-intrinsic": 23 }], 8: [function (require, module, exports) { - 'use strict'; - - var bind = require('function-bind'); - var GetIntrinsic = require('get-intrinsic'); - - var $apply = GetIntrinsic('%Function.prototype.apply%'); - var $call = GetIntrinsic('%Function.prototype.call%'); - var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply); - - var $defineProperty = GetIntrinsic('%Object.defineProperty%', true); - - if ($defineProperty) { - try { - $defineProperty({}, 'a', { value: 1 }); - } catch (e) { - // IE 8 has a broken defineProperty - $defineProperty = null; - } - } - - module.exports = function callBind() { - return $reflectApply(bind, $call, arguments); - }; + "use strict";function e(e) {return e && "object" == typeof e && "default" in e ? e : { default: e };}Object.defineProperty(exports, "__esModule", { value: !0 });var s = e(require("postcss-selector-parser"));function t(e) {if (!e) return { a: 0, b: 0, c: 0 };let n = 0,c = 0,o = 0;if ("universal" == e.type) return { a: 0, b: 0, c: 0 };if ("id" === e.type) n += 1;else if ("tag" === e.type) o += 1;else if ("class" === e.type) c += 1;else if ("attribute" === e.type) c += 1;else if (function (e) {return s.default.isPseudoElement(e);}(e)) o += 1;else if (s.default.isPseudoClass(e)) switch (e.value.toLowerCase()) {case ":-moz-any":case ":-webkit-any":case ":any":case ":has":case ":is":case ":matches":case ":not":if (e.nodes && e.nodes.length > 0) {const s = a(e.nodes);n += s.a, c += s.b, o += s.c;}break;case ":where":break;case ":nth-child":case ":nth-last-child":if (c += 1, e.nodes && e.nodes.length > 0) {const t = e.nodes[0].nodes.findIndex(e => "tag" === e.type && "of" === e.value.toLowerCase());if (t > -1) {const r = [s.default.selector({ nodes: e.nodes[0].nodes.slice(t + 1), value: "" })];e.nodes.length > 1 && r.push(...e.nodes.slice(1));const l = a(r);n += l.a, c += l.b, o += l.c;}}break;case ":local":case ":global":e.nodes && e.nodes.length > 0 && e.nodes.forEach(e => {const s = t(e);n += s.a, c += s.b, o += s.c;});break;default:c += 1;} else s.default.isContainer(e) && e.nodes.length > 0 && e.nodes.forEach(e => {const s = t(e);n += s.a, c += s.b, o += s.c;});return { a: n, b: c, c: o };}function a(e) {let s = { a: 0, b: 0, c: 0 };return e.forEach(e => {const a = t(e);a.a > s.a ? s = a : a.a < s.a || (a.b > s.b ? s = a : a.b < s.b || a.c > s.c && (s = a));}), s;}exports.compare = function (e, s) {return e.a === s.a ? e.b === s.b ? e.c - s.c : e.b - s.b : e.a - s.a;}, exports.selectorSpecificity = t; - var applyBind = function applyBind() { - return $reflectApply(bind, $apply, arguments); - }; - - if ($defineProperty) { - $defineProperty(module.exports, 'apply', { value: applyBind }); - } else { - module.exports.apply = applyBind; - } - - }, { "function-bind": 22, "get-intrinsic": 23 }], 9: [function (require, module, exports) { + }, { "postcss-selector-parser": 29 }], 3: [function (require, module, exports) { + arguments[4][1][0].apply(exports, arguments); + }, { "dup": 1 }], 4: [function (require, module, exports) { 'use strict'; const isRegexp = require('is-regexp'); @@ -2072,22 +38,22 @@ return clonedRegexp; }; - }, { "is-regexp": 36 }], 10: [function (require, module, exports) { + }, { "is-regexp": 17 }], 5: [function (require, module, exports) { Object.defineProperty(exports, "__esModule", { value: !0 });var r = { grad: .9, turn: 360, rad: 360 / (2 * Math.PI) },t = function (r) {return "string" == typeof r ? r.length > 0 : "number" == typeof r;},n = function (r, t, n) {return void 0 === t && (t = 0), void 0 === n && (n = Math.pow(10, t)), Math.round(n * r) / n + 0;},e = function (r, t, n) {return void 0 === t && (t = 0), void 0 === n && (n = 1), r > n ? n : r > t ? r : t;},u = function (r) {return (r = isFinite(r) ? r % 360 : 0) > 0 ? r : r + 360;},o = function (r) {return { r: e(r.r, 0, 255), g: e(r.g, 0, 255), b: e(r.b, 0, 255), a: e(r.a) };},a = function (r) {return { r: n(r.r), g: n(r.g), b: n(r.b), a: n(r.a, 3) };},s = /^#([0-9a-f]{3,8})$/i,i = function (r) {var t = r.toString(16);return t.length < 2 ? "0" + t : t;},h = function (r) {var t = r.r,n = r.g,e = r.b,u = r.a,o = Math.max(t, n, e),a = o - Math.min(t, n, e),s = a ? o === t ? (n - e) / a : o === n ? 2 + (e - t) / a : 4 + (t - n) / a : 0;return { h: 60 * (s < 0 ? s + 6 : s), s: o ? a / o * 100 : 0, v: o / 255 * 100, a: u };},b = function (r) {var t = r.h,n = r.s,e = r.v,u = r.a;t = t / 360 * 6, n /= 100, e /= 100;var o = Math.floor(t),a = e * (1 - n),s = e * (1 - (t - o) * n),i = e * (1 - (1 - t + o) * n),h = o % 6;return { r: 255 * [e, s, a, a, i, e][h], g: 255 * [i, e, e, s, a, a][h], b: 255 * [a, a, i, e, e, s][h], a: u };},d = function (r) {return { h: u(r.h), s: e(r.s, 0, 100), l: e(r.l, 0, 100), a: e(r.a) };},g = function (r) {return { h: n(r.h), s: n(r.s), l: n(r.l), a: n(r.a, 3) };},f = function (r) {return b((n = (t = r).s, { h: t.h, s: (n *= ((e = t.l) < 50 ? e : 100 - e) / 100) > 0 ? 2 * n / (e + n) * 100 : 0, v: e + n, a: t.a }));var t, n, e;},p = function (r) {return { h: (t = h(r)).h, s: (u = (200 - (n = t.s)) * (e = t.v) / 100) > 0 && u < 200 ? n * e / 100 / (u <= 100 ? u : 200 - u) * 100 : 0, l: u / 2, a: t.a };var t, n, e, u;},l = /^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,c = /^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,v = /^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,m = /^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,y = { string: [[function (r) {var t = s.exec(r);return t ? (r = t[1]).length <= 4 ? { r: parseInt(r[0] + r[0], 16), g: parseInt(r[1] + r[1], 16), b: parseInt(r[2] + r[2], 16), a: 4 === r.length ? n(parseInt(r[3] + r[3], 16) / 255, 2) : 1 } : 6 === r.length || 8 === r.length ? { r: parseInt(r.substr(0, 2), 16), g: parseInt(r.substr(2, 2), 16), b: parseInt(r.substr(4, 2), 16), a: 8 === r.length ? n(parseInt(r.substr(6, 2), 16) / 255, 2) : 1 } : null : null;}, "hex"], [function (r) {var t = v.exec(r) || m.exec(r);return t ? t[2] !== t[4] || t[4] !== t[6] ? null : o({ r: Number(t[1]) / (t[2] ? 100 / 255 : 1), g: Number(t[3]) / (t[4] ? 100 / 255 : 1), b: Number(t[5]) / (t[6] ? 100 / 255 : 1), a: void 0 === t[7] ? 1 : Number(t[7]) / (t[8] ? 100 : 1) }) : null;}, "rgb"], [function (t) {var n = l.exec(t) || c.exec(t);if (!n) return null;var e,u,o = d({ h: (e = n[1], u = n[2], void 0 === u && (u = "deg"), Number(e) * (r[u] || 1)), s: Number(n[3]), l: Number(n[4]), a: void 0 === n[5] ? 1 : Number(n[5]) / (n[6] ? 100 : 1) });return f(o);}, "hsl"]], object: [[function (r) {var n = r.r,e = r.g,u = r.b,a = r.a,s = void 0 === a ? 1 : a;return t(n) && t(e) && t(u) ? o({ r: Number(n), g: Number(e), b: Number(u), a: Number(s) }) : null;}, "rgb"], [function (r) {var n = r.h,e = r.s,u = r.l,o = r.a,a = void 0 === o ? 1 : o;if (!t(n) || !t(e) || !t(u)) return null;var s = d({ h: Number(n), s: Number(e), l: Number(u), a: Number(a) });return f(s);}, "hsl"], [function (r) {var n = r.h,o = r.s,a = r.v,s = r.a,i = void 0 === s ? 1 : s;if (!t(n) || !t(o) || !t(a)) return null;var h = function (r) {return { h: u(r.h), s: e(r.s, 0, 100), v: e(r.v, 0, 100), a: e(r.a) };}({ h: Number(n), s: Number(o), v: Number(a), a: Number(i) });return b(h);}, "hsv"]] },N = function (r, t) {for (var n = 0; n < t.length; n++) {var e = t[n][0](r);if (e) return [e, t[n][1]];}return [null, void 0];},x = function (r) {return "string" == typeof r ? N(r.trim(), y.string) : "object" == typeof r && null !== r ? N(r, y.object) : [null, void 0];},M = function (r, t) {var n = p(r);return { h: n.h, s: e(n.s + 100 * t, 0, 100), l: n.l, a: n.a };},I = function (r) {return (299 * r.r + 587 * r.g + 114 * r.b) / 1e3 / 255;},H = function (r, t) {var n = p(r);return { h: n.h, s: n.s, l: e(n.l + 100 * t, 0, 100), a: n.a };},$ = function () {function r(r) {this.parsed = x(r)[0], this.rgba = this.parsed || { r: 0, g: 0, b: 0, a: 1 };}return r.prototype.isValid = function () {return null !== this.parsed;}, r.prototype.brightness = function () {return n(I(this.rgba), 2);}, r.prototype.isDark = function () {return I(this.rgba) < .5;}, r.prototype.isLight = function () {return I(this.rgba) >= .5;}, r.prototype.toHex = function () {return r = a(this.rgba), t = r.r, e = r.g, u = r.b, s = (o = r.a) < 1 ? i(n(255 * o)) : "", "#" + i(t) + i(e) + i(u) + s;var r, t, e, u, o, s;}, r.prototype.toRgb = function () {return a(this.rgba);}, r.prototype.toRgbString = function () {return r = a(this.rgba), t = r.r, n = r.g, e = r.b, (u = r.a) < 1 ? "rgba(" + t + ", " + n + ", " + e + ", " + u + ")" : "rgb(" + t + ", " + n + ", " + e + ")";var r, t, n, e, u;}, r.prototype.toHsl = function () {return g(p(this.rgba));}, r.prototype.toHslString = function () {return r = g(p(this.rgba)), t = r.h, n = r.s, e = r.l, (u = r.a) < 1 ? "hsla(" + t + ", " + n + "%, " + e + "%, " + u + ")" : "hsl(" + t + ", " + n + "%, " + e + "%)";var r, t, n, e, u;}, r.prototype.toHsv = function () {return r = h(this.rgba), { h: n(r.h), s: n(r.s), v: n(r.v), a: n(r.a, 3) };var r;}, r.prototype.invert = function () {return j({ r: 255 - (r = this.rgba).r, g: 255 - r.g, b: 255 - r.b, a: r.a });var r;}, r.prototype.saturate = function (r) {return void 0 === r && (r = .1), j(M(this.rgba, r));}, r.prototype.desaturate = function (r) {return void 0 === r && (r = .1), j(M(this.rgba, -r));}, r.prototype.grayscale = function () {return j(M(this.rgba, -1));}, r.prototype.lighten = function (r) {return void 0 === r && (r = .1), j(H(this.rgba, r));}, r.prototype.darken = function (r) {return void 0 === r && (r = .1), j(H(this.rgba, -r));}, r.prototype.rotate = function (r) {return void 0 === r && (r = 15), this.hue(this.hue() + r);}, r.prototype.alpha = function (r) {return "number" == typeof r ? j({ r: (t = this.rgba).r, g: t.g, b: t.b, a: r }) : n(this.rgba.a, 3);var t;}, r.prototype.hue = function (r) {var t = p(this.rgba);return "number" == typeof r ? j({ h: r, s: t.s, l: t.l, a: t.a }) : n(t.h);}, r.prototype.isEqual = function (r) {return this.toHex() === j(r).toHex();}, r;}(),j = function (r) {return r instanceof $ ? r : new $(r);},w = [];exports.Colord = $, exports.colord = j, exports.extend = function (r) {r.forEach(function (r) {w.indexOf(r) < 0 && (r($, y), w.push(r));});}, exports.getFormat = function (r) {return x(r)[1];}, exports.random = function () {return new $({ r: 255 * Math.random(), g: 255 * Math.random(), b: 255 * Math.random() });}; - }, {}], 11: [function (require, module, exports) { + }, {}], 6: [function (require, module, exports) { var r = { grad: .9, turn: 360, rad: 360 / (2 * Math.PI) },n = function (r) {return "string" == typeof r ? r.length > 0 : "number" == typeof r;},t = function (r, n, t) {return void 0 === n && (n = 0), void 0 === t && (t = Math.pow(10, n)), Math.round(t * r) / t + 0;},u = function (r, n, t) {return void 0 === n && (n = 0), void 0 === t && (t = 1), r > t ? t : r > n ? r : n;},a = function (r) {return { h: (n = r.h, (n = isFinite(n) ? n % 360 : 0) > 0 ? n : n + 360), w: u(r.w, 0, 100), b: u(r.b, 0, 100), a: u(r.a) };var n;},e = function (r) {return { h: t(r.h), w: t(r.w), b: t(r.b), a: t(r.a, 3) };},o = function (r) {return { h: function (r) {var n = r.r,t = r.g,u = r.b,a = r.a,e = Math.max(n, t, u),o = e - Math.min(n, t, u),b = o ? e === n ? (t - u) / o : e === t ? 2 + (u - n) / o : 4 + (n - t) / o : 0;return { h: 60 * (b < 0 ? b + 6 : b), s: e ? o / e * 100 : 0, v: e / 255 * 100, a: a };}(r).h, w: Math.min(r.r, r.g, r.b) / 255 * 100, b: 100 - Math.max(r.r, r.g, r.b) / 255 * 100, a: r.a };},b = function (r) {return function (r) {var n = r.h,t = r.s,u = r.v,a = r.a;n = n / 360 * 6, t /= 100, u /= 100;var e = Math.floor(n),o = u * (1 - t),b = u * (1 - (n - e) * t),i = u * (1 - (1 - n + e) * t),h = e % 6;return { r: 255 * [u, b, o, o, i, u][h], g: 255 * [i, u, u, b, o, o][h], b: 255 * [o, o, i, u, u, b][h], a: a };}({ h: r.h, s: 100 === r.b ? 0 : 100 - r.w / (100 - r.b) * 100, v: 100 - r.b, a: r.a });},i = function (r) {var t = r.h,u = r.w,e = r.b,o = r.a,i = void 0 === o ? 1 : o;if (!n(t) || !n(u) || !n(e)) return null;var h = a({ h: Number(t), w: Number(u), b: Number(e), a: Number(i) });return b(h);},h = /^hwb\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,d = function (n) {var t = h.exec(n);if (!t) return null;var u,e,o = a({ h: (u = t[1], e = t[2], void 0 === e && (e = "deg"), Number(u) * (r[e] || 1)), w: Number(t[3]), b: Number(t[4]), a: void 0 === t[5] ? 1 : Number(t[5]) / (t[6] ? 100 : 1) });return b(o);};module.exports = function (r, n) {r.prototype.toHwb = function () {return e(o(this.rgba));}, r.prototype.toHwbString = function () {return r = e(o(this.rgba)), n = r.h, t = r.w, u = r.b, (a = r.a) < 1 ? "hwb(" + n + " " + t + "% " + u + "% / " + a + ")" : "hwb(" + n + " " + t + "% " + u + "%)";var r, n, t, u, a;}, n.string.push([d, "hwb"]), n.object.push([i, "hwb"]);}; - }, {}], 12: [function (require, module, exports) { + }, {}], 7: [function (require, module, exports) { var a = function (a) {return "string" == typeof a ? a.length > 0 : "number" == typeof a;},t = function (a, t, o) {return void 0 === t && (t = 0), void 0 === o && (o = Math.pow(10, t)), Math.round(o * a) / o + 0;},o = function (a, t, o) {return void 0 === t && (t = 0), void 0 === o && (o = 1), a > o ? o : a > t ? a : t;},r = function (a) {var t = a / 255;return t < .04045 ? t / 12.92 : Math.pow((t + .055) / 1.055, 2.4);},h = function (a) {return 255 * (a > .0031308 ? 1.055 * Math.pow(a, 1 / 2.4) - .055 : 12.92 * a);},n = 96.422,p = 100,M = 82.521,u = function (a) {var t,r,n = { x: .9555766 * (t = a).x + -.0230393 * t.y + .0631636 * t.z, y: -.0282895 * t.x + 1.0099416 * t.y + .0210077 * t.z, z: .0122982 * t.x + -.020483 * t.y + 1.3299098 * t.z };return r = { r: h(.032404542 * n.x - .015371385 * n.y - .004985314 * n.z), g: h(-.00969266 * n.x + .018760108 * n.y + 41556e-8 * n.z), b: h(556434e-9 * n.x - .002040259 * n.y + .010572252 * n.z), a: a.a }, { r: o(r.r, 0, 255), g: o(r.g, 0, 255), b: o(r.b, 0, 255), a: o(r.a) };},e = function (a) {var t = r(a.r),h = r(a.g),u = r(a.b);return function (a) {return { x: o(a.x, 0, n), y: o(a.y, 0, p), z: o(a.z, 0, M), a: o(a.a) };}(function (a) {return { x: 1.0478112 * a.x + .0228866 * a.y + -.050127 * a.z, y: .0295424 * a.x + .9904844 * a.y + -.0170491 * a.z, z: -.0092345 * a.x + .0150436 * a.y + .7521316 * a.z, a: a.a };}({ x: 100 * (.4124564 * t + .3575761 * h + .1804375 * u), y: 100 * (.2126729 * t + .7151522 * h + .072175 * u), z: 100 * (.0193339 * t + .119192 * h + .9503041 * u), a: a.a }));},w = 216 / 24389,b = 24389 / 27,i = function (t) {var r = t.l,h = t.a,n = t.b,p = t.alpha,M = void 0 === p ? 1 : p;if (!a(r) || !a(h) || !a(n)) return null;var u = function (a) {return { l: o(a.l, 0, 400), a: a.a, b: a.b, alpha: o(a.alpha) };}({ l: Number(r), a: Number(h), b: Number(n), alpha: Number(M) });return l(u);},l = function (a) {var t = (a.l + 16) / 116,o = a.a / 500 + t,r = t - a.b / 200;return u({ x: (Math.pow(o, 3) > w ? Math.pow(o, 3) : (116 * o - 16) / b) * n, y: (a.l > 8 ? Math.pow((a.l + 16) / 116, 3) : a.l / b) * p, z: (Math.pow(r, 3) > w ? Math.pow(r, 3) : (116 * r - 16) / b) * M, a: a.alpha });};module.exports = function (a, r) {a.prototype.toLab = function () {return o = e(this.rgba), h = o.y / p, u = o.z / M, r = (r = o.x / n) > w ? Math.cbrt(r) : (b * r + 16) / 116, a = { l: 116 * (h = h > w ? Math.cbrt(h) : (b * h + 16) / 116) - 16, a: 500 * (r - h), b: 200 * (h - (u = u > w ? Math.cbrt(u) : (b * u + 16) / 116)), alpha: o.a }, { l: t(a.l, 2), a: t(a.a, 2), b: t(a.b, 2), alpha: t(a.alpha, 3) };var a, o, r, h, u;}, a.prototype.delta = function (r) {void 0 === r && (r = "#FFF");var h = r instanceof a ? r : new a(r),n = function (a, t) {var o = a.l,r = a.a,h = a.b,n = t.l,p = t.a,M = t.b,u = 180 / Math.PI,e = Math.PI / 180,w = Math.pow(Math.pow(r, 2) + Math.pow(h, 2), .5),b = Math.pow(Math.pow(p, 2) + Math.pow(M, 2), .5),i = (o + n) / 2,l = Math.pow((w + b) / 2, 7),c = .5 * (1 - Math.pow(l / (l + Math.pow(25, 7)), .5)),f = r * (1 + c),y = p * (1 + c),v = Math.pow(Math.pow(f, 2) + Math.pow(h, 2), .5),x = Math.pow(Math.pow(y, 2) + Math.pow(M, 2), .5),z = (v + x) / 2,s = 0 === f && 0 === h ? 0 : Math.atan2(h, f) * u,d = 0 === y && 0 === M ? 0 : Math.atan2(M, y) * u;s < 0 && (s += 360), d < 0 && (d += 360);var g = d - s,m = Math.abs(d - s);m > 180 && d <= s ? g += 360 : m > 180 && d > s && (g -= 360);var N = s + d;m <= 180 ? N /= 2 : N = (s + d < 360 ? N + 360 : N - 360) / 2;var F = 1 - .17 * Math.cos(e * (N - 30)) + .24 * Math.cos(2 * e * N) + .32 * Math.cos(e * (3 * N + 6)) - .2 * Math.cos(e * (4 * N - 63)),L = n - o,I = x - v,P = 2 * Math.sin(e * g / 2) * Math.pow(v * x, .5),j = 1 + .015 * Math.pow(i - 50, 2) / Math.pow(20 + Math.pow(i - 50, 2), .5),k = 1 + .045 * z,q = 1 + .015 * z * F,A = 30 * Math.exp(-1 * Math.pow((N - 275) / 25, 2)),B = -2 * Math.pow(l / (l + Math.pow(25, 7)), .5) * Math.sin(2 * e * A);return Math.pow(Math.pow(L / 1 / j, 2) + Math.pow(I / 1 / k, 2) + Math.pow(P / 1 / q, 2) + B * I * P / (1 * k * 1 * q), .5);}(this.toLab(), h.toLab()) / 100;return o(t(n, 3));}, r.object.push([i, "lab"]);}; - }, {}], 13: [function (require, module, exports) { + }, {}], 8: [function (require, module, exports) { var r = { grad: .9, turn: 360, rad: 360 / (2 * Math.PI) },t = function (r) {return "string" == typeof r ? r.length > 0 : "number" == typeof r;},a = function (r, t, a) {return void 0 === t && (t = 0), void 0 === a && (a = Math.pow(10, t)), Math.round(a * r) / a + 0;},n = function (r, t, a) {return void 0 === t && (t = 0), void 0 === a && (a = 1), r > a ? a : r > t ? r : t;},u = function (r) {var t = r / 255;return t < .04045 ? t / 12.92 : Math.pow((t + .055) / 1.055, 2.4);},h = function (r) {return 255 * (r > .0031308 ? 1.055 * Math.pow(r, 1 / 2.4) - .055 : 12.92 * r);},o = 96.422,e = 100,c = 82.521,i = function (r) {var t,a,u = { x: .9555766 * (t = r).x + -.0230393 * t.y + .0631636 * t.z, y: -.0282895 * t.x + 1.0099416 * t.y + .0210077 * t.z, z: .0122982 * t.x + -.020483 * t.y + 1.3299098 * t.z };return a = { r: h(.032404542 * u.x - .015371385 * u.y - .004985314 * u.z), g: h(-.00969266 * u.x + .018760108 * u.y + 41556e-8 * u.z), b: h(556434e-9 * u.x - .002040259 * u.y + .010572252 * u.z), a: r.a }, { r: n(a.r, 0, 255), g: n(a.g, 0, 255), b: n(a.b, 0, 255), a: n(a.a) };},l = function (r) {var t = u(r.r),a = u(r.g),h = u(r.b);return function (r) {return { x: n(r.x, 0, o), y: n(r.y, 0, e), z: n(r.z, 0, c), a: n(r.a) };}(function (r) {return { x: 1.0478112 * r.x + .0228866 * r.y + -.050127 * r.z, y: .0295424 * r.x + .9904844 * r.y + -.0170491 * r.z, z: -.0092345 * r.x + .0150436 * r.y + .7521316 * r.z, a: r.a };}({ x: 100 * (.4124564 * t + .3575761 * a + .1804375 * h), y: 100 * (.2126729 * t + .7151522 * a + .072175 * h), z: 100 * (.0193339 * t + .119192 * a + .9503041 * h), a: r.a }));},b = 216 / 24389,d = 24389 / 27,f = function (r) {return { l: n(r.l, 0, 100), c: r.c, h: (t = r.h, (t = isFinite(t) ? t % 360 : 0) > 0 ? t : t + 360), a: r.a };var t;},p = function (r) {return { l: a(r.l, 2), c: a(r.c, 2), h: a(r.h, 2), a: a(r.a, 3) };},v = function (r) {var a = r.l,n = r.c,u = r.h,h = r.a,o = void 0 === h ? 1 : h;if (!t(a) || !t(n) || !t(u)) return null;var e = f({ l: Number(a), c: Number(n), h: Number(u), a: Number(o) });return M(e);},y = function (r) {var t = function (r) {var t = l(r),a = t.x / o,n = t.y / e,u = t.z / c;return a = a > b ? Math.cbrt(a) : (d * a + 16) / 116, { l: 116 * (n = n > b ? Math.cbrt(n) : (d * n + 16) / 116) - 16, a: 500 * (a - n), b: 200 * (n - (u = u > b ? Math.cbrt(u) : (d * u + 16) / 116)), alpha: t.a };}(r),n = a(t.a, 3),u = a(t.b, 3),h = Math.atan2(u, n) / Math.PI * 180;return { l: t.l, c: Math.sqrt(n * n + u * u), h: h < 0 ? h + 360 : h, a: t.alpha };},M = function (r) {return t = { l: r.l, a: r.c * Math.cos(r.h * Math.PI / 180), b: r.c * Math.sin(r.h * Math.PI / 180), alpha: r.a }, n = t.a / 500 + (a = (t.l + 16) / 116), u = a - t.b / 200, i({ x: (Math.pow(n, 3) > b ? Math.pow(n, 3) : (116 * n - 16) / d) * o, y: (t.l > 8 ? Math.pow((t.l + 16) / 116, 3) : t.l / d) * e, z: (Math.pow(u, 3) > b ? Math.pow(u, 3) : (116 * u - 16) / d) * c, a: t.alpha });var t, a, n, u;},x = /^lch\(\s*([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)\s+([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,s = function (t) {var a = x.exec(t);if (!a) return null;var n,u,h = f({ l: Number(a[1]), c: Number(a[2]), h: (n = a[3], u = a[4], void 0 === u && (u = "deg"), Number(n) * (r[u] || 1)), a: void 0 === a[5] ? 1 : Number(a[5]) / (a[6] ? 100 : 1) });return M(h);};module.exports = function (r, t) {r.prototype.toLch = function () {return p(y(this.rgba));}, r.prototype.toLchString = function () {return r = p(y(this.rgba)), t = r.l, a = r.c, n = r.h, (u = r.a) < 1 ? "lch(" + t + "% " + a + " " + n + " / " + u + ")" : "lch(" + t + "% " + a + " " + n + ")";var r, t, a, n, u;}, t.string.push([s, "lch"]), t.object.push([v, "lch"]);}; - }, {}], 14: [function (require, module, exports) { + }, {}], 9: [function (require, module, exports) { module.exports = function (e, f) {var a = { white: "#ffffff", bisque: "#ffe4c4", blue: "#0000ff", cadetblue: "#5f9ea0", chartreuse: "#7fff00", chocolate: "#d2691e", coral: "#ff7f50", antiquewhite: "#faebd7", aqua: "#00ffff", azure: "#f0ffff", whitesmoke: "#f5f5f5", papayawhip: "#ffefd5", plum: "#dda0dd", blanchedalmond: "#ffebcd", black: "#000000", gold: "#ffd700", goldenrod: "#daa520", gainsboro: "#dcdcdc", cornsilk: "#fff8dc", cornflowerblue: "#6495ed", burlywood: "#deb887", aquamarine: "#7fffd4", beige: "#f5f5dc", crimson: "#dc143c", cyan: "#00ffff", darkblue: "#00008b", darkcyan: "#008b8b", darkgoldenrod: "#b8860b", darkkhaki: "#bdb76b", darkgray: "#a9a9a9", darkgreen: "#006400", darkgrey: "#a9a9a9", peachpuff: "#ffdab9", darkmagenta: "#8b008b", darkred: "#8b0000", darkorchid: "#9932cc", darkorange: "#ff8c00", darkslateblue: "#483d8b", gray: "#808080", darkslategray: "#2f4f4f", darkslategrey: "#2f4f4f", deeppink: "#ff1493", deepskyblue: "#00bfff", wheat: "#f5deb3", firebrick: "#b22222", floralwhite: "#fffaf0", ghostwhite: "#f8f8ff", darkviolet: "#9400d3", magenta: "#ff00ff", green: "#008000", dodgerblue: "#1e90ff", grey: "#808080", honeydew: "#f0fff0", hotpink: "#ff69b4", blueviolet: "#8a2be2", forestgreen: "#228b22", lawngreen: "#7cfc00", indianred: "#cd5c5c", indigo: "#4b0082", fuchsia: "#ff00ff", brown: "#a52a2a", maroon: "#800000", mediumblue: "#0000cd", lightcoral: "#f08080", darkturquoise: "#00ced1", lightcyan: "#e0ffff", ivory: "#fffff0", lightyellow: "#ffffe0", lightsalmon: "#ffa07a", lightseagreen: "#20b2aa", linen: "#faf0e6", mediumaquamarine: "#66cdaa", lemonchiffon: "#fffacd", lime: "#00ff00", khaki: "#f0e68c", mediumseagreen: "#3cb371", limegreen: "#32cd32", mediumspringgreen: "#00fa9a", lightskyblue: "#87cefa", lightblue: "#add8e6", midnightblue: "#191970", lightpink: "#ffb6c1", mistyrose: "#ffe4e1", moccasin: "#ffe4b5", mintcream: "#f5fffa", lightslategray: "#778899", lightslategrey: "#778899", navajowhite: "#ffdead", navy: "#000080", mediumvioletred: "#c71585", powderblue: "#b0e0e6", palegoldenrod: "#eee8aa", oldlace: "#fdf5e6", paleturquoise: "#afeeee", mediumturquoise: "#48d1cc", mediumorchid: "#ba55d3", rebeccapurple: "#663399", lightsteelblue: "#b0c4de", mediumslateblue: "#7b68ee", thistle: "#d8bfd8", tan: "#d2b48c", orchid: "#da70d6", mediumpurple: "#9370db", purple: "#800080", pink: "#ffc0cb", skyblue: "#87ceeb", springgreen: "#00ff7f", palegreen: "#98fb98", red: "#ff0000", yellow: "#ffff00", slateblue: "#6a5acd", lavenderblush: "#fff0f5", peru: "#cd853f", palevioletred: "#db7093", violet: "#ee82ee", teal: "#008080", slategray: "#708090", slategrey: "#708090", aliceblue: "#f0f8ff", darkseagreen: "#8fbc8f", darkolivegreen: "#556b2f", greenyellow: "#adff2f", seagreen: "#2e8b57", seashell: "#fff5ee", tomato: "#ff6347", silver: "#c0c0c0", sienna: "#a0522d", lavender: "#e6e6fa", lightgreen: "#90ee90", orange: "#ffa500", orangered: "#ff4500", steelblue: "#4682b4", royalblue: "#4169e1", turquoise: "#40e0d0", yellowgreen: "#9acd32", salmon: "#fa8072", saddlebrown: "#8b4513", sandybrown: "#f4a460", rosybrown: "#bc8f8f", darksalmon: "#e9967a", lightgoldenrodyellow: "#fafad2", snow: "#fffafa", lightgrey: "#d3d3d3", lightgray: "#d3d3d3", dimgray: "#696969", dimgrey: "#696969", olivedrab: "#6b8e23", olive: "#808000" },r = {};for (var d in a) r[a[d]] = d;var l = {};e.prototype.toName = function (f) {if (!(this.rgba.a || this.rgba.r || this.rgba.g || this.rgba.b)) return "transparent";var d,i,o = r[this.toHex()];if (o) return o;if (null == f ? void 0 : f.closest) {var n = this.toRgb(),t = 1 / 0,b = "black";if (!l.length) for (var c in a) l[c] = new e(a[c]).toRgb();for (var g in a) {var u = (d = n, i = l[g], Math.pow(d.r - i.r, 2) + Math.pow(d.g - i.g, 2) + Math.pow(d.b - i.b, 2));u < t && (t = u, b = g);}return b;}};f.string.push([function (f) {var r = f.toLowerCase(),d = "transparent" === r ? "#0000" : a[r];return d ? new e(d).toRgb() : null;}, "name"]);}; - }, {}], 15: [function (require, module, exports) { + }, {}], 10: [function (require, module, exports) { /*! https://mths.be/cssesc v3.0.0 by @mathias */ 'use strict'; @@ -2199,315 +165,7 @@ module.exports = cssesc; - }, {}], 16: [function (require, module, exports) { - 'use strict'; - - /* globals - AggregateError, - Atomics, - FinalizationRegistry, - SharedArrayBuffer, - WeakRef, - */ - - var undefined; - - var $SyntaxError = SyntaxError; - var $Function = Function; - var $TypeError = TypeError; - - // eslint-disable-next-line consistent-return - var getEvalledConstructor = function (expressionSyntax) { - try { - // eslint-disable-next-line no-new-func - return Function('"use strict"; return (' + expressionSyntax + ').constructor;')(); - } catch (e) {} - }; - - var $gOPD = Object.getOwnPropertyDescriptor; - if ($gOPD) { - try { - $gOPD({}, ''); - } catch (e) { - $gOPD = null; // this is IE 8, which has a broken gOPD - } - } - - var throwTypeError = function () {throw new $TypeError();}; - var ThrowTypeError = $gOPD ? - function () { - try { - // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties - arguments.callee; // IE 8 does not throw here - return throwTypeError; - } catch (calleeThrows) { - try { - // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '') - return $gOPD(arguments, 'callee').get; - } catch (gOPDthrows) { - return throwTypeError; - } - } - }() : - throwTypeError; - - var hasSymbols = require('has-symbols')(); - - var getProto = Object.getPrototypeOf || function (x) {return x.__proto__;}; // eslint-disable-line no-proto - - var asyncGenFunction = getEvalledConstructor('async function* () {}'); - var asyncGenFunctionPrototype = asyncGenFunction ? asyncGenFunction.prototype : undefined; - var asyncGenPrototype = asyncGenFunctionPrototype ? asyncGenFunctionPrototype.prototype : undefined; - - var TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array); - - var INTRINSICS = { - '%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError, - '%Array%': Array, - '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer, - '%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined, - '%AsyncFromSyncIteratorPrototype%': undefined, - '%AsyncFunction%': getEvalledConstructor('async function () {}'), - '%AsyncGenerator%': asyncGenFunctionPrototype, - '%AsyncGeneratorFunction%': asyncGenFunction, - '%AsyncIteratorPrototype%': asyncGenPrototype ? getProto(asyncGenPrototype) : undefined, - '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics, - '%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt, - '%Boolean%': Boolean, - '%DataView%': typeof DataView === 'undefined' ? undefined : DataView, - '%Date%': Date, - '%decodeURI%': decodeURI, - '%decodeURIComponent%': decodeURIComponent, - '%encodeURI%': encodeURI, - '%encodeURIComponent%': encodeURIComponent, - '%Error%': Error, - '%eval%': eval, // eslint-disable-line no-eval - '%EvalError%': EvalError, - '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array, - '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array, - '%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry, - '%Function%': $Function, - '%GeneratorFunction%': getEvalledConstructor('function* () {}'), - '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array, - '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array, - '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array, - '%isFinite%': isFinite, - '%isNaN%': isNaN, - '%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined, - '%JSON%': typeof JSON === 'object' ? JSON : undefined, - '%Map%': typeof Map === 'undefined' ? undefined : Map, - '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()), - '%Math%': Math, - '%Number%': Number, - '%Object%': Object, - '%parseFloat%': parseFloat, - '%parseInt%': parseInt, - '%Promise%': typeof Promise === 'undefined' ? undefined : Promise, - '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy, - '%RangeError%': RangeError, - '%ReferenceError%': ReferenceError, - '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect, - '%RegExp%': RegExp, - '%Set%': typeof Set === 'undefined' ? undefined : Set, - '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()), - '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer, - '%String%': String, - '%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined, - '%Symbol%': hasSymbols ? Symbol : undefined, - '%SyntaxError%': $SyntaxError, - '%ThrowTypeError%': ThrowTypeError, - '%TypedArray%': TypedArray, - '%TypeError%': $TypeError, - '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array, - '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray, - '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array, - '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array, - '%URIError%': URIError, - '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap, - '%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef, - '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet }; - - - var LEGACY_ALIASES = { - '%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'], - '%ArrayPrototype%': ['Array', 'prototype'], - '%ArrayProto_entries%': ['Array', 'prototype', 'entries'], - '%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'], - '%ArrayProto_keys%': ['Array', 'prototype', 'keys'], - '%ArrayProto_values%': ['Array', 'prototype', 'values'], - '%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'], - '%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'], - '%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'], - '%BooleanPrototype%': ['Boolean', 'prototype'], - '%DataViewPrototype%': ['DataView', 'prototype'], - '%DatePrototype%': ['Date', 'prototype'], - '%ErrorPrototype%': ['Error', 'prototype'], - '%EvalErrorPrototype%': ['EvalError', 'prototype'], - '%Float32ArrayPrototype%': ['Float32Array', 'prototype'], - '%Float64ArrayPrototype%': ['Float64Array', 'prototype'], - '%FunctionPrototype%': ['Function', 'prototype'], - '%Generator%': ['GeneratorFunction', 'prototype'], - '%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'], - '%Int8ArrayPrototype%': ['Int8Array', 'prototype'], - '%Int16ArrayPrototype%': ['Int16Array', 'prototype'], - '%Int32ArrayPrototype%': ['Int32Array', 'prototype'], - '%JSONParse%': ['JSON', 'parse'], - '%JSONStringify%': ['JSON', 'stringify'], - '%MapPrototype%': ['Map', 'prototype'], - '%NumberPrototype%': ['Number', 'prototype'], - '%ObjectPrototype%': ['Object', 'prototype'], - '%ObjProto_toString%': ['Object', 'prototype', 'toString'], - '%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'], - '%PromisePrototype%': ['Promise', 'prototype'], - '%PromiseProto_then%': ['Promise', 'prototype', 'then'], - '%Promise_all%': ['Promise', 'all'], - '%Promise_reject%': ['Promise', 'reject'], - '%Promise_resolve%': ['Promise', 'resolve'], - '%RangeErrorPrototype%': ['RangeError', 'prototype'], - '%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'], - '%RegExpPrototype%': ['RegExp', 'prototype'], - '%SetPrototype%': ['Set', 'prototype'], - '%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'], - '%StringPrototype%': ['String', 'prototype'], - '%SymbolPrototype%': ['Symbol', 'prototype'], - '%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'], - '%TypedArrayPrototype%': ['TypedArray', 'prototype'], - '%TypeErrorPrototype%': ['TypeError', 'prototype'], - '%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'], - '%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'], - '%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'], - '%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'], - '%URIErrorPrototype%': ['URIError', 'prototype'], - '%WeakMapPrototype%': ['WeakMap', 'prototype'], - '%WeakSetPrototype%': ['WeakSet', 'prototype'] }; - - - var bind = require('function-bind'); - var hasOwn = require('has'); - var $concat = bind.call(Function.call, Array.prototype.concat); - var $spliceApply = bind.call(Function.apply, Array.prototype.splice); - var $replace = bind.call(Function.call, String.prototype.replace); - - /* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */ - var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g; - var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */ - var stringToPath = function stringToPath(string) { - var result = []; - $replace(string, rePropName, function (match, number, quote, subString) { - result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match; - }); - return result; - }; - /* end adaptation */ - - var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) { - var intrinsicName = name; - var alias; - if (hasOwn(LEGACY_ALIASES, intrinsicName)) { - alias = LEGACY_ALIASES[intrinsicName]; - intrinsicName = '%' + alias[0] + '%'; - } - - if (hasOwn(INTRINSICS, intrinsicName)) { - var value = INTRINSICS[intrinsicName]; - if (typeof value === 'undefined' && !allowMissing) { - throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!'); - } - - return { - alias: alias, - name: intrinsicName, - value: value }; - - } - - throw new $SyntaxError('intrinsic ' + name + ' does not exist!'); - }; - - module.exports = function GetIntrinsic(name, allowMissing) { - if (typeof name !== 'string' || name.length === 0) { - throw new $TypeError('intrinsic name must be a non-empty string'); - } - if (arguments.length > 1 && typeof allowMissing !== 'boolean') { - throw new $TypeError('"allowMissing" argument must be a boolean'); - } - - var parts = stringToPath(name); - var intrinsicBaseName = parts.length > 0 ? parts[0] : ''; - - var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing); - var intrinsicRealName = intrinsic.name; - var value = intrinsic.value; - var skipFurtherCaching = false; - - var alias = intrinsic.alias; - if (alias) { - intrinsicBaseName = alias[0]; - $spliceApply(parts, $concat([0, 1], alias)); - } - - for (var i = 1, isOwn = true; i < parts.length; i += 1) { - var part = parts[i]; - if (part === 'constructor' || !isOwn) { - skipFurtherCaching = true; - } - - intrinsicBaseName += '.' + part; - intrinsicRealName = '%' + intrinsicBaseName + '%'; - - if (hasOwn(INTRINSICS, intrinsicRealName)) { - value = INTRINSICS[intrinsicRealName]; - } else if (value != null) { - if ($gOPD && i + 1 >= parts.length) { - var desc = $gOPD(value, part); - isOwn = !!desc; - - if (!allowMissing && !(part in value)) { - throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.'); - } - // By convention, when a data property is converted to an accessor - // property to emulate a data property that does not suffer from - // the override mistake, that accessor's getter is marked with - // an `originalValue` property. Here, when we detect this, we - // uphold the illusion by pretending to see that original data - // property, i.e., returning the value rather than the getter - // itself. - if (isOwn && 'get' in desc && !('originalValue' in desc.get)) { - value = desc.get; - } else { - value = value[part]; - } - } else { - isOwn = hasOwn(value, part); - value = value[part]; - } - - if (isOwn && !skipFurtherCaching) { - INTRINSICS[intrinsicRealName] = value; - } - } - } - return value; - }; - - }, { "function-bind": 22, "has": 26, "has-symbols": 24 }], 17: [function (require, module, exports) { - 'use strict'; - - var GetIntrinsic = require('../GetIntrinsic'); - - var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%'); - if ($gOPD) { - try { - $gOPD([], 'length'); - } catch (e) { - // IE 8 has a broken gOPD - $gOPD = null; - } - } - - module.exports = $gOPD; - - }, { "../GetIntrinsic": 16 }], 18: [function (require, module, exports) { + }, {}], 11: [function (require, module, exports) { 'use strict'; const cloneRegexp = require('clone-regexp'); @@ -2533,23 +191,25 @@ return matches; }; - }, { "clone-regexp": 9 }], 19: [function (require, module, exports) { + }, { "clone-regexp": 4 }], 12: [function (require, module, exports) { "use strict"; - const peq = new Uint32Array(0x10000); - const myers_32 = (a, b) => { - const n = a.length; - const m = b.length; - const lst = 1 << n - 1; - let pv = -1; - let mv = 0; - let sc = n; - let i = n; + exports.__esModule = true; + exports.distance = exports.closest = void 0; + var peq = new Uint32Array(0x10000); + var myers_32 = function (a, b) { + var n = a.length; + var m = b.length; + var lst = 1 << n - 1; + var pv = -1; + var mv = 0; + var sc = n; + var i = n; while (i--) { peq[a.charCodeAt(i)] |= 1 << i; } for (i = 0; i < m; i++) { - let eq = peq[b.charCodeAt(i)]; - const xv = eq | mv; + var eq = peq[b.charCodeAt(i)]; + var xv = eq | mv; eq |= (eq & pv) + pv ^ pv; mv |= ~(eq | pv); pv &= eq; @@ -2569,37 +229,34 @@ } return sc; }; - - const myers_x = (a, b) => { - const n = a.length; - const m = b.length; - const mhc = []; - const phc = []; - const hsize = Math.ceil(n / 32); - const vsize = Math.ceil(m / 32); - let score = m; - for (let i = 0; i < hsize; i++) { + var myers_x = function (b, a) { + var n = a.length; + var m = b.length; + var mhc = []; + var phc = []; + var hsize = Math.ceil(n / 32); + var vsize = Math.ceil(m / 32); + for (var i = 0; i < hsize; i++) { phc[i] = -1; mhc[i] = 0; } - let j = 0; + var j = 0; for (; j < vsize - 1; j++) { - let mv = 0; - let pv = -1; - const start = j * 32; - const end = Math.min(32, m) + start; - for (let k = start; k < end; k++) { + var mv_1 = 0; + var pv_1 = -1; + var start_1 = j * 32; + var vlen_1 = Math.min(32, m) + start_1; + for (var k = start_1; k < vlen_1; k++) { peq[b.charCodeAt(k)] |= 1 << k; } - score = m; - for (let i = 0; i < n; i++) { - const eq = peq[a.charCodeAt(i)]; - const pb = phc[i / 32 | 0] >>> i & 1; - const mb = mhc[i / 32 | 0] >>> i & 1; - const xv = eq | mv; - const xh = ((eq | mb) & pv) + pv ^ pv | eq | mb; - let ph = mv | ~(xh | pv); - let mh = pv & xh; + for (var i = 0; i < n; i++) { + var eq = peq[a.charCodeAt(i)]; + var pb = phc[i / 32 | 0] >>> i & 1; + var mb = mhc[i / 32 | 0] >>> i & 1; + var xv = eq | mv_1; + var xh = ((eq | mb) & pv_1) + pv_1 ^ pv_1 | eq | mb; + var ph = mv_1 | ~(xh | pv_1); + var mh = pv_1 & xh; if (ph >>> 31 ^ pb) { phc[i / 32 | 0] ^= 1 << i; } @@ -2608,29 +265,29 @@ } ph = ph << 1 | pb; mh = mh << 1 | mb; - pv = mh | ~(xv | ph); - mv = ph & xv; + pv_1 = mh | ~(xv | ph); + mv_1 = ph & xv; } - for (let k = start; k < end; k++) { + for (var k = start_1; k < vlen_1; k++) { peq[b.charCodeAt(k)] = 0; } } - let mv = 0; - let pv = -1; - const start = j * 32; - const end = Math.min(32, m - start) + start; - for (let k = start; k < end; k++) { + var mv = 0; + var pv = -1; + var start = j * 32; + var vlen = Math.min(32, m - start) + start; + for (var k = start; k < vlen; k++) { peq[b.charCodeAt(k)] |= 1 << k; } - score = m; - for (let i = 0; i < n; i++) { - const eq = peq[a.charCodeAt(i)]; - const pb = phc[i / 32 | 0] >>> i & 1; - const mb = mhc[i / 32 | 0] >>> i & 1; - const xv = eq | mv; - const xh = ((eq | mb) & pv) + pv ^ pv | eq | mb; - let ph = mv | ~(xh | pv); - let mh = pv & xh; + var score = m; + for (var i = 0; i < n; i++) { + var eq = peq[a.charCodeAt(i)]; + var pb = phc[i / 32 | 0] >>> i & 1; + var mb = mhc[i / 32 | 0] >>> i & 1; + var xv = eq | mv; + var xh = ((eq | mb) & pv) + pv ^ pv | eq | mb; + var ph = mv | ~(xh | pv); + var mh = pv & xh; score += ph >>> m - 1 & 1; score -= mh >>> m - 1 & 1; if (ph >>> 31 ^ pb) { @@ -2644,32 +301,31 @@ pv = mh | ~(xv | ph); mv = ph & xv; } - for (let k = start; k < end; k++) { + for (var k = start; k < vlen; k++) { peq[b.charCodeAt(k)] = 0; } return score; }; - - const distance = (a, b) => { - if (a.length > b.length) { - const tmp = b; + var distance = function (a, b) { + if (a.length < b.length) { + var tmp = b; b = a; a = tmp; } - if (a.length === 0) { - return b.length; + if (b.length === 0) { + return a.length; } if (a.length <= 32) { return myers_32(a, b); } return myers_x(a, b); }; - - const closest = (str, arr) => { - let min_distance = Infinity; - let min_index = 0; - for (let i = 0; i < arr.length; i++) { - const dist = distance(str, arr[i]); + exports.distance = distance; + var closest = function (str, arr) { + var min_distance = Infinity; + var min_index = 0; + for (var i = 0; i < arr.length; i++) { + var dist = distance(str, arr[i]); if (dist < min_distance) { min_distance = dist; min_index = i; @@ -2677,480 +333,9 @@ } return arr[min_index]; }; + exports.closest = closest; - module.exports = { - closest, distance }; - - - }, {}], 20: [function (require, module, exports) { - - var hasOwn = Object.prototype.hasOwnProperty; - var toString = Object.prototype.toString; - - module.exports = function forEach(obj, fn, ctx) { - if (toString.call(fn) !== '[object Function]') { - throw new TypeError('iterator must be a function'); - } - var l = obj.length; - if (l === +l) { - for (var i = 0; i < l; i++) { - fn.call(ctx, obj[i], i, obj); - } - } else { - for (var k in obj) { - if (hasOwn.call(obj, k)) { - fn.call(ctx, obj[k], k, obj); - } - } - } - }; - - - }, {}], 21: [function (require, module, exports) { - 'use strict'; - - /* eslint no-invalid-this: 1 */ - - var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible '; - var slice = Array.prototype.slice; - var toStr = Object.prototype.toString; - var funcType = '[object Function]'; - - module.exports = function bind(that) { - var target = this; - if (typeof target !== 'function' || toStr.call(target) !== funcType) { - throw new TypeError(ERROR_MESSAGE + target); - } - var args = slice.call(arguments, 1); - - var bound; - var binder = function () { - if (this instanceof bound) { - var result = target.apply( - this, - args.concat(slice.call(arguments))); - - if (Object(result) === result) { - return result; - } - return this; - } else { - return target.apply( - that, - args.concat(slice.call(arguments))); - - } - }; - - var boundLength = Math.max(0, target.length - args.length); - var boundArgs = []; - for (var i = 0; i < boundLength; i++) { - boundArgs.push('$' + i); - } - - bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder); - - if (target.prototype) { - var Empty = function Empty() {}; - Empty.prototype = target.prototype; - bound.prototype = new Empty(); - Empty.prototype = null; - } - - return bound; - }; - - }, {}], 22: [function (require, module, exports) { - 'use strict'; - - var implementation = require('./implementation'); - - module.exports = Function.prototype.bind || implementation; - - }, { "./implementation": 21 }], 23: [function (require, module, exports) { - 'use strict'; - - /* globals - AggregateError, - Atomics, - FinalizationRegistry, - SharedArrayBuffer, - WeakRef, - */ - - var undefined; - - var $SyntaxError = SyntaxError; - var $Function = Function; - var $TypeError = TypeError; - - // eslint-disable-next-line consistent-return - var getEvalledConstructor = function (expressionSyntax) { - try { - // eslint-disable-next-line no-new-func - return Function('"use strict"; return (' + expressionSyntax + ').constructor;')(); - } catch (e) {} - }; - - var $gOPD = Object.getOwnPropertyDescriptor; - if ($gOPD) { - try { - $gOPD({}, ''); - } catch (e) { - $gOPD = null; // this is IE 8, which has a broken gOPD - } - } - - var throwTypeError = function () { - throw new $TypeError(); - }; - var ThrowTypeError = $gOPD ? - function () { - try { - // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties - arguments.callee; // IE 8 does not throw here - return throwTypeError; - } catch (calleeThrows) { - try { - // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '') - return $gOPD(arguments, 'callee').get; - } catch (gOPDthrows) { - return throwTypeError; - } - } - }() : - throwTypeError; - - var hasSymbols = require('has-symbols')(); - - var getProto = Object.getPrototypeOf || function (x) {return x.__proto__;}; // eslint-disable-line no-proto - - var asyncGenFunction = getEvalledConstructor('async function* () {}'); - var asyncGenFunctionPrototype = asyncGenFunction ? asyncGenFunction.prototype : undefined; - var asyncGenPrototype = asyncGenFunctionPrototype ? asyncGenFunctionPrototype.prototype : undefined; - - var TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array); - - var INTRINSICS = { - '%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError, - '%Array%': Array, - '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer, - '%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined, - '%AsyncFromSyncIteratorPrototype%': undefined, - '%AsyncFunction%': getEvalledConstructor('async function () {}'), - '%AsyncGenerator%': asyncGenFunctionPrototype, - '%AsyncGeneratorFunction%': asyncGenFunction, - '%AsyncIteratorPrototype%': asyncGenPrototype ? getProto(asyncGenPrototype) : undefined, - '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics, - '%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt, - '%Boolean%': Boolean, - '%DataView%': typeof DataView === 'undefined' ? undefined : DataView, - '%Date%': Date, - '%decodeURI%': decodeURI, - '%decodeURIComponent%': decodeURIComponent, - '%encodeURI%': encodeURI, - '%encodeURIComponent%': encodeURIComponent, - '%Error%': Error, - '%eval%': eval, // eslint-disable-line no-eval - '%EvalError%': EvalError, - '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array, - '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array, - '%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry, - '%Function%': $Function, - '%GeneratorFunction%': getEvalledConstructor('function* () {}'), - '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array, - '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array, - '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array, - '%isFinite%': isFinite, - '%isNaN%': isNaN, - '%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined, - '%JSON%': typeof JSON === 'object' ? JSON : undefined, - '%Map%': typeof Map === 'undefined' ? undefined : Map, - '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()), - '%Math%': Math, - '%Number%': Number, - '%Object%': Object, - '%parseFloat%': parseFloat, - '%parseInt%': parseInt, - '%Promise%': typeof Promise === 'undefined' ? undefined : Promise, - '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy, - '%RangeError%': RangeError, - '%ReferenceError%': ReferenceError, - '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect, - '%RegExp%': RegExp, - '%Set%': typeof Set === 'undefined' ? undefined : Set, - '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()), - '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer, - '%String%': String, - '%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined, - '%Symbol%': hasSymbols ? Symbol : undefined, - '%SyntaxError%': $SyntaxError, - '%ThrowTypeError%': ThrowTypeError, - '%TypedArray%': TypedArray, - '%TypeError%': $TypeError, - '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array, - '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray, - '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array, - '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array, - '%URIError%': URIError, - '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap, - '%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef, - '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet }; - - - var LEGACY_ALIASES = { - '%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'], - '%ArrayPrototype%': ['Array', 'prototype'], - '%ArrayProto_entries%': ['Array', 'prototype', 'entries'], - '%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'], - '%ArrayProto_keys%': ['Array', 'prototype', 'keys'], - '%ArrayProto_values%': ['Array', 'prototype', 'values'], - '%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'], - '%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'], - '%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'], - '%BooleanPrototype%': ['Boolean', 'prototype'], - '%DataViewPrototype%': ['DataView', 'prototype'], - '%DatePrototype%': ['Date', 'prototype'], - '%ErrorPrototype%': ['Error', 'prototype'], - '%EvalErrorPrototype%': ['EvalError', 'prototype'], - '%Float32ArrayPrototype%': ['Float32Array', 'prototype'], - '%Float64ArrayPrototype%': ['Float64Array', 'prototype'], - '%FunctionPrototype%': ['Function', 'prototype'], - '%Generator%': ['GeneratorFunction', 'prototype'], - '%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'], - '%Int8ArrayPrototype%': ['Int8Array', 'prototype'], - '%Int16ArrayPrototype%': ['Int16Array', 'prototype'], - '%Int32ArrayPrototype%': ['Int32Array', 'prototype'], - '%JSONParse%': ['JSON', 'parse'], - '%JSONStringify%': ['JSON', 'stringify'], - '%MapPrototype%': ['Map', 'prototype'], - '%NumberPrototype%': ['Number', 'prototype'], - '%ObjectPrototype%': ['Object', 'prototype'], - '%ObjProto_toString%': ['Object', 'prototype', 'toString'], - '%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'], - '%PromisePrototype%': ['Promise', 'prototype'], - '%PromiseProto_then%': ['Promise', 'prototype', 'then'], - '%Promise_all%': ['Promise', 'all'], - '%Promise_reject%': ['Promise', 'reject'], - '%Promise_resolve%': ['Promise', 'resolve'], - '%RangeErrorPrototype%': ['RangeError', 'prototype'], - '%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'], - '%RegExpPrototype%': ['RegExp', 'prototype'], - '%SetPrototype%': ['Set', 'prototype'], - '%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'], - '%StringPrototype%': ['String', 'prototype'], - '%SymbolPrototype%': ['Symbol', 'prototype'], - '%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'], - '%TypedArrayPrototype%': ['TypedArray', 'prototype'], - '%TypeErrorPrototype%': ['TypeError', 'prototype'], - '%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'], - '%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'], - '%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'], - '%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'], - '%URIErrorPrototype%': ['URIError', 'prototype'], - '%WeakMapPrototype%': ['WeakMap', 'prototype'], - '%WeakSetPrototype%': ['WeakSet', 'prototype'] }; - - - var bind = require('function-bind'); - var hasOwn = require('has'); - var $concat = bind.call(Function.call, Array.prototype.concat); - var $spliceApply = bind.call(Function.apply, Array.prototype.splice); - var $replace = bind.call(Function.call, String.prototype.replace); - var $strSlice = bind.call(Function.call, String.prototype.slice); - - /* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */ - var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g; - var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */ - var stringToPath = function stringToPath(string) { - var first = $strSlice(string, 0, 1); - var last = $strSlice(string, -1); - if (first === '%' && last !== '%') { - throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`'); - } else if (last === '%' && first !== '%') { - throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`'); - } - var result = []; - $replace(string, rePropName, function (match, number, quote, subString) { - result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match; - }); - return result; - }; - /* end adaptation */ - - var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) { - var intrinsicName = name; - var alias; - if (hasOwn(LEGACY_ALIASES, intrinsicName)) { - alias = LEGACY_ALIASES[intrinsicName]; - intrinsicName = '%' + alias[0] + '%'; - } - - if (hasOwn(INTRINSICS, intrinsicName)) { - var value = INTRINSICS[intrinsicName]; - if (typeof value === 'undefined' && !allowMissing) { - throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!'); - } - - return { - alias: alias, - name: intrinsicName, - value: value }; - - } - - throw new $SyntaxError('intrinsic ' + name + ' does not exist!'); - }; - - module.exports = function GetIntrinsic(name, allowMissing) { - if (typeof name !== 'string' || name.length === 0) { - throw new $TypeError('intrinsic name must be a non-empty string'); - } - if (arguments.length > 1 && typeof allowMissing !== 'boolean') { - throw new $TypeError('"allowMissing" argument must be a boolean'); - } - - var parts = stringToPath(name); - var intrinsicBaseName = parts.length > 0 ? parts[0] : ''; - - var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing); - var intrinsicRealName = intrinsic.name; - var value = intrinsic.value; - var skipFurtherCaching = false; - - var alias = intrinsic.alias; - if (alias) { - intrinsicBaseName = alias[0]; - $spliceApply(parts, $concat([0, 1], alias)); - } - - for (var i = 1, isOwn = true; i < parts.length; i += 1) { - var part = parts[i]; - var first = $strSlice(part, 0, 1); - var last = $strSlice(part, -1); - if ( - ( - first === '"' || first === "'" || first === '`' || - last === '"' || last === "'" || last === '`') && - - first !== last) - { - throw new $SyntaxError('property names with quotes must have matching quotes'); - } - if (part === 'constructor' || !isOwn) { - skipFurtherCaching = true; - } - - intrinsicBaseName += '.' + part; - intrinsicRealName = '%' + intrinsicBaseName + '%'; - - if (hasOwn(INTRINSICS, intrinsicRealName)) { - value = INTRINSICS[intrinsicRealName]; - } else if (value != null) { - if (!(part in value)) { - if (!allowMissing) { - throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.'); - } - return void undefined; - } - if ($gOPD && i + 1 >= parts.length) { - var desc = $gOPD(value, part); - isOwn = !!desc; - - // By convention, when a data property is converted to an accessor - // property to emulate a data property that does not suffer from - // the override mistake, that accessor's getter is marked with - // an `originalValue` property. Here, when we detect this, we - // uphold the illusion by pretending to see that original data - // property, i.e., returning the value rather than the getter - // itself. - if (isOwn && 'get' in desc && !('originalValue' in desc.get)) { - value = desc.get; - } else { - value = value[part]; - } - } else { - isOwn = hasOwn(value, part); - value = value[part]; - } - - if (isOwn && !skipFurtherCaching) { - INTRINSICS[intrinsicRealName] = value; - } - } - } - return value; - }; - - }, { "function-bind": 22, "has": 26, "has-symbols": 24 }], 24: [function (require, module, exports) { - (function (global) {(function () { - 'use strict'; - - var origSymbol = global.Symbol; - var hasSymbolSham = require('./shams'); - - module.exports = function hasNativeSymbols() { - if (typeof origSymbol !== 'function') {return false;} - if (typeof Symbol !== 'function') {return false;} - if (typeof origSymbol('foo') !== 'symbol') {return false;} - if (typeof Symbol('bar') !== 'symbol') {return false;} - - return hasSymbolSham(); - }; - - }).call(this);}).call(this, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}); - }, { "./shams": 25 }], 25: [function (require, module, exports) { - 'use strict'; - - /* eslint complexity: [2, 18], max-statements: [2, 33] */ - module.exports = function hasSymbols() { - if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') {return false;} - if (typeof Symbol.iterator === 'symbol') {return true;} - - var obj = {}; - var sym = Symbol('test'); - var symObj = Object(sym); - if (typeof sym === 'string') {return false;} - - if (Object.prototype.toString.call(sym) !== '[object Symbol]') {return false;} - if (Object.prototype.toString.call(symObj) !== '[object Symbol]') {return false;} - - // temp disabled per https://github.com/ljharb/object.assign/issues/17 - // if (sym instanceof Symbol) { return false; } - // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4 - // if (!(symObj instanceof Symbol)) { return false; } - - // if (typeof Symbol.prototype.toString !== 'function') { return false; } - // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; } - - var symVal = 42; - obj[sym] = symVal; - for (sym in obj) {return false;} // eslint-disable-line no-restricted-syntax - if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) {return false;} - - if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) {return false;} - - var syms = Object.getOwnPropertySymbols(obj); - if (syms.length !== 1 || syms[0] !== sym) {return false;} - - if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) {return false;} - - if (typeof Object.getOwnPropertyDescriptor === 'function') { - var descriptor = Object.getOwnPropertyDescriptor(obj, sym); - if (descriptor.value !== symVal || descriptor.enumerable !== true) {return false;} - } - - return true; - }; - - }, {}], 26: [function (require, module, exports) { - 'use strict'; - - var bind = require('function-bind'); - - module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty); - - }, { "function-bind": 22 }], 27: [function (require, module, exports) { + }, {}], 13: [function (require, module, exports) { module.exports = [ "a", "abbr", @@ -3271,98 +456,11 @@ "wbr"]; - }, {}], 28: [function (require, module, exports) { + }, {}], 14: [function (require, module, exports) { 'use strict'; module.exports = require('./html-tags.json'); - }, { "./html-tags.json": 27 }], 29: [function (require, module, exports) { - /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ - exports.read = function (buffer, offset, isLE, mLen, nBytes) { - var e, m; - var eLen = nBytes * 8 - mLen - 1; - var eMax = (1 << eLen) - 1; - var eBias = eMax >> 1; - var nBits = -7; - var i = isLE ? nBytes - 1 : 0; - var d = isLE ? -1 : 1; - var s = buffer[offset + i]; - - i += d; - - e = s & (1 << -nBits) - 1; - s >>= -nBits; - nBits += eLen; - for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} - - m = e & (1 << -nBits) - 1; - e >>= -nBits; - nBits += mLen; - for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} - - if (e === 0) { - e = 1 - eBias; - } else if (e === eMax) { - return m ? NaN : (s ? -1 : 1) * Infinity; - } else { - m = m + Math.pow(2, mLen); - e = e - eBias; - } - return (s ? -1 : 1) * m * Math.pow(2, e - mLen); - }; - - exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { - var e, m, c; - var eLen = nBytes * 8 - mLen - 1; - var eMax = (1 << eLen) - 1; - var eBias = eMax >> 1; - var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0; - var i = isLE ? 0 : nBytes - 1; - var d = isLE ? 1 : -1; - var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; - - value = Math.abs(value); - - if (isNaN(value) || value === Infinity) { - m = isNaN(value) ? 1 : 0; - e = eMax; - } else { - e = Math.floor(Math.log(value) / Math.LN2); - if (value * (c = Math.pow(2, -e)) < 1) { - e--; - c *= 2; - } - if (e + eBias >= 1) { - value += rt / c; - } else { - value += rt * Math.pow(2, 1 - eBias); - } - if (value * c >= 2) { - e++; - c /= 2; - } - - if (e + eBias >= eMax) { - m = 0; - e = eMax; - } else if (e + eBias >= 1) { - m = (value * c - 1) * Math.pow(2, mLen); - e = e + eBias; - } else { - m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); - e = 0; - } - } - - for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} - - e = e << mLen | m; - eLen += mLen; - for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} - - buffer[offset + i - d] |= s * 128; - }; - - }, {}], 30: [function (require, module, exports) { + }, { "./html-tags.json": 13 }], 15: [function (require, module, exports) { (function (process) {(function () { // A simple implementation of make-array function makeArray(subject) { @@ -3969,134 +1067,7 @@ } }).call(this);}).call(this, require('_process')); - }, { "_process": 115 }], 31: [function (require, module, exports) { - 'use strict'; - const lazy = (importedModule, importFn, moduleId) => - importedModule === undefined ? importFn(moduleId) : importedModule; - - module.exports = importFn => { - return moduleId => { - let importedModule; - - const handler = { - get: (target, property) => { - importedModule = lazy(importedModule, importFn, moduleId); - return Reflect.get(importedModule, property); - }, - apply: (target, thisArgument, argumentsList) => { - importedModule = lazy(importedModule, importFn, moduleId); - return Reflect.apply(importedModule, thisArgument, argumentsList); - }, - construct: (target, argumentsList) => { - importedModule = lazy(importedModule, importFn, moduleId); - return Reflect.construct(importedModule, argumentsList); - } }; - - - // eslint-disable-next-line prefer-arrow-callback - return new Proxy(function () {}, handler); - }; - }; - - }, {}], 32: [function (require, module, exports) { - if (typeof Object.create === 'function') { - // implementation from standard node.js 'util' module - module.exports = function inherits(ctor, superCtor) { - if (superCtor) { - ctor.super_ = superCtor; - ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: false, - writable: true, - configurable: true } }); - - - } - }; - } else { - // old school shim for old browsers - module.exports = function inherits(ctor, superCtor) { - if (superCtor) { - ctor.super_ = superCtor; - var TempCtor = function () {}; - TempCtor.prototype = superCtor.prototype; - ctor.prototype = new TempCtor(); - ctor.prototype.constructor = ctor; - } - }; - } - - }, {}], 33: [function (require, module, exports) { - 'use strict'; - - var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol'; - var callBound = require('call-bind/callBound'); - - var $toString = callBound('Object.prototype.toString'); - - var isStandardArguments = function isArguments(value) { - if (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) { - return false; - } - return $toString(value) === '[object Arguments]'; - }; - - var isLegacyArguments = function isArguments(value) { - if (isStandardArguments(value)) { - return true; - } - return value !== null && - typeof value === 'object' && - typeof value.length === 'number' && - value.length >= 0 && - $toString(value) !== '[object Array]' && - $toString(value.callee) === '[object Function]'; - }; - - var supportsStandardArguments = function () { - return isStandardArguments(arguments); - }(); - - isStandardArguments.isLegacyArguments = isLegacyArguments; // for tests - - module.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments; - - }, { "call-bind/callBound": 7 }], 34: [function (require, module, exports) { - 'use strict'; - - var toStr = Object.prototype.toString; - var fnToStr = Function.prototype.toString; - var isFnRegex = /^\s*(?:function)?\*/; - var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol'; - var getProto = Object.getPrototypeOf; - var getGeneratorFunc = function () {// eslint-disable-line consistent-return - if (!hasToStringTag) { - return false; - } - try { - return Function('return function*() {}')(); - } catch (e) { - } - }; - var generatorFunc = getGeneratorFunc(); - var GeneratorFunction = getProto && generatorFunc ? getProto(generatorFunc) : false; - - module.exports = function isGeneratorFunction(fn) { - if (typeof fn !== 'function') { - return false; - } - if (isFnRegex.test(fnToStr.call(fn))) { - return true; - } - if (!hasToStringTag) { - var str = toStr.call(fn); - return str === '[object GeneratorFunction]'; - } - return getProto && getProto(fn) === GeneratorFunction; - }; - - }, {}], 35: [function (require, module, exports) { + }, { "_process": 91 }], 16: [function (require, module, exports) { 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); @@ -4136,77 +1107,12 @@ exports.isPlainObject = isPlainObject; - }, {}], 36: [function (require, module, exports) { + }, {}], 17: [function (require, module, exports) { 'use strict'; module.exports = input => Object.prototype.toString.call(input) === '[object RegExp]'; - }, {}], 37: [function (require, module, exports) { - (function (global) {(function () { - 'use strict'; - - var forEach = require('foreach'); - var availableTypedArrays = require('available-typed-arrays'); - var callBound = require('call-bind/callBound'); - - var $toString = callBound('Object.prototype.toString'); - var hasSymbols = require('has-symbols')(); - var hasToStringTag = hasSymbols && typeof Symbol.toStringTag === 'symbol'; - - var typedArrays = availableTypedArrays(); - - var $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) { - for (var i = 0; i < array.length; i += 1) { - if (array[i] === value) { - return i; - } - } - return -1; - }; - var $slice = callBound('String.prototype.slice'); - var toStrTags = {}; - var gOPD = require('es-abstract/helpers/getOwnPropertyDescriptor'); - var getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof'); - if (hasToStringTag && gOPD && getPrototypeOf) { - forEach(typedArrays, function (typedArray) { - var arr = new global[typedArray](); - if (!(Symbol.toStringTag in arr)) { - throw new EvalError('this engine has support for Symbol.toStringTag, but ' + typedArray + ' does not have the property! Please report this.'); - } - var proto = getPrototypeOf(arr); - var descriptor = gOPD(proto, Symbol.toStringTag); - if (!descriptor) { - var superProto = getPrototypeOf(proto); - descriptor = gOPD(superProto, Symbol.toStringTag); - } - toStrTags[typedArray] = descriptor.get; - }); - } - - var tryTypedArrays = function tryAllTypedArrays(value) { - var anyTrue = false; - forEach(toStrTags, function (getter, typedArray) { - if (!anyTrue) { - try { - anyTrue = getter.call(value) === typedArray; - } catch (e) {/**/} - } - }); - return anyTrue; - }; - - module.exports = function isTypedArray(value) { - if (!value || typeof value !== 'object') {return false;} - if (!hasToStringTag) { - var tag = $slice($toString(value), 8, -1); - return $indexOf(typedArrays, tag) > -1; - } - if (!gOPD) {return false;} - return tryTypedArrays(value); - }; - - }).call(this);}).call(this, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}); - }, { "available-typed-arrays": 2, "call-bind/callBound": 7, "es-abstract/helpers/getOwnPropertyDescriptor": 17, "foreach": 20, "has-symbols": 24 }], 38: [function (require, module, exports) { + }, {}], 18: [function (require, module, exports) { module.exports = { "properties": [ "-epub-caption-side", @@ -4317,6 +1223,7 @@ "-moz-background-size", "-webkit-background-size", "-webkit-background", + "base-palette", "baseline-shift", "baseline-source", "behavior", @@ -4535,6 +1442,9 @@ "contain-intrinsic-inline-size", "contain-intrinsic-size", "contain-intrinsic-width", + "container", + "container-name", + "container-type", "content", "content-visibility", "-ms-content-zoom-chaining", @@ -4920,8 +1830,10 @@ "negative", "object-fit", "-o-object-fit", + "object-overflow", "object-position", "-o-object-position", + "object-view-box", "offset", "offset-anchor", "offset-block-end", @@ -4967,6 +1879,7 @@ "overflow-wrap", "overflow-x", "overflow-y", + "override-colors", "overscroll-behavior", "overscroll-behavior-block", "overscroll-behavior-inline", @@ -5391,10 +2304,10 @@ "zoom"] }; - }, {}], 39: [function (require, module, exports) { + }, {}], 19: [function (require, module, exports) { module.exports.all = require('./data/all.json').properties; - }, { "./data/all.json": 38 }], 40: [function (require, module, exports) { + }, { "./data/all.json": 18 }], 20: [function (require, module, exports) { module.exports = [ "abs", "and", @@ -5600,11 +2513,11 @@ "xor"]; - }, {}], 41: [function (require, module, exports) { + }, {}], 21: [function (require, module, exports) { let urlAlphabet = 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'; - let customAlphabet = (alphabet, size) => { - return () => { + let customAlphabet = (alphabet, defaultSize = 21) => { + return (size = defaultSize) => { let id = ''; let i = size; while (i--) { @@ -5623,223 +2536,7 @@ }; module.exports = { nanoid, customAlphabet }; - }, {}], 42: [function (require, module, exports) { - /* normalize-selector v0.1.0 (c) 2014 Kyle Simpson */ - - (function UMD(name, context, definition) { - if (typeof module !== "undefined" && module.exports) {module.exports = definition();} else - if (typeof define === "function" && define.amd) {define(definition);} else - {context[name] = definition(name, context);} - })("normalizeSelector", this, function DEF(name, context) { - "use strict"; - - function normalizeSelector(sel) { - - // save unmatched text, if any - function saveUnmatched() { - if (unmatched) { - // whitespace needed after combinator? - if (tokens.length > 0 && - /^[~+>]$/.test(tokens[tokens.length - 1])) - { - tokens.push(" "); - } - - // save unmatched text - tokens.push(unmatched); - } - } - - var tokens = [],match,unmatched,regex,state = [0], - next_match_idx = 0,prev_match_idx, - not_escaped_pattern = /(?:[^\\]|(?:^|[^\\])(?:\\\\)+)$/, - whitespace_pattern = /^\s+$/, - attribute_nonspecial_pattern = /[^\s=~!^|$*\[\]\(\)]{2}/, - state_patterns = [ - /\s+|\/\*|["'>~+\[\(]/g, // general - /\s+|\/\*|["'\[\]\(\)]/g, // [..] set - /\s+|\/\*|["'\[\]\(\)]/g, // (..) set - null, // string literal (placeholder) - /\*\//g // comment - ]; - - - sel = sel.trim(); - - while (true) { - unmatched = ""; - - regex = state_patterns[state[state.length - 1]]; - - regex.lastIndex = next_match_idx; - match = regex.exec(sel); - - // matched text to process? - if (match) { - prev_match_idx = next_match_idx; - next_match_idx = regex.lastIndex; - - // collect the previous string chunk not matched before this token - if (prev_match_idx < next_match_idx - match[0].length) { - unmatched = sel.substring(prev_match_idx, next_match_idx - match[0].length); - } - - // need to force a space (possibly skipped - // previously by the parser)? - if ( - state[state.length - 1] === 1 && - attribute_nonspecial_pattern.test( - tokens[tokens.length - 1].substr(-1) + - unmatched.charAt(0))) - - { - tokens.push(" "); - } - - // general, [ ] pair, ( ) pair? - if (state[state.length - 1] < 3) { - saveUnmatched(); - - // starting a [ ] pair? - if (match[0] === "[") { - state.push(1); - } - // starting a ( ) pair? - else if (match[0] === "(") { - state.push(2); - } - // starting a string literal? - else if (/^["']$/.test(match[0])) { - state.push(3); - state_patterns[3] = new RegExp(match[0], "g"); - } - // starting a comment? - else if (match[0] === "/*") { - state.push(4); - } - // ending a [ ] or ( ) pair? - else if (/^[\]\)]$/.test(match[0]) && state.length > 0) { - state.pop(); - } - // handling whitespace or a combinator? - else if (/^(?:\s+|[~+>])$/.test(match[0])) { - // need to insert whitespace before? - if (tokens.length > 0 && - !whitespace_pattern.test(tokens[tokens.length - 1]) && - state[state.length - 1] === 0) - { - // add normalized whitespace - tokens.push(" "); - } - - // whitespace token we can skip? - if (whitespace_pattern.test(match[0])) { - continue; - } - } - - // save matched text - tokens.push(match[0]); - } - // otherwise, string literal or comment - else { - // save unmatched text - tokens[tokens.length - 1] += unmatched; - - // unescaped terminator to string literal or comment? - if (not_escaped_pattern.test(tokens[tokens.length - 1])) { - // comment terminator? - if (state[state.length - 1] === 4) { - // ok to drop comment? - if (tokens.length < 2 || - whitespace_pattern.test(tokens[tokens.length - 2])) - { - tokens.pop(); - } - // otherwise, turn comment into whitespace - else { - tokens[tokens.length - 1] = " "; - } - - // handled already - match[0] = ""; - } - - state.pop(); - } - - // append matched text to existing token - tokens[tokens.length - 1] += match[0]; - } - } - // otherwise, end of processing (no more matches) - else { - unmatched = sel.substr(next_match_idx); - saveUnmatched(); - - break; - } - } - - return tokens.join("").trim(); - } - - return normalizeSelector; - }); - - - }, {}], 43: [function (require, module, exports) { - exports.endianness = function () {return 'LE';}; - - exports.hostname = function () { - if (typeof location !== 'undefined') { - return location.hostname; - } else - return ''; - }; - - exports.loadavg = function () {return [];}; - - exports.uptime = function () {return 0;}; - - exports.freemem = function () { - return Number.MAX_VALUE; - }; - - exports.totalmem = function () { - return Number.MAX_VALUE; - }; - - exports.cpus = function () {return [];}; - - exports.type = function () {return 'Browser';}; - - exports.release = function () { - if (typeof navigator !== 'undefined') { - return navigator.appVersion; - } - return ''; - }; - - exports.networkInterfaces = - exports.getNetworkInterfaces = - function () {return {};}; - - exports.arch = function () {return 'javascript';}; - - exports.platform = function () {return 'browser';}; - - exports.tmpdir = exports.tmpDir = function () { - return '/tmp'; - }; - - exports.EOL = '\n'; - - exports.homedir = function () { - return '/'; - }; - - }, {}], 44: [function (require, module, exports) { + }, {}], 22: [function (require, module, exports) { (function (process) {(function () { // 'path' module extracted from Node.js v8.11.1 (only the posix part) // transplited with Babel @@ -6372,13 +3069,13 @@ module.exports = posix; }).call(this);}).call(this, require('_process')); - }, { "_process": 115 }], 45: [function (require, module, exports) { + }, { "_process": 91 }], 23: [function (require, module, exports) { var x = String; var create = function () {return { isColorSupported: false, reset: x, bold: x, dim: x, italic: x, underline: x, inverse: x, hidden: x, strikethrough: x, black: x, red: x, green: x, yellow: x, blue: x, magenta: x, cyan: x, white: x, gray: x, bgBlack: x, bgRed: x, bgGreen: x, bgYellow: x, bgBlue: x, bgMagenta: x, bgCyan: x, bgWhite: x };}; module.exports = create(); module.exports.createColors = create; - }, {}], 46: [function (require, module, exports) { + }, {}], 24: [function (require, module, exports) { 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -6422,7 +3119,7 @@ value: value.trim() }); } - }, { "./nodes/Container": 47, "./parsers": 49 }], 47: [function (require, module, exports) { + }, { "./nodes/Container": 25, "./parsers": 27 }], 25: [function (require, module, exports) { 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -6517,7 +3214,7 @@ }; exports.default = Container; - }, { "./Node": 48 }], 48: [function (require, module, exports) { + }, { "./Node": 26 }], 26: [function (require, module, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { @@ -6536,7 +3233,7 @@ } exports.default = Node; - }, {}], 49: [function (require, module, exports) { + }, {}], 27: [function (require, module, exports) { 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -6904,7 +3601,7 @@ return result; } - }, { "./nodes/Container": 47, "./nodes/Node": 48 }], 50: [function (require, module, exports) { + }, { "./nodes/Container": 25, "./nodes/Node": 26 }], 28: [function (require, module, exports) { module.exports = function resolveNestedSelector(selector, node) { var parent = node.parent; var parentIsNestAtRule = parent.type === 'atrule' && parent.name === 'nest'; @@ -6931,122 +3628,7 @@ return resolvedSelectors; }; - }, {}], 51: [function (require, module, exports) { - let { Input } = require('postcss'); - - let SafeParser = require('./safe-parser'); - - module.exports = function safeParse(css, opts) { - let input = new Input(css, opts); - - let parser = new SafeParser(input); - parser.parse(); - - return parser.root; - }; - - }, { "./safe-parser": 52, "postcss": 103 }], 52: [function (require, module, exports) { - let tokenizer = require('postcss/lib/tokenize'); - let Comment = require('postcss/lib/comment'); - let Parser = require('postcss/lib/parser'); - - class SafeParser extends Parser { - createTokenizer() { - this.tokenizer = tokenizer(this.input, { ignoreErrors: true }); - } - - comment(token) { - let node = new Comment(); - this.init(node, token[2]); - let pos = - this.input.fromOffset(token[3]) || - this.input.fromOffset(this.input.css.length - 1); - node.source.end = { - offset: token[3], - line: pos.line, - column: pos.col }; - - - let text = token[1].slice(2); - if (text.slice(-2) === '*/') text = text.slice(0, -2); - - if (/^\s*$/.test(text)) { - node.text = ''; - node.raws.left = text; - node.raws.right = ''; - } else { - let match = text.match(/^(\s*)([^]*\S)(\s*)$/); - node.text = match[2]; - node.raws.left = match[1]; - node.raws.right = match[3]; - } - } - - decl(tokens) { - if (tokens.length > 1 && tokens.some(i => i[0] === 'word')) { - super.decl(tokens); - } - } - - unclosedBracket() {} - - unknownWord(tokens) { - this.spaces += tokens.map(i => i[1]).join(''); - } - - unexpectedClose() { - this.current.raws.after += '}'; - } - - doubleColon() {} - - unnamedAtrule(node) { - node.name = ''; - } - - precheckMissedSemicolon(tokens) { - let colon = this.colon(tokens); - if (colon === false) return; - - let nextStart, prevEnd; - for (nextStart = colon - 1; nextStart >= 0; nextStart--) { - if (tokens[nextStart][0] === 'word') break; - } - if (nextStart === 0) return; - - for (prevEnd = nextStart - 1; prevEnd >= 0; prevEnd--) { - if (tokens[prevEnd][0] !== 'space') { - prevEnd += 1; - break; - } - } - - let other = tokens.slice(nextStart); - let spaces = tokens.slice(prevEnd, nextStart); - tokens.splice(prevEnd, tokens.length - prevEnd); - this.spaces = spaces.map(i => i[1]).join(''); - - this.decl(other); - } - - checkMissedSemicolon() {} - - endFile() { - if (this.current.nodes && this.current.nodes.length) { - this.current.raws.semicolon = this.semicolon; - } - this.current.raws.after = (this.current.raws.after || '') + this.spaces; - - while (this.current.parent) { - this.current = this.current.parent; - this.current.raws.after = ''; - } - }} - - - module.exports = SafeParser; - - }, { "postcss/lib/comment": 89, "postcss/lib/parser": 102, "postcss/lib/tokenize": 112 }], 53: [function (require, module, exports) { + }, {}], 29: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -7071,7 +3653,7 @@ var _default = parser; exports["default"] = _default; module.exports = exports.default; - }, { "./processor": 55, "./selectors": 64 }], 54: [function (require, module, exports) { + }, { "./processor": 31, "./selectors": 40 }], 30: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -8315,7 +4897,7 @@ exports["default"] = Parser; module.exports = exports.default; - }, { "./selectors/attribute": 56, "./selectors/className": 57, "./selectors/combinator": 58, "./selectors/comment": 59, "./selectors/id": 63, "./selectors/nesting": 66, "./selectors/pseudo": 68, "./selectors/root": 69, "./selectors/selector": 70, "./selectors/string": 71, "./selectors/tag": 72, "./selectors/types": 73, "./selectors/universal": 74, "./sortAscending": 75, "./tokenTypes": 76, "./tokenize": 77, "./util": 80 }], 55: [function (require, module, exports) { + }, { "./selectors/attribute": 32, "./selectors/className": 33, "./selectors/combinator": 34, "./selectors/comment": 35, "./selectors/id": 39, "./selectors/nesting": 42, "./selectors/pseudo": 44, "./selectors/root": 45, "./selectors/selector": 46, "./selectors/string": 47, "./selectors/tag": 48, "./selectors/types": 49, "./selectors/universal": 50, "./sortAscending": 51, "./tokenTypes": 52, "./tokenize": 53, "./util": 56 }], 31: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -8522,7 +5104,7 @@ exports["default"] = Processor; module.exports = exports.default; - }, { "./parser": 54 }], 56: [function (require, module, exports) { + }, { "./parser": 30 }], 32: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -9038,7 +5620,7 @@ function defaultAttrConcat(attrValue, attrSpaces) { return "" + attrSpaces.before + attrValue + attrSpaces.after; } - }, { "../util/unesc": 82, "./namespace": 65, "./types": 73, "cssesc": 15, "util-deprecate": 452 }], 57: [function (require, module, exports) { + }, { "../util/unesc": 58, "./namespace": 41, "./types": 49, "cssesc": 10, "util-deprecate": 436 }], 33: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -9108,7 +5690,7 @@ exports["default"] = ClassName; module.exports = exports.default; - }, { "../util": 80, "./node": 67, "./types": 73, "cssesc": 15 }], 58: [function (require, module, exports) { + }, { "../util": 56, "./node": 43, "./types": 49, "cssesc": 10 }], 34: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -9140,7 +5722,7 @@ exports["default"] = Combinator; module.exports = exports.default; - }, { "./node": 67, "./types": 73 }], 59: [function (require, module, exports) { + }, { "./node": 43, "./types": 49 }], 35: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -9172,7 +5754,7 @@ exports["default"] = Comment; module.exports = exports.default; - }, { "./node": 67, "./types": 73 }], 60: [function (require, module, exports) { + }, { "./node": 43, "./types": 49 }], 36: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -9275,7 +5857,7 @@ }; exports.universal = universal; - }, { "./attribute": 56, "./className": 57, "./combinator": 58, "./comment": 59, "./id": 63, "./nesting": 66, "./pseudo": 68, "./root": 69, "./selector": 70, "./string": 71, "./tag": 72, "./universal": 74 }], 61: [function (require, module, exports) { + }, { "./attribute": 32, "./className": 33, "./combinator": 34, "./comment": 35, "./id": 39, "./nesting": 42, "./pseudo": 44, "./root": 45, "./selector": 46, "./string": 47, "./tag": 48, "./universal": 50 }], 37: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -9671,7 +6253,7 @@ exports["default"] = Container; module.exports = exports.default; - }, { "./node": 67, "./types": 73 }], 62: [function (require, module, exports) { + }, { "./node": 43, "./types": 49 }], 38: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -9722,7 +6304,7 @@ exports.isUniversal = isUniversal; function isPseudoElement(node) { - return isPseudo(node) && node.value && (node.value.startsWith("::") || node.value.toLowerCase() === ":before" || node.value.toLowerCase() === ":after"); + return isPseudo(node) && node.value && (node.value.startsWith("::") || node.value.toLowerCase() === ":before" || node.value.toLowerCase() === ":after" || node.value.toLowerCase() === ":first-letter" || node.value.toLowerCase() === ":first-line"); } function isPseudoClass(node) { @@ -9736,7 +6318,7 @@ function isNamespace(node) { return isAttribute(node) || isTag(node); } - }, { "./types": 73 }], 63: [function (require, module, exports) { + }, { "./types": 49 }], 39: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -9774,7 +6356,7 @@ exports["default"] = ID; module.exports = exports.default; - }, { "./node": 67, "./types": 73 }], 64: [function (require, module, exports) { + }, { "./node": 43, "./types": 49 }], 40: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -9802,7 +6384,7 @@ if (key in exports && exports[key] === _guards[key]) return; exports[key] = _guards[key]; }); - }, { "./constructors": 60, "./guards": 62, "./types": 73 }], 65: [function (require, module, exports) { + }, { "./constructors": 36, "./guards": 38, "./types": 49 }], 41: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -9904,7 +6486,7 @@ exports["default"] = Namespace; ; module.exports = exports.default; - }, { "../util": 80, "./node": 67, "cssesc": 15 }], 66: [function (require, module, exports) { + }, { "../util": 56, "./node": 43, "cssesc": 10 }], 42: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -9937,7 +6519,7 @@ exports["default"] = Nesting; module.exports = exports.default; - }, { "./node": 67, "./types": 73 }], 67: [function (require, module, exports) { + }, { "./node": 43, "./types": 49 }], 43: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -10177,7 +6759,7 @@ exports["default"] = Node; module.exports = exports.default; - }, { "../util": 80 }], 68: [function (require, module, exports) { + }, { "../util": 56 }], 44: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -10216,7 +6798,7 @@ exports["default"] = Pseudo; module.exports = exports.default; - }, { "./container": 61, "./types": 73 }], 69: [function (require, module, exports) { + }, { "./container": 37, "./types": 49 }], 45: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -10277,7 +6859,7 @@ exports["default"] = Root; module.exports = exports.default; - }, { "./container": 61, "./types": 73 }], 70: [function (require, module, exports) { + }, { "./container": 37, "./types": 49 }], 46: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -10309,7 +6891,7 @@ exports["default"] = Selector; module.exports = exports.default; - }, { "./container": 61, "./types": 73 }], 71: [function (require, module, exports) { + }, { "./container": 37, "./types": 49 }], 47: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -10341,7 +6923,7 @@ exports["default"] = String; module.exports = exports.default; - }, { "./node": 67, "./types": 73 }], 72: [function (require, module, exports) { + }, { "./node": 43, "./types": 49 }], 48: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -10373,7 +6955,7 @@ exports["default"] = Tag; module.exports = exports.default; - }, { "./namespace": 65, "./types": 73 }], 73: [function (require, module, exports) { + }, { "./namespace": 41, "./types": 49 }], 49: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -10402,7 +6984,7 @@ exports.ATTRIBUTE = ATTRIBUTE; var UNIVERSAL = 'universal'; exports.UNIVERSAL = UNIVERSAL; - }, {}], 74: [function (require, module, exports) { + }, {}], 50: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -10435,7 +7017,7 @@ exports["default"] = Universal; module.exports = exports.default; - }, { "./namespace": 65, "./types": 73 }], 75: [function (require, module, exports) { + }, { "./namespace": 41, "./types": 49 }], 51: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -10449,7 +7031,7 @@ ; module.exports = exports.default; - }, {}], 76: [function (require, module, exports) { + }, {}], 52: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -10545,7 +7127,7 @@ exports.word = word; var combinator = -3; exports.combinator = combinator; - }, {}], 77: [function (require, module, exports) { + }, {}], 53: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -10817,7 +7399,7 @@ return tokens; } - }, { "./tokenTypes": 76 }], 78: [function (require, module, exports) { + }, { "./tokenTypes": 52 }], 54: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -10840,7 +7422,7 @@ } module.exports = exports.default; - }, {}], 79: [function (require, module, exports) { + }, {}], 55: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -10865,7 +7447,7 @@ } module.exports = exports.default; - }, {}], 80: [function (require, module, exports) { + }, {}], 56: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -10888,7 +7470,7 @@ exports.stripComments = _stripComments["default"]; function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { "default": obj };} - }, { "./ensureObject": 78, "./getProp": 79, "./stripComments": 81, "./unesc": 82 }], 81: [function (require, module, exports) { + }, { "./ensureObject": 54, "./getProp": 55, "./stripComments": 57, "./unesc": 58 }], 57: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -10916,7 +7498,7 @@ } module.exports = exports.default; - }, {}], 82: [function (require, module, exports) { + }, {}], 58: [function (require, module, exports) { "use strict"; exports.__esModule = true; @@ -11010,7 +7592,7 @@ } module.exports = exports.default; - }, {}], 83: [function (require, module, exports) { + }, {}], 59: [function (require, module, exports) { var parse = require("./parse"); var walk = require("./walk"); var stringify = require("./stringify"); @@ -11040,7 +7622,7 @@ module.exports = ValueParser; - }, { "./parse": 84, "./stringify": 85, "./unit": 86, "./walk": 87 }], 84: [function (require, module, exports) { + }, { "./parse": 60, "./stringify": 61, "./unit": 62, "./walk": 63 }], 60: [function (require, module, exports) { var openParentheses = "(".charCodeAt(0); var closeParentheses = ")".charCodeAt(0); var singleQuote = "'".charCodeAt(0); @@ -11363,7 +7945,7 @@ return stack[0].nodes; }; - }, {}], 85: [function (require, module, exports) { + }, {}], 61: [function (require, module, exports) { function stringifyNode(node, custom) { var type = node.type; var value = node.value; @@ -11413,7 +7995,7 @@ module.exports = stringify; - }, {}], 86: [function (require, module, exports) { + }, {}], 62: [function (require, module, exports) { var minus = "-".charCodeAt(0); var plus = "+".charCodeAt(0); var dot = ".".charCodeAt(0); @@ -11535,7 +8117,7 @@ }; - }, {}], 87: [function (require, module, exports) { + }, {}], 63: [function (require, module, exports) { module.exports = function walk(nodes, cb, bubble) { var i, max, node, result; @@ -11559,7 +8141,7 @@ } }; - }, {}], 88: [function (require, module, exports) { + }, {}], 64: [function (require, module, exports) { 'use strict'; let Container = require('./container'); @@ -11586,7 +8168,7 @@ Container.registerAtRule(AtRule); - }, { "./container": 90 }], 89: [function (require, module, exports) { + }, { "./container": 66 }], 65: [function (require, module, exports) { 'use strict'; let Node = require('./node'); @@ -11601,7 +8183,7 @@ module.exports = Comment; Comment.default = Comment; - }, { "./node": 100 }], 90: [function (require, module, exports) { + }, { "./node": 76 }], 66: [function (require, module, exports) { 'use strict'; let { isClean, my } = require('./symbols'); @@ -11930,7 +8512,7 @@ i.raws.before = sample.raws.before.replace(/\S/g, ''); } } - i.parent = this; + i.parent = this.proxyOf; return i; }); @@ -12036,7 +8618,7 @@ }; /* c8 ignore stop */ - }, { "./comment": 89, "./declaration": 92, "./node": 100, "./symbols": 111 }], 91: [function (require, module, exports) { + }, { "./comment": 65, "./declaration": 68, "./node": 76, "./symbols": 87 }], 67: [function (require, module, exports) { 'use strict'; let pico = require('picocolors'); @@ -12138,7 +8720,7 @@ module.exports = CssSyntaxError; CssSyntaxError.default = CssSyntaxError; - }, { "./terminal-highlight": 4, "picocolors": 45 }], 92: [function (require, module, exports) { + }, { "./terminal-highlight": 3, "picocolors": 23 }], 68: [function (require, module, exports) { 'use strict'; let Node = require('./node'); @@ -12164,7 +8746,7 @@ module.exports = Declaration; Declaration.default = Declaration; - }, { "./node": 100 }], 93: [function (require, module, exports) { + }, { "./node": 76 }], 69: [function (require, module, exports) { 'use strict'; let Container = require('./container'); @@ -12199,7 +8781,7 @@ module.exports = Document; Document.default = Document; - }, { "./container": 90 }], 94: [function (require, module, exports) { + }, { "./container": 66 }], 70: [function (require, module, exports) { 'use strict'; let Declaration = require('./declaration'); @@ -12255,7 +8837,7 @@ module.exports = fromJSON; fromJSON.default = fromJSON; - }, { "./at-rule": 88, "./comment": 89, "./declaration": 92, "./input": 95, "./previous-map": 104, "./root": 107, "./rule": 108 }], 95: [function (require, module, exports) { + }, { "./at-rule": 64, "./comment": 65, "./declaration": 68, "./input": 71, "./previous-map": 80, "./root": 83, "./rule": 84 }], 71: [function (require, module, exports) { 'use strict'; let { SourceMapConsumer, SourceMapGenerator } = require('source-map-js'); @@ -12505,7 +9087,7 @@ terminalHighlight.registerInput(Input); } - }, { "./css-syntax-error": 91, "./previous-map": 104, "./terminal-highlight": 4, "nanoid/non-secure": 41, "path": 4, "source-map-js": 4, "url": 4 }], 96: [function (require, module, exports) { + }, { "./css-syntax-error": 67, "./previous-map": 80, "./terminal-highlight": 3, "nanoid/non-secure": 21, "path": 3, "source-map-js": 3, "url": 3 }], 72: [function (require, module, exports) { (function (process) {(function () { 'use strict'; @@ -13059,7 +9641,7 @@ Document.registerLazyResult(LazyResult); }).call(this);}).call(this, require('_process')); - }, { "./container": 90, "./document": 93, "./map-generator": 98, "./parse": 101, "./result": 106, "./root": 107, "./stringify": 110, "./symbols": 111, "./warn-once": 113, "_process": 115 }], 97: [function (require, module, exports) { + }, { "./container": 66, "./document": 69, "./map-generator": 74, "./parse": 77, "./result": 82, "./root": 83, "./stringify": 86, "./symbols": 87, "./warn-once": 89, "_process": 91 }], 73: [function (require, module, exports) { 'use strict'; let list = { @@ -13117,7 +9699,7 @@ module.exports = list; list.default = list; - }, {}], 98: [function (require, module, exports) { + }, {}], 74: [function (require, module, exports) { (function (Buffer) {(function () { 'use strict'; @@ -13452,7 +10034,7 @@ module.exports = MapGenerator; }).call(this);}).call(this, require("buffer").Buffer); - }, { "./input": 95, "buffer": 6, "path": 4, "source-map-js": 4, "url": 4 }], 99: [function (require, module, exports) { + }, { "./input": 71, "buffer": 1, "path": 3, "source-map-js": 3, "url": 3 }], 75: [function (require, module, exports) { (function (process) {(function () { 'use strict'; @@ -13534,9 +10116,12 @@ this.error = error; } - this._root = root; - - return root; + if (this.error) { + throw this.error; + } else { + this._root = root; + return root; + } } get messages() { @@ -13588,7 +10173,7 @@ NoWorkResult.default = NoWorkResult; }).call(this);}).call(this, require('_process')); - }, { "./map-generator": 98, "./parse": 101, "./result": 106, "./stringify": 110, "./warn-once": 113, "_process": 115 }], 100: [function (require, module, exports) { + }, { "./map-generator": 74, "./parse": 77, "./result": 82, "./stringify": 86, "./warn-once": 89, "_process": 91 }], 76: [function (require, module, exports) { 'use strict'; let { isClean, my } = require('./symbols'); @@ -13969,7 +10554,7 @@ module.exports = Node; Node.default = Node; - }, { "./css-syntax-error": 91, "./stringifier": 109, "./stringify": 110, "./symbols": 111 }], 101: [function (require, module, exports) { + }, { "./css-syntax-error": 67, "./stringifier": 85, "./stringify": 86, "./symbols": 87 }], 77: [function (require, module, exports) { (function (process) {(function () { 'use strict'; @@ -14015,7 +10600,7 @@ Container.registerParse(parse); }).call(this);}).call(this, require('_process')); - }, { "./container": 90, "./input": 95, "./parser": 102, "_process": 115 }], 102: [function (require, module, exports) { + }, { "./container": 66, "./input": 71, "./parser": 78, "_process": 91 }], 78: [function (require, module, exports) { 'use strict'; let Declaration = require('./declaration'); @@ -14025,6 +10610,19 @@ let Root = require('./root'); let Rule = require('./rule'); + const SAFE_COMMENT_NEIGHBOR = { + empty: true, + space: true }; + + + function findLastWithPosition(tokens) { + for (let i = tokens.length - 1; i >= 0; i--) { + let token = tokens[i]; + let pos = token[3] || token[2]; + if (pos) return pos; + } + } + class Parser { constructor(input) { this.input = input; @@ -14157,10 +10755,12 @@ if (brackets.length > 0) this.unclosedBracket(bracket); if (end && colon) { - while (tokens.length) { - token = tokens[tokens.length - 1][0]; - if (token !== 'space' && token !== 'comment') break; - this.tokenizer.back(tokens.pop()); + if (!customProperty) { + while (tokens.length) { + token = tokens[tokens.length - 1][0]; + if (token !== 'space' && token !== 'comment') break; + this.tokenizer.back(tokens.pop()); + } } this.decl(tokens, customProperty); } else { @@ -14188,7 +10788,10 @@ this.semicolon = true; tokens.pop(); } - node.source.end = this.getPosition(last[3] || last[2]); + + node.source.end = this.getPosition( + last[3] || last[2] || findLastWithPosition(tokens)); + while (tokens[0][0] !== 'word') { if (tokens.length === 1) this.unknownWord(tokens); @@ -14226,7 +10829,15 @@ node.raws.before += node.prop[0]; node.prop = node.prop.slice(1); } - let firstSpaces = this.spacesAndCommentsFromStart(tokens); + + let firstSpaces = []; + let next; + while (tokens.length) { + next = tokens[0][0]; + if (next !== 'space' && next !== 'comment') break; + firstSpaces.push(tokens.shift()); + } + this.precheckMissedSemicolon(tokens); for (let i = tokens.length - 1; i >= 0; i--) { @@ -14260,12 +10871,12 @@ } let hasWord = tokens.some(i => i[0] !== 'space' && i[0] !== 'comment'); - this.raw(node, 'value', tokens); + if (hasWord) { - node.raws.between += firstSpaces; - } else { - node.value = firstSpaces + node.value; + node.raws.between += firstSpaces.map(i => i[1]).join(''); + firstSpaces = []; } + this.raw(node, 'value', firstSpaces.concat(tokens), customProperty); if (node.value.includes(':') && !customProperty) { this.checkMissedSemicolon(tokens); @@ -14413,38 +11024,30 @@ if (node.type !== 'comment') this.semicolon = false; } - raw(node, prop, tokens) { + raw(node, prop, tokens, customProperty) { let token, type; let length = tokens.length; let value = ''; let clean = true; let next, prev; - let pattern = /^([#.|])?(\w)+/i; for (let i = 0; i < length; i += 1) { token = tokens[i]; type = token[0]; - - if (type === 'comment' && node.type === 'rule') { - prev = tokens[i - 1]; - next = tokens[i + 1]; - - if ( - prev[0] !== 'space' && - next[0] !== 'space' && - pattern.test(prev[1]) && - pattern.test(next[1])) - { - value += token[1]; + if (type === 'space' && i === length - 1 && !customProperty) { + clean = false; + } else if (type === 'comment') { + prev = tokens[i - 1] ? tokens[i - 1][0] : 'empty'; + next = tokens[i + 1] ? tokens[i + 1][0] : 'empty'; + if (!SAFE_COMMENT_NEIGHBOR[prev] && !SAFE_COMMENT_NEIGHBOR[next]) { + if (value.slice(-1) === ',') { + clean = false; + } else { + value += token[1]; + } } else { clean = false; } - - continue; - } - - if (type === 'comment' || type === 'space' && i === length - 1) { - clean = false; } else { value += token[1]; } @@ -14602,7 +11205,7 @@ module.exports = Parser; - }, { "./at-rule": 88, "./comment": 89, "./declaration": 92, "./root": 107, "./rule": 108, "./tokenize": 112 }], 103: [function (require, module, exports) { + }, { "./at-rule": 64, "./comment": 65, "./declaration": 68, "./root": 83, "./rule": 84, "./tokenize": 88 }], 79: [function (require, module, exports) { (function (process) {(function () { 'use strict'; @@ -14633,25 +11236,27 @@ } postcss.plugin = function plugin(name, initializer) { - // eslint-disable-next-line no-console - if (console && console.warn) { + let warningPrinted = false; + function creator(...args) { // eslint-disable-next-line no-console - console.warn( - name + - ': postcss.plugin was deprecated. Migration guide:\n' + - 'https://evilmartians.com/chronicles/postcss-8-plugin-migration'); - - if (process.env.LANG && process.env.LANG.startsWith('cn')) { - /* c8 ignore next 7 */ + if (console && console.warn && !warningPrinted) { + warningPrinted = true; // eslint-disable-next-line no-console console.warn( name + - ': 里面 postcss.plugin 被弃用. 迁移指南:\n' + - 'https://www.w3ctech.com/topic/2226'); + ': postcss.plugin was deprecated. Migration guide:\n' + + 'https://evilmartians.com/chronicles/postcss-8-plugin-migration'); + if (process.env.LANG && process.env.LANG.startsWith('cn')) { + /* c8 ignore next 7 */ + // eslint-disable-next-line no-console + console.warn( + name + + ': 里面 postcss.plugin 被弃用. 迁移指南:\n' + + 'https://www.w3ctech.com/topic/2226'); + + } } - } - function creator(...args) { let transformer = initializer(...args); transformer.postcssPlugin = name; transformer.postcssVersion = new Processor().version; @@ -14705,7 +11310,7 @@ postcss.default = postcss; }).call(this);}).call(this, require('_process')); - }, { "./at-rule": 88, "./comment": 89, "./container": 90, "./css-syntax-error": 91, "./declaration": 92, "./document": 93, "./fromJSON": 94, "./input": 95, "./lazy-result": 96, "./list": 97, "./node": 100, "./parse": 101, "./processor": 105, "./result.js": 106, "./root": 107, "./rule": 108, "./stringify": 110, "./warning": 114, "_process": 115 }], 104: [function (require, module, exports) { + }, { "./at-rule": 64, "./comment": 65, "./container": 66, "./css-syntax-error": 67, "./declaration": 68, "./document": 69, "./fromJSON": 70, "./input": 71, "./lazy-result": 72, "./list": 73, "./node": 76, "./parse": 77, "./processor": 81, "./result.js": 82, "./root": 83, "./rule": 84, "./stringify": 86, "./warning": 90, "_process": 91 }], 80: [function (require, module, exports) { (function (Buffer) {(function () { 'use strict'; @@ -14851,7 +11456,7 @@ PreviousMap.default = PreviousMap; }).call(this);}).call(this, require("buffer").Buffer); - }, { "buffer": 6, "fs": 4, "path": 4, "source-map-js": 4 }], 105: [function (require, module, exports) { + }, { "buffer": 1, "fs": 3, "path": 3, "source-map-js": 3 }], 81: [function (require, module, exports) { (function (process) {(function () { 'use strict'; @@ -14862,7 +11467,7 @@ class Processor { constructor(plugins = []) { - this.version = '8.4.5'; + this.version = '8.4.14'; this.plugins = this.normalize(plugins); } @@ -14922,7 +11527,7 @@ Document.registerProcessor(Processor); }).call(this);}).call(this, require('_process')); - }, { "./document": 93, "./lazy-result": 96, "./no-work-result": 99, "./root": 107, "_process": 115 }], 106: [function (require, module, exports) { + }, { "./document": 69, "./lazy-result": 72, "./no-work-result": 75, "./root": 83, "_process": 91 }], 82: [function (require, module, exports) { 'use strict'; let Warning = require('./warning'); @@ -14966,7 +11571,7 @@ module.exports = Result; Result.default = Result; - }, { "./warning": 114 }], 107: [function (require, module, exports) { + }, { "./warning": 90 }], 83: [function (require, module, exports) { 'use strict'; let Container = require('./container'); @@ -15027,7 +11632,7 @@ module.exports = Root; Root.default = Root; - }, { "./container": 90 }], 108: [function (require, module, exports) { + }, { "./container": 66 }], 84: [function (require, module, exports) { 'use strict'; let Container = require('./container'); @@ -15056,7 +11661,7 @@ Container.registerRule(Rule); - }, { "./container": 90, "./list": 97 }], 109: [function (require, module, exports) { + }, { "./container": 66, "./list": 73 }], 85: [function (require, module, exports) { 'use strict'; const DEFAULT_RAW = { @@ -15411,7 +12016,7 @@ module.exports = Stringifier; Stringifier.default = Stringifier; - }, {}], 110: [function (require, module, exports) { + }, {}], 86: [function (require, module, exports) { 'use strict'; let Stringifier = require('./stringifier'); @@ -15424,14 +12029,14 @@ module.exports = stringify; stringify.default = stringify; - }, { "./stringifier": 109 }], 111: [function (require, module, exports) { + }, { "./stringifier": 85 }], 87: [function (require, module, exports) { 'use strict'; module.exports.isClean = Symbol('isClean'); module.exports.my = Symbol('my'); - }, {}], 112: [function (require, module, exports) { + }, {}], 88: [function (require, module, exports) { 'use strict'; const SINGLE_QUOTE = "'".charCodeAt(0); @@ -15699,7 +12304,7 @@ }; - }, {}], 113: [function (require, module, exports) { + }, {}], 89: [function (require, module, exports) { /* eslint-disable no-console */ 'use strict'; @@ -15714,7 +12319,7 @@ } }; - }, {}], 114: [function (require, module, exports) { + }, {}], 90: [function (require, module, exports) { 'use strict'; class Warning { @@ -15753,7 +12358,7 @@ module.exports = Warning; Warning.default = Warning; - }, {}], 115: [function (require, module, exports) { + }, {}], 91: [function (require, module, exports) { // shim for using process in browser var process = module.exports = {}; @@ -15939,954 +12544,7 @@ }; process.umask = function () {return 0;}; - }, {}], 116: [function (require, module, exports) { - (function (global) {(function () { - /*! https://mths.be/punycode v1.4.1 by @mathias */ - ;(function (root) { - - /** Detect free variables */ - var freeExports = typeof exports == 'object' && exports && - !exports.nodeType && exports; - var freeModule = typeof module == 'object' && module && - !module.nodeType && module; - var freeGlobal = typeof global == 'object' && global; - if ( - freeGlobal.global === freeGlobal || - freeGlobal.window === freeGlobal || - freeGlobal.self === freeGlobal) - { - root = freeGlobal; - } - - /** - * The `punycode` object. - * @name punycode - * @type Object - */ - var punycode, - - /** Highest positive signed 32-bit float value */ - maxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1 - - /** Bootstring parameters */ - base = 36, - tMin = 1, - tMax = 26, - skew = 38, - damp = 700, - initialBias = 72, - initialN = 128, // 0x80 - delimiter = '-', // '\x2D' - - /** Regular expressions */ - regexPunycode = /^xn--/, - regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars - regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators - - /** Error messages */ - errors = { - 'overflow': 'Overflow: input needs wider integers to process', - 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', - 'invalid-input': 'Invalid input' }, - - - /** Convenience shortcuts */ - baseMinusTMin = base - tMin, - floor = Math.floor, - stringFromCharCode = String.fromCharCode, - - /** Temporary variable */ - key; - - /*--------------------------------------------------------------------------*/ - - /** - * A generic error utility function. - * @private - * @param {String} type The error type. - * @returns {Error} Throws a `RangeError` with the applicable error message. - */ - function error(type) { - throw new RangeError(errors[type]); - } - - /** - * A generic `Array#map` utility function. - * @private - * @param {Array} array The array to iterate over. - * @param {Function} callback The function that gets called for every array - * item. - * @returns {Array} A new array of values returned by the callback function. - */ - function map(array, fn) { - var length = array.length; - var result = []; - while (length--) { - result[length] = fn(array[length]); - } - return result; - } - - /** - * A simple `Array#map`-like wrapper to work with domain name strings or email - * addresses. - * @private - * @param {String} domain The domain name or email address. - * @param {Function} callback The function that gets called for every - * character. - * @returns {Array} A new string of characters returned by the callback - * function. - */ - function mapDomain(string, fn) { - var parts = string.split('@'); - var result = ''; - if (parts.length > 1) { - // In email addresses, only the domain name should be punycoded. Leave - // the local part (i.e. everything up to `@`) intact. - result = parts[0] + '@'; - string = parts[1]; - } - // Avoid `split(regex)` for IE8 compatibility. See #17. - string = string.replace(regexSeparators, '\x2E'); - var labels = string.split('.'); - var encoded = map(labels, fn).join('.'); - return result + encoded; - } - - /** - * Creates an array containing the numeric code points of each Unicode - * character in the string. While JavaScript uses UCS-2 internally, - * this function will convert a pair of surrogate halves (each of which - * UCS-2 exposes as separate characters) into a single code point, - * matching UTF-16. - * @see `punycode.ucs2.encode` - * @see - * @memberOf punycode.ucs2 - * @name decode - * @param {String} string The Unicode input string (UCS-2). - * @returns {Array} The new array of code points. - */ - function ucs2decode(string) { - var output = [], - counter = 0, - length = string.length, - value, - extra; - while (counter < length) { - value = string.charCodeAt(counter++); - if (value >= 0xD800 && value <= 0xDBFF && counter < length) { - // high surrogate, and there is a next character - extra = string.charCodeAt(counter++); - if ((extra & 0xFC00) == 0xDC00) {// low surrogate - output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); - } else { - // unmatched surrogate; only append this code unit, in case the next - // code unit is the high surrogate of a surrogate pair - output.push(value); - counter--; - } - } else { - output.push(value); - } - } - return output; - } - - /** - * Creates a string based on an array of numeric code points. - * @see `punycode.ucs2.decode` - * @memberOf punycode.ucs2 - * @name encode - * @param {Array} codePoints The array of numeric code points. - * @returns {String} The new Unicode string (UCS-2). - */ - function ucs2encode(array) { - return map(array, function (value) { - var output = ''; - if (value > 0xFFFF) { - value -= 0x10000; - output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800); - value = 0xDC00 | value & 0x3FF; - } - output += stringFromCharCode(value); - return output; - }).join(''); - } - - /** - * Converts a basic code point into a digit/integer. - * @see `digitToBasic()` - * @private - * @param {Number} codePoint The basic numeric code point value. - * @returns {Number} The numeric value of a basic code point (for use in - * representing integers) in the range `0` to `base - 1`, or `base` if - * the code point does not represent a value. - */ - function basicToDigit(codePoint) { - if (codePoint - 48 < 10) { - return codePoint - 22; - } - if (codePoint - 65 < 26) { - return codePoint - 65; - } - if (codePoint - 97 < 26) { - return codePoint - 97; - } - return base; - } - - /** - * Converts a digit/integer into a basic code point. - * @see `basicToDigit()` - * @private - * @param {Number} digit The numeric value of a basic code point. - * @returns {Number} The basic code point whose value (when used for - * representing integers) is `digit`, which needs to be in the range - * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is - * used; else, the lowercase form is used. The behavior is undefined - * if `flag` is non-zero and `digit` has no uppercase form. - */ - function digitToBasic(digit, flag) { - // 0..25 map to ASCII a..z or A..Z - // 26..35 map to ASCII 0..9 - return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); - } - - /** - * Bias adaptation function as per section 3.4 of RFC 3492. - * https://tools.ietf.org/html/rfc3492#section-3.4 - * @private - */ - function adapt(delta, numPoints, firstTime) { - var k = 0; - delta = firstTime ? floor(delta / damp) : delta >> 1; - delta += floor(delta / numPoints); - for (; /* no initialization */delta > baseMinusTMin * tMax >> 1; k += base) { - delta = floor(delta / baseMinusTMin); - } - return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); - } - - /** - * Converts a Punycode string of ASCII-only symbols to a string of Unicode - * symbols. - * @memberOf punycode - * @param {String} input The Punycode string of ASCII-only symbols. - * @returns {String} The resulting string of Unicode symbols. - */ - function decode(input) { - // Don't use UCS-2 - var output = [], - inputLength = input.length, - out, - i = 0, - n = initialN, - bias = initialBias, - basic, - j, - index, - oldi, - w, - k, - digit, - t, - /** Cached calculation results */ - baseMinusT; - - // Handle the basic code points: let `basic` be the number of input code - // points before the last delimiter, or `0` if there is none, then copy - // the first basic code points to the output. - - basic = input.lastIndexOf(delimiter); - if (basic < 0) { - basic = 0; - } - - for (j = 0; j < basic; ++j) { - // if it's not a basic code point - if (input.charCodeAt(j) >= 0x80) { - error('not-basic'); - } - output.push(input.charCodeAt(j)); - } - - // Main decoding loop: start just after the last delimiter if any basic code - // points were copied; start at the beginning otherwise. - - for (index = basic > 0 ? basic + 1 : 0; index < inputLength;) /* no final expression */{ - - // `index` is the index of the next character to be consumed. - // Decode a generalized variable-length integer into `delta`, - // which gets added to `i`. The overflow checking is easier - // if we increase `i` as we go, then subtract off its starting - // value at the end to obtain `delta`. - for (oldi = i, w = 1, k = base;; /* no condition */k += base) { - - if (index >= inputLength) { - error('invalid-input'); - } - - digit = basicToDigit(input.charCodeAt(index++)); - - if (digit >= base || digit > floor((maxInt - i) / w)) { - error('overflow'); - } - - i += digit * w; - t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; - - if (digit < t) { - break; - } - - baseMinusT = base - t; - if (w > floor(maxInt / baseMinusT)) { - error('overflow'); - } - - w *= baseMinusT; - - } - - out = output.length + 1; - bias = adapt(i - oldi, out, oldi == 0); - - // `i` was supposed to wrap around from `out` to `0`, - // incrementing `n` each time, so we'll fix that now: - if (floor(i / out) > maxInt - n) { - error('overflow'); - } - - n += floor(i / out); - i %= out; - - // Insert `n` at position `i` of the output - output.splice(i++, 0, n); - - } - - return ucs2encode(output); - } - - /** - * Converts a string of Unicode symbols (e.g. a domain name label) to a - * Punycode string of ASCII-only symbols. - * @memberOf punycode - * @param {String} input The string of Unicode symbols. - * @returns {String} The resulting Punycode string of ASCII-only symbols. - */ - function encode(input) { - var n, - delta, - handledCPCount, - basicLength, - bias, - j, - m, - q, - k, - t, - currentValue, - output = [], - /** `inputLength` will hold the number of code points in `input`. */ - inputLength, - /** Cached calculation results */ - handledCPCountPlusOne, - baseMinusT, - qMinusT; - - // Convert the input in UCS-2 to Unicode - input = ucs2decode(input); - - // Cache the length - inputLength = input.length; - - // Initialize the state - n = initialN; - delta = 0; - bias = initialBias; - - // Handle the basic code points - for (j = 0; j < inputLength; ++j) { - currentValue = input[j]; - if (currentValue < 0x80) { - output.push(stringFromCharCode(currentValue)); - } - } - - handledCPCount = basicLength = output.length; - - // `handledCPCount` is the number of code points that have been handled; - // `basicLength` is the number of basic code points. - - // Finish the basic string - if it is not empty - with a delimiter - if (basicLength) { - output.push(delimiter); - } - - // Main encoding loop: - while (handledCPCount < inputLength) { - - // All non-basic code points < n have been handled already. Find the next - // larger one: - for (m = maxInt, j = 0; j < inputLength; ++j) { - currentValue = input[j]; - if (currentValue >= n && currentValue < m) { - m = currentValue; - } - } - - // Increase `delta` enough to advance the decoder's state to , - // but guard against overflow - handledCPCountPlusOne = handledCPCount + 1; - if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { - error('overflow'); - } - - delta += (m - n) * handledCPCountPlusOne; - n = m; - - for (j = 0; j < inputLength; ++j) { - currentValue = input[j]; - - if (currentValue < n && ++delta > maxInt) { - error('overflow'); - } - - if (currentValue == n) { - // Represent delta as a generalized variable-length integer - for (q = delta, k = base;; /* no condition */k += base) { - t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; - if (q < t) { - break; - } - qMinusT = q - t; - baseMinusT = base - t; - output.push( - stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))); - - q = floor(qMinusT / baseMinusT); - } - - output.push(stringFromCharCode(digitToBasic(q, 0))); - bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); - delta = 0; - ++handledCPCount; - } - } - - ++delta; - ++n; - - } - return output.join(''); - } - - /** - * Converts a Punycode string representing a domain name or an email address - * to Unicode. Only the Punycoded parts of the input will be converted, i.e. - * it doesn't matter if you call it on a string that has already been - * converted to Unicode. - * @memberOf punycode - * @param {String} input The Punycoded domain name or email address to - * convert to Unicode. - * @returns {String} The Unicode representation of the given Punycode - * string. - */ - function toUnicode(input) { - return mapDomain(input, function (string) { - return regexPunycode.test(string) ? - decode(string.slice(4).toLowerCase()) : - string; - }); - } - - /** - * Converts a Unicode string representing a domain name or an email address to - * Punycode. Only the non-ASCII parts of the domain name will be converted, - * i.e. it doesn't matter if you call it with a domain that's already in - * ASCII. - * @memberOf punycode - * @param {String} input The domain name or email address to convert, as a - * Unicode string. - * @returns {String} The Punycode representation of the given domain name or - * email address. - */ - function toASCII(input) { - return mapDomain(input, function (string) { - return regexNonASCII.test(string) ? - 'xn--' + encode(string) : - string; - }); - } - - /*--------------------------------------------------------------------------*/ - - /** Define the public API */ - punycode = { - /** - * A string representing the current Punycode.js version number. - * @memberOf punycode - * @type String - */ - 'version': '1.4.1', - /** - * An object of methods to convert from JavaScript's internal character - * representation (UCS-2) to Unicode code points, and back. - * @see - * @memberOf punycode - * @type Object - */ - 'ucs2': { - 'decode': ucs2decode, - 'encode': ucs2encode }, - - 'decode': decode, - 'encode': encode, - 'toASCII': toASCII, - 'toUnicode': toUnicode }; - - - /** Expose `punycode` */ - // Some AMD build optimizers, like r.js, check for specific condition patterns - // like the following: - if ( - typeof define == 'function' && - typeof define.amd == 'object' && - define.amd) - { - define('punycode', function () { - return punycode; - }); - } else if (freeExports && freeModule) { - if (module.exports == freeExports) { - // in Node.js, io.js, or RingoJS v0.8.0+ - freeModule.exports = punycode; - } else { - // in Narwhal or RingoJS v0.7.0- - for (key in punycode) { - punycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]); - } - } - } else { - // in Rhino or a web browser - root.punycode = punycode; - } - - })(this); - - }).call(this);}).call(this, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}); - }, {}], 117: [function (require, module, exports) { - // Copyright Joyent, Inc. and other Node contributors. - // - // Permission is hereby granted, free of charge, to any person obtaining a - // copy of this software and associated documentation files (the - // "Software"), to deal in the Software without restriction, including - // without limitation the rights to use, copy, modify, merge, publish, - // distribute, sublicense, and/or sell copies of the Software, and to permit - // persons to whom the Software is furnished to do so, subject to the - // following conditions: - // - // The above copyright notice and this permission notice shall be included - // in all copies or substantial portions of the Software. - // - // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN - // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR - // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE - // USE OR OTHER DEALINGS IN THE SOFTWARE. - - 'use strict'; - - // If obj.hasOwnProperty has been overridden, then calling - // obj.hasOwnProperty(prop) will break. - // See: https://github.com/joyent/node/issues/1707 - function hasOwnProperty(obj, prop) { - return Object.prototype.hasOwnProperty.call(obj, prop); - } - - module.exports = function (qs, sep, eq, options) { - sep = sep || '&'; - eq = eq || '='; - var obj = {}; - - if (typeof qs !== 'string' || qs.length === 0) { - return obj; - } - - var regexp = /\+/g; - qs = qs.split(sep); - - var maxKeys = 1000; - if (options && typeof options.maxKeys === 'number') { - maxKeys = options.maxKeys; - } - - var len = qs.length; - // maxKeys <= 0 means that we should not limit keys count - if (maxKeys > 0 && len > maxKeys) { - len = maxKeys; - } - - for (var i = 0; i < len; ++i) { - var x = qs[i].replace(regexp, '%20'), - idx = x.indexOf(eq), - kstr,vstr,k,v; - - if (idx >= 0) { - kstr = x.substr(0, idx); - vstr = x.substr(idx + 1); - } else { - kstr = x; - vstr = ''; - } - - k = decodeURIComponent(kstr); - v = decodeURIComponent(vstr); - - if (!hasOwnProperty(obj, k)) { - obj[k] = v; - } else if (isArray(obj[k])) { - obj[k].push(v); - } else { - obj[k] = [obj[k], v]; - } - } - - return obj; - }; - - var isArray = Array.isArray || function (xs) { - return Object.prototype.toString.call(xs) === '[object Array]'; - }; - - }, {}], 118: [function (require, module, exports) { - // Copyright Joyent, Inc. and other Node contributors. - // - // Permission is hereby granted, free of charge, to any person obtaining a - // copy of this software and associated documentation files (the - // "Software"), to deal in the Software without restriction, including - // without limitation the rights to use, copy, modify, merge, publish, - // distribute, sublicense, and/or sell copies of the Software, and to permit - // persons to whom the Software is furnished to do so, subject to the - // following conditions: - // - // The above copyright notice and this permission notice shall be included - // in all copies or substantial portions of the Software. - // - // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN - // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR - // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE - // USE OR OTHER DEALINGS IN THE SOFTWARE. - - 'use strict'; - - var stringifyPrimitive = function (v) { - switch (typeof v) { - case 'string': - return v; - - case 'boolean': - return v ? 'true' : 'false'; - - case 'number': - return isFinite(v) ? v : ''; - - default: - return '';} - - }; - - module.exports = function (obj, sep, eq, name) { - sep = sep || '&'; - eq = eq || '='; - if (obj === null) { - obj = undefined; - } - - if (typeof obj === 'object') { - return map(objectKeys(obj), function (k) { - var ks = encodeURIComponent(stringifyPrimitive(k)) + eq; - if (isArray(obj[k])) { - return map(obj[k], function (v) { - return ks + encodeURIComponent(stringifyPrimitive(v)); - }).join(sep); - } else { - return ks + encodeURIComponent(stringifyPrimitive(obj[k])); - } - }).join(sep); - - } - - if (!name) return ''; - return encodeURIComponent(stringifyPrimitive(name)) + eq + - encodeURIComponent(stringifyPrimitive(obj)); - }; - - var isArray = Array.isArray || function (xs) { - return Object.prototype.toString.call(xs) === '[object Array]'; - }; - - function map(xs, f) { - if (xs.map) return xs.map(f); - var res = []; - for (var i = 0; i < xs.length; i++) { - res.push(f(xs[i], i)); - } - return res; - } - - var objectKeys = Object.keys || function (obj) { - var res = []; - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key); - } - return res; - }; - - }, {}], 119: [function (require, module, exports) { - 'use strict'; - - exports.decode = exports.parse = require('./decode'); - exports.encode = exports.stringify = require('./encode'); - - }, { "./decode": 117, "./encode": 118 }], 120: [function (require, module, exports) { - (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - factory(global.SPECIFICITY = {}); - })(this, function (exports) {'use strict'; - - // Calculate the specificity for a selector by dividing it into simple selectors and counting them - var calculate = function (input) { - var selectors, - selector, - i, - len, - results = []; - - // Separate input by commas - selectors = input.split(','); - - for (i = 0, len = selectors.length; i < len; i += 1) { - selector = selectors[i]; - if (selector.length > 0) { - results.push(calculateSingle(selector)); - } - } - - return results; - }; - - /** - * Calculates the specificity of CSS selectors - * http://www.w3.org/TR/css3-selectors/#specificity - * - * Returns an object with the following properties: - * - selector: the input - * - specificity: e.g. 0,1,0,0 - * - parts: array with details about each part of the selector that counts towards the specificity - * - specificityArray: e.g. [0, 1, 0, 0] - */ - var calculateSingle = function (input) { - var selector = input, - findMatch, - typeCount = { - 'a': 0, - 'b': 0, - 'c': 0 }, - - parts = [], - // The following regular expressions assume that selectors matching the preceding regular expressions have been removed - attributeRegex = /(\[[^\]]+\])/g, - idRegex = /(#[^\#\s\+>~\.\[:\)]+)/g, - classRegex = /(\.[^\s\+>~\.\[:\)]+)/g, - pseudoElementRegex = /(::[^\s\+>~\.\[:]+|:first-line|:first-letter|:before|:after)/gi, - // A regex for pseudo classes with brackets - :nth-child(), :nth-last-child(), :nth-of-type(), :nth-last-type(), :lang() - // The negation psuedo class (:not) is filtered out because specificity is calculated on its argument - // :global and :local are filtered out - they look like psuedo classes but are an identifier for CSS Modules - pseudoClassWithBracketsRegex = /(:(?!not|global|local)[\w-]+\([^\)]*\))/gi, - // A regex for other pseudo classes, which don't have brackets - pseudoClassRegex = /(:(?!not|global|local)[^\s\+>~\.\[:]+)/g, - elementRegex = /([^\s\+>~\.\[:]+)/g; - - // Find matches for a regular expression in a string and push their details to parts - // Type is "a" for IDs, "b" for classes, attributes and pseudo-classes and "c" for elements and pseudo-elements - findMatch = function (regex, type) { - var matches, i, len, match, index, length; - if (regex.test(selector)) { - matches = selector.match(regex); - for (i = 0, len = matches.length; i < len; i += 1) { - typeCount[type] += 1; - match = matches[i]; - index = selector.indexOf(match); - length = match.length; - parts.push({ - selector: input.substr(index, length), - type: type, - index: index, - length: length }); - - // Replace this simple selector with whitespace so it won't be counted in further simple selectors - selector = selector.replace(match, Array(length + 1).join(' ')); - } - } - }; - - // Replace escaped characters with plain text, using the "A" character - // https://www.w3.org/TR/CSS21/syndata.html#characters - (function () { - var replaceWithPlainText = function (regex) { - var matches, i, len, match; - if (regex.test(selector)) { - matches = selector.match(regex); - for (i = 0, len = matches.length; i < len; i += 1) { - match = matches[i]; - selector = selector.replace(match, Array(match.length + 1).join('A')); - } - } - }, - // Matches a backslash followed by six hexadecimal digits followed by an optional single whitespace character - escapeHexadecimalRegex = /\\[0-9A-Fa-f]{6}\s?/g, - // Matches a backslash followed by fewer than six hexadecimal digits followed by a mandatory single whitespace character - escapeHexadecimalRegex2 = /\\[0-9A-Fa-f]{1,5}\s/g, - // Matches a backslash followed by any character - escapeSpecialCharacter = /\\./g; - - replaceWithPlainText(escapeHexadecimalRegex); - replaceWithPlainText(escapeHexadecimalRegex2); - replaceWithPlainText(escapeSpecialCharacter); - })(); - - // Remove anything after a left brace in case a user has pasted in a rule, not just a selector - (function () { - var regex = /{[^]*/gm, - matches,i,len,match; - if (regex.test(selector)) { - matches = selector.match(regex); - for (i = 0, len = matches.length; i < len; i += 1) { - match = matches[i]; - selector = selector.replace(match, Array(match.length + 1).join(' ')); - } - } - })(); - - // Add attribute selectors to parts collection (type b) - findMatch(attributeRegex, 'b'); - - // Add ID selectors to parts collection (type a) - findMatch(idRegex, 'a'); - - // Add class selectors to parts collection (type b) - findMatch(classRegex, 'b'); - - // Add pseudo-element selectors to parts collection (type c) - findMatch(pseudoElementRegex, 'c'); - - // Add pseudo-class selectors to parts collection (type b) - findMatch(pseudoClassWithBracketsRegex, 'b'); - findMatch(pseudoClassRegex, 'b'); - - // Remove universal selector and separator characters - selector = selector.replace(/[\*\s\+>~]/g, ' '); - - // Remove any stray dots or hashes which aren't attached to words - // These may be present if the user is live-editing this selector - selector = selector.replace(/[#\.]/g, ' '); - - // Remove the negation psuedo-class (:not) but leave its argument because specificity is calculated on its argument - // Remove non-standard :local and :global CSS Module identifiers because they do not effect the specificity - selector = selector.replace(/:not/g, ' '); - selector = selector.replace(/:local/g, ' '); - selector = selector.replace(/:global/g, ' '); - selector = selector.replace(/[\(\)]/g, ' '); - - // The only things left should be element selectors (type c) - findMatch(elementRegex, 'c'); - - // Order the parts in the order they appear in the original selector - // This is neater for external apps to deal with - parts.sort(function (a, b) { - return a.index - b.index; - }); - - return { - selector: input, - specificity: '0,' + typeCount.a.toString() + ',' + typeCount.b.toString() + ',' + typeCount.c.toString(), - specificityArray: [0, typeCount.a, typeCount.b, typeCount.c], - parts: parts }; - - }; - - /** - * Compares two CSS selectors for specificity - * Alternatively you can replace one of the CSS selectors with a specificity array - * - * - it returns -1 if a has a lower specificity than b - * - it returns 1 if a has a higher specificity than b - * - it returns 0 if a has the same specificity than b - */ - var compare = function (a, b) { - var aSpecificity, - bSpecificity, - i; - - if (typeof a === 'string') { - if (a.indexOf(',') !== -1) { - throw 'Invalid CSS selector'; - } else { - aSpecificity = calculateSingle(a)['specificityArray']; - } - } else if (Array.isArray(a)) { - if (a.filter(function (e) {return typeof e === 'number';}).length !== 4) { - throw 'Invalid specificity array'; - } else { - aSpecificity = a; - } - } else { - throw 'Invalid CSS selector or specificity array'; - } - - if (typeof b === 'string') { - if (b.indexOf(',') !== -1) { - throw 'Invalid CSS selector'; - } else { - bSpecificity = calculateSingle(b)['specificityArray']; - } - } else if (Array.isArray(b)) { - if (b.filter(function (e) {return typeof e === 'number';}).length !== 4) { - throw 'Invalid specificity array'; - } else { - bSpecificity = b; - } - } else { - throw 'Invalid CSS selector or specificity array'; - } - - for (i = 0; i < 4; i += 1) { - if (aSpecificity[i] < bSpecificity[i]) { - return -1; - } else if (aSpecificity[i] > bSpecificity[i]) { - return 1; - } - } - - return 0; - }; - - exports.calculate = calculate; - exports.compare = compare; - - Object.defineProperty(exports, '__esModule', { value: true }); - - }); - - }, {}], 121: [function (require, module, exports) { + }, {}], 92: [function (require, module, exports) { var SKIP = 'skip'; var CHECK = 'check'; var ONLY = 'only'; @@ -17091,10 +12749,11 @@ } }; - }, {}], 122: [function (require, module, exports) { + }, {}], 93: [function (require, module, exports) { 'use strict'; const isStandardSyntaxComment = require('./utils/isStandardSyntaxComment'); + const { assert, assertNumber, assertString } = require('./utils/validateTypes'); const COMMAND_PREFIX = 'stylelint-'; const disableCommand = `${COMMAND_PREFIX}disable`; @@ -17105,6 +12764,7 @@ /** @typedef {import('postcss').Comment} PostcssComment */ /** @typedef {import('postcss').Root} PostcssRoot */ + /** @typedef {import('postcss').Document} PostcssDocument */ /** @typedef {import('stylelint').PostcssResult} PostcssResult */ /** @typedef {import('stylelint').DisabledRangeObject} DisabledRangeObject */ /** @typedef {import('stylelint').DisabledRange} DisabledRange */ @@ -17131,7 +12791,7 @@ /** * Run it like a PostCSS plugin - * @param {PostcssRoot} root + * @param {PostcssRoot | PostcssDocument} root * @param {PostcssResult} result * @returns {PostcssResult} */ @@ -17139,15 +12799,16 @@ result.stylelint = result.stylelint || { disabledRanges: {}, ruleSeverities: {}, - customMessages: {} }; + customMessages: {}, + ruleMetadata: {} }; /** * Most of the functions below work via side effects mutating this object - * @type {DisabledRangeObject} + * @type {DisabledRangeObject & { all: DisabledRange[] }} */ const disabledRanges = { - all: [] }; + [ALL_RULES]: [] }; result.stylelint.disabledRanges = disabledRanges; @@ -17321,17 +12982,20 @@ */ function processEnableCommand(comment) { for (const ruleToEnable of getCommandRules(enableCommand, comment.text)) { - // TODO TYPES // need fallback if endLine will be undefined - const endLine = /** @type {number} */ - comment.source && comment.source.end && comment.source.end.line; + const endLine = comment.source && comment.source.end && comment.source.end.line; + assertNumber(endLine); if (ruleToEnable === ALL_RULES) { if ( - Object.values(disabledRanges).every( - ranges => ranges.length === 0 || typeof ranges[ranges.length - 1].end === 'number')) + Object.values(disabledRanges).every(ranges => { + if (ranges.length === 0) return true; + const lastRange = ranges[ranges.length - 1]; + + return lastRange && typeof lastRange.end === 'number'; + })) { throw comment.error('No rules have been disabled', { plugin: 'stylelint' }); @@ -17351,18 +13015,10 @@ if (ruleIsDisabled(ALL_RULES) && disabledRanges[ruleToEnable] === undefined) { // Get a starting point from the where all rules were disabled - if (!disabledRanges[ruleToEnable]) { - disabledRanges[ruleToEnable] = disabledRanges.all.map(({ start, end, description }) => - createDisableRange(comment, start, false, description, end, false)); - - } else { - const ranges = disabledRanges[ALL_RULES]; - const range = ranges ? ranges[ranges.length - 1] : null; + disabledRanges[ruleToEnable] = disabledRanges[ALL_RULES].map( + ({ start, end, description }) => + createDisableRange(comment, start, false, description, end, false)); - if (range) { - disabledRanges[ruleToEnable].push(_extends({}, range)); - } - } endDisabledRange(endLine, ruleToEnable, true); @@ -17390,7 +13046,7 @@ // Ignore comments that are not relevant commands if (text.indexOf(COMMAND_PREFIX) !== 0) { - return result; + return; } if (text.startsWith(disableLineCommand)) { @@ -17410,10 +13066,12 @@ * @returns {string[]} */ function getCommandRules(command, fullText) { - const rules = fullText. - slice(command.length). - split(/\s-{2,}\s/u)[0] // Allow for description (f.e. /* stylelint-disable a, b -- Description */). - .trim(). + // Allow for description (f.e. /* stylelint-disable a, b -- Description */). + const splitted = fullText.slice(command.length).split(/\s-{2,}\s/u)[0]; + + assertString(splitted); + const rules = splitted. + trim(). split(','). filter(Boolean). map(r => r.trim()); @@ -17448,7 +13106,11 @@ const rangeObj = createDisableRange(comment, line, strict, description); ensureRuleRanges(ruleName); - disabledRanges[ruleName].push(rangeObj); + + const range = disabledRanges[ruleName]; + + assert(range); + range.push(rangeObj); } /** @@ -17474,7 +13136,8 @@ */ function ensureRuleRanges(ruleName) { if (!disabledRanges[ruleName]) { - disabledRanges[ruleName] = disabledRanges.all.map(({ comment, start, end, description }) => + disabledRanges[ruleName] = disabledRanges[ALL_RULES].map( + ({ comment, start, end, description }) => createDisableRange(comment, start, false, description, end, false)); } @@ -17499,7 +13162,7 @@ } }; - }, { "./utils/isStandardSyntaxComment": 411 }], 123: [function (require, module, exports) { + }, { "./utils/isStandardSyntaxComment": 388, "./utils/validateTypes": 421 }], 94: [function (require, module, exports) { 'use strict'; /** @typedef {import('stylelint').PostcssResult} PostcssResult */ @@ -17561,14 +13224,15 @@ source, deprecations, invalidOptionWarnings, - // TODO TYPES check which types are valid? postcss? stylelint? - /* eslint-disable-next-line object-shorthand */ - parseErrors: /** @type {any} */parseErrors, + // @ts-expect-error -- TS2322: Type 'Message[]' is not assignable to type '(Warning & { stylelintType: string; })[]'. + parseErrors, errored: postcssResult.stylelint.stylelintError, warnings: postcssResult.messages.map(message => { return { line: message.line, column: message.column, + endLine: message.endLine, + endColumn: message.endColumn, rule: message.rule, severity: message.severity, text: message.text }; @@ -17592,6 +13256,8 @@ { line: cssSyntaxError.line, column: cssSyntaxError.column, + endLine: cssSyntaxError.endLine, + endColumn: cssSyntaxError.endColumn, rule: cssSyntaxError.name, severity: 'error', text: `${cssSyntaxError.reason} (${cssSyntaxError.name})` }] }; @@ -17607,7 +13273,7 @@ return stylelintResult; }; - }, {}], 124: [function (require, module, exports) { + }, {}], 95: [function (require, module, exports) { 'use strict'; /** @typedef {import('stylelint').Rule} StylelintRule */ @@ -17626,7 +13292,7 @@ module.exports = /** @type {typeof import('stylelint').createPlugin} */createPlugin; - }, {}], 125: [function (require, module, exports) { + }, {}], 96: [function (require, module, exports) { (function (process) {(function () { 'use strict'; @@ -17682,7 +13348,7 @@ module.exports = /** @type {typeof import('stylelint').createLinter} */createStylelint; }).call(this);}).call(this, require('_process')); - }, { "./createStylelintResult": 126, "./getPostcssResult": 133, "./lintSource": 136, "./normalizeAllRuleSettings": 138, "_process": 115 }], 126: [function (require, module, exports) { + }, { "./createStylelintResult": 97, "./getPostcssResult": 101, "./lintSource": 104, "./normalizeAllRuleSettings": 106, "_process": 91 }], 97: [function (require, module, exports) { 'use strict'; const createPartialStylelintResult = require('./createPartialStylelintResult'); @@ -17725,7 +13391,7 @@ return stylelintResult; }; - }, { "./createPartialStylelintResult": 123 }], 127: [function (require, module, exports) { + }, { "./createPartialStylelintResult": 94 }], 98: [function (require, module, exports) { 'use strict'; const optionsMatches = require('./utils/optionsMatches'); @@ -17750,13 +13416,11 @@ const [enabled, options, stylelintResult] = settings; - const rangeData = stylelintResult.disabledRanges; - /** @type {Set} */ const alreadyReported = new Set(); - for (const rule of Object.keys(rangeData)) { - for (const range of rangeData[rule]) { + for (const [rule, ruleRanges] of Object.entries(stylelintResult.disabledRanges)) { + for (const range of ruleRanges) { if (range.description) continue; if (alreadyReported.has(range.comment)) continue; @@ -17782,6 +13446,8 @@ rule: '--report-descriptionless-disables', line: range.comment.source.start.line, column: range.comment.source.start.column, + endLine: range.comment.source.end && range.comment.source.end.line, + endColumn: range.comment.source.end && range.comment.source.end.column, severity: options.severity }); } @@ -17789,48 +13455,32 @@ } }; - }, { "./utils/optionsMatches": 429, "./validateDisableSettings": 446 }], 128: [function (require, module, exports) { + }, { "./utils/optionsMatches": 406, "./validateDisableSettings": 424 }], 99: [function (require, module, exports) { 'use strict'; - /** - * @type {import('stylelint').Formatter} - */ - const formatter = (results) => - results. - flatMap((result) => - result.warnings.map( - (warning) => - `${result.source}: ` + - `line ${warning.line}, ` + - `col ${warning.column}, ` + - `${warning.severity} - ` + - `${warning.text}`)). - + /* const _importLazy = require('import-lazy'); */ - join('\n'); - - module.exports = formatter; - - }, {}], 129: [function (require, module, exports) { - 'use strict'; - - const importLazy = require('import-lazy'); + /* const importLazy = _importLazy(require); */ /** @type {typeof import('stylelint').formatters} */ const formatters = { - compact: importLazy(() => require('./compactFormatter'))('compactFormatter'), - json: importLazy(() => require('./jsonFormatter'))('jsonFormatter'), - /* string: importLazy(() => require('./stringFormatter'))('stringFormatter'), */ - string: () => {}, - tap: importLazy(() => require('./tapFormatter'))('tapFormatter'), - unix: importLazy(() => require('./unixFormatter'))('unixFormatter'), - /* verbose: importLazy(() => require('./verboseFormatter'))('verboseFormatter'), */ - verbose: () => {} }; + compact: /* importLazy('./compactFormatter'), */ + () => {}, + json: /* importLazy( */ + require('./jsonFormatter'), + string: /* importLazy('./stringFormatter'), */ + () => {}, + tap: /* importLazy('./tapFormatter'), */ + () => {}, + unix: /* importLazy('./unixFormatter'), */ + () => {}, + verbose: /* importLazy('./verboseFormatter'), */ + () => {} }; module.exports = formatters; - }, { "./compactFormatter": 128, "./jsonFormatter": 130, "./tapFormatter": 131, "./unixFormatter": 132, "import-lazy": 31 }], 130: [function (require, module, exports) { + }, { "./jsonFormatter": 100 }], 100: [function (require, module, exports) { 'use strict'; /** @@ -17852,78 +13502,11 @@ return JSON.stringify(cleanedResults); }; - }, {}], 131: [function (require, module, exports) { - 'use strict'; - - /** - * @type {import('stylelint').Formatter} - */ - const tapFormatter = results => { - const lines = [`TAP version 13\n1..${results.length}`]; - - for (const [index, result] of results.entries()) { - lines.push( - `${result.errored ? 'not ok' : 'ok'} ${index + 1} - ${result.ignored ? 'ignored ' : ''}${ - result.source - }`); - - - if (result.warnings.length > 0) { - lines.push('---', 'messages:'); - - for (const warning of result.warnings) { - lines.push( - ` - message: "${warning.text}"`, - ` severity: ${warning.severity}`, - ` data:`, - ` line: ${warning.line}`, - ` column: ${warning.column}`, - ` ruleId: ${warning.rule}`); - - } - - lines.push('---'); - } - } - - lines.push(''); - - return lines.join('\n'); - }; - - module.exports = tapFormatter; - - }, {}], 132: [function (require, module, exports) { - 'use strict'; - - /** - * @type {import('stylelint').Formatter} - */ - const unixFormatter = results => { - const lines = results.flatMap((result) => - result.warnings.map( - (warning) => - `${result.source}:${warning.line}:${warning.column}: ` + - `${warning.text} [${warning.severity}]\n`)); - - - const total = lines.length; - let output = lines.join(''); - - if (total > 0) { - output += `\n${total} problem${total !== 1 ? 's' : ''}\n`; - } - - return output; - }; - - module.exports = unixFormatter; - - }, {}], 133: [function (require, module, exports) { + }, {}], 101: [function (require, module, exports) { 'use strict'; const LazyResult = require('postcss/lib/lazy-result').default; - const path = require('path'); + /* const path = require('path'); */ const { default: postcss } = require('postcss'); /* const { promises: fs } = require('fs'); */ @@ -18084,26 +13667,28 @@ * @param {string|undefined} filePath * @returns {Syntax} */ - function cssSyntax(stylelint, filePath) { + function cssSyntax(stylelint, filePath) {/* const fileExtension = filePath ? path.extname(filePath).slice(1).toLowerCase() : ''; const extensions = ['css', 'pcss', 'postcss']; - if (previouslyInferredExtensions[fileExtension]) { - console.warn( - `${filePath}: When linting something other than CSS, you should install an appropriate syntax, e.g. "${previouslyInferredExtensions[fileExtension]}", and use the "customSyntax" option`); - + console.warn( + `${filePath}: When linting something other than CSS, you should install an appropriate syntax, e.g. "${previouslyInferredExtensions[fileExtension]}", and use the "customSyntax" option`, + ); } - return { - parse: - stylelint._options.fix && extensions.includes(fileExtension) ? - require('postcss-safe-parser') : - postcss.parse, - stringify: postcss.stringify }; + parse: + stylelint._options.fix && extensions.includes(fileExtension) + ? require('postcss-safe-parser') + : postcss.parse, + stringify: postcss.stringify, + }; + } */ - } - }, { "path": 44, "postcss": 103, "postcss-safe-parser": 51, "postcss/lib/lazy-result": 96 }], 134: [function (require, module, exports) { + return postcss;} + /* */ + ;cssSyntax.sugarss = require("sugarss"); + }, { "postcss": 79, "postcss/lib/lazy-result": 72, "sugarss": 426 }], 102: [function (require, module, exports) { 'use strict'; const optionsMatches = require('./utils/optionsMatches'); @@ -18128,15 +13713,12 @@ usedRules.add('all'); - const rangeData = stylelintResult.disabledRanges; - const disabledRules = Object.keys(rangeData); - - for (const rule of disabledRules) { + for (const [rule, ruleRanges] of Object.entries(stylelintResult.disabledRanges)) { if (usedRules.has(rule)) continue; if (enabled === optionsMatches(options, 'except', rule)) continue; - for (const range of rangeData[rule]) { + for (const range of ruleRanges) { if (!range.strictStart && !range.strictEnd) continue; // If the comment doesn't have a location, we can't report a useful error. @@ -18148,6 +13730,8 @@ rule: '--report-invalid-scope-disables', line: range.comment.source.start.line, column: range.comment.source.start.column, + endLine: range.comment.source.end && range.comment.source.end.line, + endColumn: range.comment.source.end && range.comment.source.end.column, severity: options.severity }); } @@ -18155,13 +13739,13 @@ } }; - }, { "./utils/optionsMatches": 429, "./validateDisableSettings": 446 }], 135: [function (require, module, exports) { + }, { "./utils/optionsMatches": 406, "./validateDisableSettings": 424 }], 103: [function (require, module, exports) { 'use strict'; const assignDisabledRanges = require('./assignDisabledRanges'); const getOsEol = require('./utils/getOsEol'); const reportUnknownRuleNames = require('./reportUnknownRuleNames'); - const rulesOrder = require('./rules'); + const rules = require('./rules'); /** @typedef {import('stylelint').LinterOptions} LinterOptions */ /** @typedef {import('stylelint').PostcssResult} PostcssResult */ @@ -18176,6 +13760,7 @@ function lintPostcssResult(stylelintOptions, postcssResult, config) { postcssResult.stylelint.ruleSeverities = {}; postcssResult.stylelint.customMessages = {}; + postcssResult.stylelint.ruleMetadata = {}; postcssResult.stylelint.stylelintError = false; postcssResult.stylelint.quiet = config.quiet; postcssResult.stylelint.config = config; @@ -18212,15 +13797,14 @@ /** @type {Array>} */ const performRules = []; - const rules = config.rules ? - Object.keys(config.rules).sort( - (a, b) => Object.keys(rulesOrder).indexOf(a) - Object.keys(rulesOrder).indexOf(b)) : - + const rulesOrder = Object.keys(rules); + const ruleNames = config.rules ? + Object.keys(config.rules).sort((a, b) => rulesOrder.indexOf(a) - rulesOrder.indexOf(b)) : []; - for (const ruleName of rules) { + for (const ruleName of ruleNames) { const ruleFunction = - rulesOrder[ruleName] || config.pluginFunctions && config.pluginFunctions[ruleName]; + rules[ruleName] || config.pluginFunctions && config.pluginFunctions[ruleName]; if (ruleFunction === undefined) { performRules.push( @@ -18255,6 +13839,7 @@ postcssResult.stylelint.ruleSeverities[ruleName] = secondaryOptions && secondaryOptions.severity || defaultSeverity; postcssResult.stylelint.customMessages[ruleName] = secondaryOptions && secondaryOptions.message; + postcssResult.stylelint.ruleMetadata[ruleName] = ruleFunction.meta || {}; performRules.push( Promise.all( @@ -18286,14 +13871,14 @@ */ function isFixCompatible({ stylelint }) { // Check for issue #2643 - if (stylelint.disabledRanges.all.length) return false; + if (stylelint.disabledRanges.all && stylelint.disabledRanges.all.length) return false; return true; } module.exports = lintPostcssResult; - }, { "./assignDisabledRanges": 122, "./reportUnknownRuleNames": 147, "./rules": 237, "./utils/getOsEol": 370 }], 136: [function (require, module, exports) { + }, { "./assignDisabledRanges": 93, "./reportUnknownRuleNames": 115, "./rules": 208, "./utils/getOsEol": 346 }], 104: [function (require, module, exports) { 'use strict'; const isPathNotFoundError = require('./utils/isPathNotFoundError'); @@ -18361,9 +13946,12 @@ const config = configForFile.config; const existingPostcssResult = options.existingPostcssResult; + + /** @type {StylelintPostcssResult} */ const stylelintResult = { ruleSeverities: {}, customMessages: {}, + ruleMetadata: {}, disabledRanges: {} }; @@ -18393,6 +13981,7 @@ return { ruleSeverities: {}, customMessages: {}, + ruleMetadata: {}, disabledRanges: {}, ignored: true, stylelintError: false }; @@ -18417,7 +14006,7 @@ } - }, { "./lintPostcssResult": 135, "./utils/isPathNotFoundError": 403, "path": 44 }], 137: [function (require, module, exports) { + }, { "./lintPostcssResult": 103, "./utils/isPathNotFoundError": 380, "path": 22 }], 105: [function (require, module, exports) { 'use strict'; const optionsMatches = require('./utils/optionsMatches'); @@ -18466,14 +14055,14 @@ } } - for (const range of rangeData.all) { + for (const range of rangeData.all || []) { if (isWarningInRange(warning, range)) { putIfAbsent(usefulDisables, range.comment, () => new Set()).add(rule); } } } - const allRangeComments = new Set(rangeData.all.map(range => range.comment)); + const allRangeComments = new Set((rangeData.all || []).map(range => range.comment)); for (const [rule, ranges] of Object.entries(rangeData)) { for (const range of ranges) { @@ -18497,6 +14086,8 @@ rule: '--report-needless-disables', line: range.comment.source.start.line, column: range.comment.source.start.column, + endLine: range.comment.source.end && range.comment.source.end.line, + endColumn: range.comment.source.end && range.comment.source.end.column, severity: options.severity }); } @@ -18519,7 +14110,7 @@ } - }, { "./utils/optionsMatches": 429, "./utils/putIfAbsent": 431, "./validateDisableSettings": 446 }], 138: [function (require, module, exports) { + }, { "./utils/optionsMatches": 406, "./utils/putIfAbsent": 408, "./validateDisableSettings": 424 }], 106: [function (require, module, exports) { 'use strict'; const normalizeRuleSettings = require('./normalizeRuleSettings'); @@ -18559,11 +14150,11 @@ module.exports = normalizeAllRuleSettings; - }, { "./normalizeRuleSettings": 139, "./rules": 237 }], 139: [function (require, module, exports) { + }, { "./normalizeRuleSettings": 107, "./rules": 208 }], 107: [function (require, module, exports) { 'use strict'; const rules = require('./rules'); - const { isPlainObject } = require('is-plain-object'); + const { isPlainObject } = require('./utils/validateTypes'); // Rule settings can take a number of forms, e.g. // a. "rule-name": null @@ -18633,7 +14224,7 @@ return [/** @type {T} */ /** @type {any} */rawSettings]; }; - }, { "./rules": 237, "is-plain-object": 35 }], 140: [function (require, module, exports) { + }, { "./rules": 208, "./utils/validateTypes": 421 }], 108: [function (require, module, exports) { (function (process) {(function () { 'use strict'; @@ -18680,7 +14271,7 @@ } }).call(this);}).call(this, require('_process')); - }, { "./createStylelint": 125, "_process": 115, "path": 44 }], 141: [function (require, module, exports) { + }, { "./createStylelint": 96, "_process": 91, "path": 22 }], 109: [function (require, module, exports) { 'use strict'; const descriptionlessDisables = require('./descriptionlessDisables'); @@ -18739,9 +14330,11 @@ module.exports = prepareReturnValue; - }, { "./descriptionlessDisables": 127, "./invalidScopeDisables": 134, "./needlessDisables": 137, "./reportDisables": 146 }], 142: [function (require, module, exports) { + }, { "./descriptionlessDisables": 98, "./invalidScopeDisables": 102, "./needlessDisables": 105, "./reportDisables": 114 }], 110: [function (require, module, exports) { 'use strict'; + const htmlTags = require('html-tags'); + const keywordSets = {}; keywordSets.nonLengthUnits = new Set([ @@ -18773,6 +14366,18 @@ 'rlh', 'lh', // Viewport-percentage lengths + 'dvh', + 'dvmax', + 'dvmin', + 'dvw', + 'lvh', + 'lvmax', + 'lvmin', + 'lvw', + 'svh', + 'svmax', + 'svmin', + 'svw', 'vh', 'vw', 'vmin', @@ -18807,7 +14412,7 @@ 'skewY']); - keywordSets.basicKeywords = new Set(['initial', 'inherit', 'unset']); + keywordSets.basicKeywords = new Set(['initial', 'inherit', 'revert', 'revert-layer', 'unset']); keywordSets.systemFontValues = uniteSets(keywordSets.basicKeywords, [ 'caption', @@ -18824,7 +14429,11 @@ 'cursive', 'fantasy', 'monospace', - 'system-ui']); + 'system-ui', + 'ui-serif', + 'ui-sans-serif', + 'ui-monospace', + 'ui-rounded']); keywordSets.fontWeightRelativeKeywords = new Set(['bolder', 'lighter']); @@ -18899,27 +14508,44 @@ 'first-letter']); - // These are the ones that require double-colon notation keywordSets.levelThreeAndUpPseudoElements = new Set([ 'before', 'after', 'first-line', 'first-letter', - 'selection', - 'spelling-error', - 'grammar-error', + // These are the ones that require double-colon notation 'backdrop', + 'content', + 'cue', + 'file-selector-button', + 'grammar-error', 'marker', 'placeholder', + 'selection', 'shadow', 'slotted', - 'content', - 'file-selector-button']); + 'spelling-error', + 'target-text']); keywordSets.shadowTreePseudoElements = new Set(['part']); + keywordSets.webkitScrollbarPseudoElements = new Set([ + '-webkit-resizer', + '-webkit-scrollbar', + '-webkit-scrollbar-button', + '-webkit-scrollbar-corner', + '-webkit-scrollbar-thumb', + '-webkit-scrollbar-track', + '-webkit-scrollbar-track-piece']); + + keywordSets.vendorSpecificPseudoElements = new Set([ + '-moz-focus-inner', + '-moz-focus-outer', + '-moz-list-bullet', + '-moz-meter-bar', + '-moz-placeholder', '-moz-progress-bar', '-moz-range-progress', '-moz-range-thumb', @@ -18938,10 +14564,50 @@ '-ms-tooltip', '-ms-track', '-ms-value', + '-webkit-color-swatch', + '-webkit-color-swatch-wrapper', + '-webkit-calendar-picker-indicator', + '-webkit-clear-button', + '-webkit-date-and-time-value', + '-webkit-datetime-edit', + '-webkit-datetime-edit-ampm-field', + '-webkit-datetime-edit-day-field', + '-webkit-datetime-edit-fields-wrapper', + '-webkit-datetime-edit-hour-field', + '-webkit-datetime-edit-millisecond-field', + '-webkit-datetime-edit-minute-field', + '-webkit-datetime-edit-month-field', + '-webkit-datetime-edit-second-field', + '-webkit-datetime-edit-text', + '-webkit-datetime-edit-week-field', + '-webkit-datetime-edit-year-field', + '-webkit-details-marker', + '-webkit-distributed', + '-webkit-file-upload-button', + '-webkit-input-placeholder', + '-webkit-keygen-select', + '-webkit-meter-bar', + '-webkit-meter-even-less-good-value', + '-webkit-meter-inner-element', + '-webkit-meter-optimum-value', + '-webkit-meter-suboptimum-value', '-webkit-progress-bar', + '-webkit-progress-inner-element', '-webkit-progress-value', + '-webkit-search-cancel-button', + '-webkit-search-decoration', + '-webkit-search-results-button', + '-webkit-search-results-decoration', '-webkit-slider-runnable-track', - '-webkit-slider-thumb']); + '-webkit-slider-thumb', + '-webkit-textfield-decoration-container', + '-webkit-validation-bubble', + '-webkit-validation-bubble-arrow', + '-webkit-validation-bubble-arrow-clipper', + '-webkit-validation-bubble-heading', + '-webkit-validation-bubble-message', + '-webkit-validation-bubble-text-block', + ...keywordSets.webkitScrollbarPseudoElements]); keywordSets.pseudoElements = uniteSets( @@ -18972,25 +14638,19 @@ 'autofill', 'blank', 'checked', - /* - https://www.w3.org/Style/CSS/Test/CSS3/Selectors/20011105/html/tests/css3-modsel-85.html - https://www.w3.org/Style/CSS/Test/CSS3/Selectors/20011105/html/tests/css3-modsel-84.html - */ - 'contains', 'current', 'default', 'defined', 'disabled', - 'drop', 'empty', 'enabled', 'first-child', 'first-of-type', 'focus', - 'focus-ring', 'focus-within', 'focus-visible', 'fullscreen', + 'fullscreen-ancestor', 'future', 'host', 'host-context', @@ -19008,6 +14668,7 @@ 'past', 'placeholder-shown', 'playing', + 'picture-in-picture', 'paused', 'read-only', 'read-write', @@ -19016,23 +14677,48 @@ 'scope', 'state', 'target', - 'user-error', + 'unresolved', 'user-invalid', + 'user-valid', 'valid', - 'visited']); - - - keywordSets.webkitProprietaryPseudoElements = new Set([ - 'scrollbar', - 'scrollbar-button', - 'scrollbar-track', - 'scrollbar-track-piece', - 'scrollbar-thumb', - 'scrollbar-corner', - 'resize']); - - - keywordSets.webkitProprietaryPseudoClasses = new Set([ + 'visited', + 'window-inactive' // for ::selection (chrome) + ]); + + keywordSets.vendorSpecificPseudoClasses = new Set([ + '-khtml-drag', + '-moz-any', + '-moz-any-link', + '-moz-broken', + '-moz-drag-over', + '-moz-first-node', + '-moz-focusring', + '-moz-full-screen', + '-moz-full-screen-ancestor', + '-moz-last-node', + '-moz-loading', + '-moz-meter-optimum', + '-moz-meter-sub-optimum', + '-moz-meter-sub-sub-optimum', + '-moz-placeholder', + '-moz-submit-invalid', + '-moz-suppressed', + '-moz-ui-invalid', + '-moz-ui-valid', + '-moz-user-disabled', + '-moz-window-inactive', + '-ms-fullscreen', + '-ms-input-placeholder', + '-webkit-drag', + '-webkit-any', + '-webkit-any-link', + '-webkit-autofill', + '-webkit-full-screen', + '-webkit-full-screen-ancestor']); + + + // https://webkit.org/blog/363/styling-scrollbars/ + keywordSets.webkitScrollbarPseudoClasses = new Set([ 'horizontal', 'vertical', 'decrement', @@ -19051,7 +14737,8 @@ keywordSets.linguisticPseudoClasses, keywordSets.logicalCombinationsPseudoClasses, keywordSets.aNPlusBOfSNotationPseudoClasses, - keywordSets.otherPseudoClasses); + keywordSets.otherPseudoClasses, + keywordSets.vendorSpecificPseudoClasses); keywordSets.shorthandTimeProperties = new Set(['transition', 'animation']); @@ -19288,6 +14975,7 @@ 'font-feature-values', 'import', 'keyframes', + 'layer', 'media', 'namespace', 'nest', @@ -19322,6 +15010,7 @@ 'color', 'color-gamut', 'color-index', + 'display-mode', 'dynamic-range', 'forced-colors', 'grid', @@ -19392,6 +15081,10 @@ 'windowtext']); + // typecasting htmlTags to be more generic; see https://github.com/stylelint/stylelint/pull/6013 for discussion + /** @type {Set} */ + keywordSets.standardHtmlTags = new Set(htmlTags); + // htmlTags includes only "standard" tags. So we augment it with older tags etc. keywordSets.nonStandardHtmlTags = new Set([ 'acronym', @@ -19419,8 +15112,11 @@ 'xmp']); - // extracted from https://developer.mozilla.org/en-US/docs/Web/SVG/Element keywordSets.validMixedCaseSvgElements = new Set([ + 'altGlyph', + 'altGlyphDef', + 'altGlyphItem', + 'animateColor', 'animateMotion', 'animateTransform', 'clipPath', @@ -19450,6 +15146,7 @@ 'feTile', 'feTurbulence', 'foreignObject', + 'glyphRef', 'linearGradient', 'radialGradient', 'textPath']); @@ -19464,12 +15161,12 @@ module.exports = keywordSets; - }, {}], 143: [function (require, module, exports) { + }, { "html-tags": 14 }], 111: [function (require, module, exports) { 'use strict'; module.exports = ['calc', 'clamp', 'max', 'min']; - }, {}], 144: [function (require, module, exports) { + }, {}], 112: [function (require, module, exports) { 'use strict'; const propertySets = {}; @@ -19489,7 +15186,7 @@ module.exports = propertySets; - }, {}], 145: [function (require, module, exports) { + }, {}], 113: [function (require, module, exports) { 'use strict'; /** @type {Record} */ @@ -19635,7 +15332,7 @@ - }, {}], 146: [function (require, module, exports) { + }, {}], 114: [function (require, module, exports) { 'use strict'; /** @typedef {import('stylelint').RangeType} RangeType */ @@ -19684,6 +15381,8 @@ rule: 'reportDisables', line: range.comment.source.start.line, column: range.comment.source.start.column, + endLine: range.comment.source.end && range.comment.source.end.line, + endColumn: range.comment.source.end && range.comment.source.end.column, severity: 'error' }); } @@ -19701,7 +15400,7 @@ return Boolean(options[1].reportDisables); } - }, {}], 147: [function (require, module, exports) { + }, {}], 115: [function (require, module, exports) { 'use strict'; const levenshtein = require('fastest-levenshtein'); @@ -19779,7 +15478,7 @@ }; - }, { "./rules": 237, "fastest-levenshtein": 19 }], 148: [function (require, module, exports) { + }, { "./rules": 208, "fastest-levenshtein": 12 }], 116: [function (require, module, exports) { (function (process) {(function () { 'use strict'; @@ -19830,7 +15529,7 @@ }; }).call(this);}).call(this, require('_process')); - }, { "./createStylelint": 125, "_process": 115, "path": 44 }], 149: [function (require, module, exports) { + }, { "./createStylelint": 96, "_process": 91, "path": 22 }], 117: [function (require, module, exports) { 'use strict'; const valueParser = require('postcss-value-parser'); @@ -19843,7 +15542,7 @@ const ruleMessages = require('../../utils/ruleMessages'); const setDeclarationValue = require('../../utils/setDeclarationValue'); const validateOptions = require('../../utils/validateOptions'); - const { isRegExp, isString } = require('../../utils/validateTypes'); + const { isRegExp, isString, assert } = require('../../utils/validateTypes'); const ruleName = 'alpha-value-notation'; @@ -19851,6 +15550,10 @@ expected: (unfixed, fixed) => `Expected "${unfixed}" to be "${fixed}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/alpha-value-notation' }; + + const ALPHA_PROPS = new Set(['opacity', 'shape-image-threshold']); const ALPHA_FUNCS = new Set(['hsl', 'hsla', 'hwb', 'lab', 'lch', 'rgb', 'rgba']); @@ -19935,10 +15638,14 @@ return; } + const index = declarationValueIndex(decl) + alpha.sourceIndex; + const endIndex = index + alpha.value.length; + report({ message: messages.expected(unfixed, fixed), node: decl, - index: declarationValueIndex(decl) + alpha.sourceIndex, + index, + endIndex, result, ruleName }); @@ -19953,7 +15660,7 @@ /** * @param {string} value - * @returns {string | undefined} + * @returns {string} */ function asPercentage(value) { const number = Number(value); @@ -19963,12 +15670,12 @@ /** * @param {string} value - * @returns {string | undefined} + * @returns {string} */ function asNumber(value) { const dimension = valueParser.unit(value); - if (!dimension) return undefined; + assert(dimension); const number = Number(dimension.number); @@ -20026,9 +15733,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/getDeclarationValue": 366, "../../utils/isStandardSyntaxValue": 421, "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/setDeclarationValue": 438, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "postcss-value-parser": 83 }], 150: [function (require, module, exports) { + }, { "../../utils/declarationValueIndex": 333, "../../utils/getDeclarationValue": 341, "../../utils/isStandardSyntaxValue": 398, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/setDeclarationValue": 415, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "postcss-value-parser": 59 }], 118: [function (require, module, exports) { 'use strict'; const isStandardSyntaxAtRule = require('../../utils/isStandardSyntaxAtRule'); @@ -20044,14 +15752,15 @@ rejected: name => `Unexpected at-rule "${name}"` }); - /** @type {import('stylelint').Rule} */ - const rule = primary => { - // To allow for just a string as a parameter (not only arrays of strings) - const primaryValues = [primary].flat(); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/at-rule-allowed-list' }; + + /** @type {import('stylelint').Rule} */ + const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: primaryValues, + actual: primary, possible: [isString] }); @@ -20059,8 +15768,7 @@ return; } - /** @type {string[]} */ - const atRuleNames = primaryValues; + const primaryValues = [primary].flat(); root.walkAtRules(atRule => { const name = atRule.name; @@ -20069,7 +15777,7 @@ return; } - if (atRuleNames.includes(vendor.unprefixed(name).toLowerCase())) { + if (primaryValues.includes(vendor.unprefixed(name).toLowerCase())) { return; } @@ -20077,7 +15785,8 @@ message: messages.rejected(name), node: atRule, result, - ruleName }); + ruleName, + word: `@${name}` }); }); }; @@ -20087,9 +15796,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxAtRule": 408, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "../../utils/vendor": 444 }], 151: [function (require, module, exports) { + }, { "../../utils/isStandardSyntaxAtRule": 385, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/vendor": 422 }], 119: [function (require, module, exports) { 'use strict'; const isStandardSyntaxAtRule = require('../../utils/isStandardSyntaxAtRule'); @@ -20105,14 +15815,15 @@ rejected: name => `Unexpected at-rule "${name}"` }); - /** @type {import('stylelint').Rule} */ - const rule = primary => { - // To allow for just a string as a parameter (not only arrays of strings) - const primaryValues = [primary].flat(); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/at-rule-disallowed-list' }; + + /** @type {import('stylelint').Rule} */ + const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: primaryValues, + actual: primary, possible: [isString] }); @@ -20120,8 +15831,7 @@ return; } - /** @type {string[]} */ - const atRuleNames = primaryValues; + const primaryValues = [primary].flat(); root.walkAtRules(atRule => { const name = atRule.name; @@ -20130,7 +15840,7 @@ return; } - if (!atRuleNames.includes(vendor.unprefixed(name).toLowerCase())) { + if (!primaryValues.includes(vendor.unprefixed(name).toLowerCase())) { return; } @@ -20138,7 +15848,8 @@ message: messages.rejected(name), node: atRule, result, - ruleName }); + ruleName, + word: `@${atRule.name}` }); }); }; @@ -20148,9 +15859,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxAtRule": 408, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "../../utils/vendor": 444 }], 152: [function (require, module, exports) { + }, { "../../utils/isStandardSyntaxAtRule": 385, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/vendor": 422 }], 120: [function (require, module, exports) { 'use strict'; const addEmptyLineBefore = require('../../utils/addEmptyLineBefore'); @@ -20176,6 +15888,10 @@ rejected: 'Unexpected empty line before at-rule' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/at-rule-empty-line-before' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, secondaryOptions, context) => { return (root, result) => { @@ -20317,9 +16033,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/addEmptyLineBefore": 350, "../../utils/getPreviousNonSharedLineCommentNode": 371, "../../utils/hasEmptyLine": 377, "../../utils/isAfterComment": 383, "../../utils/isBlocklessAtRuleAfterBlocklessAtRule": 386, "../../utils/isBlocklessAtRuleAfterSameNameBlocklessAtRule": 387, "../../utils/isFirstNested": 395, "../../utils/isFirstNodeOfRoot": 396, "../../utils/isStandardSyntaxAtRule": 408, "../../utils/optionsMatches": 429, "../../utils/removeEmptyLinesBefore": 434, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443 }], 153: [function (require, module, exports) { + }, { "../../utils/addEmptyLineBefore": 323, "../../utils/getPreviousNonSharedLineCommentNode": 347, "../../utils/hasEmptyLine": 353, "../../utils/isAfterComment": 359, "../../utils/isBlocklessAtRuleAfterBlocklessAtRule": 362, "../../utils/isBlocklessAtRuleAfterSameNameBlocklessAtRule": 363, "../../utils/isFirstNested": 372, "../../utils/isFirstNodeOfRoot": 373, "../../utils/isStandardSyntaxAtRule": 385, "../../utils/optionsMatches": 406, "../../utils/removeEmptyLinesBefore": 411, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 121: [function (require, module, exports) { 'use strict'; const isStandardSyntaxAtRule = require('../../utils/isStandardSyntaxAtRule'); @@ -20333,6 +16050,10 @@ expected: (actual, expected) => `Expected "${actual}" to be "${expected}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/at-rule-name-case' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondary, context) => { return (root, result) => { @@ -20379,9 +16100,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxAtRule": 408, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442 }], 154: [function (require, module, exports) { + }, { "../../utils/isStandardSyntaxAtRule": 385, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420 }], 122: [function (require, module, exports) { 'use strict'; const atRuleNameSpaceChecker = require('../atRuleNameSpaceChecker'); @@ -20395,6 +16117,10 @@ expectedAfter: name => `Expected newline after at-rule name "${name}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/at-rule-name-newline-after' }; + + /** @type {import('stylelint').Rule} */ const rule = primary => { const checker = whitespaceChecker('newline', primary, messages); @@ -20420,9 +16146,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../atRuleNameSpaceChecker": 160 }], 155: [function (require, module, exports) { + }, { "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../atRuleNameSpaceChecker": 128 }], 123: [function (require, module, exports) { 'use strict'; const atRuleNameSpaceChecker = require('../atRuleNameSpaceChecker'); @@ -20436,6 +16163,10 @@ expectedAfter: name => `Expected single space after at-rule name "${name}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/at-rule-name-space-after' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondary, context) => { const checker = whitespaceChecker('space', primary, messages); @@ -20468,9 +16199,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../atRuleNameSpaceChecker": 160 }], 156: [function (require, module, exports) { + }, { "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../atRuleNameSpaceChecker": 128 }], 124: [function (require, module, exports) { 'use strict'; const isStandardSyntaxAtRule = require('../../utils/isStandardSyntaxAtRule'); @@ -20488,6 +16220,10 @@ rejected: atRule => `Unexpected unknown at-rule "${atRule}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/at-rule-no-unknown' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, secondaryOptions) => { return (root, result) => { @@ -20524,11 +16260,14 @@ return; } + const atName = `@${name}`; + report({ - message: messages.rejected(`@${name}`), + message: messages.rejected(atName), node: atRule, ruleName, - result }); + result, + word: atName }); }); }; @@ -20536,16 +16275,19 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../reference/keywordSets": 142, "../../utils/isStandardSyntaxAtRule": 408, "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "../../utils/vendor": 444 }], 157: [function (require, module, exports) { + }, { "../../reference/keywordSets": 110, "../../utils/isStandardSyntaxAtRule": 385, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/vendor": 422 }], 125: [function (require, module, exports) { 'use strict'; + const flattenArray = require('../../utils/flattenArray'); const isStandardSyntaxAtRule = require('../../utils/isStandardSyntaxAtRule'); const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); + const validateObjectWithArrayProps = require('../../utils/validateObjectWithArrayProps'); const validateOptions = require('../../utils/validateOptions'); - const { isPlainObject } = require('is-plain-object'); + const { isString } = require('../../utils/validateTypes'); const ruleName = 'at-rule-property-required-list'; @@ -20553,21 +16295,22 @@ expected: (property, atRule) => `Expected property "${property}" for at-rule "${atRule}"` }); - /** @type {import('stylelint').Rule} */ + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/at-rule-property-required-list' }; + + + /** @type {import('stylelint').Rule>} */ const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { actual: primary, - possible: [isPlainObject] }); + possible: [validateObjectWithArrayProps(isString)] }); if (!validOptions) { return; } - /** @type {Record} */ - const list = primary; - root.walkAtRules(atRule => { if (!isStandardSyntaxAtRule(atRule)) { return; @@ -20575,12 +16318,13 @@ const { name, nodes } = atRule; const atRuleName = name.toLowerCase(); + const propList = flattenArray(primary[atRuleName]); - if (!list[atRuleName]) { + if (!propList) { return; } - for (const property of list[atRuleName]) { + for (const property of propList) { const propertyName = property.toLowerCase(); const hasProperty = nodes.find( @@ -20605,10 +16349,10 @@ rule.ruleName = ruleName; rule.messages = messages; - + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxAtRule": 408, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "is-plain-object": 35 }], 158: [function (require, module, exports) { + }, { "../../utils/flattenArray": 338, "../../utils/isStandardSyntaxAtRule": 385, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateObjectWithArrayProps": 418, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 126: [function (require, module, exports) { 'use strict'; const hasBlock = require('../../utils/hasBlock'); @@ -20626,6 +16370,10 @@ expectedAfter: () => 'Expected newline after ";"' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/at-rule-semicolon-newline-after' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondary, context) => { const checker = whitespaceChecker('newline', primary, messages); @@ -20685,9 +16433,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/hasBlock": 375, "../../utils/isStandardSyntaxAtRule": 408, "../../utils/nextNonCommentNode": 427, "../../utils/rawNodeString": 432, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445 }], 159: [function (require, module, exports) { + }, { "../../utils/hasBlock": 351, "../../utils/isStandardSyntaxAtRule": 385, "../../utils/nextNonCommentNode": 404, "../../utils/rawNodeString": 409, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423 }], 127: [function (require, module, exports) { 'use strict'; const hasBlock = require('../../utils/hasBlock'); @@ -20705,6 +16454,10 @@ rejectedBefore: () => 'Unexpected whitespace before ";"' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/at-rule-semicolon-space-before' }; + + /** @type {import('stylelint').Rule} */ const rule = primary => { const checker = whitespaceChecker('space', primary, messages); @@ -20749,9 +16502,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/hasBlock": 375, "../../utils/isStandardSyntaxAtRule": 408, "../../utils/rawNodeString": 432, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445 }], 160: [function (require, module, exports) { + }, { "../../utils/hasBlock": 351, "../../utils/isStandardSyntaxAtRule": 385, "../../utils/rawNodeString": 409, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423 }], 128: [function (require, module, exports) { 'use strict'; const isStandardSyntaxAtRule = require('../utils/isStandardSyntaxAtRule'); @@ -20808,7 +16562,7 @@ } }; - }, { "../utils/isStandardSyntaxAtRule": 408, "../utils/report": 435 }], 161: [function (require, module, exports) { + }, { "../utils/isStandardSyntaxAtRule": 385, "../utils/report": 412 }], 129: [function (require, module, exports) { 'use strict'; const addEmptyLineAfter = require('../../utils/addEmptyLineAfter'); @@ -20830,6 +16584,10 @@ rejected: 'Unexpected empty line before closing brace' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/block-closing-brace-empty-line-before' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, secondaryOptions, context) => { return (root, result) => { @@ -20930,9 +16688,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/addEmptyLineAfter": 349, "../../utils/blockString": 354, "../../utils/hasBlock": 375, "../../utils/hasEmptyBlock": 376, "../../utils/hasEmptyLine": 377, "../../utils/isSingleLineString": 407, "../../utils/optionsMatches": 429, "../../utils/removeEmptyLinesAfter": 433, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442 }], 162: [function (require, module, exports) { + }, { "../../utils/addEmptyLineAfter": 322, "../../utils/blockString": 328, "../../utils/hasBlock": 351, "../../utils/hasEmptyBlock": 352, "../../utils/hasEmptyLine": 353, "../../utils/isSingleLineString": 384, "../../utils/optionsMatches": 406, "../../utils/removeEmptyLinesAfter": 410, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420 }], 130: [function (require, module, exports) { 'use strict'; const blockString = require('../../utils/blockString'); @@ -20955,6 +16714,10 @@ rejectedAfterMultiLine: () => 'Unexpected whitespace after "}" of a multi-line block' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/block-closing-brace-newline-after' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, secondaryOptions, context) => { const checker = whitespaceChecker('newline', primary, messages); @@ -21077,9 +16840,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/blockString": 354, "../../utils/hasBlock": 375, "../../utils/optionsMatches": 429, "../../utils/rawNodeString": 432, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "../../utils/whitespaceChecker": 445 }], 163: [function (require, module, exports) { + }, { "../../utils/blockString": 328, "../../utils/hasBlock": 351, "../../utils/optionsMatches": 406, "../../utils/rawNodeString": 409, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/whitespaceChecker": 423 }], 131: [function (require, module, exports) { 'use strict'; const blockString = require('../../utils/blockString'); @@ -21098,6 +16862,10 @@ rejectedBeforeMultiLine: 'Unexpected whitespace before "}" of a multi-line block' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/block-closing-brace-newline-before' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { return (root, result) => { @@ -21204,9 +16972,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/blockString": 354, "../../utils/hasBlock": 375, "../../utils/hasEmptyBlock": 376, "../../utils/isSingleLineString": 407, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442 }], 164: [function (require, module, exports) { + }, { "../../utils/blockString": 328, "../../utils/hasBlock": 351, "../../utils/hasEmptyBlock": 352, "../../utils/isSingleLineString": 384, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420 }], 132: [function (require, module, exports) { 'use strict'; const blockString = require('../../utils/blockString'); @@ -21228,6 +16997,10 @@ rejectedAfterMultiLine: () => 'Unexpected whitespace after "}" of a multi-line block' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/block-closing-brace-space-after' }; + + /** @type {import('stylelint').Rule} */ const rule = primary => { const checker = whitespaceChecker('space', primary, messages); @@ -21296,9 +17069,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/blockString": 354, "../../utils/hasBlock": 375, "../../utils/rawNodeString": 432, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445 }], 165: [function (require, module, exports) { + }, { "../../utils/blockString": 328, "../../utils/hasBlock": 351, "../../utils/rawNodeString": 409, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423 }], 133: [function (require, module, exports) { 'use strict'; const blockString = require('../../utils/blockString'); @@ -21320,6 +17094,10 @@ rejectedBeforeMultiLine: () => 'Unexpected whitespace before "}" of a multi-line block' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/block-closing-brace-space-before' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { const checker = whitespaceChecker('space', primary, messages); @@ -21400,9 +17178,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/blockString": 354, "../../utils/hasBlock": 375, "../../utils/hasEmptyBlock": 376, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445 }], 166: [function (require, module, exports) { + }, { "../../utils/blockString": 328, "../../utils/hasBlock": 351, "../../utils/hasEmptyBlock": 352, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423 }], 134: [function (require, module, exports) { 'use strict'; const beforeBlockString = require('../../utils/beforeBlockString'); @@ -21420,6 +17199,10 @@ rejected: 'Unexpected empty block' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/block-no-empty' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, secondaryOptions) => { return (root, result) => { @@ -21477,7 +17260,7 @@ report({ message: messages.rejected, node: statement, - index, + start: statement.positionBy({ index }), result, ruleName }); @@ -21487,15 +17270,17 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/beforeBlockString": 353, "../../utils/hasBlock": 375, "../../utils/hasEmptyBlock": 376, "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443 }], 167: [function (require, module, exports) { + }, { "../../utils/beforeBlockString": 327, "../../utils/hasBlock": 351, "../../utils/hasEmptyBlock": 352, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 135: [function (require, module, exports) { 'use strict'; const beforeBlockString = require('../../utils/beforeBlockString'); const blockString = require('../../utils/blockString'); const hasBlock = require('../../utils/hasBlock'); const hasEmptyBlock = require('../../utils/hasEmptyBlock'); + const optionsMatches = require('../../utils/optionsMatches'); const rawNodeString = require('../../utils/rawNodeString'); const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); @@ -21510,14 +17295,29 @@ rejectedAfterMultiLine: () => 'Unexpected whitespace after "{" of a multi-line block' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/block-opening-brace-newline-after' }; + + /** @type {import('stylelint').Rule} */ - const rule = (primary, _secondaryOptions, context) => { + const rule = (primary, secondaryOptions, context) => { const checker = whitespaceChecker('newline', primary, messages); return (root, result) => { - const validOptions = validateOptions(result, ruleName, { + const validOptions = validateOptions( + result, + ruleName, + { actual: primary, - possible: ['always', 'always-multi-line', 'never-multi-line'] }); + possible: ['always', 'rules', 'always-multi-line', 'never-multi-line'] }, + + { + actual: secondaryOptions, + possible: { + ignore: ['rules'] }, + + optional: true }); + if (!validOptions) { @@ -21525,7 +17325,10 @@ } // Check both kinds of statement: rules and at-rules - root.walkRules(check); + if (!optionsMatches(secondaryOptions, 'ignore', 'rules')) { + root.walkRules(check); + } + root.walkAtRules(check); /** @@ -21649,9 +17452,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/beforeBlockString": 353, "../../utils/blockString": 354, "../../utils/hasBlock": 375, "../../utils/hasEmptyBlock": 376, "../../utils/rawNodeString": 432, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445 }], 168: [function (require, module, exports) { + }, { "../../utils/beforeBlockString": 327, "../../utils/blockString": 328, "../../utils/hasBlock": 351, "../../utils/hasEmptyBlock": 352, "../../utils/optionsMatches": 406, "../../utils/rawNodeString": 409, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423 }], 136: [function (require, module, exports) { 'use strict'; const beforeBlockString = require('../../utils/beforeBlockString'); @@ -21673,6 +17477,10 @@ rejectedBeforeMultiLine: () => 'Unexpected whitespace before "{" of a multi-line block' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/block-opening-brace-newline-before' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { const checker = whitespaceChecker('newline', primary, messages); @@ -21764,15 +17572,17 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/beforeBlockString": 353, "../../utils/blockString": 354, "../../utils/hasBlock": 375, "../../utils/hasEmptyBlock": 376, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445 }], 169: [function (require, module, exports) { + }, { "../../utils/beforeBlockString": 327, "../../utils/blockString": 328, "../../utils/hasBlock": 351, "../../utils/hasEmptyBlock": 352, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423 }], 137: [function (require, module, exports) { 'use strict'; const beforeBlockString = require('../../utils/beforeBlockString'); const blockString = require('../../utils/blockString'); const hasBlock = require('../../utils/hasBlock'); const hasEmptyBlock = require('../../utils/hasEmptyBlock'); + const optionsMatches = require('../../utils/optionsMatches'); const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); const validateOptions = require('../../utils/validateOptions'); @@ -21789,12 +17599,19 @@ rejectedAfterMultiLine: () => 'Unexpected whitespace after "{" of a multi-line block' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/block-opening-brace-space-after' }; + + /** @type {import('stylelint').Rule} */ - const rule = (primary, _secondaryOptions, context) => { + const rule = (primary, secondaryOptions, context) => { const checker = whitespaceChecker('space', primary, messages); return (root, result) => { - const validOptions = validateOptions(result, ruleName, { + const validOptions = validateOptions( + result, + ruleName, + { actual: primary, possible: [ 'always', @@ -21802,7 +17619,15 @@ 'always-single-line', 'never-single-line', 'always-multi-line', - 'never-multi-line'] }); + 'never-multi-line'] }, + + + { + actual: secondaryOptions, + possible: { + ignore: ['at-rules'] }, + + optional: true }); @@ -21812,7 +17637,10 @@ // Check both kinds of statements: rules and at-rules root.walkRules(check); - root.walkAtRules(check); + + if (!optionsMatches(secondaryOptions, 'ignore', 'at-rules')) { + root.walkAtRules(check); + } /** * @param {import('postcss').Rule | import('postcss').AtRule} statement @@ -21860,9 +17688,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/beforeBlockString": 353, "../../utils/blockString": 354, "../../utils/hasBlock": 375, "../../utils/hasEmptyBlock": 376, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445 }], 170: [function (require, module, exports) { + }, { "../../utils/beforeBlockString": 327, "../../utils/blockString": 328, "../../utils/hasBlock": 351, "../../utils/hasEmptyBlock": 352, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423 }], 138: [function (require, module, exports) { 'use strict'; const beforeBlockString = require('../../utils/beforeBlockString'); @@ -21887,6 +17716,10 @@ rejectedBeforeMultiLine: () => 'Unexpected whitespace before "{" of a multi-line block' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/block-opening-brace-space-before' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, secondaryOptions, context) => { const checker = whitespaceChecker('space', primary, messages); @@ -21994,9 +17827,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/beforeBlockString": 353, "../../utils/blockString": 354, "../../utils/hasBlock": 375, "../../utils/hasEmptyBlock": 376, "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "../../utils/whitespaceChecker": 445 }], 171: [function (require, module, exports) { + }, { "../../utils/beforeBlockString": 327, "../../utils/blockString": 328, "../../utils/hasBlock": 351, "../../utils/hasEmptyBlock": 352, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/whitespaceChecker": 423 }], 139: [function (require, module, exports) { 'use strict'; const valueParser = require('postcss-value-parser'); @@ -22016,6 +17850,10 @@ expected: primary => `Expected ${primary} color-function notation` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/color-function-notation' }; + + const LEGACY_FUNCS = new Set(['rgba', 'hsla']); const LEGACY_NOTATION_FUNCS = new Set(['rgb', 'rgba', 'hsl', 'hsla']); @@ -22038,7 +17876,7 @@ if (!isStandardSyntaxColorFunction(node)) return; - const { value, sourceIndex, nodes } = node; + const { value, sourceIndex, sourceEndIndex, nodes } = node; if (!LEGACY_NOTATION_FUNCS.has(value.toLowerCase())) return; @@ -22078,10 +17916,14 @@ return; } + const index = declarationValueIndex(decl) + sourceIndex; + const endIndex = index + (sourceEndIndex - sourceIndex); + report({ message: messages.expected(primary), node: decl, - index: declarationValueIndex(decl) + sourceIndex, + index, + endIndex, result, ruleName }); @@ -22118,9 +17960,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/getDeclarationValue": 366, "../../utils/isStandardSyntaxColorFunction": 409, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/setDeclarationValue": 438, "../../utils/typeGuards": 440, "../../utils/validateOptions": 442, "postcss-value-parser": 83 }], 172: [function (require, module, exports) { + }, { "../../utils/declarationValueIndex": 333, "../../utils/getDeclarationValue": 341, "../../utils/isStandardSyntaxColorFunction": 386, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/setDeclarationValue": 415, "../../utils/typeGuards": 417, "../../utils/validateOptions": 420, "postcss-value-parser": 59 }], 140: [function (require, module, exports) { 'use strict'; const declarationValueIndex = require('../../utils/declarationValueIndex'); @@ -22136,6 +17979,10 @@ unexpected: hex => `Unexpected alpha channel in "${hex}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/color-hex-alpha' }; + + const HEX = /^#(?:[\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$/i; /** @type {import('stylelint').Rule} */ @@ -22162,10 +18009,14 @@ if (primary === 'never' && !hasAlphaChannel(value)) return; + const index = declarationValueIndex(decl) + node.sourceIndex; + const endIndex = index + value.length; + report({ message: primary === 'never' ? messages.unexpected(value) : messages.expected(value), node: decl, - index: declarationValueIndex(decl) + node.sourceIndex, + index, + endIndex, result, ruleName }); @@ -22197,9 +18048,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "postcss-value-parser": 83 }], 173: [function (require, module, exports) { + }, { "../../utils/declarationValueIndex": 333, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "postcss-value-parser": 59 }], 141: [function (require, module, exports) { 'use strict'; const valueParser = require('postcss-value-parser'); @@ -22217,6 +18069,10 @@ expected: (actual, expected) => `Expected "${actual}" to be "${expected}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/color-hex-case' }; + + const HEX = /^#[0-9A-Za-z]+/; const IGNORED_FUNCTIONS = new Set(['url']); @@ -22286,9 +18142,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/getDeclarationValue": 366, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/setDeclarationValue": 438, "../../utils/validateOptions": 442, "postcss-value-parser": 83 }], 174: [function (require, module, exports) { + }, { "../../utils/declarationValueIndex": 333, "../../utils/getDeclarationValue": 341, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/setDeclarationValue": 415, "../../utils/validateOptions": 420, "postcss-value-parser": 59 }], 142: [function (require, module, exports) { 'use strict'; const valueParser = require('postcss-value-parser'); @@ -22306,6 +18163,10 @@ expected: (actual, expected) => `Expected "${actual}" to be "${expected}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/color-hex-length' }; + + const HEX = /^#[0-9A-Za-z]+/; const IGNORED_FUNCTIONS = new Set(['url']); @@ -22350,10 +18211,14 @@ return; } + const index = declarationValueIndex(decl) + node.sourceIndex; + const endIndex = index + node.value.length; + report({ message: messages.expected(hexValue, expectedHex), node: decl, - index: declarationValueIndex(decl) + node.sourceIndex, + index, + endIndex, result, ruleName }); @@ -22400,7 +18265,7 @@ let hexVariant = '#'; for (let i = 1; i < hex.length; i++) { - hexVariant += hex[i] + hex[i]; + hexVariant += hex.charAt(i).repeat(2); } return hexVariant; @@ -22422,9 +18287,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/getDeclarationValue": 366, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/setDeclarationValue": 438, "../../utils/validateOptions": 442, "postcss-value-parser": 83 }], 175: [function (require, module, exports) { + }, { "../../utils/declarationValueIndex": 333, "../../utils/getDeclarationValue": 341, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/setDeclarationValue": 415, "../../utils/validateOptions": 420, "postcss-value-parser": 59 }], 143: [function (require, module, exports) { const { colord, extend } = require('colord'); const valueParser = require('postcss-value-parser'); @@ -22470,7 +18336,7 @@ const [hue, whiteness = '', blackness = '', alpha, ...extraArgs] = input.slice(4, -1).split(','); - if (!hue.trim() || !whiteness.trim() || !blackness.trim() || extraArgs.length > 0) { + if (!hue || !hue.trim() || !whiteness.trim() || !blackness.trim() || extraArgs.length > 0) { return null; } @@ -22499,7 +18365,7 @@ const [lightness, alpha, ...extraArgs] = input.slice(5, -1).split(','); - if (extraArgs.length > 0) { + if (!lightness || extraArgs.length > 0) { return null; } @@ -22534,7 +18400,7 @@ return colord(colorObject).rgba; } - }, { "colord": 10, "colord/plugins/hwb": 11, "colord/plugins/lab": 12, "colord/plugins/lch": 13, "colord/plugins/names": 14, "postcss-value-parser": 83 }], 176: [function (require, module, exports) { + }, { "colord": 5, "colord/plugins/hwb": 6, "colord/plugins/lab": 7, "colord/plugins/lch": 8, "colord/plugins/names": 9, "postcss-value-parser": 59 }], 144: [function (require, module, exports) { 'use strict'; const declarationValueIndex = require('../../utils/declarationValueIndex'); @@ -22556,6 +18422,10 @@ rejected: named => `Unexpected named color "${named}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/color-named' }; + + // Todo tested on case insensitivity const NODE_TYPES = new Set(['word', 'function']); @@ -22623,7 +18493,12 @@ value.toLowerCase() !== 'transparent' && colord(value).isValid()) { - complain(messages.rejected(value), decl, declarationValueIndex(decl) + sourceIndex); + complain( + messages.rejected(value), + decl, + declarationValueIndex(decl) + sourceIndex, + value.length); + return; } @@ -22633,18 +18508,18 @@ return; } + let rawColorString = null; let colorString = null; if (type === 'function') { + rawColorString = valueParser.stringify(node); + // First by checking for alternative color function representations ... // Remove all spaces to match what's in `representations` - colorString = valueParser. - stringify(node). - replace(/\s*([,/()])\s*/g, '$1'). - replace(/\s{2,}/g, ' '); + colorString = rawColorString.replace(/\s*([,/()])\s*/g, '$1').replace(/\s{2,}/g, ' '); } else if (type === 'word' && value.startsWith('#')) { // Then by checking for alternative hex representations - colorString = value; + rawColorString = colorString = value; } else { return; } @@ -22661,7 +18536,8 @@ complain( messages.expected(namedColor, colorString), decl, - declarationValueIndex(decl) + sourceIndex); + declarationValueIndex(decl) + sourceIndex, + rawColorString.length); } }); @@ -22671,14 +18547,16 @@ * @param {string} message * @param {import('postcss').Node} node * @param {number} index + * @param {number} length */ - function complain(message, node, index) { + function complain(message, node, index, length) { report({ result, ruleName, message, node, - index }); + index, + endIndex: index + length }); } }; @@ -22686,9 +18564,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../reference/propertySets": 144, "../../utils/declarationValueIndex": 359, "../../utils/isStandardSyntaxFunction": 413, "../../utils/isStandardSyntaxValue": 421, "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "./colordUtils": 175, "postcss-value-parser": 83 }], 177: [function (require, module, exports) { + }, { "../../reference/propertySets": 112, "../../utils/declarationValueIndex": 333, "../../utils/isStandardSyntaxFunction": 390, "../../utils/isStandardSyntaxValue": 398, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "./colordUtils": 143, "postcss-value-parser": 59 }], 145: [function (require, module, exports) { 'use strict'; const valueParser = require('postcss-value-parser'); @@ -22705,6 +18584,10 @@ rejected: hex => `Unexpected hex color "${hex}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/color-no-hex' }; + + const HEX = /^#[0-9A-Za-z]+/; const IGNORED_FUNCTIONS = new Set(['url']); @@ -22725,10 +18608,14 @@ if (!isHexColor(node)) return; + const index = declarationValueIndex(decl) + node.sourceIndex; + const endIndex = index + node.value.length; + report({ message: messages.rejected(node.value), node: decl, - index: declarationValueIndex(decl) + node.sourceIndex, + index, + endIndex, result, ruleName }); @@ -22753,9 +18640,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/getDeclarationValue": 366, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "postcss-value-parser": 83 }], 178: [function (require, module, exports) { + }, { "../../utils/declarationValueIndex": 333, "../../utils/getDeclarationValue": 341, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "postcss-value-parser": 59 }], 146: [function (require, module, exports) { 'use strict'; const declarationValueIndex = require('../../utils/declarationValueIndex'); @@ -22772,6 +18660,10 @@ rejected: hex => `Unexpected invalid hex color "${hex}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/color-no-invalid-hex' }; + + /** @type {import('stylelint').Rule} */ const rule = primary => { return (root, result) => { @@ -22797,12 +18689,16 @@ const hexValue = hexMatch[0]; - if (isValidHex(hexValue)) return; + if (!hexValue || isValidHex(hexValue)) return; + + const index = declarationValueIndex(decl) + sourceIndex; + const endIndex = index + hexValue.length; report({ message: messages.rejected(hexValue), node: decl, - index: declarationValueIndex(decl) + sourceIndex, + index, + endIndex, result, ruleName }); @@ -22813,9 +18709,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/isStandardSyntaxHexColor": 414, "../../utils/isValidHex": 423, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "postcss-value-parser": 83 }], 179: [function (require, module, exports) { + }, { "../../utils/declarationValueIndex": 333, "../../utils/isStandardSyntaxHexColor": 391, "../../utils/isValidHex": 400, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "postcss-value-parser": 59 }], 147: [function (require, module, exports) { 'use strict'; const addEmptyLineBefore = require('../../utils/addEmptyLineBefore'); @@ -22839,6 +18736,10 @@ rejected: 'Unexpected empty line before comment' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/comment-empty-line-before' }; + + const stylelintCommandPrefix = 'stylelint-'; /** @type {import('stylelint').Rule} */ @@ -22943,9 +18844,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/addEmptyLineBefore": 350, "../../utils/hasEmptyLine": 377, "../../utils/isAfterComment": 383, "../../utils/isFirstNested": 395, "../../utils/isFirstNodeOfRoot": 396, "../../utils/isSharedLineComment": 406, "../../utils/isStandardSyntaxComment": 411, "../../utils/optionsMatches": 429, "../../utils/removeEmptyLinesBefore": 434, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443 }], 180: [function (require, module, exports) { + }, { "../../utils/addEmptyLineBefore": 323, "../../utils/hasEmptyLine": 353, "../../utils/isAfterComment": 359, "../../utils/isFirstNested": 372, "../../utils/isFirstNodeOfRoot": 373, "../../utils/isSharedLineComment": 383, "../../utils/isStandardSyntaxComment": 388, "../../utils/optionsMatches": 406, "../../utils/removeEmptyLinesBefore": 411, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 148: [function (require, module, exports) { 'use strict'; const isStandardSyntaxComment = require('../../utils/isStandardSyntaxComment'); @@ -22959,6 +18861,10 @@ rejected: 'Unexpected empty comment' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/comment-no-empty' }; + + /** @type {import('stylelint').Rule} */ const rule = primary => { return (root, result) => { @@ -22991,9 +18897,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxComment": 411, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442 }], 181: [function (require, module, exports) { + }, { "../../utils/isStandardSyntaxComment": 388, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420 }], 149: [function (require, module, exports) { 'use strict'; const report = require('../../utils/report'); @@ -23007,6 +18914,10 @@ expected: pattern => `Expected comment to match pattern "${pattern}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/comment-pattern' }; + + /** @type {import('stylelint').Rule} */ const rule = primary => { return (root, result) => { @@ -23040,9 +18951,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443 }], 182: [function (require, module, exports) { + }, { "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 150: [function (require, module, exports) { 'use strict'; const isStandardSyntaxComment = require('../../utils/isStandardSyntaxComment'); @@ -23060,6 +18972,10 @@ rejectedClosing: 'Unexpected whitespace before "*/"' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/comment-whitespace-inside' }; + + /** * @param {import('postcss').Comment} comment */ @@ -23100,7 +19016,7 @@ } const rawComment = comment.toString(); - const firstFourChars = rawComment.substr(0, 4); + const firstFourChars = rawComment.slice(0, 4); // Return early if sourcemap or copyright comment if (/^\/\*[#!]\s/.test(firstFourChars)) { @@ -23109,11 +19025,15 @@ const leftMatches = rawComment.match(/(^\/\*+)(\s)?/); - if (leftMatches == null) throw new Error(`Invalid comment: "${rawComment}"`); + if (leftMatches == null || leftMatches[1] == null) { + throw new Error(`Invalid comment: "${rawComment}"`); + } const rightMatches = rawComment.match(/(\s)?(\*+\/)$/); - if (rightMatches == null) throw new Error(`Invalid comment: "${rawComment}"`); + if (rightMatches == null || rightMatches[2] == null) { + throw new Error(`Invalid comment: "${rawComment}"`); + } const opener = leftMatches[1]; const leftSpace = leftMatches[2] || ''; @@ -23173,9 +19093,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxComment": 411, "../../utils/isWhitespace": 425, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442 }], 183: [function (require, module, exports) { + }, { "../../utils/isStandardSyntaxComment": 388, "../../utils/isWhitespace": 402, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420 }], 151: [function (require, module, exports) { 'use strict'; const containsString = require('../../utils/containsString'); @@ -23191,7 +19112,11 @@ rejected: pattern => `Unexpected word matching pattern "${pattern}"` }); - /** @type {import('stylelint').Rule} */ + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/comment-word-disallowed-list' }; + + + /** @type {import('stylelint').Rule>} */ const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { @@ -23206,7 +19131,7 @@ root.walkComments(comment => { const text = comment.text; const rawComment = comment.toString(); - const firstFourChars = rawComment.substr(0, 4); + const firstFourChars = rawComment.slice(0, 4); // Return early if sourcemap if (firstFourChars === '/*# ') { @@ -23222,6 +19147,7 @@ report({ message: messages.rejected(matchesWord.pattern), node: comment, + word: matchesWord.substring, result, ruleName }); @@ -23233,9 +19159,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/containsString": 358, "../../utils/matchesStringOrRegExp": 426, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443 }], 184: [function (require, module, exports) { + }, { "../../utils/containsString": 332, "../../utils/matchesStringOrRegExp": 403, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 152: [function (require, module, exports) { 'use strict'; const atRuleParamIndex = require('../../utils/atRuleParamIndex'); @@ -23250,6 +19177,10 @@ expected: pattern => `Expected custom media query name to match pattern "${pattern}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/custom-media-pattern' }; + + /** @type {import('stylelint').Rule} */ const rule = primary => { return (root, result) => { @@ -23271,7 +19202,9 @@ const match = atRule.params.match(/^--(\S+)\b/); - if (match == null) throw new Error(`Unexpected at-rule params: "${atRule.params}"`); + if (match == null || match[0] == null) { + throw new Error(`Unexpected at-rule params: "${atRule.params}"`); + } const customMediaName = match[1]; @@ -23279,10 +19212,13 @@ return; } + const index = atRuleParamIndex(atRule); + report({ message: messages.expected(primary), node: atRule, - index: atRuleParamIndex(atRule), + index, + endIndex: index + match[0].length, result, ruleName }); @@ -23292,9 +19228,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/atRuleParamIndex": 352, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443 }], 185: [function (require, module, exports) { + }, { "../../utils/atRuleParamIndex": 326, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 153: [function (require, module, exports) { 'use strict'; const addEmptyLineBefore = require('../../utils/addEmptyLineBefore'); @@ -23320,6 +19257,10 @@ rejected: 'Unexpected empty line before custom property' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/custom-property-empty-line-before' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, secondaryOptions, context) => { return (root, result) => { @@ -23431,9 +19372,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/addEmptyLineBefore": 350, "../../utils/blockString": 354, "../../utils/getPreviousNonSharedLineCommentNode": 371, "../../utils/hasEmptyLine": 377, "../../utils/isAfterComment": 383, "../../utils/isCustomProperty": 393, "../../utils/isFirstNested": 395, "../../utils/isSingleLineString": 407, "../../utils/isStandardSyntaxDeclaration": 412, "../../utils/optionsMatches": 429, "../../utils/removeEmptyLinesBefore": 434, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/typeGuards": 440, "../../utils/validateOptions": 442 }], 186: [function (require, module, exports) { + }, { "../../utils/addEmptyLineBefore": 323, "../../utils/blockString": 328, "../../utils/getPreviousNonSharedLineCommentNode": 347, "../../utils/hasEmptyLine": 353, "../../utils/isAfterComment": 359, "../../utils/isCustomProperty": 370, "../../utils/isFirstNested": 372, "../../utils/isSingleLineString": 384, "../../utils/isStandardSyntaxDeclaration": 389, "../../utils/optionsMatches": 406, "../../utils/removeEmptyLinesBefore": 411, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/typeGuards": 417, "../../utils/validateOptions": 420 }], 154: [function (require, module, exports) { 'use strict'; const valueParser = require('postcss-value-parser'); @@ -23450,6 +19392,10 @@ rejected: customProperty => `Unexpected missing var function for "${customProperty}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/custom-property-no-missing-var-function' }; + + /** @type {import('stylelint').Rule} */ const rule = primary => { return (root, result) => { @@ -23479,10 +19425,14 @@ if (!knownCustomProperties.has(node.value)) return; + const index = declarationValueIndex(decl) + node.sourceIndex; + const endIndex = index + node.value.length; + report({ message: messages.rejected(node.value), node: decl, - index: declarationValueIndex(decl) + node.sourceIndex, + index, + endIndex, result, ruleName }); @@ -23509,16 +19459,21 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/isCustomProperty": 393, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "postcss-value-parser": 83 }], 187: [function (require, module, exports) { + }, { "../../utils/declarationValueIndex": 333, "../../utils/isCustomProperty": 370, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "postcss-value-parser": 59 }], 155: [function (require, module, exports) { 'use strict'; + const valueParser = require('postcss-value-parser'); const isCustomProperty = require('../../utils/isCustomProperty'); const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); const validateOptions = require('../../utils/validateOptions'); + const declarationValueIndex = require('../../utils/declarationValueIndex'); const { isRegExp, isString } = require('../../utils/validateTypes'); + const { isValueFunction } = require('../../utils/typeGuards'); + const isStandardSyntaxProperty = require('../../utils/isStandardSyntaxProperty'); const ruleName = 'custom-property-pattern'; @@ -23526,6 +19481,10 @@ expected: pattern => `Expected custom property name to match pattern "${pattern}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/custom-property-pattern' }; + + /** @type {import('stylelint').Rule} */ const rule = primary => { return (root, result) => { @@ -23540,32 +19499,66 @@ const regexpPattern = isString(primary) ? new RegExp(primary) : primary; + /** + * @param {string} property + * @returns {boolean} + */ + function check(property) { + return ( + !isStandardSyntaxProperty(property) || + !isCustomProperty(property) || + regexpPattern.test(property.slice(2))); + + } + root.walkDecls(decl => { - const prop = decl.prop; + const { prop, value } = decl; - if (!isCustomProperty(prop)) { - return; - } + const parsedValue = valueParser(value); - if (regexpPattern.test(prop.slice(2))) { - return; - } + parsedValue.walk(node => { + if (!isValueFunction(node)) return; + + if (node.value.toLowerCase() !== 'var') return; + + const { nodes } = node; + const firstNode = nodes[0]; + + if (!firstNode || check(firstNode.value)) return; + + complain(declarationValueIndex(decl) + firstNode.sourceIndex, firstNode.value.length, decl); + }); + + if (check(prop)) return; + + complain(0, prop.length, decl); + }); + + /** + * @param {number} index + * @param {number} length + * @param {import('postcss').Declaration} decl + */ + function complain(index, length, decl) { report({ + result, + ruleName, message: messages.expected(primary), node: decl, - result, - ruleName }); + index, + endIndex: index + length }); - }); + } }; }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isCustomProperty": 393, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443 }], 188: [function (require, module, exports) { + }, { "../../utils/declarationValueIndex": 333, "../../utils/isCustomProperty": 370, "../../utils/isStandardSyntaxProperty": 393, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/typeGuards": 417, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "postcss-value-parser": 59 }], 156: [function (require, module, exports) { 'use strict'; const declarationBangSpaceChecker = require('../declarationBangSpaceChecker'); @@ -23583,6 +19576,10 @@ rejectedAfter: () => 'Unexpected whitespace after "!"' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/declaration-bang-space-after' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { const checker = whitespaceChecker('space', primary, messages); @@ -23649,9 +19646,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/getDeclarationValue": 366, "../../utils/ruleMessages": 436, "../../utils/setDeclarationValue": 438, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../declarationBangSpaceChecker": 209 }], 189: [function (require, module, exports) { + }, { "../../utils/declarationValueIndex": 333, "../../utils/getDeclarationValue": 341, "../../utils/ruleMessages": 413, "../../utils/setDeclarationValue": 415, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../declarationBangSpaceChecker": 178 }], 157: [function (require, module, exports) { 'use strict'; const declarationBangSpaceChecker = require('../declarationBangSpaceChecker'); @@ -23669,6 +19667,10 @@ rejectedBefore: () => 'Unexpected whitespace before "!"' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/declaration-bang-space-before' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { const checker = whitespaceChecker('space', primary, messages); @@ -23736,9 +19738,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/getDeclarationValue": 366, "../../utils/ruleMessages": 436, "../../utils/setDeclarationValue": 438, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../declarationBangSpaceChecker": 209 }], 190: [function (require, module, exports) { + }, { "../../utils/declarationValueIndex": 333, "../../utils/getDeclarationValue": 341, "../../utils/ruleMessages": 413, "../../utils/setDeclarationValue": 415, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../declarationBangSpaceChecker": 178 }], 158: [function (require, module, exports) { 'use strict'; const eachDeclarationBlock = require('../../utils/eachDeclarationBlock'); @@ -23754,6 +19757,10 @@ rejected: property => `Unexpected duplicate "${property}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/declaration-block-no-duplicate-custom-properties' }; + + /** @type {import('stylelint').Rule} */ const rule = primary => { return (root, result) => { @@ -23784,7 +19791,8 @@ message: messages.rejected(prop), node: decl, result, - ruleName }); + ruleName, + word: prop }); return; @@ -23798,9 +19806,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/eachDeclarationBlock": 360, "../../utils/isCustomProperty": 393, "../../utils/isStandardSyntaxProperty": 416, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442 }], 191: [function (require, module, exports) { + }, { "../../utils/eachDeclarationBlock": 334, "../../utils/isCustomProperty": 370, "../../utils/isStandardSyntaxProperty": 393, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420 }], 159: [function (require, module, exports) { 'use strict'; const eachDeclarationBlock = require('../../utils/eachDeclarationBlock'); @@ -23819,6 +19828,10 @@ rejected: property => `Unexpected duplicate "${property}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/declaration-block-no-duplicate-properties' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, secondaryOptions) => { return (root, result) => { @@ -23894,13 +19907,14 @@ message: messages.rejected(prop), node: decl, result, - ruleName }); + ruleName, + word: prop }); return; } - const duplicateValue = values[indexDuplicate]; + const duplicateValue = values[indexDuplicate] || ''; if (ignorePrefixlessSameValues) { // fails if values of consecutive, unprefixed duplicates are equal @@ -23909,7 +19923,8 @@ message: messages.rejected(prop), node: decl, result, - ruleName }); + ruleName, + word: prop }); return; @@ -23922,7 +19937,8 @@ message: messages.rejected(prop), node: decl, result, - ruleName }); + ruleName, + word: prop }); return; @@ -23939,7 +19955,8 @@ message: messages.rejected(prop), node: decl, result, - ruleName }); + ruleName, + word: prop }); } @@ -23952,9 +19969,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/eachDeclarationBlock": 360, "../../utils/isCustomProperty": 393, "../../utils/isStandardSyntaxProperty": 416, "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "../../utils/vendor": 444 }], 192: [function (require, module, exports) { + }, { "../../utils/eachDeclarationBlock": 334, "../../utils/isCustomProperty": 370, "../../utils/isStandardSyntaxProperty": 393, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/vendor": 422 }], 160: [function (require, module, exports) { 'use strict'; const arrayEqual = require('../../utils/arrayEqual'); @@ -23973,6 +19991,10 @@ expected: props => `Expected shorthand property "${props}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/declaration-block-no-redundant-longhand-properties' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, secondaryOptions) => { return (root, result) => { @@ -24025,23 +20047,19 @@ for (const shorthandProperty of shorthandProperties) { const prefixedShorthandProperty = prefix + shorthandProperty; + let longhandDeclaration = longhandDeclarations[prefixedShorthandProperty]; - if (!longhandDeclarations[prefixedShorthandProperty]) { - longhandDeclarations[prefixedShorthandProperty] = []; + if (!longhandDeclaration) { + longhandDeclaration = longhandDeclarations[prefixedShorthandProperty] = []; } - longhandDeclarations[prefixedShorthandProperty].push(prop); + longhandDeclaration.push(prop); - const prefixedShorthandData = shorthandData[shorthandProperty].map( + const prefixedShorthandData = (shorthandData[shorthandProperty] || []).map( item => prefix + item); - if ( - !arrayEqual( - prefixedShorthandData.sort(), - longhandDeclarations[prefixedShorthandProperty].sort())) - - { + if (!arrayEqual(prefixedShorthandData.sort(), longhandDeclaration.sort())) { continue; } @@ -24059,9 +20077,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../reference/shorthandData": 145, "../../utils/arrayEqual": 351, "../../utils/eachDeclarationBlock": 360, "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "../../utils/vendor": 444 }], 193: [function (require, module, exports) { + }, { "../../reference/shorthandData": 113, "../../utils/arrayEqual": 325, "../../utils/eachDeclarationBlock": 334, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/vendor": 422 }], 161: [function (require, module, exports) { 'use strict'; const eachDeclarationBlock = require('../../utils/eachDeclarationBlock'); @@ -24077,6 +20096,10 @@ rejected: (shorthand, original) => `Unexpected shorthand "${shorthand}" after "${original}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/declaration-block-no-shorthand-property-overrides' }; + + /** @type {import('stylelint').Rule} */ const rule = primary => { return (root, result) => { @@ -24112,7 +20135,8 @@ ruleName, result, node: decl, - message: messages.rejected(prop, declarations[prefix + longhandProp]) }); + message: messages.rejected(prop, declarations[prefix + longhandProp] || ''), + word: prop }); } }); @@ -24122,9 +20146,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../reference/shorthandData": 145, "../../utils/eachDeclarationBlock": 360, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/vendor": 444 }], 194: [function (require, module, exports) { + }, { "../../reference/shorthandData": 113, "../../utils/eachDeclarationBlock": 334, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/vendor": 422 }], 162: [function (require, module, exports) { 'use strict'; const blockString = require('../../utils/blockString'); @@ -24144,6 +20169,10 @@ rejectedAfterMultiLine: () => 'Unexpected newline after ";" in a multi-line declaration block' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/declaration-block-semicolon-newline-after' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { const checker = whitespaceChecker('newline', primary, messages); @@ -24224,9 +20253,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/blockString": 354, "../../utils/nextNonCommentNode": 427, "../../utils/rawNodeString": 432, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/typeGuards": 440, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445 }], 195: [function (require, module, exports) { + }, { "../../utils/blockString": 328, "../../utils/nextNonCommentNode": 404, "../../utils/rawNodeString": 409, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/typeGuards": 417, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423 }], 163: [function (require, module, exports) { 'use strict'; const blockString = require('../../utils/blockString'); @@ -24245,6 +20275,10 @@ 'Unexpected whitespace before ";" in a multi-line declaration block' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/declaration-block-semicolon-newline-before' }; + + /** @type {import('stylelint').Rule} */ const rule = primary => { const checker = whitespaceChecker('newline', primary, messages); @@ -24294,9 +20328,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/blockString": 354, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/typeGuards": 440, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445 }], 196: [function (require, module, exports) { + }, { "../../utils/blockString": 328, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/typeGuards": 417, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423 }], 164: [function (require, module, exports) { 'use strict'; const blockString = require('../../utils/blockString'); @@ -24318,6 +20353,10 @@ 'Unexpected whitespace after ";" in a single-line declaration block' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/declaration-block-semicolon-space-after' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { const checker = whitespaceChecker('space', primary, messages); @@ -24386,9 +20425,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/blockString": 354, "../../utils/rawNodeString": 432, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/typeGuards": 440, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445 }], 197: [function (require, module, exports) { + }, { "../../utils/blockString": 328, "../../utils/rawNodeString": 409, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/typeGuards": 417, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423 }], 165: [function (require, module, exports) { 'use strict'; const blockString = require('../../utils/blockString'); @@ -24411,6 +20451,10 @@ 'Unexpected whitespace before ";" in a single-line declaration block' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/declaration-block-semicolon-space-before' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { const checker = whitespaceChecker('space', primary, messages); @@ -24485,12 +20529,12 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/blockString": 354, "../../utils/getDeclarationValue": 366, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/setDeclarationValue": 438, "../../utils/typeGuards": 440, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445 }], 198: [function (require, module, exports) { + }, { "../../utils/blockString": 328, "../../utils/getDeclarationValue": 341, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/setDeclarationValue": 415, "../../utils/typeGuards": 417, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423 }], 166: [function (require, module, exports) { 'use strict'; - const beforeBlockString = require('../../utils/beforeBlockString'); const blockString = require('../../utils/blockString'); const isSingleLineString = require('../../utils/isSingleLineString'); const report = require('../../utils/report'); @@ -24504,6 +20548,10 @@ expected: max => `Expected no more than ${max} ${max === 1 ? 'declaration' : 'declarations'}` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/declaration-block-single-line-max-declarations' }; + + /** @type {import('stylelint').Rule} */ const rule = primary => { return (root, result) => { @@ -24517,7 +20565,9 @@ } root.walkRules(ruleNode => { - if (!isSingleLineString(blockString(ruleNode))) { + const block = blockString(ruleNode); + + if (!isSingleLineString(block)) { return; } @@ -24534,7 +20584,7 @@ report({ message: messages.expected(primary), node: ruleNode, - index: beforeBlockString(ruleNode, { noRawBefore: true }).length, + word: block, result, ruleName }); @@ -24544,9 +20594,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/beforeBlockString": 353, "../../utils/blockString": 354, "../../utils/isSingleLineString": 407, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443 }], 199: [function (require, module, exports) { + }, { "../../utils/blockString": 328, "../../utils/isSingleLineString": 384, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 167: [function (require, module, exports) { 'use strict'; const hasBlock = require('../../utils/hasBlock'); @@ -24562,6 +20613,10 @@ rejected: 'Unexpected trailing semicolon' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/declaration-block-trailing-semicolon' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, secondaryOptions, context) => { return (root, result) => { @@ -24684,9 +20739,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/hasBlock": 375, "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442 }], 200: [function (require, module, exports) { + }, { "../../utils/hasBlock": 351, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420 }], 168: [function (require, module, exports) { 'use strict'; const declarationValueIndex = require('../../utils/declarationValueIndex'); @@ -24703,6 +20759,10 @@ expectedAfterMultiLine: () => 'Expected newline after ":" with a multi-line declaration' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/declaration-colon-newline-after' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { const checker = whitespaceChecker('newline', primary, messages); @@ -24776,9 +20836,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/isStandardSyntaxDeclaration": 412, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445 }], 201: [function (require, module, exports) { + }, { "../../utils/declarationValueIndex": 333, "../../utils/isStandardSyntaxDeclaration": 389, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423 }], 169: [function (require, module, exports) { 'use strict'; const declarationColonSpaceChecker = require('../declarationColonSpaceChecker'); @@ -24795,6 +20856,10 @@ expectedAfterSingleLine: () => 'Expected single space after ":" with a single-line declaration' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/declaration-colon-space-after' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { const checker = whitespaceChecker('space', primary, messages); @@ -24844,9 +20909,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../declarationColonSpaceChecker": 210 }], 202: [function (require, module, exports) { + }, { "../../utils/declarationValueIndex": 333, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../declarationColonSpaceChecker": 179 }], 170: [function (require, module, exports) { 'use strict'; const declarationColonSpaceChecker = require('../declarationColonSpaceChecker'); @@ -24862,6 +20928,10 @@ rejectedBefore: () => 'Unexpected whitespace before ":"' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/declaration-colon-space-before' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { const checker = whitespaceChecker('space', primary, messages); @@ -24911,9 +20981,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../declarationColonSpaceChecker": 210 }], 203: [function (require, module, exports) { + }, { "../../utils/declarationValueIndex": 333, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../declarationColonSpaceChecker": 179 }], 171: [function (require, module, exports) { 'use strict'; const addEmptyLineBefore = require('../../utils/addEmptyLineBefore'); @@ -24940,6 +21011,10 @@ rejected: 'Unexpected empty line before declaration' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/declaration-empty-line-before' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, secondaryOptions, context) => { return (root, result) => { @@ -25062,14 +21137,17 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/addEmptyLineBefore": 350, "../../utils/blockString": 354, "../../utils/hasEmptyLine": 377, "../../utils/isAfterComment": 383, "../../utils/isAfterStandardPropertyDeclaration": 385, "../../utils/isCustomProperty": 393, "../../utils/isFirstNested": 395, "../../utils/isFirstNodeOfRoot": 396, "../../utils/isSingleLineString": 407, "../../utils/isStandardSyntaxDeclaration": 412, "../../utils/optionsMatches": 429, "../../utils/removeEmptyLinesBefore": 434, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/typeGuards": 440, "../../utils/validateOptions": 442 }], 204: [function (require, module, exports) { + }, { "../../utils/addEmptyLineBefore": 323, "../../utils/blockString": 328, "../../utils/hasEmptyLine": 353, "../../utils/isAfterComment": 359, "../../utils/isAfterStandardPropertyDeclaration": 361, "../../utils/isCustomProperty": 370, "../../utils/isFirstNested": 372, "../../utils/isFirstNodeOfRoot": 373, "../../utils/isSingleLineString": 384, "../../utils/isStandardSyntaxDeclaration": 389, "../../utils/optionsMatches": 406, "../../utils/removeEmptyLinesBefore": 411, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/typeGuards": 417, "../../utils/validateOptions": 420 }], 172: [function (require, module, exports) { 'use strict'; + const getImportantPosition = require('../../utils/getImportantPosition'); const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); const validateOptions = require('../../utils/validateOptions'); + const { assert } = require('../../utils/validateTypes'); const ruleName = 'declaration-no-important'; @@ -25077,6 +21155,10 @@ rejected: 'Unexpected !important' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/declaration-no-important' }; + + /** @type {import('stylelint').Rule} */ const rule = primary => { return (root, result) => { @@ -25091,10 +21173,15 @@ return; } + const pos = getImportantPosition(decl.toString()); + + assert(pos); + report({ message: messages.rejected, node: decl, - word: 'important', + index: pos.index, + endIndex: pos.endIndex, result, ruleName }); @@ -25104,21 +21191,104 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442 }], 205: [function (require, module, exports) { + }, { "../../utils/getImportantPosition": 344, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 173: [function (require, module, exports) { 'use strict'; + const valueParser = require('postcss-value-parser'); + + const matchesStringOrRegExp = require('../../utils/matchesStringOrRegExp'); + const report = require('../../utils/report'); + const ruleMessages = require('../../utils/ruleMessages'); + const vendor = require('../../utils/vendor'); + const validateOptions = require('../../utils/validateOptions'); + const { isNumber, assertNumber } = require('../../utils/validateTypes'); + const validateObjectWithProps = require('../../utils/validateObjectWithProps'); + + const ruleName = 'declaration-property-max-values'; + + const messages = ruleMessages(ruleName, { + rejected: (property, max) => + `Expected "${property}" to have no more than ${max} ${max === 1 ? 'value' : 'values'}` }); + + + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/declaration-property-max-values' }; + + + /** + * @param {valueParser.Node} node + */ + const isValueNode = node => { + return node.type === 'word' || node.type === 'function' || node.type === 'string'; + }; + + /** @type {import('stylelint').Rule>} */ + const rule = primary => { + return (root, result) => { + const validOptions = validateOptions(result, ruleName, { + actual: primary, + possible: [validateObjectWithProps(isNumber)] }); + + + if (!validOptions) { + return; + } + + root.walkDecls(decl => { + const { prop, value } = decl; + const propLength = valueParser(value).nodes.filter(isValueNode).length; + + const unprefixedProp = vendor.unprefixed(prop); + const propKey = Object.keys(primary).find((propIdentifier) => + matchesStringOrRegExp(unprefixedProp, propIdentifier)); + + + if (!propKey) { + return; + } + + const max = primary[propKey]; + + assertNumber(max); + + if (propLength <= max) { + return; + } + + report({ + message: messages.rejected(prop, max), + node: decl, + result, + ruleName }); + + }); + }; + }; + + rule.ruleName = ruleName; + rule.messages = messages; + rule.meta = meta; + module.exports = rule; + + }, { "../../utils/matchesStringOrRegExp": 403, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateObjectWithProps": 419, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/vendor": 422, "postcss-value-parser": 59 }], 174: [function (require, module, exports) { + 'use strict'; + + const valueParser = require('postcss-value-parser'); + const declarationValueIndex = require('../../utils/declarationValueIndex'); + const flattenArray = require('../../utils/flattenArray'); const getUnitFromValueNode = require('../../utils/getUnitFromValueNode'); const matchesStringOrRegExp = require('../../utils/matchesStringOrRegExp'); const optionsMatches = require('../../utils/optionsMatches'); const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); + const validateObjectWithArrayProps = require('../../utils/validateObjectWithArrayProps'); const validateOptions = require('../../utils/validateOptions'); - const valueParser = require('postcss-value-parser'); + const { isString } = require('../../utils/validateTypes'); const vendor = require('../../utils/vendor'); - const { isPlainObject } = require('is-plain-object'); const ruleName = 'declaration-property-unit-allowed-list'; @@ -25126,7 +21296,11 @@ rejected: (property, unit) => `Unexpected unit "${unit}" for property "${property}"` }); - /** @type {import('stylelint').Rule>} */ + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/declaration-property-unit-allowed-list' }; + + + /** @type {import('stylelint').Rule>} */ const rule = (primary, secondaryOptions) => { return (root, result) => { const validOptions = validateOptions( @@ -25134,7 +21308,7 @@ ruleName, { actual: primary, - possible: [isPlainObject] }, + possible: [validateObjectWithArrayProps(isString)] }, { actual: secondaryOptions, @@ -25163,7 +21337,7 @@ return; } - const propList = primary[propKey]; + const propList = flattenArray(primary[propKey]); if (!propList) { return; @@ -25187,14 +21361,18 @@ const unit = getUnitFromValueNode(node); - if (!unit || (unit && propList.indexOf(unit.toLowerCase())) !== -1) { + if (!unit || unit && propList.includes(unit.toLowerCase())) { return; } + const index = declarationValueIndex(decl) + node.sourceIndex; + const endIndex = index + node.value.length; + report({ message: messages.rejected(prop, unit), node: decl, - index: declarationValueIndex(decl) + node.sourceIndex, + index, + endIndex, result, ruleName }); @@ -25205,20 +21383,24 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/getUnitFromValueNode": 374, "../../utils/matchesStringOrRegExp": 426, "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/vendor": 444, "is-plain-object": 35, "postcss-value-parser": 83 }], 206: [function (require, module, exports) { + }, { "../../utils/declarationValueIndex": 333, "../../utils/flattenArray": 338, "../../utils/getUnitFromValueNode": 350, "../../utils/matchesStringOrRegExp": 403, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateObjectWithArrayProps": 418, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/vendor": 422, "postcss-value-parser": 59 }], 175: [function (require, module, exports) { 'use strict'; + const valueParser = require('postcss-value-parser'); + const declarationValueIndex = require('../../utils/declarationValueIndex'); + const flattenArray = require('../../utils/flattenArray'); const getUnitFromValueNode = require('../../utils/getUnitFromValueNode'); const matchesStringOrRegExp = require('../../utils/matchesStringOrRegExp'); const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); + const validateObjectWithArrayProps = require('../../utils/validateObjectWithArrayProps'); const validateOptions = require('../../utils/validateOptions'); - const valueParser = require('postcss-value-parser'); + const { isString } = require('../../utils/validateTypes'); const vendor = require('../../utils/vendor'); - const { isPlainObject } = require('is-plain-object'); const ruleName = 'declaration-property-unit-disallowed-list'; @@ -25226,12 +21408,16 @@ rejected: (property, unit) => `Unexpected unit "${unit}" for property "${property}"` }); - /** @type {import('stylelint').Rule>} */ + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/declaration-property-unit-disallowed-list' }; + + + /** @type {import('stylelint').Rule>} */ const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { actual: primary, - possible: [isPlainObject] }); + possible: [validateObjectWithArrayProps(isString)] }); if (!validOptions) { @@ -25252,7 +21438,7 @@ return; } - const propList = primary[propKey]; + const propList = flattenArray(primary[propKey]); if (!propList) { return; @@ -25274,10 +21460,14 @@ return; } + const index = declarationValueIndex(decl) + node.sourceIndex; + const endIndex = index + node.value.length; + report({ message: messages.rejected(prop, unit), node: decl, - index: declarationValueIndex(decl) + node.sourceIndex, + index, + endIndex, result, ruleName }); @@ -25288,17 +21478,21 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/getUnitFromValueNode": 374, "../../utils/matchesStringOrRegExp": 426, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/vendor": 444, "is-plain-object": 35, "postcss-value-parser": 83 }], 207: [function (require, module, exports) { + }, { "../../utils/declarationValueIndex": 333, "../../utils/flattenArray": 338, "../../utils/getUnitFromValueNode": 350, "../../utils/matchesStringOrRegExp": 403, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateObjectWithArrayProps": 418, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/vendor": 422, "postcss-value-parser": 59 }], 176: [function (require, module, exports) { 'use strict'; + const declarationValueIndex = require('../../utils/declarationValueIndex'); const matchesStringOrRegExp = require('../../utils/matchesStringOrRegExp'); + const optionsMatches = require('../../utils/optionsMatches'); const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); + const validateObjectWithArrayProps = require('../../utils/validateObjectWithArrayProps'); const validateOptions = require('../../utils/validateOptions'); + const { isString, isRegExp } = require('../../utils/validateTypes'); const vendor = require('../../utils/vendor'); - const { isPlainObject } = require('is-plain-object'); const ruleName = 'declaration-property-value-allowed-list'; @@ -25306,12 +21500,16 @@ rejected: (property, value) => `Unexpected value "${value}" for property "${property}"` }); - /** @type {import('stylelint').Rule>} */ + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/declaration-property-value-allowed-list' }; + + + /** @type {import('stylelint').Rule>>} */ const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { actual: primary, - possible: [isPlainObject] }); + possible: [validateObjectWithArrayProps(isString, isRegExp)] }); if (!validOptions) { @@ -25331,19 +21529,18 @@ return; } - const propList = primary[propKey]; - - if (!propList || propList.length === 0) { + if (optionsMatches(primary, propKey, value)) { return; } - if (matchesStringOrRegExp(value, propList)) { - return; - } + const index = declarationValueIndex(decl); + const endIndex = index + decl.value.length; report({ message: messages.rejected(prop, value), node: decl, + index, + endIndex, result, ruleName }); @@ -25353,17 +21550,21 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/matchesStringOrRegExp": 426, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/vendor": 444, "is-plain-object": 35 }], 208: [function (require, module, exports) { + }, { "../../utils/declarationValueIndex": 333, "../../utils/matchesStringOrRegExp": 403, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateObjectWithArrayProps": 418, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/vendor": 422 }], 177: [function (require, module, exports) { 'use strict'; + const declarationValueIndex = require('../../utils/declarationValueIndex'); const matchesStringOrRegExp = require('../../utils/matchesStringOrRegExp'); + const optionsMatches = require('../../utils/optionsMatches'); const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); + const validateObjectWithArrayProps = require('../../utils/validateObjectWithArrayProps'); const validateOptions = require('../../utils/validateOptions'); + const { isString, isRegExp } = require('../../utils/validateTypes'); const vendor = require('../../utils/vendor'); - const { isPlainObject } = require('is-plain-object'); const ruleName = 'declaration-property-value-disallowed-list'; @@ -25371,12 +21572,16 @@ rejected: (property, value) => `Unexpected value "${value}" for property "${property}"` }); - /** @type {import('stylelint').Rule>} */ + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/declaration-property-value-disallowed-list' }; + + + /** @type {import('stylelint').Rule>>} */ const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { actual: primary, - possible: [isPlainObject] }); + possible: [validateObjectWithArrayProps(isString, isRegExp)] }); if (!validOptions) { @@ -25396,19 +21601,18 @@ return; } - const propList = primary[propKey]; - - if (!propList || propList.length === 0) { + if (!optionsMatches(primary, propKey, value)) { return; } - if (!matchesStringOrRegExp(value, propList)) { - return; - } + const index = declarationValueIndex(decl); + const endIndex = index + decl.value.length; report({ message: messages.rejected(prop, value), node: decl, + index, + endIndex, result, ruleName }); @@ -25418,9 +21622,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/matchesStringOrRegExp": 426, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/vendor": 444, "is-plain-object": 35 }], 209: [function (require, module, exports) { + }, { "../../utils/declarationValueIndex": 333, "../../utils/matchesStringOrRegExp": 403, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateObjectWithArrayProps": 418, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/vendor": 422 }], 178: [function (require, module, exports) { 'use strict'; const declarationValueIndex = require('../utils/declarationValueIndex'); @@ -25482,7 +21687,7 @@ } }; - }, { "../utils/declarationValueIndex": 359, "../utils/report": 435, "style-search": 121 }], 210: [function (require, module, exports) { + }, { "../utils/declarationValueIndex": 333, "../utils/report": 412, "style-search": 92 }], 179: [function (require, module, exports) { 'use strict'; const declarationValueIndex = require('../utils/declarationValueIndex'); @@ -25541,7 +21746,7 @@ }); }; - }, { "../utils/declarationValueIndex": 359, "../utils/isStandardSyntaxDeclaration": 412, "../utils/report": 435 }], 211: [function (require, module, exports) { + }, { "../utils/declarationValueIndex": 333, "../utils/isStandardSyntaxDeclaration": 389, "../utils/report": 412 }], 180: [function (require, module, exports) { 'use strict'; const styleSearch = require('style-search'); @@ -25573,7 +21778,7 @@ }); }; - }, { "style-search": 121 }], 212: [function (require, module, exports) { + }, { "style-search": 92 }], 181: [function (require, module, exports) { 'use strict'; const findFontFamily = require('../../utils/findFontFamily'); @@ -25591,6 +21796,10 @@ rejected: family => `Unexpected quotes around "${family}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/font-family-name-quotes' }; + + /** * @param {string} font * @returns {boolean} @@ -25632,8 +21841,75 @@ some(word => /^(?:-?\d|--)/.test(word) || !/^[-\w\u{00A0}-\u{10FFFF}]+$/u.test(word)); } + /** + * @typedef {{ + * name: string, + * rawName: string, + * hasQuotes: boolean, + * sourceIndex: number, + * resetIndexes: (offset: number) => void, + * removeQuotes: () => void, + * addQuotes: () => void, + * }} MutableNode + */ + + /** + * + * @param {import('postcss-value-parser').Node[]} fontFamilies + * @param {import('postcss').Declaration} decl + * @returns {MutableNode[]} + */ + const makeMutableFontFamilies = (fontFamilies, decl) => { + /** + * @type {MutableNode[]} + */ + const mutableNodes = []; + + fontFamilies.forEach((fontFamily, idx) => { + const quote = 'quote' in fontFamily && fontFamily.quote; + const name = fontFamily.value; + + /** @type {MutableNode} */ + const newNode = { + name, + rawName: quote ? `${quote}${name}${quote}` : name, + sourceIndex: fontFamily.sourceIndex, + hasQuotes: Boolean(quote), + resetIndexes(offset) { + mutableNodes.slice(idx + 1).forEach(n => n.sourceIndex += offset); + }, + removeQuotes() { + if (this.hasQuotes === false) return; + + const openIndex = this.sourceIndex; + const closeIndex = openIndex + this.name.length + 2; + + this.hasQuotes = false; + decl.value = decl.value.slice(0, openIndex) + this.name + decl.value.substring(closeIndex); + this.resetIndexes(-2); + }, + addQuotes() { + if (this.hasQuotes === true) return; + + const openIndex = this.sourceIndex; + const closeIndex = openIndex + this.name.length; + + this.hasQuotes = true; + const fixedName = `"${this.name}"`; + + decl.value = decl.value.slice(0, openIndex) + fixedName + decl.value.substring(closeIndex); + this.resetIndexes(2); + } }; + + + mutableNodes.push(newNode); + }); + + return mutableNodes; + }; + /** @type {import('stylelint').Rule} */ - const rule = primary => { + const rule = (primary, _secondary, context) => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { actual: primary, @@ -25645,28 +21921,24 @@ } root.walkDecls(/^font(-family)?$/i, decl => { - const fontFamilies = findFontFamily(decl.value); + let fontFamilyNodes = makeMutableFontFamilies(findFontFamily(decl.value), decl); - if (fontFamilies.length === 0) { + if (fontFamilyNodes.length === 0) { return; } - for (const fontFamilyNode of fontFamilies) { - let rawFamily = fontFamilyNode.value; - - if ('quote' in fontFamilyNode) { - rawFamily = fontFamilyNode.quote + rawFamily + fontFamilyNode.quote; - } - - checkFamilyName(rawFamily, decl); + for (const fontFamilyNode of fontFamilyNodes) { + checkFamilyName(fontFamilyNode, decl); } }); /** - * @param {string} rawFamily + * @param {MutableNode} fontFamilyNode * @param {import('postcss').Declaration} decl */ - function checkFamilyName(rawFamily, decl) { + function checkFamilyName(fontFamilyNode, decl) { + const { name: family, rawName: rawFamily, hasQuotes } = fontFamilyNode; + if (!isStandardSyntaxValue(rawFamily)) { return; } @@ -25675,16 +21947,17 @@ return; } - const hasQuotes = rawFamily.startsWith("'") || rawFamily.startsWith('"'); - - // Clean the family of its quotes - const family = rawFamily.replace(/^['"]|['"]$/g, ''); - // Disallow quotes around (case-insensitive) keywords // and system font keywords in all cases if (keywordSets.fontFamilyKeywords.has(family.toLowerCase()) || isSystemFontKeyword(family)) { if (hasQuotes) { - return complain(messages.rejected(family), family, decl); + if (context.fix) { + fontFamilyNode.removeQuotes(); + + return; + } + + return complain(messages.rejected(family), rawFamily, decl); } return; @@ -25696,29 +21969,59 @@ switch (primary) { case 'always-unless-keyword': if (!hasQuotes) { - return complain(messages.expected(family), family, decl); + if (context.fix) { + fontFamilyNode.addQuotes(); + + return; + } + + return complain(messages.expected(family), rawFamily, decl); } return; case 'always-where-recommended': if (!recommended && hasQuotes) { - return complain(messages.rejected(family), family, decl); + if (context.fix) { + fontFamilyNode.removeQuotes(); + + return; + } + + return complain(messages.rejected(family), rawFamily, decl); } if (recommended && !hasQuotes) { - return complain(messages.expected(family), family, decl); + if (context.fix) { + fontFamilyNode.addQuotes(); + + return; + } + + return complain(messages.expected(family), rawFamily, decl); } return; case 'always-where-required': if (!required && hasQuotes) { - return complain(messages.rejected(family), family, decl); + if (context.fix) { + fontFamilyNode.removeQuotes(); + + return; + } + + return complain(messages.rejected(family), rawFamily, decl); } if (required && !hasQuotes) { - return complain(messages.expected(family), family, decl); + if (context.fix) { + fontFamilyNode.addQuotes(); + + return; + } + + return complain(messages.expected(family), rawFamily, decl); }} } @@ -25742,9 +22045,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../reference/keywordSets": 142, "../../utils/findFontFamily": 363, "../../utils/isStandardSyntaxValue": 421, "../../utils/isVariable": 424, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442 }], 213: [function (require, module, exports) { + }, { "../../reference/keywordSets": 110, "../../utils/findFontFamily": 337, "../../utils/isStandardSyntaxValue": 398, "../../utils/isVariable": 401, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420 }], 182: [function (require, module, exports) { 'use strict'; const declarationValueIndex = require('../../utils/declarationValueIndex'); @@ -25762,6 +22066,10 @@ rejected: name => `Unexpected duplicate name ${name}` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/font-family-no-duplicate-names' }; + + /** * @param {import('postcss-value-parser').Node} node */ @@ -25805,11 +22113,15 @@ continue; } + const rawFamily = + 'quote' in fontFamilyNode ? fontFamilyNode.quote + family + fontFamilyNode.quote : family; + if (isFamilyNameKeyword(fontFamilyNode)) { if (keywords.has(family.toLowerCase())) { complain( messages.rejected(family), declarationValueIndex(decl) + fontFamilyNode.sourceIndex, + rawFamily.length, decl); @@ -25825,6 +22137,7 @@ complain( messages.rejected(family), declarationValueIndex(decl) + fontFamilyNode.sourceIndex, + rawFamily.length, decl); @@ -25838,15 +22151,17 @@ /** * @param {string} message * @param {number} index + * @param {number} length * @param {import('postcss').Declaration} decl */ - function complain(message, index, decl) { + function complain(message, index, length, decl) { report({ result, ruleName, message, node: decl, - index }); + index, + endIndex: index + length }); } }; @@ -25854,9 +22169,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../reference/keywordSets": 142, "../../utils/declarationValueIndex": 359, "../../utils/findFontFamily": 363, "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443 }], 214: [function (require, module, exports) { + }, { "../../reference/keywordSets": 110, "../../utils/declarationValueIndex": 333, "../../utils/findFontFamily": 337, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 183: [function (require, module, exports) { 'use strict'; const declarationValueIndex = require('../../utils/declarationValueIndex'); @@ -25870,7 +22186,7 @@ const ruleMessages = require('../../utils/ruleMessages'); const validateOptions = require('../../utils/validateOptions'); const { isAtRule } = require('../../utils/typeGuards'); - const { isRegExp, isString } = require('../../utils/validateTypes'); + const { isRegExp, isString, assert } = require('../../utils/validateTypes'); const ruleName = 'font-family-no-missing-generic-family-keyword'; @@ -25878,6 +22194,10 @@ rejected: 'Unexpected missing generic font family' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/font-family-no-missing-generic-family-keyword' }; + + /** * @param {import('postcss-value-parser').Node} node * @returns {boolean} @@ -25949,12 +22269,21 @@ return; } + const lastFontFamily = fontFamilies[fontFamilies.length - 1]; + + assert(lastFontFamily); + + const valueIndex = declarationValueIndex(decl); + const index = valueIndex + lastFontFamily.sourceIndex; + const endIndex = valueIndex + lastFontFamily.sourceEndIndex; + report({ result, ruleName, message: messages.rejected, node: decl, - index: declarationValueIndex(decl) + fontFamilies[fontFamilies.length - 1].sourceIndex }); + index, + endIndex }); }); }; @@ -25962,18 +22291,20 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../reference/keywordSets": 142, "../../utils/declarationValueIndex": 359, "../../utils/findFontFamily": 363, "../../utils/isStandardSyntaxValue": 421, "../../utils/isVariable": 424, "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/typeGuards": 440, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "postcss": 103 }], 215: [function (require, module, exports) { + }, { "../../reference/keywordSets": 110, "../../utils/declarationValueIndex": 333, "../../utils/findFontFamily": 337, "../../utils/isStandardSyntaxValue": 398, "../../utils/isVariable": 401, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/typeGuards": 417, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "postcss": 79 }], 184: [function (require, module, exports) { 'use strict'; + const valueParser = require('postcss-value-parser'); + const declarationValueIndex = require('../../utils/declarationValueIndex'); const isNumbery = require('../../utils/isNumbery'); const isStandardSyntaxValue = require('../../utils/isStandardSyntaxValue'); const isVariable = require('../../utils/isVariable'); const keywordSets = require('../../reference/keywordSets'); const optionsMatches = require('../../utils/optionsMatches'); - const postcss = require('postcss'); const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); const validateOptions = require('../../utils/validateOptions'); @@ -25986,6 +22317,10 @@ invalidNamed: name => `Unexpected invalid font-weight name "${name}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/font-weight-notation' }; + + const INHERIT_KEYWORD = 'inherit'; const INITIAL_KEYWORD = 'initial'; const NORMAL_KEYWORD = 'normal'; @@ -26014,12 +22349,12 @@ return; } - root.walkDecls(decl => { - if (decl.prop.toLowerCase() === 'font-weight') { - checkWeight(decl.value, decl); - } + root.walkDecls(/^font(-weight)?$/i, decl => { + const prop = decl.prop.toLowerCase(); - if (decl.prop.toLowerCase() === 'font') { + if (prop === 'font-weight') { + checkWeight(decl, decl.value); + } else if (prop === 'font') { checkFont(decl); } }); @@ -26028,20 +22363,23 @@ * @param {import('postcss').Declaration} decl */ function checkFont(decl) { - const valueList = postcss.list.space(decl.value); + const valueNodes = findFontWeights(decl.value); + // We do not need to more carefully distinguish font-weight // numbers from unitless line-heights because line-heights in // `font` values need to be part of a font-size/line-height pair - const hasNumericFontWeight = valueList.some(value => isNumbery(value)); + const hasNumericFontWeight = valueNodes.some(({ value }) => isNumbery(value)); + + for (const valueNode of valueNodes) { + const value = valueNode.value; + const lowerValue = value.toLowerCase(); - for (const value of postcss.list.space(decl.value)) { if ( - value.toLowerCase() === NORMAL_KEYWORD && !hasNumericFontWeight || + lowerValue === NORMAL_KEYWORD && !hasNumericFontWeight || isNumbery(value) || - value.toLowerCase() !== NORMAL_KEYWORD && - keywordSets.fontWeightKeywords.has(value.toLowerCase())) + lowerValue !== NORMAL_KEYWORD && keywordSets.fontWeightKeywords.has(lowerValue)) { - checkWeight(value, decl); + checkWeight(decl, value, valueNode); return; } @@ -26049,10 +22387,11 @@ } /** - * @param {string} weightValue * @param {import('postcss').Declaration} decl + * @param {string} weightValue + * @param {import('postcss-value-parser').Node} [weightValueNode] */ - function checkWeight(weightValue, decl) { + function checkWeight(decl, weightValue, weightValueNode) { if (!isStandardSyntaxValue(weightValue)) { return; } @@ -26061,78 +22400,117 @@ return; } - if ( - weightValue.toLowerCase() === INHERIT_KEYWORD || - weightValue.toLowerCase() === INITIAL_KEYWORD) - { + if (includesOnlyFunction(weightValue)) { + return; + } + + const lowerWeightValue = weightValue.toLowerCase(); + + if (lowerWeightValue === INHERIT_KEYWORD || lowerWeightValue === INITIAL_KEYWORD) { return; } if ( optionsMatches(secondaryOptions, 'ignore', 'relative') && - keywordSets.fontWeightRelativeKeywords.has(weightValue.toLowerCase())) + keywordSets.fontWeightRelativeKeywords.has(lowerWeightValue)) { return; } - const weightValueOffset = decl.value.indexOf(weightValue); - if (primary === 'numeric') { const parent = decl.parent; if (parent && isAtRule(parent) && parent.name.toLowerCase() === 'font-face') { - const weightValueNumbers = postcss.list.space(weightValue); - - if (!weightValueNumbers.every(value => isNumbery(value))) { - return complain(messages.expected('numeric')); + // @font-face allows multiple values. + for (const valueNode of findFontWeights(weightValue)) { + if (!isNumbery(valueNode.value)) { + return complain(messages.expected('numeric'), valueNode.value, valueNode); + } } return; } if (!isNumbery(weightValue)) { - return complain(messages.expected('numeric')); + return complain(messages.expected('numeric'), weightValue, weightValueNode); } } if (primary === 'named-where-possible') { if (isNumbery(weightValue)) { if (WEIGHTS_WITH_KEYWORD_EQUIVALENTS.has(weightValue)) { - complain(messages.expected('named')); + complain(messages.expected('named'), weightValue, weightValueNode); } return; } if ( - !keywordSets.fontWeightKeywords.has(weightValue.toLowerCase()) && - weightValue.toLowerCase() !== NORMAL_KEYWORD) + !keywordSets.fontWeightKeywords.has(lowerWeightValue) && + lowerWeightValue !== NORMAL_KEYWORD) { - return complain(messages.invalidNamed(weightValue)); + return complain(messages.invalidNamed(weightValue), weightValue, weightValueNode); } } /** * @param {string} message + * @param {string} value + * @param {import('postcss-value-parser').Node | undefined} valueNode */ - function complain(message) { + function complain(message, value, valueNode) { + const index = declarationValueIndex(decl) + (valueNode ? valueNode.sourceIndex : 0); + const endIndex = index + value.length; + report({ ruleName, result, message, node: decl, - index: declarationValueIndex(decl) + weightValueOffset }); + index, + endIndex }); } } }; }; + /** + * @param {string} value + * @returns {import('postcss-value-parser').Node[]} + */ + function findFontWeights(value) { + return valueParser(value).nodes.filter((node, index, nodes) => { + if (node.type !== 'word') return false; + + // Exclude `/` format like `16px/3`. + const prevNode = nodes[index - 1]; + const nextNode = nodes[index + 1]; + + if (prevNode && prevNode.type === 'div') return false; + + if (nextNode && nextNode.type === 'div') return false; + + return true; + }); + } + + /** + * @param {string} value + * @returns {boolean} + */ + function includesOnlyFunction(value) { + return valueParser(value).nodes.every(({ type }) => { + return type === 'function' || type === 'comment' || type === 'space'; + }); + } + rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../reference/keywordSets": 142, "../../utils/declarationValueIndex": 359, "../../utils/isNumbery": 401, "../../utils/isStandardSyntaxValue": 421, "../../utils/isVariable": 424, "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/typeGuards": 440, "../../utils/validateOptions": 442, "postcss": 103 }], 216: [function (require, module, exports) { + }, { "../../reference/keywordSets": 110, "../../utils/declarationValueIndex": 333, "../../utils/isNumbery": 378, "../../utils/isStandardSyntaxValue": 398, "../../utils/isVariable": 401, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/typeGuards": 417, "../../utils/validateOptions": 420, "postcss-value-parser": 59 }], 185: [function (require, module, exports) { 'use strict'; const declarationValueIndex = require('../../utils/declarationValueIndex'); @@ -26151,13 +22529,15 @@ rejected: name => `Unexpected function "${name}"` }); - /** @type {import('stylelint').Rule} */ - const rule = primary => { - const list = [primary].flat(); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/function-allowed-list' }; + + /** @type {import('stylelint').Rule>} */ + const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: list, + actual: primary, possible: [isString, isRegExp] }); @@ -26166,9 +22546,7 @@ } root.walkDecls(decl => { - const value = decl.value; - - valueParser(value).walk(node => { + valueParser(decl.value).walk(node => { if (node.type !== 'function') { return; } @@ -26177,14 +22555,18 @@ return; } - if (matchesStringOrRegExp(vendor.unprefixed(node.value), list)) { + if (matchesStringOrRegExp(vendor.unprefixed(node.value), primary)) { return; } + const index = declarationValueIndex(decl) + node.sourceIndex; + const endIndex = index + node.value.length; + report({ message: messages.rejected(node.value), node: decl, - index: declarationValueIndex(decl) + node.sourceIndex, + index, + endIndex, result, ruleName }); @@ -26197,19 +22579,22 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/isStandardSyntaxFunction": 413, "../../utils/matchesStringOrRegExp": 426, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "../../utils/vendor": 444, "postcss-value-parser": 83 }], 217: [function (require, module, exports) { + }, { "../../utils/declarationValueIndex": 333, "../../utils/isStandardSyntaxFunction": 390, "../../utils/matchesStringOrRegExp": 403, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/vendor": 422, "postcss-value-parser": 59 }], 186: [function (require, module, exports) { 'use strict'; const valueParser = require('postcss-value-parser'); const declarationValueIndex = require('../../utils/declarationValueIndex'); const getDeclarationValue = require('../../utils/getDeclarationValue'); + const isStandardSyntaxValue = require('../../utils/isStandardSyntaxValue'); const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); const setDeclarationValue = require('../../utils/setDeclarationValue'); const validateOptions = require('../../utils/validateOptions'); + const { assert } = require('../../utils/validateTypes'); const ruleName = 'function-calc-no-unspaced-operator'; @@ -26219,8 +22604,13 @@ expectedOperatorBeforeSign: operator => `Expected an operator before sign "${operator}"` }); - const OPERATORS = new Set(['*', '/', '+', '-']); - const OPERATOR_REGEX = /[*/+-]/; + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/function-calc-no-unspaced-operator' }; + + + const OPERATORS = new Set(['+', '-']); + const OPERATOR_REGEX = /[+-]/; + const ALL_OPERATORS = new Set([...OPERATORS, '*', '/']); /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { @@ -26233,9 +22623,12 @@ * @param {string} message * @param {import('postcss').Node} node * @param {number} index + * @param {string} operator */ - function complain(message, node, index) { - report({ message, node, index, result, ruleName }); + function complain(message, node, index, operator) { + const endIndex = index + operator.length; + + report({ message, node, index, endIndex, result, ruleName }); } root.walkDecls(decl => { @@ -26244,15 +22637,13 @@ const parsedValue = valueParser(getDeclarationValue(decl)); /** - * @param {import('postcss-value-parser').Node[]} nodes - * @param {number} operatorIndex - * @param {-1 | 1} direction + * @param {import('postcss-value-parser').Node} operatorNode + * @param {import('postcss-value-parser').Node} currentNode + * @param {boolean} isBeforeOp */ - function checkAroundOperator(nodes, operatorIndex, direction) { - const isBeforeOp = direction === -1; - const currentNode = nodes[operatorIndex + direction]; - const operator = nodes[operatorIndex].value; - const operatorSourceIndex = nodes[operatorIndex].sourceIndex; + function checkAroundOperator(operatorNode, currentNode, isBeforeOp) { + const operator = operatorNode.value; + const operatorSourceIndex = operatorNode.sourceIndex; if (currentNode && !isSingleSpace(currentNode)) { if (currentNode.type === 'word') { @@ -26266,7 +22657,12 @@ return true; } - complain(messages.expectedOperatorBeforeSign(operator), decl, operatorSourceIndex); + complain( + messages.expectedOperatorBeforeSign(operator), + decl, + operatorSourceIndex, + operator); + return true; } @@ -26280,7 +22676,7 @@ return true; } - complain(messages.expectedAfter(operator), decl, operatorSourceIndex); + complain(messages.expectedAfter(operator), decl, operatorSourceIndex, operator); return true; } @@ -26296,7 +22692,8 @@ complain( isBeforeOp ? messages.expectedBefore(operator) : messages.expectedAfter(operator), decl, - valueIndex + operatorSourceIndex); + valueIndex + operatorSourceIndex, + operator); return true; @@ -26309,7 +22706,6 @@ if (context.fix) { needsFix = true; - currentNode.value = indexOfFirstNewLine === -1 ? ' ' : currentNode.value.slice(indexOfFirstNewLine); @@ -26320,7 +22716,7 @@ messages.expectedBefore(operator) : messages.expectedAfter(operator); - complain(message, decl, valueIndex + operatorSourceIndex); + complain(message, decl, valueIndex + operatorSourceIndex, operator); return true; } @@ -26328,7 +22724,7 @@ if (currentNode.type === 'function') { if (context.fix) { needsFix = true; - nodes.splice(operatorIndex, 0, { type: 'space', value: ' ', sourceIndex: 0 }); + currentNode.value = isBeforeOp ? `${currentNode.value} ` : ` ${currentNode.value}`; return true; } @@ -26337,7 +22733,7 @@ messages.expectedBefore(operator) : messages.expectedAfter(operator); - complain(message, decl, valueIndex + operatorSourceIndex); + complain(message, decl, valueIndex + operatorSourceIndex, operator); return true; } @@ -26352,8 +22748,13 @@ function checkForOperatorInFirstNode(nodes) { const firstNode = nodes[0]; - const operatorIndex = - (firstNode.type === 'word' || -1) && firstNode.value.search(OPERATOR_REGEX); + assert(firstNode); + + if (firstNode.type !== 'word') return false; + + if (!isStandardSyntaxValue(firstNode.value)) return false; + + const operatorIndex = firstNode.value.search(OPERATOR_REGEX); const operator = firstNode.value.slice(operatorIndex, operatorIndex + 1); if (operatorIndex <= 0) return false; @@ -26370,12 +22771,14 @@ complain( messages.expectedBefore(operator), decl, - valueIndex + firstNode.sourceIndex + operatorIndex); + valueIndex + firstNode.sourceIndex + operatorIndex, + operator); complain( messages.expectedAfter(operator), decl, - valueIndex + firstNode.sourceIndex + operatorIndex + 1); + valueIndex + firstNode.sourceIndex + operatorIndex + 1, + operator); } } else if (charBefore && charBefore !== ' ') { @@ -26386,7 +22789,8 @@ complain( messages.expectedBefore(operator), decl, - valueIndex + firstNode.sourceIndex + operatorIndex); + valueIndex + firstNode.sourceIndex + operatorIndex, + operator); } } else if (charAfter && charAfter !== ' ') { @@ -26397,7 +22801,8 @@ complain( messages.expectedAfter(operator), decl, - valueIndex + firstNode.sourceIndex + operatorIndex + 1); + valueIndex + firstNode.sourceIndex + operatorIndex + 1, + operator); } } @@ -26413,10 +22818,23 @@ const lastNode = nodes[nodes.length - 1]; - const operatorIndex = - (lastNode.type === 'word' || -1) && lastNode.value.search(OPERATOR_REGEX); + assert(lastNode); - if (lastNode.value[operatorIndex - 1] === ' ') return false; + if (lastNode.type !== 'word') return false; + + const operatorIndex = lastNode.value.search(OPERATOR_REGEX); + + if (operatorIndex === -1) return false; + + if (lastNode.value.charAt(operatorIndex - 1) === ' ') return false; + + // E.g. "10px * -2" when the last node is "-2" + if ( + isOperator(nodes[nodes.length - 3], ALL_OPERATORS) && + isSingleSpace(nodes[nodes.length - 2])) + { + return false; + } if (context.fix) { needsFix = true; @@ -26426,10 +22844,13 @@ return true; } + const operator = lastNode.value.charAt(operatorIndex); + complain( - messages.expectedOperatorBeforeSign(lastNode.value[operatorIndex]), + messages.expectedOperatorBeforeSign(operator), decl, - valueIndex + lastNode.sourceIndex + operatorIndex); + valueIndex + lastNode.sourceIndex + operatorIndex, + operator); return true; @@ -26453,7 +22874,7 @@ continue; } - complain(messages.expectedBefore(lastChar), decl, node.sourceIndex); + complain(messages.expectedBefore(lastChar), decl, node.sourceIndex, lastChar); } else if (index === nodes.length && OPERATORS.has(firstChar)) { if (context.fix) { node.value = `${firstChar} ${node.value.slice(1)}`; @@ -26461,7 +22882,12 @@ continue; } - complain(messages.expectedOperatorBeforeSign(firstChar), decl, node.sourceIndex); + complain( + messages.expectedOperatorBeforeSign(firstChar), + decl, + node.sourceIndex, + firstChar); + } } } @@ -26470,25 +22896,26 @@ parsedValue.walk(node => { if (node.type !== 'function' || node.value.toLowerCase() !== 'calc') return; + const { nodes } = node; let foundOperatorNode = false; - for (const [nodeIndex, currNode] of node.nodes.entries()) { - if (currNode.type !== 'word' || !OPERATORS.has(currNode.value)) continue; + for (const [nodeIndex, currNode] of nodes.entries()) { + if (!isOperator(currNode)) continue; foundOperatorNode = true; - const nodeBefore = node.nodes[nodeIndex - 1]; - const nodeAfter = node.nodes[nodeIndex + 1]; + const nodeBefore = nodes[nodeIndex - 1]; + const nodeAfter = nodes[nodeIndex + 1]; if (isSingleSpace(nodeBefore) && isSingleSpace(nodeAfter)) continue; - if (checkAroundOperator(node.nodes, nodeIndex, 1)) continue; + if (nodeAfter && checkAroundOperator(currNode, nodeAfter, false)) continue; - checkAroundOperator(node.nodes, nodeIndex, -1); + nodeBefore && checkAroundOperator(currNode, nodeBefore, true); } if (!foundOperatorNode) { - checkWords(node.nodes); + checkWords(nodes); } }); @@ -26509,18 +22936,28 @@ } /** - * @param {import('postcss-value-parser').Node} node + * @param {import('postcss-value-parser').Node | undefined} node * @returns {node is import('postcss-value-parser').SpaceNode & { value: ' ' } } */ function isSingleSpace(node) { - return node && node.type === 'space' && node.value === ' '; + return node != null && node.type === 'space' && node.value === ' '; + } + + /** + * @param {import('postcss-value-parser').Node | undefined} node + * @param {Set} [operators] + * @returns {node is import('postcss-value-parser').WordNode} + */ + function isOperator(node, operators = OPERATORS) { + return node != null && node.type === 'word' && operators.has(node.value); } rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/getDeclarationValue": 366, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/setDeclarationValue": 438, "../../utils/validateOptions": 442, "postcss-value-parser": 83 }], 218: [function (require, module, exports) { + }, { "../../utils/declarationValueIndex": 333, "../../utils/getDeclarationValue": 341, "../../utils/isStandardSyntaxValue": 398, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/setDeclarationValue": 415, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "postcss-value-parser": 59 }], 187: [function (require, module, exports) { 'use strict'; const fixer = require('../functionCommaSpaceFix'); @@ -26537,6 +22974,10 @@ rejectedAfterMultiLine: () => 'Unexpected whitespace after "," in a multi-line function' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/function-comma-newline-after' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { const checker = whitespaceChecker('newline', primary, messages); @@ -26573,9 +23014,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../functionCommaSpaceChecker": 233, "../functionCommaSpaceFix": 234 }], 219: [function (require, module, exports) { + }, { "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../functionCommaSpaceChecker": 203, "../functionCommaSpaceFix": 204 }], 188: [function (require, module, exports) { 'use strict'; const fixer = require('../functionCommaSpaceFix'); @@ -26592,6 +23034,10 @@ rejectedBeforeMultiLine: () => 'Unexpected whitespace before "," in a multi-line function' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/function-comma-newline-before' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { const checker = whitespaceChecker('newline', primary, messages); @@ -26628,9 +23074,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../functionCommaSpaceChecker": 233, "../functionCommaSpaceFix": 234 }], 220: [function (require, module, exports) { + }, { "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../functionCommaSpaceChecker": 203, "../functionCommaSpaceFix": 204 }], 189: [function (require, module, exports) { 'use strict'; const fixer = require('../functionCommaSpaceFix'); @@ -26648,6 +23095,10 @@ rejectedAfterSingleLine: () => 'Unexpected whitespace after "," in a single-line function' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/function-comma-space-after' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { const checker = whitespaceChecker('space', primary, messages); @@ -26684,9 +23135,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../functionCommaSpaceChecker": 233, "../functionCommaSpaceFix": 234 }], 221: [function (require, module, exports) { + }, { "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../functionCommaSpaceChecker": 203, "../functionCommaSpaceFix": 204 }], 190: [function (require, module, exports) { 'use strict'; const fixer = require('../functionCommaSpaceFix'); @@ -26704,6 +23156,10 @@ rejectedBeforeSingleLine: () => 'Unexpected whitespace before "," in a single-line function' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/function-comma-space-before' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { const checker = whitespaceChecker('space', primary, messages); @@ -26740,9 +23196,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../functionCommaSpaceChecker": 233, "../functionCommaSpaceFix": 234 }], 222: [function (require, module, exports) { + }, { "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../functionCommaSpaceChecker": 203, "../functionCommaSpaceFix": 204 }], 191: [function (require, module, exports) { 'use strict'; const declarationValueIndex = require('../../utils/declarationValueIndex'); @@ -26761,7 +23218,11 @@ rejected: name => `Unexpected function "${name}"` }); - /** @type {import('stylelint').Rule} */ + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/function-disallowed-list' }; + + + /** @type {import('stylelint').Rule>} */ const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { @@ -26774,9 +23235,7 @@ } root.walkDecls(decl => { - const value = decl.value; - - valueParser(value).walk(node => { + valueParser(decl.value).walk(node => { if (node.type !== 'function') { return; } @@ -26789,10 +23248,14 @@ return; } + const index = declarationValueIndex(decl) + node.sourceIndex; + const endIndex = index + node.value.length; + report({ message: messages.rejected(node.value), node: decl, - index: declarationValueIndex(decl) + node.sourceIndex, + index, + endIndex, result, ruleName }); @@ -26805,9 +23268,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/isStandardSyntaxFunction": 413, "../../utils/matchesStringOrRegExp": 426, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "../../utils/vendor": 444, "postcss-value-parser": 83 }], 223: [function (require, module, exports) { + }, { "../../utils/declarationValueIndex": 333, "../../utils/isStandardSyntaxFunction": 390, "../../utils/matchesStringOrRegExp": 403, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/vendor": 422, "postcss-value-parser": 59 }], 192: [function (require, module, exports) { 'use strict'; const declarationValueIndex = require('../../utils/declarationValueIndex'); @@ -26825,6 +23289,10 @@ rejected: 'Unexpected nonstandard direction' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/function-linear-gradient-no-nonstandard-direction' }; + + /** * @param {string} source * @param {boolean} withToPrefix @@ -26869,9 +23337,10 @@ functionArgumentsSearch( valueParser.stringify(valueNode).toLowerCase(), - 'linear-gradient', + /^(-webkit-|-moz-|-o-|-ms-)?linear-gradient$/i, (expression, expressionIndex) => { - const firstArg = expression.split(',')[0].trim(); + const args = expression.split(','); + const firstArg = (args[0] || '').trim(); // If the first arg is not standard, return early if (!isStandardSyntaxValue(firstArg)) { @@ -26879,7 +23348,7 @@ } // If the first character is a number, we can assume the user intends an angle - if (/[\d.]/.test(firstArg[0])) { + if (/[\d.]/.test(firstArg.charAt(0))) { if (/^[\d.]+(?:deg|grad|rad|turn)$/.test(firstArg)) { return; } @@ -26903,10 +23372,14 @@ } function complain() { + const index = declarationValueIndex(decl) + valueNode.sourceIndex + expressionIndex; + const endIndex = index + (args[0] || '').trimEnd().length; + report({ message: messages.rejected, node: decl, - index: declarationValueIndex(decl) + valueNode.sourceIndex + expressionIndex, + index, + endIndex, result, ruleName }); @@ -26920,9 +23393,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/functionArgumentsSearch": 364, "../../utils/isStandardSyntaxValue": 421, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/vendor": 444, "postcss-value-parser": 83 }], 224: [function (require, module, exports) { + }, { "../../utils/declarationValueIndex": 333, "../../utils/functionArgumentsSearch": 339, "../../utils/isStandardSyntaxValue": 398, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/vendor": 422, "postcss-value-parser": 59 }], 193: [function (require, module, exports) { 'use strict'; const getDeclarationValue = require('../../utils/getDeclarationValue'); @@ -26939,6 +23413,10 @@ expected: max => `Expected no more than ${max} empty ${max === 1 ? 'line' : 'lines'}` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/function-max-empty-lines' }; + + /** * @param {import('postcss').Declaration} decl */ @@ -27028,16 +23506,17 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/getDeclarationValue": 366, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/setDeclarationValue": 438, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "postcss-value-parser": 83 }], 225: [function (require, module, exports) { + }, { "../../utils/getDeclarationValue": 341, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/setDeclarationValue": 415, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "postcss-value-parser": 59 }], 194: [function (require, module, exports) { 'use strict'; const declarationValueIndex = require('../../utils/declarationValueIndex'); const getDeclarationValue = require('../../utils/getDeclarationValue'); const isStandardSyntaxFunction = require('../../utils/isStandardSyntaxFunction'); const keywordSets = require('../../reference/keywordSets'); - const matchesStringOrRegExp = require('../../utils/matchesStringOrRegExp'); + const optionsMatches = require('../../utils/optionsMatches'); const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); const setDeclarationValue = require('../../utils/setDeclarationValue'); @@ -27051,6 +23530,10 @@ expected: (actual, expected) => `Expected "${actual}" to be "${expected}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/function-name-case' }; + + const mapLowercaseFunctionNamesToCamelCase = new Map(); for (const func of keywordSets.camelCaseFunctionNames) { @@ -27092,9 +23575,7 @@ const functionName = node.value; const functionNameLowerCase = functionName.toLowerCase(); - const ignoreFunctions = secondaryOptions && secondaryOptions.ignoreFunctions || []; - - if (ignoreFunctions.length > 0 && matchesStringOrRegExp(functionName, ignoreFunctions)) { + if (optionsMatches(secondaryOptions, 'ignoreFunctions', functionName)) { return; } @@ -27140,9 +23621,103 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../reference/keywordSets": 142, "../../utils/declarationValueIndex": 359, "../../utils/getDeclarationValue": 366, "../../utils/isStandardSyntaxFunction": 413, "../../utils/matchesStringOrRegExp": 426, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/setDeclarationValue": 438, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "postcss-value-parser": 83 }], 226: [function (require, module, exports) { + }, { "../../reference/keywordSets": 110, "../../utils/declarationValueIndex": 333, "../../utils/getDeclarationValue": 341, "../../utils/isStandardSyntaxFunction": 390, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/setDeclarationValue": 415, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "postcss-value-parser": 59 }], 195: [function (require, module, exports) { + 'use strict'; + + /* const fs = require('fs'); */ + const valueParser = require('postcss-value-parser'); + /* const functionsListPath = require('css-functions-list'); */ + + const declarationValueIndex = require('../../utils/declarationValueIndex'); + const optionsMatches = require('../../utils/optionsMatches'); + const report = require('../../utils/report'); + const ruleMessages = require('../../utils/ruleMessages'); + const validateOptions = require('../../utils/validateOptions'); + const isStandardSyntaxFunction = require('../../utils/isStandardSyntaxFunction'); + const isCustomFunction = require('../../utils/isCustomFunction'); + const { isRegExp, isString } = require('../../utils/validateTypes'); + + const ruleName = 'function-no-unknown'; + + const messages = ruleMessages(ruleName, { + rejected: name => `Unexpected unknown function "${name}"` }); + + + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/function-no-unknown' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, secondaryOptions) => { + return (root, result) => { + const validOptions = validateOptions( + result, + ruleName, + { actual: primary }, + { + actual: secondaryOptions, + possible: { + ignoreFunctions: [isString, isRegExp] }, + + optional: true }); + + + + if (!validOptions) { + return; + } + + const functionsList = JSON.parse( /* fs.readFileSync(functionsListPath.toString(), 'utf8') */ + "[\n\t\"abs\",\n\t\"acos\",\n\t\"annotation\",\n\t\"asin\",\n\t\"atan\",\n\t\"atan2\",\n\t\"attr\",\n\t\"blur\",\n\t\"brightness\",\n\t\"calc\",\n\t\"character-variant\",\n\t\"circle\",\n\t\"clamp\",\n\t\"color\",\n\t\"color-contrast\",\n\t\"color-mix\",\n\t\"conic-gradient\",\n\t\"contrast\",\n\t\"cos\",\n\t\"counter\",\n\t\"counters\",\n\t\"cross-fade\",\n\t\"cubic-bezier\",\n\t\"device-cmyk\",\n\t\"drop-shadow\",\n\t\"element\",\n\t\"ellipse\",\n\t\"env\",\n\t\"exp\",\n\t\"fit-content\",\n\t\"format\",\n\t\"grayscale\",\n\t\"hsl\",\n\t\"hsla\",\n\t\"hue-rotate\",\n\t\"hwb\",\n\t\"hypot\",\n\t\"image\",\n\t\"image-set\",\n\t\"inset\",\n\t\"invert\",\n\t\"lab\",\n\t\"layer\",\n\t\"lch\",\n\t\"leader\",\n\t\"linear-gradient\",\n\t\"local\",\n\t\"log\",\n\t\"matrix\",\n\t\"matrix3d\",\n\t\"max\",\n\t\"min\",\n\t\"minmax\",\n\t\"mod\",\n\t\"oklab\",\n\t\"oklch\",\n\t\"opacity\",\n\t\"ornaments\",\n\t\"paint\",\n\t\"path\",\n\t\"perspective\",\n\t\"polygon\",\n\t\"pow\",\n\t\"radial-gradient\",\n\t\"rect\",\n\t\"rem\",\n\t\"repeat\",\n\t\"repeating-conic-gradient\",\n\t\"repeating-linear-gradient\",\n\t\"repeating-radial-gradient\",\n\t\"rgb\",\n\t\"rgba\",\n\t\"rotate\",\n\t\"rotate3d\",\n\t\"rotateX\",\n\t\"rotateY\",\n\t\"rotateZ\",\n\t\"rotatex\",\n\t\"rotatey\",\n\t\"rotatez\",\n\t\"round\",\n\t\"saturate\",\n\t\"scale\",\n\t\"scale3d\",\n\t\"scaleX\",\n\t\"scaleY\",\n\t\"scaleZ\",\n\t\"scalex\",\n\t\"scaley\",\n\t\"scalez\",\n\t\"selector\",\n\t\"sepia\",\n\t\"sign\",\n\t\"sin\",\n\t\"skew\",\n\t\"skewX\",\n\t\"skewY\",\n\t\"skewx\",\n\t\"skewy\",\n\t\"sqrt\",\n\t\"steps\",\n\t\"styleset\",\n\t\"stylistic\",\n\t\"swash\",\n\t\"symbols\",\n\t\"tan\",\n\t\"target-counter\",\n\t\"target-counters\",\n\t\"target-text\",\n\t\"translate\",\n\t\"translate3d\",\n\t\"translateX\",\n\t\"translateY\",\n\t\"translateZ\",\n\t\"translatex\",\n\t\"translatey\",\n\t\"translatez\",\n\t\"type\",\n\t\"url\",\n\t\"var\",\n\t\"-webkit-abs\",\n\t\"-webkit-acos\",\n\t\"-webkit-annotation\",\n\t\"-webkit-asin\",\n\t\"-webkit-atan\",\n\t\"-webkit-atan2\",\n\t\"-webkit-attr\",\n\t\"-webkit-blur\",\n\t\"-webkit-brightness\",\n\t\"-webkit-calc\",\n\t\"-webkit-character-variant\",\n\t\"-webkit-circle\",\n\t\"-webkit-clamp\",\n\t\"-webkit-color\",\n\t\"-webkit-color-contrast\",\n\t\"-webkit-color-mix\",\n\t\"-webkit-conic-gradient\",\n\t\"-webkit-contrast\",\n\t\"-webkit-cos\",\n\t\"-webkit-counter\",\n\t\"-webkit-counters\",\n\t\"-webkit-cross-fade\",\n\t\"-webkit-cubic-bezier\",\n\t\"-webkit-device-cmyk\",\n\t\"-webkit-drop-shadow\",\n\t\"-webkit-element\",\n\t\"-webkit-ellipse\",\n\t\"-webkit-env\",\n\t\"-webkit-exp\",\n\t\"-webkit-fit-content\",\n\t\"-webkit-format\",\n\t\"-webkit-grayscale\",\n\t\"-webkit-hsl\",\n\t\"-webkit-hsla\",\n\t\"-webkit-hue-rotate\",\n\t\"-webkit-hwb\",\n\t\"-webkit-hypot\",\n\t\"-webkit-image\",\n\t\"-webkit-image-set\",\n\t\"-webkit-inset\",\n\t\"-webkit-invert\",\n\t\"-webkit-lab\",\n\t\"-webkit-layer\",\n\t\"-webkit-lch\",\n\t\"-webkit-leader\",\n\t\"-webkit-linear-gradient\",\n\t\"-webkit-local\",\n\t\"-webkit-log\",\n\t\"-webkit-matrix\",\n\t\"-webkit-matrix3d\",\n\t\"-webkit-max\",\n\t\"-webkit-min\",\n\t\"-webkit-minmax\",\n\t\"-webkit-mod\",\n\t\"-webkit-oklab\",\n\t\"-webkit-oklch\",\n\t\"-webkit-opacity\",\n\t\"-webkit-ornaments\",\n\t\"-webkit-paint\",\n\t\"-webkit-path\",\n\t\"-webkit-perspective\",\n\t\"-webkit-polygon\",\n\t\"-webkit-pow\",\n\t\"-webkit-radial-gradient\",\n\t\"-webkit-rect\",\n\t\"-webkit-rem\",\n\t\"-webkit-repeat\",\n\t\"-webkit-repeating-conic-gradient\",\n\t\"-webkit-repeating-linear-gradient\",\n\t\"-webkit-repeating-radial-gradient\",\n\t\"-webkit-rgb\",\n\t\"-webkit-rgba\",\n\t\"-webkit-rotate\",\n\t\"-webkit-rotate3d\",\n\t\"-webkit-rotateX\",\n\t\"-webkit-rotateY\",\n\t\"-webkit-rotateZ\",\n\t\"-webkit-rotatex\",\n\t\"-webkit-rotatey\",\n\t\"-webkit-rotatez\",\n\t\"-webkit-round\",\n\t\"-webkit-saturate\",\n\t\"-webkit-scale\",\n\t\"-webkit-scale3d\",\n\t\"-webkit-scaleX\",\n\t\"-webkit-scaleY\",\n\t\"-webkit-scaleZ\",\n\t\"-webkit-scalex\",\n\t\"-webkit-scaley\",\n\t\"-webkit-scalez\",\n\t\"-webkit-selector\",\n\t\"-webkit-sepia\",\n\t\"-webkit-sign\",\n\t\"-webkit-sin\",\n\t\"-webkit-skew\",\n\t\"-webkit-skewX\",\n\t\"-webkit-skewY\",\n\t\"-webkit-skewx\",\n\t\"-webkit-skewy\",\n\t\"-webkit-sqrt\",\n\t\"-webkit-steps\",\n\t\"-webkit-styleset\",\n\t\"-webkit-stylistic\",\n\t\"-webkit-swash\",\n\t\"-webkit-symbols\",\n\t\"-webkit-tan\",\n\t\"-webkit-target-counter\",\n\t\"-webkit-target-counters\",\n\t\"-webkit-target-text\",\n\t\"-webkit-translate\",\n\t\"-webkit-translate3d\",\n\t\"-webkit-translateX\",\n\t\"-webkit-translateY\",\n\t\"-webkit-translateZ\",\n\t\"-webkit-translatex\",\n\t\"-webkit-translatey\",\n\t\"-webkit-translatez\",\n\t\"-webkit-type\",\n\t\"-webkit-url\",\n\t\"-webkit-var\",\n\t\"-moz-abs\",\n\t\"-moz-acos\",\n\t\"-moz-annotation\",\n\t\"-moz-asin\",\n\t\"-moz-atan\",\n\t\"-moz-atan2\",\n\t\"-moz-attr\",\n\t\"-moz-blur\",\n\t\"-moz-brightness\",\n\t\"-moz-calc\",\n\t\"-moz-character-variant\",\n\t\"-moz-circle\",\n\t\"-moz-clamp\",\n\t\"-moz-color\",\n\t\"-moz-color-contrast\",\n\t\"-moz-color-mix\",\n\t\"-moz-conic-gradient\",\n\t\"-moz-contrast\",\n\t\"-moz-cos\",\n\t\"-moz-counter\",\n\t\"-moz-counters\",\n\t\"-moz-cross-fade\",\n\t\"-moz-cubic-bezier\",\n\t\"-moz-device-cmyk\",\n\t\"-moz-drop-shadow\",\n\t\"-moz-element\",\n\t\"-moz-ellipse\",\n\t\"-moz-env\",\n\t\"-moz-exp\",\n\t\"-moz-fit-content\",\n\t\"-moz-format\",\n\t\"-moz-grayscale\",\n\t\"-moz-hsl\",\n\t\"-moz-hsla\",\n\t\"-moz-hue-rotate\",\n\t\"-moz-hwb\",\n\t\"-moz-hypot\",\n\t\"-moz-image\",\n\t\"-moz-image-set\",\n\t\"-moz-inset\",\n\t\"-moz-invert\",\n\t\"-moz-lab\",\n\t\"-moz-layer\",\n\t\"-moz-lch\",\n\t\"-moz-leader\",\n\t\"-moz-linear-gradient\",\n\t\"-moz-local\",\n\t\"-moz-log\",\n\t\"-moz-matrix\",\n\t\"-moz-matrix3d\",\n\t\"-moz-max\",\n\t\"-moz-min\",\n\t\"-moz-minmax\",\n\t\"-moz-mod\",\n\t\"-moz-oklab\",\n\t\"-moz-oklch\",\n\t\"-moz-opacity\",\n\t\"-moz-ornaments\",\n\t\"-moz-paint\",\n\t\"-moz-path\",\n\t\"-moz-perspective\",\n\t\"-moz-polygon\",\n\t\"-moz-pow\",\n\t\"-moz-radial-gradient\",\n\t\"-moz-rect\",\n\t\"-moz-rem\",\n\t\"-moz-repeat\",\n\t\"-moz-repeating-conic-gradient\",\n\t\"-moz-repeating-linear-gradient\",\n\t\"-moz-repeating-radial-gradient\",\n\t\"-moz-rgb\",\n\t\"-moz-rgba\",\n\t\"-moz-rotate\",\n\t\"-moz-rotate3d\",\n\t\"-moz-rotateX\",\n\t\"-moz-rotateY\",\n\t\"-moz-rotateZ\",\n\t\"-moz-rotatex\",\n\t\"-moz-rotatey\",\n\t\"-moz-rotatez\",\n\t\"-moz-round\",\n\t\"-moz-saturate\",\n\t\"-moz-scale\",\n\t\"-moz-scale3d\",\n\t\"-moz-scaleX\",\n\t\"-moz-scaleY\",\n\t\"-moz-scaleZ\",\n\t\"-moz-scalex\",\n\t\"-moz-scaley\",\n\t\"-moz-scalez\",\n\t\"-moz-selector\",\n\t\"-moz-sepia\",\n\t\"-moz-sign\",\n\t\"-moz-sin\",\n\t\"-moz-skew\",\n\t\"-moz-skewX\",\n\t\"-moz-skewY\",\n\t\"-moz-skewx\",\n\t\"-moz-skewy\",\n\t\"-moz-sqrt\",\n\t\"-moz-steps\",\n\t\"-moz-styleset\",\n\t\"-moz-stylistic\",\n\t\"-moz-swash\",\n\t\"-moz-symbols\",\n\t\"-moz-tan\",\n\t\"-moz-target-counter\",\n\t\"-moz-target-counters\",\n\t\"-moz-target-text\",\n\t\"-moz-translate\",\n\t\"-moz-translate3d\",\n\t\"-moz-translateX\",\n\t\"-moz-translateY\",\n\t\"-moz-translateZ\",\n\t\"-moz-translatex\",\n\t\"-moz-translatey\",\n\t\"-moz-translatez\",\n\t\"-moz-type\",\n\t\"-moz-url\",\n\t\"-moz-var\",\n\t\"-o-abs\",\n\t\"-o-acos\",\n\t\"-o-annotation\",\n\t\"-o-asin\",\n\t\"-o-atan\",\n\t\"-o-atan2\",\n\t\"-o-attr\",\n\t\"-o-blur\",\n\t\"-o-brightness\",\n\t\"-o-calc\",\n\t\"-o-character-variant\",\n\t\"-o-circle\",\n\t\"-o-clamp\",\n\t\"-o-color\",\n\t\"-o-color-contrast\",\n\t\"-o-color-mix\",\n\t\"-o-conic-gradient\",\n\t\"-o-contrast\",\n\t\"-o-cos\",\n\t\"-o-counter\",\n\t\"-o-counters\",\n\t\"-o-cross-fade\",\n\t\"-o-cubic-bezier\",\n\t\"-o-device-cmyk\",\n\t\"-o-drop-shadow\",\n\t\"-o-element\",\n\t\"-o-ellipse\",\n\t\"-o-env\",\n\t\"-o-exp\",\n\t\"-o-fit-content\",\n\t\"-o-format\",\n\t\"-o-grayscale\",\n\t\"-o-hsl\",\n\t\"-o-hsla\",\n\t\"-o-hue-rotate\",\n\t\"-o-hwb\",\n\t\"-o-hypot\",\n\t\"-o-image\",\n\t\"-o-image-set\",\n\t\"-o-inset\",\n\t\"-o-invert\",\n\t\"-o-lab\",\n\t\"-o-layer\",\n\t\"-o-lch\",\n\t\"-o-leader\",\n\t\"-o-linear-gradient\",\n\t\"-o-local\",\n\t\"-o-log\",\n\t\"-o-matrix\",\n\t\"-o-matrix3d\",\n\t\"-o-max\",\n\t\"-o-min\",\n\t\"-o-minmax\",\n\t\"-o-mod\",\n\t\"-o-oklab\",\n\t\"-o-oklch\",\n\t\"-o-opacity\",\n\t\"-o-ornaments\",\n\t\"-o-paint\",\n\t\"-o-path\",\n\t\"-o-perspective\",\n\t\"-o-polygon\",\n\t\"-o-pow\",\n\t\"-o-radial-gradient\",\n\t\"-o-rect\",\n\t\"-o-rem\",\n\t\"-o-repeat\",\n\t\"-o-repeating-conic-gradient\",\n\t\"-o-repeating-linear-gradient\",\n\t\"-o-repeating-radial-gradient\",\n\t\"-o-rgb\",\n\t\"-o-rgba\",\n\t\"-o-rotate\",\n\t\"-o-rotate3d\",\n\t\"-o-rotateX\",\n\t\"-o-rotateY\",\n\t\"-o-rotateZ\",\n\t\"-o-rotatex\",\n\t\"-o-rotatey\",\n\t\"-o-rotatez\",\n\t\"-o-round\",\n\t\"-o-saturate\",\n\t\"-o-scale\",\n\t\"-o-scale3d\",\n\t\"-o-scaleX\",\n\t\"-o-scaleY\",\n\t\"-o-scaleZ\",\n\t\"-o-scalex\",\n\t\"-o-scaley\",\n\t\"-o-scalez\",\n\t\"-o-selector\",\n\t\"-o-sepia\",\n\t\"-o-sign\",\n\t\"-o-sin\",\n\t\"-o-skew\",\n\t\"-o-skewX\",\n\t\"-o-skewY\",\n\t\"-o-skewx\",\n\t\"-o-skewy\",\n\t\"-o-sqrt\",\n\t\"-o-steps\",\n\t\"-o-styleset\",\n\t\"-o-stylistic\",\n\t\"-o-swash\",\n\t\"-o-symbols\",\n\t\"-o-tan\",\n\t\"-o-target-counter\",\n\t\"-o-target-counters\",\n\t\"-o-target-text\",\n\t\"-o-translate\",\n\t\"-o-translate3d\",\n\t\"-o-translateX\",\n\t\"-o-translateY\",\n\t\"-o-translateZ\",\n\t\"-o-translatex\",\n\t\"-o-translatey\",\n\t\"-o-translatez\",\n\t\"-o-type\",\n\t\"-o-url\",\n\t\"-o-var\",\n\t\"-ms-abs\",\n\t\"-ms-acos\",\n\t\"-ms-annotation\",\n\t\"-ms-asin\",\n\t\"-ms-atan\",\n\t\"-ms-atan2\",\n\t\"-ms-attr\",\n\t\"-ms-blur\",\n\t\"-ms-brightness\",\n\t\"-ms-calc\",\n\t\"-ms-character-variant\",\n\t\"-ms-circle\",\n\t\"-ms-clamp\",\n\t\"-ms-color\",\n\t\"-ms-color-contrast\",\n\t\"-ms-color-mix\",\n\t\"-ms-conic-gradient\",\n\t\"-ms-contrast\",\n\t\"-ms-cos\",\n\t\"-ms-counter\",\n\t\"-ms-counters\",\n\t\"-ms-cross-fade\",\n\t\"-ms-cubic-bezier\",\n\t\"-ms-device-cmyk\",\n\t\"-ms-drop-shadow\",\n\t\"-ms-element\",\n\t\"-ms-ellipse\",\n\t\"-ms-env\",\n\t\"-ms-exp\",\n\t\"-ms-fit-content\",\n\t\"-ms-format\",\n\t\"-ms-grayscale\",\n\t\"-ms-hsl\",\n\t\"-ms-hsla\",\n\t\"-ms-hue-rotate\",\n\t\"-ms-hwb\",\n\t\"-ms-hypot\",\n\t\"-ms-image\",\n\t\"-ms-image-set\",\n\t\"-ms-inset\",\n\t\"-ms-invert\",\n\t\"-ms-lab\",\n\t\"-ms-layer\",\n\t\"-ms-lch\",\n\t\"-ms-leader\",\n\t\"-ms-linear-gradient\",\n\t\"-ms-local\",\n\t\"-ms-log\",\n\t\"-ms-matrix\",\n\t\"-ms-matrix3d\",\n\t\"-ms-max\",\n\t\"-ms-min\",\n\t\"-ms-minmax\",\n\t\"-ms-mod\",\n\t\"-ms-oklab\",\n\t\"-ms-oklch\",\n\t\"-ms-opacity\",\n\t\"-ms-ornaments\",\n\t\"-ms-paint\",\n\t\"-ms-path\",\n\t\"-ms-perspective\",\n\t\"-ms-polygon\",\n\t\"-ms-pow\",\n\t\"-ms-radial-gradient\",\n\t\"-ms-rect\",\n\t\"-ms-rem\",\n\t\"-ms-repeat\",\n\t\"-ms-repeating-conic-gradient\",\n\t\"-ms-repeating-linear-gradient\",\n\t\"-ms-repeating-radial-gradient\",\n\t\"-ms-rgb\",\n\t\"-ms-rgba\",\n\t\"-ms-rotate\",\n\t\"-ms-rotate3d\",\n\t\"-ms-rotateX\",\n\t\"-ms-rotateY\",\n\t\"-ms-rotateZ\",\n\t\"-ms-rotatex\",\n\t\"-ms-rotatey\",\n\t\"-ms-rotatez\",\n\t\"-ms-round\",\n\t\"-ms-saturate\",\n\t\"-ms-scale\",\n\t\"-ms-scale3d\",\n\t\"-ms-scaleX\",\n\t\"-ms-scaleY\",\n\t\"-ms-scaleZ\",\n\t\"-ms-scalex\",\n\t\"-ms-scaley\",\n\t\"-ms-scalez\",\n\t\"-ms-selector\",\n\t\"-ms-sepia\",\n\t\"-ms-sign\",\n\t\"-ms-sin\",\n\t\"-ms-skew\",\n\t\"-ms-skewX\",\n\t\"-ms-skewY\",\n\t\"-ms-skewx\",\n\t\"-ms-skewy\",\n\t\"-ms-sqrt\",\n\t\"-ms-steps\",\n\t\"-ms-styleset\",\n\t\"-ms-stylistic\",\n\t\"-ms-swash\",\n\t\"-ms-symbols\",\n\t\"-ms-tan\",\n\t\"-ms-target-counter\",\n\t\"-ms-target-counters\",\n\t\"-ms-target-text\",\n\t\"-ms-translate\",\n\t\"-ms-translate3d\",\n\t\"-ms-translateX\",\n\t\"-ms-translateY\",\n\t\"-ms-translateZ\",\n\t\"-ms-translatex\",\n\t\"-ms-translatey\",\n\t\"-ms-translatez\",\n\t\"-ms-type\",\n\t\"-ms-url\",\n\t\"-ms-var\"\n]\n"); + + root.walkDecls(decl => { + const { value } = decl; + + valueParser(value).walk(node => { + const name = node.value; + + if (node.type !== 'function') { + return; + } + + if (!isStandardSyntaxFunction(node)) { + return; + } + + if (isCustomFunction(name)) { + return; + } + + if (optionsMatches(secondaryOptions, 'ignoreFunctions', name)) { + return; + } + + if (functionsList.includes(name.toLowerCase())) { + return; + } + + report({ + message: messages.rejected(name), + node: decl, + index: declarationValueIndex(decl) + node.sourceIndex, + result, + ruleName, + word: name }); + + }); + }); + }; + }; + + rule.ruleName = ruleName; + rule.messages = messages; + rule.meta = meta; + module.exports = rule; + + }, { "../../utils/declarationValueIndex": 333, "../../utils/isCustomFunction": 368, "../../utils/isStandardSyntaxFunction": 390, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "postcss-value-parser": 59 }], 196: [function (require, module, exports) { 'use strict'; const declarationValueIndex = require('../../utils/declarationValueIndex'); @@ -27166,6 +23741,10 @@ rejectedClosingMultiLine: 'Unexpected whitespace before ")" in a multi-line function' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/function-parentheses-newline-inside' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { return (root, result) => { @@ -27411,9 +23990,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/getDeclarationValue": 366, "../../utils/isSingleLineString": 407, "../../utils/isStandardSyntaxFunction": 413, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/setDeclarationValue": 438, "../../utils/validateOptions": 442, "postcss-value-parser": 83 }], 227: [function (require, module, exports) { + }, { "../../utils/declarationValueIndex": 333, "../../utils/getDeclarationValue": 341, "../../utils/isSingleLineString": 384, "../../utils/isStandardSyntaxFunction": 390, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/setDeclarationValue": 415, "../../utils/validateOptions": 420, "postcss-value-parser": 59 }], 197: [function (require, module, exports) { 'use strict'; const declarationValueIndex = require('../../utils/declarationValueIndex'); @@ -27439,6 +24019,10 @@ rejectedClosingSingleLine: 'Unexpected whitespace before ")" in a single-line function' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/function-parentheses-space-inside' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { return (root, result) => { @@ -27581,9 +24165,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/getDeclarationValue": 366, "../../utils/isSingleLineString": 407, "../../utils/isStandardSyntaxFunction": 413, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/setDeclarationValue": 438, "../../utils/validateOptions": 442, "postcss-value-parser": 83 }], 228: [function (require, module, exports) { + }, { "../../utils/declarationValueIndex": 333, "../../utils/getDeclarationValue": 341, "../../utils/isSingleLineString": 384, "../../utils/isStandardSyntaxFunction": 390, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/setDeclarationValue": 415, "../../utils/validateOptions": 420, "postcss-value-parser": 59 }], 198: [function (require, module, exports) { 'use strict'; const functionArgumentsSearch = require('../../utils/functionArgumentsSearch'); @@ -27598,6 +24183,10 @@ rejected: 'Unexpected scheme-relative url' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/function-url-no-scheme-relative' }; + + /** @type {import('stylelint').Rule} */ const rule = primary => { return (root, result) => { @@ -27619,6 +24208,7 @@ message: messages.rejected, node: decl, index, + endIndex: index + args.length, result, ruleName }); @@ -27629,9 +24219,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/functionArgumentsSearch": 364, "../../utils/isStandardSyntaxUrl": 420, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442 }], 229: [function (require, module, exports) { + }, { "../../utils/functionArgumentsSearch": 339, "../../utils/isStandardSyntaxUrl": 397, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420 }], 199: [function (require, module, exports) { 'use strict'; const atRuleParamIndex = require('../../utils/atRuleParamIndex'); @@ -27649,6 +24240,10 @@ rejected: functionName => `Unexpected quotes around "${functionName}" function argument` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/function-url-quotes' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, secondaryOptions) => { return (root, result) => { @@ -27717,6 +24312,7 @@ } const complaintIndex = index + args.length - leftTrimmedArgs.length; + const complaintEndIndex = index + args.length; const hasQuotes = leftTrimmedArgs.startsWith("'") || leftTrimmedArgs.startsWith('"'); const trimmedArg = args.trim(); @@ -27731,13 +24327,13 @@ return; } - complain(messages.expected(functionName), node, complaintIndex); + complain(messages.expected(functionName), node, complaintIndex, complaintEndIndex); } else { if (!hasQuotes) { return; } - complain(messages.rejected(functionName), node, complaintIndex); + complain(messages.rejected(functionName), node, complaintIndex, complaintEndIndex); } } @@ -27745,12 +24341,14 @@ * @param {string} message * @param {import('postcss').Node} node * @param {number} index + * @param {number} endIndex */ - function complain(message, node, index) { + function complain(message, node, index, endIndex) { report({ message, node, index, + endIndex, result, ruleName }); @@ -27760,9 +24358,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/atRuleParamIndex": 352, "../../utils/functionArgumentsSearch": 364, "../../utils/isStandardSyntaxUrl": 420, "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442 }], 230: [function (require, module, exports) { + }, { "../../utils/atRuleParamIndex": 326, "../../utils/functionArgumentsSearch": 339, "../../utils/isStandardSyntaxUrl": 397, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420 }], 200: [function (require, module, exports) { 'use strict'; const functionArgumentsSearch = require('../../utils/functionArgumentsSearch'); @@ -27780,7 +24379,11 @@ rejected: scheme => `Unexpected URL scheme "${scheme}:"` }); - /** @type {import('stylelint').Rule} */ + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/function-url-scheme-allowed-list' }; + + + /** @type {import('stylelint').Rule>} */ const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { @@ -27815,6 +24418,7 @@ message: messages.rejected(scheme), node: decl, index, + endIndex: index + args.length, result, ruleName }); @@ -27827,9 +24431,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/functionArgumentsSearch": 364, "../../utils/getSchemeFromUrl": 373, "../../utils/isStandardSyntaxUrl": 420, "../../utils/matchesStringOrRegExp": 426, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443 }], 231: [function (require, module, exports) { + }, { "../../utils/functionArgumentsSearch": 339, "../../utils/getSchemeFromUrl": 349, "../../utils/isStandardSyntaxUrl": 397, "../../utils/matchesStringOrRegExp": 403, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 201: [function (require, module, exports) { 'use strict'; const functionArgumentsSearch = require('../../utils/functionArgumentsSearch'); @@ -27847,7 +24452,11 @@ rejected: scheme => `Unexpected URL scheme "${scheme}:"` }); - /** @type {import('stylelint').Rule} */ + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/function-url-scheme-disallowed-list' }; + + + /** @type {import('stylelint').Rule>} */ const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { @@ -27882,6 +24491,7 @@ message: messages.rejected(scheme), node: decl, index, + endIndex: index + args.length, result, ruleName }); @@ -27894,9 +24504,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/functionArgumentsSearch": 364, "../../utils/getSchemeFromUrl": 373, "../../utils/isStandardSyntaxUrl": 420, "../../utils/matchesStringOrRegExp": 426, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443 }], 232: [function (require, module, exports) { + }, { "../../utils/functionArgumentsSearch": 339, "../../utils/getSchemeFromUrl": 349, "../../utils/isStandardSyntaxUrl": 397, "../../utils/matchesStringOrRegExp": 403, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 202: [function (require, module, exports) { 'use strict'; const atRuleParamIndex = require('../../utils/atRuleParamIndex'); @@ -27916,6 +24527,10 @@ rejected: 'Unexpected whitespace after ")"' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/function-whitespace-after' }; + + const ACCEPTABLE_AFTER_CLOSING_PAREN = new Set([')', ',', '}', ':', '/', undefined]); /** @type {import('stylelint').Rule} */ @@ -27957,7 +24572,9 @@ * @param {((index: number) => void) | undefined} fix */ function checkClosingParen(source, index, node, nodeIndex, fix) { - const nextChar = source[index]; + const nextChar = source.charAt(index); + + if (!nextChar) return; if (primary === 'always') { // Allow for the next character to be a single empty space, @@ -27970,7 +24587,7 @@ return; } - if (source.substr(index, 2) === '\r\n') { + if (source.slice(index, index + 2) === '\r\n') { return; } @@ -28027,7 +24644,10 @@ applyFix = index => { let whitespaceEndIndex = index + 1; - while (whitespaceEndIndex < value.length && isWhitespace(value[whitespaceEndIndex])) { + while ( + whitespaceEndIndex < value.length && + isWhitespace(value.charAt(whitespaceEndIndex))) + { whitespaceEndIndex++; } @@ -28078,9 +24698,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/atRuleParamIndex": 352, "../../utils/declarationValueIndex": 359, "../../utils/getDeclarationValue": 366, "../../utils/isWhitespace": 425, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/setDeclarationValue": 438, "../../utils/validateOptions": 442, "style-search": 121 }], 233: [function (require, module, exports) { + }, { "../../utils/atRuleParamIndex": 326, "../../utils/declarationValueIndex": 333, "../../utils/getDeclarationValue": 341, "../../utils/isWhitespace": 402, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/setDeclarationValue": 415, "../../utils/validateOptions": 420, "style-search": 92 }], 203: [function (require, module, exports) { 'use strict'; const declarationValueIndex = require('../utils/declarationValueIndex'); @@ -28132,6 +24753,7 @@ // 1. Remove comments including preceding whitespace (when only succeeded by whitespace) // 2. Remove all other comments, but leave adjacent whitespace intact + // eslint-disable-next-line regexp/no-dupe-disjunctions -- TODO: Possible to simplify the regex. result = result.replace(/( *\/(\*.*\*\/(?!\S)|\/.*)|(\/(\*.*\*\/|\/.*)))/, ''); return result; @@ -28149,6 +24771,7 @@ // 1. Remove comments including preceding whitespace (when only succeeded by whitespace) // 2. Remove all other comments, but leave adjacent whitespace intact + // eslint-disable-next-line regexp/no-dupe-disjunctions -- TODO: Possible to simplify the regex. commaBefore = commaBefore.replace(/( *\/(\*.*\*\/(?!\S)|\/.*)|(\/(\*.*\*\/|\/.*)))/, ''); return commaBefore.length; @@ -28203,7 +24826,7 @@ }); }; - }, { "../utils/declarationValueIndex": 359, "../utils/getDeclarationValue": 366, "../utils/isStandardSyntaxFunction": 413, "../utils/report": 435, "../utils/setDeclarationValue": 438, "postcss-value-parser": 83 }], 234: [function (require, module, exports) { + }, { "../utils/declarationValueIndex": 333, "../utils/getDeclarationValue": 341, "../utils/isStandardSyntaxFunction": 390, "../utils/report": 412, "../utils/setDeclarationValue": 415, "postcss-value-parser": 59 }], 204: [function (require, module, exports) { 'use strict'; /** @@ -28232,6 +24855,10 @@ for (let i = index + 1; i < nodes.length; i++) { const node = nodes[i]; + if (node === undefined) { + continue; + } + if (node.type === 'comment') { continue; } @@ -28250,7 +24877,7 @@ return false; }; - }, {}], 235: [function (require, module, exports) { + }, {}], 205: [function (require, module, exports) { 'use strict'; const valueParser = require('postcss-value-parser'); @@ -28269,6 +24896,10 @@ expected: (unfixed, fixed) => `Expected "${unfixed}" to be "${fixed}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/hue-degree-notation' }; + + const HUE_FIRST_ARG_FUNCS = ['hsl', 'hsla', 'hwb']; const HUE_THIRD_ARG_FUNCS = ['lch']; const HUE_FUNCS = new Set([...HUE_FIRST_ARG_FUNCS, ...HUE_THIRD_ARG_FUNCS]); @@ -28316,10 +24947,13 @@ return; } + const valueIndex = declarationValueIndex(decl); + report({ message: messages.expected(unfixed, fixed), node: decl, - index: declarationValueIndex(decl) + hue.sourceIndex, + index: valueIndex + hue.sourceIndex, + endIndex: valueIndex + hue.sourceEndIndex, result, ruleName }); @@ -28388,9 +25022,137 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; + module.exports = rule; + + }, { "../../utils/declarationValueIndex": 333, "../../utils/getDeclarationValue": 341, "../../utils/isStandardSyntaxValue": 398, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/setDeclarationValue": 415, "../../utils/validateOptions": 420, "postcss-value-parser": 59 }], 206: [function (require, module, exports) { + 'use strict'; + + const valueParser = require('postcss-value-parser'); + + const report = require('../../utils/report'); + const ruleMessages = require('../../utils/ruleMessages'); + const validateOptions = require('../../utils/validateOptions'); + const setAtRuleParams = require('../../utils/setAtRuleParams'); + const getAtRuleParams = require('../../utils/getAtRuleParams'); + const atRuleParamIndex = require('../../utils/atRuleParamIndex'); + + const ruleName = 'import-notation'; + + const messages = ruleMessages(ruleName, { + expected: (unfixed, fixed) => `Expected "${unfixed}" to be "${fixed}"` }); + + + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/import-notation' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, _, context) => { + return (root, result) => { + const validOptions = validateOptions(result, ruleName, { + actual: primary, + possible: ['string', 'url'] }); + + + if (!validOptions) { + return; + } + + root.walkAtRules(/^import$/i, checkAtRuleImportParams); + + /** + * @param {import('postcss').AtRule} atRule + */ + function checkAtRuleImportParams(atRule) { + const params = getAtRuleParams(atRule); + const parsed = valueParser(params); + + for (const node of parsed.nodes) { + const start = atRuleParamIndex(atRule); + const end = start + node.sourceEndIndex; + + if (primary === 'string') { + if (node.type === 'function' && node.value.toLowerCase() === 'url') { + const urlFunctionFull = valueParser.stringify(node); + const urlFunctionArguments = valueParser.stringify(node.nodes); + + const quotedUrlFunctionFirstArgument = + node.nodes[0] && node.nodes[0].type === 'word' ? + `"${urlFunctionArguments}"` : + urlFunctionArguments; + + if (context.fix) { + const restAtRuleParams = atRule.params.slice(node.sourceEndIndex); + + setAtRuleParams(atRule, `${quotedUrlFunctionFirstArgument}${restAtRuleParams}`); + + return; + } + + complain( + messages.expected(urlFunctionFull, quotedUrlFunctionFirstArgument), + atRule, + start, + end); + + + return; + } + } + + if (primary === 'url') { + if (node.type === 'space') return; + + if (node.type === 'word' || node.type === 'string') { + const path = valueParser.stringify(node); + + const urlFunctionFull = `url(${path})`; + + if (context.fix) { + const restAtRuleParams = atRule.params.slice(node.sourceEndIndex); + + setAtRuleParams(atRule, `${urlFunctionFull}${restAtRuleParams}`); + + return; + } + + const quotedNodeValue = + node.type === 'word' ? `"${node.value}"` : `${node.quote}${node.value}${node.quote}`; + + complain(messages.expected(quotedNodeValue, urlFunctionFull), atRule, start, end); + + return; + } + } + } + } + + /** + * @param {string} message + * @param {import('postcss').Node} node + * @param {number} index + * @param {number} endIndex + */ + function complain(message, node, index, endIndex) { + report({ + message, + node, + index, + endIndex, + result, + ruleName }); + + } + }; + }; + + rule.ruleName = ruleName; + rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/getDeclarationValue": 366, "../../utils/isStandardSyntaxValue": 421, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/setDeclarationValue": 438, "../../utils/validateOptions": 442, "postcss-value-parser": 83 }], 236: [function (require, module, exports) { + }, { "../../utils/atRuleParamIndex": 326, "../../utils/getAtRuleParams": 340, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/setAtRuleParams": 414, "../../utils/validateOptions": 420, "postcss-value-parser": 59 }], 207: [function (require, module, exports) { 'use strict'; const beforeBlockString = require('../../utils/beforeBlockString'); @@ -28401,13 +25163,17 @@ const styleSearch = require('style-search'); const validateOptions = require('../../utils/validateOptions'); const { isAtRule, isDeclaration, isRoot, isRule } = require('../../utils/typeGuards'); - const { isBoolean, isNumber, isString } = require('../../utils/validateTypes'); + const { isBoolean, isNumber, isString, assertString } = require('../../utils/validateTypes'); const ruleName = 'indentation'; const messages = ruleMessages(ruleName, { expected: x => `Expected indentation of ${x}` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/indentation' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, secondaryOptions = {}, context) => { return (root, result) => { @@ -28465,7 +25231,7 @@ // Cut out any * and _ hacks from `before` const before = (node.raws.before || '').replace(/[*_]$/, ''); - const after = 'after' in node.raws && node.raws.after || ''; + const after = typeof node.raws.after === 'string' ? node.raws.after : ''; const parent = node.parent; if (!parent) throw new Error('A parent node must be present'); @@ -28755,7 +25521,7 @@ return; } - const afterNewlineSpace = afterNewlineSpaceMatches[1]; + const afterNewlineSpace = afterNewlineSpaceMatches[1] || ''; const expectedIndentation = indentChar.repeat( expectedIndentLevel > 0 ? expectedIndentLevel : 0); @@ -28968,7 +25734,8 @@ } } - indentSize = Number(indentSize) || indents && indents[0].length || Number(space) || 2; + indentSize = + Number(indentSize) || indents && indents[0] && indents[0].length || Number(space) || 2; docSource.indentSize = indentSize; return indentSize; @@ -29031,7 +25798,10 @@ let i = 0; while (++i < foundIndents.length) { - const current = getIndentLevel(foundIndents[i]); + const foundIndent = foundIndents[i]; + + assertString(foundIndent); + const current = getIndentLevel(foundIndent); if (current < shortest) { shortest = current; @@ -29112,372 +25882,527 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/beforeBlockString": 353, "../../utils/hasBlock": 375, "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/typeGuards": 440, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "style-search": 121 }], 237: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/beforeBlockString": 327, "../../utils/hasBlock": 351, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/typeGuards": 417, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "style-search": 92 }], 208: [function (require, module, exports) { 'use strict'; - const importLazy = require('import-lazy'); + /* const _importLazy = require('import-lazy'); */ + + /* const importLazy = _importLazy(require); */ /** @type {typeof import('stylelint').rules} */ const rules = { - 'alpha-value-notation': importLazy(() => require('./alpha-value-notation'))(), - 'at-rule-allowed-list': importLazy(() => require('./at-rule-allowed-list'))(), - 'at-rule-disallowed-list': importLazy(() => require('./at-rule-disallowed-list'))(), - 'at-rule-empty-line-before': importLazy(() => require('./at-rule-empty-line-before'))(), - 'at-rule-name-case': importLazy(() => require('./at-rule-name-case'))(), - 'at-rule-name-newline-after': importLazy(() => require('./at-rule-name-newline-after'))(), - 'at-rule-semicolon-space-before': importLazy(() => require('./at-rule-semicolon-space-before'))(), - 'at-rule-name-space-after': importLazy(() => require('./at-rule-name-space-after'))(), - 'at-rule-no-unknown': importLazy(() => require('./at-rule-no-unknown'))(), - /* 'at-rule-no-vendor-prefix': importLazy(() => require('./at-rule-no-vendor-prefix'))(), */ - 'at-rule-property-required-list': importLazy(() => require('./at-rule-property-required-list'))(), - 'at-rule-semicolon-newline-after': importLazy(() => - require('./at-rule-semicolon-newline-after'))(), - - 'block-closing-brace-empty-line-before': importLazy(() => - require('./block-closing-brace-empty-line-before'))(), - - 'block-closing-brace-newline-after': importLazy(() => - require('./block-closing-brace-newline-after'))(), - - 'block-closing-brace-newline-before': importLazy(() => - require('./block-closing-brace-newline-before'))(), - - 'block-closing-brace-space-after': importLazy(() => - require('./block-closing-brace-space-after'))(), - - 'block-closing-brace-space-before': importLazy(() => - require('./block-closing-brace-space-before'))(), - - 'block-no-empty': importLazy(() => require('./block-no-empty'))(), - 'block-opening-brace-newline-after': importLazy(() => - require('./block-opening-brace-newline-after'))(), - - 'block-opening-brace-newline-before': importLazy(() => - require('./block-opening-brace-newline-before'))(), - - 'block-opening-brace-space-after': importLazy(() => - require('./block-opening-brace-space-after'))(), - - 'block-opening-brace-space-before': importLazy(() => - require('./block-opening-brace-space-before'))(), - - 'color-function-notation': importLazy(() => require('./color-function-notation'))(), - 'color-hex-alpha': importLazy(() => require('./color-hex-alpha'))(), - 'color-hex-case': importLazy(() => require('./color-hex-case'))(), - 'color-hex-length': importLazy(() => require('./color-hex-length'))(), - 'color-named': importLazy(() => require('./color-named'))(), - 'color-no-hex': importLazy(() => require('./color-no-hex'))(), - 'color-no-invalid-hex': importLazy(() => require('./color-no-invalid-hex'))(), - 'comment-empty-line-before': importLazy(() => require('./comment-empty-line-before'))(), - 'comment-no-empty': importLazy(() => require('./comment-no-empty'))(), - 'comment-pattern': importLazy(() => require('./comment-pattern'))(), - 'comment-whitespace-inside': importLazy(() => require('./comment-whitespace-inside'))(), - 'comment-word-disallowed-list': importLazy(() => require('./comment-word-disallowed-list'))(), - 'custom-media-pattern': importLazy(() => require('./custom-media-pattern'))(), - 'custom-property-empty-line-before': importLazy(() => - require('./custom-property-empty-line-before'))(), - - 'custom-property-no-missing-var-function': importLazy(() => - require('./custom-property-no-missing-var-function'))(), - - 'custom-property-pattern': importLazy(() => require('./custom-property-pattern'))(), - 'declaration-bang-space-after': importLazy(() => require('./declaration-bang-space-after'))(), - 'declaration-bang-space-before': importLazy(() => require('./declaration-bang-space-before'))(), - 'declaration-block-no-duplicate-custom-properties': importLazy(() => - require('./declaration-block-no-duplicate-custom-properties'))(), - - 'declaration-block-no-duplicate-properties': importLazy(() => - require('./declaration-block-no-duplicate-properties'))(), - - 'declaration-block-no-redundant-longhand-properties': importLazy(() => - require('./declaration-block-no-redundant-longhand-properties'))(), - - 'declaration-block-no-shorthand-property-overrides': importLazy(() => - require('./declaration-block-no-shorthand-property-overrides'))(), - - 'declaration-block-semicolon-newline-after': importLazy(() => - require('./declaration-block-semicolon-newline-after'))(), - - 'declaration-block-semicolon-newline-before': importLazy(() => - require('./declaration-block-semicolon-newline-before'))(), - - 'declaration-block-semicolon-space-after': importLazy(() => - require('./declaration-block-semicolon-space-after'))(), - - 'declaration-block-semicolon-space-before': importLazy(() => - require('./declaration-block-semicolon-space-before'))(), - - 'declaration-block-single-line-max-declarations': importLazy(() => - require('./declaration-block-single-line-max-declarations'))(), - - 'declaration-block-trailing-semicolon': importLazy(() => - require('./declaration-block-trailing-semicolon'))(), - - 'declaration-colon-newline-after': importLazy(() => - require('./declaration-colon-newline-after'))(), - - 'declaration-colon-space-after': importLazy(() => require('./declaration-colon-space-after'))(), - 'declaration-colon-space-before': importLazy(() => require('./declaration-colon-space-before'))(), - 'declaration-empty-line-before': importLazy(() => require('./declaration-empty-line-before'))(), - 'declaration-no-important': importLazy(() => require('./declaration-no-important'))(), - 'declaration-property-unit-allowed-list': importLazy(() => - require('./declaration-property-unit-allowed-list'))(), - - 'declaration-property-unit-disallowed-list': importLazy(() => - require('./declaration-property-unit-disallowed-list'))(), - - 'declaration-property-value-allowed-list': importLazy(() => - require('./declaration-property-value-allowed-list'))(), - - 'declaration-property-value-disallowed-list': importLazy(() => - require('./declaration-property-value-disallowed-list'))(), - - 'font-family-no-missing-generic-family-keyword': importLazy(() => - require('./font-family-no-missing-generic-family-keyword'))(), - - 'font-family-name-quotes': importLazy(() => require('./font-family-name-quotes'))(), - 'font-family-no-duplicate-names': importLazy(() => require('./font-family-no-duplicate-names'))(), - 'font-weight-notation': importLazy(() => require('./font-weight-notation'))(), - 'function-allowed-list': importLazy(() => require('./function-allowed-list'))(), - 'function-calc-no-unspaced-operator': importLazy(() => - require('./function-calc-no-unspaced-operator'))(), - - 'function-comma-newline-after': importLazy(() => require('./function-comma-newline-after'))(), - 'function-comma-newline-before': importLazy(() => require('./function-comma-newline-before'))(), - 'function-comma-space-after': importLazy(() => require('./function-comma-space-after'))(), - 'function-comma-space-before': importLazy(() => require('./function-comma-space-before'))(), - 'function-disallowed-list': importLazy(() => require('./function-disallowed-list'))(), - 'function-linear-gradient-no-nonstandard-direction': importLazy(() => - require('./function-linear-gradient-no-nonstandard-direction'))(), - - 'function-max-empty-lines': importLazy(() => require('./function-max-empty-lines'))(), - 'function-name-case': importLazy(() => require('./function-name-case'))(), - 'function-parentheses-newline-inside': importLazy(() => - require('./function-parentheses-newline-inside'))(), - - 'function-parentheses-space-inside': importLazy(() => - require('./function-parentheses-space-inside'))(), - - 'function-url-no-scheme-relative': importLazy(() => - require('./function-url-no-scheme-relative'))(), - - 'function-url-quotes': importLazy(() => require('./function-url-quotes'))(), - 'function-url-scheme-allowed-list': importLazy(() => - require('./function-url-scheme-allowed-list'))(), - - 'function-url-scheme-disallowed-list': importLazy(() => - require('./function-url-scheme-disallowed-list'))(), - - 'function-whitespace-after': importLazy(() => require('./function-whitespace-after'))(), - 'hue-degree-notation': importLazy(() => require('./hue-degree-notation'))(), - 'keyframe-declaration-no-important': importLazy(() => - require('./keyframe-declaration-no-important'))(), - - 'keyframes-name-pattern': importLazy(() => require('./keyframes-name-pattern'))(), - 'length-zero-no-unit': importLazy(() => require('./length-zero-no-unit'))(), - linebreaks: importLazy(() => require('./linebreaks'))(), - 'max-empty-lines': importLazy(() => require('./max-empty-lines'))(), - 'max-line-length': importLazy(() => require('./max-line-length'))(), - 'max-nesting-depth': importLazy(() => require('./max-nesting-depth'))(), - 'media-feature-colon-space-after': importLazy(() => - require('./media-feature-colon-space-after'))(), - - 'media-feature-colon-space-before': importLazy(() => - require('./media-feature-colon-space-before'))(), + 'alpha-value-notation': /* importLazy( */ + require('./alpha-value-notation'), + 'at-rule-allowed-list': /* importLazy( */ + require('./at-rule-allowed-list'), + 'at-rule-disallowed-list': /* importLazy( */ + require('./at-rule-disallowed-list'), + 'at-rule-empty-line-before': /* importLazy( */ + require('./at-rule-empty-line-before'), + 'at-rule-name-case': /* importLazy( */ + require('./at-rule-name-case'), + 'at-rule-name-newline-after': /* importLazy( */ + require('./at-rule-name-newline-after'), + 'at-rule-semicolon-space-before': /* importLazy( */ + require('./at-rule-semicolon-space-before'), + 'at-rule-name-space-after': /* importLazy( */ + require('./at-rule-name-space-after'), + 'at-rule-no-unknown': /* importLazy( */ + require('./at-rule-no-unknown'), + /* 'at-rule-no-vendor-prefix': importLazy('./at-rule-no-vendor-prefix'), + */'at-rule-property-required-list': /* importLazy( */ + require('./at-rule-property-required-list'), + 'at-rule-semicolon-newline-after': /* importLazy( */ + require('./at-rule-semicolon-newline-after'), + 'block-closing-brace-empty-line-before': /* importLazy( */ + require('./block-closing-brace-empty-line-before'), + 'block-closing-brace-newline-after': /* importLazy( */ + require('./block-closing-brace-newline-after'), + 'block-closing-brace-newline-before': /* importLazy( */ + require('./block-closing-brace-newline-before'), + 'block-closing-brace-space-after': /* importLazy( */ + require('./block-closing-brace-space-after'), + 'block-closing-brace-space-before': /* importLazy( */ + require('./block-closing-brace-space-before'), + 'block-no-empty': /* importLazy( */ + require('./block-no-empty'), + 'block-opening-brace-newline-after': /* importLazy( */ + require('./block-opening-brace-newline-after'), + 'block-opening-brace-newline-before': /* importLazy( */ + require('./block-opening-brace-newline-before'), + 'block-opening-brace-space-after': /* importLazy( */ + require('./block-opening-brace-space-after'), + 'block-opening-brace-space-before': /* importLazy( */ + require('./block-opening-brace-space-before'), + 'color-function-notation': /* importLazy( */ + require('./color-function-notation'), + 'color-hex-alpha': /* importLazy( */ + require('./color-hex-alpha'), + 'color-hex-case': /* importLazy( */ + require('./color-hex-case'), + 'color-hex-length': /* importLazy( */ + require('./color-hex-length'), + 'color-named': /* importLazy( */ + require('./color-named'), + 'color-no-hex': /* importLazy( */ + require('./color-no-hex'), + 'color-no-invalid-hex': /* importLazy( */ + require('./color-no-invalid-hex'), + 'comment-empty-line-before': /* importLazy( */ + require('./comment-empty-line-before'), + 'comment-no-empty': /* importLazy( */ + require('./comment-no-empty'), + 'comment-pattern': /* importLazy( */ + require('./comment-pattern'), + 'comment-whitespace-inside': /* importLazy( */ + require('./comment-whitespace-inside'), + 'comment-word-disallowed-list': /* importLazy( */ + require('./comment-word-disallowed-list'), + 'custom-media-pattern': /* importLazy( */ + require('./custom-media-pattern'), + 'custom-property-empty-line-before': /* importLazy( */ + require('./custom-property-empty-line-before'), + 'custom-property-no-missing-var-function': /* importLazy( */ + require( + './custom-property-no-missing-var-function'), + + 'custom-property-pattern': /* importLazy( */ + require('./custom-property-pattern'), + 'declaration-bang-space-after': /* importLazy( */ + require('./declaration-bang-space-after'), + 'declaration-bang-space-before': /* importLazy( */ + require('./declaration-bang-space-before'), + 'declaration-block-no-duplicate-custom-properties': /* importLazy( */ + require( + './declaration-block-no-duplicate-custom-properties'), + + 'declaration-block-no-duplicate-properties': /* importLazy( */ + require( + './declaration-block-no-duplicate-properties'), + + 'declaration-block-no-redundant-longhand-properties': /* importLazy( */ + require( + './declaration-block-no-redundant-longhand-properties'), + + 'declaration-block-no-shorthand-property-overrides': /* importLazy( */ + require( + './declaration-block-no-shorthand-property-overrides'), + + 'declaration-block-semicolon-newline-after': /* importLazy( */ + require( + './declaration-block-semicolon-newline-after'), + + 'declaration-block-semicolon-newline-before': /* importLazy( */ + require( + './declaration-block-semicolon-newline-before'), + + 'declaration-block-semicolon-space-after': /* importLazy( */ + require( + './declaration-block-semicolon-space-after'), + + 'declaration-block-semicolon-space-before': /* importLazy( */ + require( + './declaration-block-semicolon-space-before'), + + 'declaration-block-single-line-max-declarations': /* importLazy( */ + require( + './declaration-block-single-line-max-declarations'), + + 'declaration-block-trailing-semicolon': /* importLazy( */ + require('./declaration-block-trailing-semicolon'), + 'declaration-colon-newline-after': /* importLazy( */ + require('./declaration-colon-newline-after'), + 'declaration-colon-space-after': /* importLazy( */ + require('./declaration-colon-space-after'), + 'declaration-colon-space-before': /* importLazy( */ + require('./declaration-colon-space-before'), + 'declaration-empty-line-before': /* importLazy( */ + require('./declaration-empty-line-before'), + 'declaration-no-important': /* importLazy( */ + require('./declaration-no-important'), + 'declaration-property-max-values': /* importLazy( */ + require('./declaration-property-max-values'), + 'declaration-property-unit-allowed-list': /* importLazy( */ + require('./declaration-property-unit-allowed-list'), + 'declaration-property-unit-disallowed-list': /* importLazy( */ + require( + './declaration-property-unit-disallowed-list'), + + 'declaration-property-value-allowed-list': /* importLazy( */ + require( + './declaration-property-value-allowed-list'), + + 'declaration-property-value-disallowed-list': /* importLazy( */ + require( + './declaration-property-value-disallowed-list'), + + 'font-family-no-missing-generic-family-keyword': /* importLazy( */ + require( + './font-family-no-missing-generic-family-keyword'), + + 'font-family-name-quotes': /* importLazy( */ + require('./font-family-name-quotes'), + 'font-family-no-duplicate-names': /* importLazy( */ + require('./font-family-no-duplicate-names'), + 'font-weight-notation': /* importLazy( */ + require('./font-weight-notation'), + 'function-allowed-list': /* importLazy( */ + require('./function-allowed-list'), + 'function-calc-no-unspaced-operator': /* importLazy( */ + require('./function-calc-no-unspaced-operator'), + 'function-comma-newline-after': /* importLazy( */ + require('./function-comma-newline-after'), + 'function-comma-newline-before': /* importLazy( */ + require('./function-comma-newline-before'), + 'function-comma-space-after': /* importLazy( */ + require('./function-comma-space-after'), + 'function-comma-space-before': /* importLazy( */ + require('./function-comma-space-before'), + 'function-disallowed-list': /* importLazy( */ + require('./function-disallowed-list'), + 'function-linear-gradient-no-nonstandard-direction': /* importLazy( */ + require( + './function-linear-gradient-no-nonstandard-direction'), + + 'function-max-empty-lines': /* importLazy( */ + require('./function-max-empty-lines'), + 'function-name-case': /* importLazy( */ + require('./function-name-case'), + 'function-no-unknown': /* importLazy( */ + require('./function-no-unknown'), + 'function-parentheses-newline-inside': /* importLazy( */ + require('./function-parentheses-newline-inside'), + 'function-parentheses-space-inside': /* importLazy( */ + require('./function-parentheses-space-inside'), + 'function-url-no-scheme-relative': /* importLazy( */ + require('./function-url-no-scheme-relative'), + 'function-url-quotes': /* importLazy( */ + require('./function-url-quotes'), + 'function-url-scheme-allowed-list': /* importLazy( */ + require('./function-url-scheme-allowed-list'), + 'function-url-scheme-disallowed-list': /* importLazy( */ + require('./function-url-scheme-disallowed-list'), + 'function-whitespace-after': /* importLazy( */ + require('./function-whitespace-after'), + 'hue-degree-notation': /* importLazy( */ + require('./hue-degree-notation'), + 'import-notation': /* importLazy( */ + require('./import-notation'), + 'keyframe-block-no-duplicate-selectors': /* importLazy( */ + require('./keyframe-block-no-duplicate-selectors'), + 'keyframe-declaration-no-important': /* importLazy( */ + require('./keyframe-declaration-no-important'), + 'keyframes-name-pattern': /* importLazy( */ + require('./keyframes-name-pattern'), + 'length-zero-no-unit': /* importLazy( */ + require('./length-zero-no-unit'), + linebreaks: /* importLazy( */ + require('./linebreaks'), + 'max-empty-lines': /* importLazy( */ + require('./max-empty-lines'), + 'max-line-length': /* importLazy( */ + require('./max-line-length'), + 'max-nesting-depth': /* importLazy( */ + require('./max-nesting-depth'), + 'media-feature-colon-space-after': /* importLazy( */ + require('./media-feature-colon-space-after'), + 'media-feature-colon-space-before': /* importLazy( */ + require('./media-feature-colon-space-before'), + 'media-feature-name-allowed-list': /* importLazy( */ + require('./media-feature-name-allowed-list'), + 'media-feature-name-case': /* importLazy( */ + require('./media-feature-name-case'), + 'media-feature-name-disallowed-list': /* importLazy( */ + require('./media-feature-name-disallowed-list'), + 'media-feature-name-no-unknown': /* importLazy( */ + require('./media-feature-name-no-unknown'), + /* 'media-feature-name-no-vendor-prefix': importLazy('./media-feature-name-no-vendor-prefix'), + */'media-feature-name-value-allowed-list': /* importLazy( */ + require('./media-feature-name-value-allowed-list'), + 'media-feature-parentheses-space-inside': /* importLazy( */ + require('./media-feature-parentheses-space-inside'), + 'media-feature-range-operator-space-after': /* importLazy( */ + require( + './media-feature-range-operator-space-after'), + + 'media-feature-range-operator-space-before': /* importLazy( */ + require( + './media-feature-range-operator-space-before'), + + 'media-query-list-comma-newline-after': /* importLazy( */ + require('./media-query-list-comma-newline-after'), + 'media-query-list-comma-newline-before': /* importLazy( */ + require('./media-query-list-comma-newline-before'), + 'media-query-list-comma-space-after': /* importLazy( */ + require('./media-query-list-comma-space-after'), + 'media-query-list-comma-space-before': /* importLazy( */ + require('./media-query-list-comma-space-before'), + 'named-grid-areas-no-invalid': /* importLazy( */ + require('./named-grid-areas-no-invalid'), + 'no-descending-specificity': /* importLazy( */ + require('./no-descending-specificity'), + 'no-duplicate-at-import-rules': /* importLazy( */ + require('./no-duplicate-at-import-rules'), + 'no-duplicate-selectors': /* importLazy( */ + require('./no-duplicate-selectors'), + 'no-empty-source': /* importLazy( */ + require('./no-empty-source'), + 'no-empty-first-line': /* importLazy( */ + require('./no-empty-first-line'), + 'no-eol-whitespace': /* importLazy( */ + require('./no-eol-whitespace'), + 'no-extra-semicolons': /* importLazy( */ + require('./no-extra-semicolons'), + 'no-invalid-double-slash-comments': /* importLazy( */ + require('./no-invalid-double-slash-comments'), + 'no-invalid-position-at-import-rule': /* importLazy( */ + require('./no-invalid-position-at-import-rule'), + 'no-irregular-whitespace': /* importLazy( */ + require('./no-irregular-whitespace'), + 'no-missing-end-of-source-newline': /* importLazy( */ + require('./no-missing-end-of-source-newline'), + 'no-unknown-animations': /* importLazy( */ + require('./no-unknown-animations'), + 'number-leading-zero': /* importLazy( */ + require('./number-leading-zero'), + 'number-max-precision': /* importLazy( */ + require('./number-max-precision'), + 'number-no-trailing-zeros': /* importLazy( */ + require('./number-no-trailing-zeros'), + 'property-allowed-list': /* importLazy( */ + require('./property-allowed-list'), + 'property-case': /* importLazy( */ + require('./property-case'), + 'property-disallowed-list': /* importLazy( */ + require('./property-disallowed-list'), + 'property-no-unknown': /* importLazy( */ + require('./property-no-unknown'), + /* 'property-no-vendor-prefix': importLazy('./property-no-vendor-prefix'), + */'rule-empty-line-before': /* importLazy( */ + require('./rule-empty-line-before'), + 'rule-selector-property-disallowed-list': /* importLazy( */ + require('./rule-selector-property-disallowed-list'), + 'selector-attribute-brackets-space-inside': /* importLazy( */ + require( + './selector-attribute-brackets-space-inside'), + + 'selector-attribute-name-disallowed-list': /* importLazy( */ + require( + './selector-attribute-name-disallowed-list'), + + 'selector-attribute-operator-allowed-list': /* importLazy( */ + require( + './selector-attribute-operator-allowed-list'), + + 'selector-attribute-operator-disallowed-list': /* importLazy( */ + require( + './selector-attribute-operator-disallowed-list'), + + 'selector-attribute-operator-space-after': /* importLazy( */ + require( + './selector-attribute-operator-space-after'), + + 'selector-attribute-operator-space-before': /* importLazy( */ + require( + './selector-attribute-operator-space-before'), + + 'selector-attribute-quotes': /* importLazy( */ + require('./selector-attribute-quotes'), + 'selector-class-pattern': /* importLazy( */ + require('./selector-class-pattern'), + 'selector-combinator-allowed-list': /* importLazy( */ + require('./selector-combinator-allowed-list'), + 'selector-combinator-disallowed-list': /* importLazy( */ + require('./selector-combinator-disallowed-list'), + 'selector-combinator-space-after': /* importLazy( */ + require('./selector-combinator-space-after'), + 'selector-combinator-space-before': /* importLazy( */ + require('./selector-combinator-space-before'), + 'selector-descendant-combinator-no-non-space': /* importLazy( */ + require( + './selector-descendant-combinator-no-non-space'), + + 'selector-disallowed-list': /* importLazy( */ + require('./selector-disallowed-list'), + 'selector-id-pattern': /* importLazy( */ + require('./selector-id-pattern'), + 'selector-list-comma-newline-after': /* importLazy( */ + require('./selector-list-comma-newline-after'), + 'selector-list-comma-newline-before': /* importLazy( */ + require('./selector-list-comma-newline-before'), + 'selector-list-comma-space-after': /* importLazy( */ + require('./selector-list-comma-space-after'), + 'selector-list-comma-space-before': /* importLazy( */ + require('./selector-list-comma-space-before'), + 'selector-max-attribute': /* importLazy( */ + require('./selector-max-attribute'), + 'selector-max-class': /* importLazy( */ + require('./selector-max-class'), + 'selector-max-combinators': /* importLazy( */ + require('./selector-max-combinators'), + 'selector-max-compound-selectors': /* importLazy( */ + require('./selector-max-compound-selectors'), + 'selector-max-empty-lines': /* importLazy( */ + require('./selector-max-empty-lines'), + 'selector-max-id': /* importLazy( */ + require('./selector-max-id'), + 'selector-max-pseudo-class': /* importLazy( */ + require('./selector-max-pseudo-class'), + 'selector-max-specificity': /* importLazy( */ + require('./selector-max-specificity'), + 'selector-max-type': /* importLazy( */ + require('./selector-max-type'), + 'selector-max-universal': /* importLazy( */ + require('./selector-max-universal'), + 'selector-nested-pattern': /* importLazy( */ + require('./selector-nested-pattern'), + 'selector-no-qualifying-type': /* importLazy( */ + require('./selector-no-qualifying-type'), + /* 'selector-no-vendor-prefix': importLazy('./selector-no-vendor-prefix'), + */'selector-not-notation': /* importLazy( */ + require('./selector-not-notation'), + 'selector-pseudo-class-allowed-list': /* importLazy( */ + require('./selector-pseudo-class-allowed-list'), + 'selector-pseudo-class-case': /* importLazy( */ + require('./selector-pseudo-class-case'), + 'selector-pseudo-class-disallowed-list': /* importLazy( */ + require('./selector-pseudo-class-disallowed-list'), + 'selector-pseudo-class-no-unknown': /* importLazy( */ + require('./selector-pseudo-class-no-unknown'), + 'selector-pseudo-class-parentheses-space-inside': /* importLazy( */ + require( + './selector-pseudo-class-parentheses-space-inside'), + + 'selector-pseudo-element-allowed-list': /* importLazy( */ + require('./selector-pseudo-element-allowed-list'), + 'selector-pseudo-element-case': /* importLazy( */ + require('./selector-pseudo-element-case'), + 'selector-pseudo-element-colon-notation': /* importLazy( */ + require('./selector-pseudo-element-colon-notation'), + 'selector-pseudo-element-disallowed-list': /* importLazy( */ + require( + './selector-pseudo-element-disallowed-list'), + + 'selector-pseudo-element-no-unknown': /* importLazy( */ + require('./selector-pseudo-element-no-unknown'), + 'selector-type-case': /* importLazy( */ + require('./selector-type-case'), + 'selector-type-no-unknown': /* importLazy( */ + require('./selector-type-no-unknown'), + 'shorthand-property-no-redundant-values': /* importLazy( */ + require('./shorthand-property-no-redundant-values'), + 'string-no-newline': /* importLazy( */ + require('./string-no-newline'), + 'string-quotes': /* importLazy( */ + require('./string-quotes'), + 'time-min-milliseconds': /* importLazy( */ + require('./time-min-milliseconds'), + 'unicode-bom': /* importLazy( */ + require('./unicode-bom'), + 'unit-allowed-list': /* importLazy( */ + require('./unit-allowed-list'), + 'unit-case': /* importLazy( */ + require('./unit-case'), + 'unit-disallowed-list': /* importLazy( */ + require('./unit-disallowed-list'), + 'unit-no-unknown': /* importLazy( */ + require('./unit-no-unknown'), + 'value-keyword-case': /* importLazy( */ + require('./value-keyword-case'), + 'value-list-comma-newline-after': /* importLazy( */ + require('./value-list-comma-newline-after'), + 'value-list-comma-newline-before': /* importLazy( */ + require('./value-list-comma-newline-before'), + 'value-list-comma-space-after': /* importLazy( */ + require('./value-list-comma-space-after'), + 'value-list-comma-space-before': /* importLazy( */ + require('./value-list-comma-space-before'), + 'value-list-max-empty-lines': /* importLazy( */ + require('./value-list-max-empty-lines'), + /* 'value-no-vendor-prefix': importLazy('./value-no-vendor-prefix'), + */indentation: /* importLazy( */ + require('./indentation') }; - 'media-feature-name-allowed-list': importLazy(() => - require('./media-feature-name-allowed-list'))(), - 'media-feature-name-case': importLazy(() => require('./media-feature-name-case'))(), - 'media-feature-name-disallowed-list': importLazy(() => - require('./media-feature-name-disallowed-list'))(), + module.exports = rules; + + }, { "./alpha-value-notation": 117, "./at-rule-allowed-list": 118, "./at-rule-disallowed-list": 119, "./at-rule-empty-line-before": 120, "./at-rule-name-case": 121, "./at-rule-name-newline-after": 122, "./at-rule-name-space-after": 123, "./at-rule-no-unknown": 124, "./at-rule-property-required-list": 125, "./at-rule-semicolon-newline-after": 126, "./at-rule-semicolon-space-before": 127, "./block-closing-brace-empty-line-before": 129, "./block-closing-brace-newline-after": 130, "./block-closing-brace-newline-before": 131, "./block-closing-brace-space-after": 132, "./block-closing-brace-space-before": 133, "./block-no-empty": 134, "./block-opening-brace-newline-after": 135, "./block-opening-brace-newline-before": 136, "./block-opening-brace-space-after": 137, "./block-opening-brace-space-before": 138, "./color-function-notation": 139, "./color-hex-alpha": 140, "./color-hex-case": 141, "./color-hex-length": 142, "./color-named": 144, "./color-no-hex": 145, "./color-no-invalid-hex": 146, "./comment-empty-line-before": 147, "./comment-no-empty": 148, "./comment-pattern": 149, "./comment-whitespace-inside": 150, "./comment-word-disallowed-list": 151, "./custom-media-pattern": 152, "./custom-property-empty-line-before": 153, "./custom-property-no-missing-var-function": 154, "./custom-property-pattern": 155, "./declaration-bang-space-after": 156, "./declaration-bang-space-before": 157, "./declaration-block-no-duplicate-custom-properties": 158, "./declaration-block-no-duplicate-properties": 159, "./declaration-block-no-redundant-longhand-properties": 160, "./declaration-block-no-shorthand-property-overrides": 161, "./declaration-block-semicolon-newline-after": 162, "./declaration-block-semicolon-newline-before": 163, "./declaration-block-semicolon-space-after": 164, "./declaration-block-semicolon-space-before": 165, "./declaration-block-single-line-max-declarations": 166, "./declaration-block-trailing-semicolon": 167, "./declaration-colon-newline-after": 168, "./declaration-colon-space-after": 169, "./declaration-colon-space-before": 170, "./declaration-empty-line-before": 171, "./declaration-no-important": 172, "./declaration-property-max-values": 173, "./declaration-property-unit-allowed-list": 174, "./declaration-property-unit-disallowed-list": 175, "./declaration-property-value-allowed-list": 176, "./declaration-property-value-disallowed-list": 177, "./font-family-name-quotes": 181, "./font-family-no-duplicate-names": 182, "./font-family-no-missing-generic-family-keyword": 183, "./font-weight-notation": 184, "./function-allowed-list": 185, "./function-calc-no-unspaced-operator": 186, "./function-comma-newline-after": 187, "./function-comma-newline-before": 188, "./function-comma-space-after": 189, "./function-comma-space-before": 190, "./function-disallowed-list": 191, "./function-linear-gradient-no-nonstandard-direction": 192, "./function-max-empty-lines": 193, "./function-name-case": 194, "./function-no-unknown": 195, "./function-parentheses-newline-inside": 196, "./function-parentheses-space-inside": 197, "./function-url-no-scheme-relative": 198, "./function-url-quotes": 199, "./function-url-scheme-allowed-list": 200, "./function-url-scheme-disallowed-list": 201, "./function-whitespace-after": 202, "./hue-degree-notation": 205, "./import-notation": 206, "./indentation": 207, "./keyframe-block-no-duplicate-selectors": 209, "./keyframe-declaration-no-important": 210, "./keyframes-name-pattern": 211, "./length-zero-no-unit": 212, "./linebreaks": 213, "./max-empty-lines": 214, "./max-line-length": 215, "./max-nesting-depth": 216, "./media-feature-colon-space-after": 217, "./media-feature-colon-space-before": 218, "./media-feature-name-allowed-list": 219, "./media-feature-name-case": 220, "./media-feature-name-disallowed-list": 221, "./media-feature-name-no-unknown": 222, "./media-feature-name-value-allowed-list": 223, "./media-feature-parentheses-space-inside": 224, "./media-feature-range-operator-space-after": 225, "./media-feature-range-operator-space-before": 226, "./media-query-list-comma-newline-after": 227, "./media-query-list-comma-newline-before": 228, "./media-query-list-comma-space-after": 229, "./media-query-list-comma-space-before": 230, "./named-grid-areas-no-invalid": 233, "./no-descending-specificity": 236, "./no-duplicate-at-import-rules": 237, "./no-duplicate-selectors": 238, "./no-empty-first-line": 239, "./no-empty-source": 240, "./no-eol-whitespace": 241, "./no-extra-semicolons": 242, "./no-invalid-double-slash-comments": 243, "./no-invalid-position-at-import-rule": 244, "./no-irregular-whitespace": 245, "./no-missing-end-of-source-newline": 246, "./no-unknown-animations": 247, "./number-leading-zero": 248, "./number-max-precision": 249, "./number-no-trailing-zeros": 250, "./property-allowed-list": 251, "./property-case": 252, "./property-disallowed-list": 253, "./property-no-unknown": 254, "./rule-empty-line-before": 256, "./rule-selector-property-disallowed-list": 257, "./selector-attribute-brackets-space-inside": 258, "./selector-attribute-name-disallowed-list": 259, "./selector-attribute-operator-allowed-list": 260, "./selector-attribute-operator-disallowed-list": 261, "./selector-attribute-operator-space-after": 262, "./selector-attribute-operator-space-before": 263, "./selector-attribute-quotes": 264, "./selector-class-pattern": 265, "./selector-combinator-allowed-list": 266, "./selector-combinator-disallowed-list": 267, "./selector-combinator-space-after": 268, "./selector-combinator-space-before": 269, "./selector-descendant-combinator-no-non-space": 270, "./selector-disallowed-list": 271, "./selector-id-pattern": 272, "./selector-list-comma-newline-after": 273, "./selector-list-comma-newline-before": 274, "./selector-list-comma-space-after": 275, "./selector-list-comma-space-before": 276, "./selector-max-attribute": 277, "./selector-max-class": 278, "./selector-max-combinators": 279, "./selector-max-compound-selectors": 280, "./selector-max-empty-lines": 281, "./selector-max-id": 282, "./selector-max-pseudo-class": 283, "./selector-max-specificity": 284, "./selector-max-type": 285, "./selector-max-universal": 286, "./selector-nested-pattern": 287, "./selector-no-qualifying-type": 288, "./selector-not-notation": 289, "./selector-pseudo-class-allowed-list": 290, "./selector-pseudo-class-case": 291, "./selector-pseudo-class-disallowed-list": 292, "./selector-pseudo-class-no-unknown": 293, "./selector-pseudo-class-parentheses-space-inside": 294, "./selector-pseudo-element-allowed-list": 295, "./selector-pseudo-element-case": 296, "./selector-pseudo-element-colon-notation": 297, "./selector-pseudo-element-disallowed-list": 298, "./selector-pseudo-element-no-unknown": 299, "./selector-type-case": 300, "./selector-type-no-unknown": 301, "./shorthand-property-no-redundant-values": 305, "./string-no-newline": 306, "./string-quotes": 307, "./time-min-milliseconds": 308, "./unicode-bom": 309, "./unit-allowed-list": 310, "./unit-case": 311, "./unit-disallowed-list": 312, "./unit-no-unknown": 313, "./value-keyword-case": 314, "./value-list-comma-newline-after": 315, "./value-list-comma-newline-before": 316, "./value-list-comma-space-after": 317, "./value-list-comma-space-before": 318, "./value-list-max-empty-lines": 319 }], 209: [function (require, module, exports) { + 'use strict'; + + const isStandardSyntaxSelector = require('../../utils/isStandardSyntaxSelector'); + const report = require('../../utils/report'); + const ruleMessages = require('../../utils/ruleMessages'); + const validateOptions = require('../../utils/validateOptions'); - 'media-feature-name-no-unknown': importLazy(() => require('./media-feature-name-no-unknown'))(), - /* 'media-feature-name-no-vendor-prefix': importLazy(() => - require('./media-feature-name-no-vendor-prefix'), - )(), */ - 'media-feature-name-value-allowed-list': importLazy(() => - require('./media-feature-name-value-allowed-list'))(), - - 'media-feature-parentheses-space-inside': importLazy(() => - require('./media-feature-parentheses-space-inside'))(), - - 'media-feature-range-operator-space-after': importLazy(() => - require('./media-feature-range-operator-space-after'))(), - - 'media-feature-range-operator-space-before': importLazy(() => - require('./media-feature-range-operator-space-before'))(), - - 'media-query-list-comma-newline-after': importLazy(() => - require('./media-query-list-comma-newline-after'))(), - - 'media-query-list-comma-newline-before': importLazy(() => - require('./media-query-list-comma-newline-before'))(), - - 'media-query-list-comma-space-after': importLazy(() => - require('./media-query-list-comma-space-after'))(), - - 'media-query-list-comma-space-before': importLazy(() => - require('./media-query-list-comma-space-before'))(), - - 'named-grid-areas-no-invalid': importLazy(() => require('./named-grid-areas-no-invalid'))(), - 'no-descending-specificity': importLazy(() => require('./no-descending-specificity'))(), - 'no-duplicate-at-import-rules': importLazy(() => require('./no-duplicate-at-import-rules'))(), - 'no-duplicate-selectors': importLazy(() => require('./no-duplicate-selectors'))(), - 'no-empty-source': importLazy(() => require('./no-empty-source'))(), - 'no-empty-first-line': importLazy(() => require('./no-empty-first-line'))(), - 'no-eol-whitespace': importLazy(() => require('./no-eol-whitespace'))(), - 'no-extra-semicolons': importLazy(() => require('./no-extra-semicolons'))(), - 'no-invalid-double-slash-comments': importLazy(() => - require('./no-invalid-double-slash-comments'))(), - - 'no-invalid-position-at-import-rule': importLazy(() => - require('./no-invalid-position-at-import-rule'))(), - - 'no-irregular-whitespace': importLazy(() => require('./no-irregular-whitespace'))(), - 'no-missing-end-of-source-newline': importLazy(() => - require('./no-missing-end-of-source-newline'))(), - - 'no-unknown-animations': importLazy(() => require('./no-unknown-animations'))(), - 'number-leading-zero': importLazy(() => require('./number-leading-zero'))(), - 'number-max-precision': importLazy(() => require('./number-max-precision'))(), - 'number-no-trailing-zeros': importLazy(() => require('./number-no-trailing-zeros'))(), - 'property-allowed-list': importLazy(() => require('./property-allowed-list'))(), - 'property-case': importLazy(() => require('./property-case'))(), - 'property-disallowed-list': importLazy(() => require('./property-disallowed-list'))(), - 'property-no-unknown': importLazy(() => require('./property-no-unknown'))(), - /* 'property-no-vendor-prefix': importLazy(() => require('./property-no-vendor-prefix'))(), */ - 'rule-empty-line-before': importLazy(() => require('./rule-empty-line-before'))(), - 'rule-selector-property-disallowed-list': importLazy(() => - require('./rule-selector-property-disallowed-list'))(), - - 'selector-attribute-brackets-space-inside': importLazy(() => - require('./selector-attribute-brackets-space-inside'))(), - - 'selector-attribute-name-disallowed-list': importLazy(() => - require('./selector-attribute-name-disallowed-list'))(), - - 'selector-attribute-operator-allowed-list': importLazy(() => - require('./selector-attribute-operator-allowed-list'))(), - - 'selector-attribute-operator-disallowed-list': importLazy(() => - require('./selector-attribute-operator-disallowed-list'))(), - - 'selector-attribute-operator-space-after': importLazy(() => - require('./selector-attribute-operator-space-after'))(), - - 'selector-attribute-operator-space-before': importLazy(() => - require('./selector-attribute-operator-space-before'))(), - - 'selector-attribute-quotes': importLazy(() => require('./selector-attribute-quotes'))(), - 'selector-class-pattern': importLazy(() => require('./selector-class-pattern'))(), - 'selector-combinator-allowed-list': importLazy(() => - require('./selector-combinator-allowed-list'))(), - - 'selector-combinator-disallowed-list': importLazy(() => - require('./selector-combinator-disallowed-list'))(), - - 'selector-combinator-space-after': importLazy(() => - require('./selector-combinator-space-after'))(), - - 'selector-combinator-space-before': importLazy(() => - require('./selector-combinator-space-before'))(), - - 'selector-descendant-combinator-no-non-space': importLazy(() => - require('./selector-descendant-combinator-no-non-space'))(), - - 'selector-disallowed-list': importLazy(() => require('./selector-disallowed-list'))(), - 'selector-id-pattern': importLazy(() => require('./selector-id-pattern'))(), - 'selector-list-comma-newline-after': importLazy(() => - require('./selector-list-comma-newline-after'))(), - - 'selector-list-comma-newline-before': importLazy(() => - require('./selector-list-comma-newline-before'))(), - - 'selector-list-comma-space-after': importLazy(() => - require('./selector-list-comma-space-after'))(), - - 'selector-list-comma-space-before': importLazy(() => - require('./selector-list-comma-space-before'))(), - - 'selector-max-attribute': importLazy(() => require('./selector-max-attribute'))(), - 'selector-max-class': importLazy(() => require('./selector-max-class'))(), - 'selector-max-combinators': importLazy(() => require('./selector-max-combinators'))(), - 'selector-max-compound-selectors': importLazy(() => - require('./selector-max-compound-selectors'))(), - - 'selector-max-empty-lines': importLazy(() => require('./selector-max-empty-lines'))(), - 'selector-max-id': importLazy(() => require('./selector-max-id'))(), - 'selector-max-pseudo-class': importLazy(() => require('./selector-max-pseudo-class'))(), - 'selector-max-specificity': importLazy(() => require('./selector-max-specificity'))(), - 'selector-max-type': importLazy(() => require('./selector-max-type'))(), - 'selector-max-universal': importLazy(() => require('./selector-max-universal'))(), - 'selector-nested-pattern': importLazy(() => require('./selector-nested-pattern'))(), - 'selector-no-qualifying-type': importLazy(() => require('./selector-no-qualifying-type'))(), - /* 'selector-no-vendor-prefix': importLazy(() => require('./selector-no-vendor-prefix'))(), */ - 'selector-pseudo-class-allowed-list': importLazy(() => - require('./selector-pseudo-class-allowed-list'))(), - - 'selector-pseudo-class-case': importLazy(() => require('./selector-pseudo-class-case'))(), - 'selector-pseudo-class-disallowed-list': importLazy(() => - require('./selector-pseudo-class-disallowed-list'))(), - - 'selector-pseudo-class-no-unknown': importLazy(() => - require('./selector-pseudo-class-no-unknown'))(), - - 'selector-pseudo-class-parentheses-space-inside': importLazy(() => - require('./selector-pseudo-class-parentheses-space-inside'))(), - - 'selector-pseudo-element-allowed-list': importLazy(() => - require('./selector-pseudo-element-allowed-list'))(), - - 'selector-pseudo-element-case': importLazy(() => require('./selector-pseudo-element-case'))(), - 'selector-pseudo-element-colon-notation': importLazy(() => - require('./selector-pseudo-element-colon-notation'))(), - - 'selector-pseudo-element-disallowed-list': importLazy(() => - require('./selector-pseudo-element-disallowed-list'))(), - - 'selector-pseudo-element-no-unknown': importLazy(() => - require('./selector-pseudo-element-no-unknown'))(), - - 'selector-type-case': importLazy(() => require('./selector-type-case'))(), - 'selector-type-no-unknown': importLazy(() => require('./selector-type-no-unknown'))(), - 'shorthand-property-no-redundant-values': importLazy(() => - require('./shorthand-property-no-redundant-values'))(), - - 'string-no-newline': importLazy(() => require('./string-no-newline'))(), - 'string-quotes': importLazy(() => require('./string-quotes'))(), - 'time-min-milliseconds': importLazy(() => require('./time-min-milliseconds'))(), - 'unicode-bom': importLazy(() => require('./unicode-bom'))(), - 'unit-allowed-list': importLazy(() => require('./unit-allowed-list'))(), - 'unit-case': importLazy(() => require('./unit-case'))(), - 'unit-disallowed-list': importLazy(() => require('./unit-disallowed-list'))(), - 'unit-no-unknown': importLazy(() => require('./unit-no-unknown'))(), - 'value-keyword-case': importLazy(() => require('./value-keyword-case'))(), - 'value-list-comma-newline-after': importLazy(() => require('./value-list-comma-newline-after'))(), - 'value-list-comma-newline-before': importLazy(() => - require('./value-list-comma-newline-before'))(), - - 'value-list-comma-space-after': importLazy(() => require('./value-list-comma-space-after'))(), - 'value-list-comma-space-before': importLazy(() => require('./value-list-comma-space-before'))(), - 'value-list-max-empty-lines': importLazy(() => require('./value-list-max-empty-lines'))(), - /* 'value-no-vendor-prefix': importLazy(() => require('./value-no-vendor-prefix'))(), */ - indentation: importLazy(() => require('./indentation'))() /* Placedhere for better autofixing */ }; + const ruleName = 'keyframe-block-no-duplicate-selectors'; + const messages = ruleMessages(ruleName, { + rejected: selector => `Unexpected duplicate "${selector}"` }); - module.exports = rules; - }, { "./alpha-value-notation": 149, "./at-rule-allowed-list": 150, "./at-rule-disallowed-list": 151, "./at-rule-empty-line-before": 152, "./at-rule-name-case": 153, "./at-rule-name-newline-after": 154, "./at-rule-name-space-after": 155, "./at-rule-no-unknown": 156, "./at-rule-property-required-list": 157, "./at-rule-semicolon-newline-after": 158, "./at-rule-semicolon-space-before": 159, "./block-closing-brace-empty-line-before": 161, "./block-closing-brace-newline-after": 162, "./block-closing-brace-newline-before": 163, "./block-closing-brace-space-after": 164, "./block-closing-brace-space-before": 165, "./block-no-empty": 166, "./block-opening-brace-newline-after": 167, "./block-opening-brace-newline-before": 168, "./block-opening-brace-space-after": 169, "./block-opening-brace-space-before": 170, "./color-function-notation": 171, "./color-hex-alpha": 172, "./color-hex-case": 173, "./color-hex-length": 174, "./color-named": 176, "./color-no-hex": 177, "./color-no-invalid-hex": 178, "./comment-empty-line-before": 179, "./comment-no-empty": 180, "./comment-pattern": 181, "./comment-whitespace-inside": 182, "./comment-word-disallowed-list": 183, "./custom-media-pattern": 184, "./custom-property-empty-line-before": 185, "./custom-property-no-missing-var-function": 186, "./custom-property-pattern": 187, "./declaration-bang-space-after": 188, "./declaration-bang-space-before": 189, "./declaration-block-no-duplicate-custom-properties": 190, "./declaration-block-no-duplicate-properties": 191, "./declaration-block-no-redundant-longhand-properties": 192, "./declaration-block-no-shorthand-property-overrides": 193, "./declaration-block-semicolon-newline-after": 194, "./declaration-block-semicolon-newline-before": 195, "./declaration-block-semicolon-space-after": 196, "./declaration-block-semicolon-space-before": 197, "./declaration-block-single-line-max-declarations": 198, "./declaration-block-trailing-semicolon": 199, "./declaration-colon-newline-after": 200, "./declaration-colon-space-after": 201, "./declaration-colon-space-before": 202, "./declaration-empty-line-before": 203, "./declaration-no-important": 204, "./declaration-property-unit-allowed-list": 205, "./declaration-property-unit-disallowed-list": 206, "./declaration-property-value-allowed-list": 207, "./declaration-property-value-disallowed-list": 208, "./font-family-name-quotes": 212, "./font-family-no-duplicate-names": 213, "./font-family-no-missing-generic-family-keyword": 214, "./font-weight-notation": 215, "./function-allowed-list": 216, "./function-calc-no-unspaced-operator": 217, "./function-comma-newline-after": 218, "./function-comma-newline-before": 219, "./function-comma-space-after": 220, "./function-comma-space-before": 221, "./function-disallowed-list": 222, "./function-linear-gradient-no-nonstandard-direction": 223, "./function-max-empty-lines": 224, "./function-name-case": 225, "./function-parentheses-newline-inside": 226, "./function-parentheses-space-inside": 227, "./function-url-no-scheme-relative": 228, "./function-url-quotes": 229, "./function-url-scheme-allowed-list": 230, "./function-url-scheme-disallowed-list": 231, "./function-whitespace-after": 232, "./hue-degree-notation": 235, "./indentation": 236, "./keyframe-declaration-no-important": 238, "./keyframes-name-pattern": 239, "./length-zero-no-unit": 240, "./linebreaks": 241, "./max-empty-lines": 242, "./max-line-length": 243, "./max-nesting-depth": 244, "./media-feature-colon-space-after": 245, "./media-feature-colon-space-before": 246, "./media-feature-name-allowed-list": 247, "./media-feature-name-case": 248, "./media-feature-name-disallowed-list": 249, "./media-feature-name-no-unknown": 250, "./media-feature-name-value-allowed-list": 251, "./media-feature-parentheses-space-inside": 252, "./media-feature-range-operator-space-after": 253, "./media-feature-range-operator-space-before": 254, "./media-query-list-comma-newline-after": 255, "./media-query-list-comma-newline-before": 256, "./media-query-list-comma-space-after": 257, "./media-query-list-comma-space-before": 258, "./named-grid-areas-no-invalid": 261, "./no-descending-specificity": 264, "./no-duplicate-at-import-rules": 265, "./no-duplicate-selectors": 266, "./no-empty-first-line": 267, "./no-empty-source": 268, "./no-eol-whitespace": 269, "./no-extra-semicolons": 270, "./no-invalid-double-slash-comments": 271, "./no-invalid-position-at-import-rule": 272, "./no-irregular-whitespace": 273, "./no-missing-end-of-source-newline": 274, "./no-unknown-animations": 275, "./number-leading-zero": 276, "./number-max-precision": 277, "./number-no-trailing-zeros": 278, "./property-allowed-list": 279, "./property-case": 280, "./property-disallowed-list": 281, "./property-no-unknown": 282, "./rule-empty-line-before": 284, "./rule-selector-property-disallowed-list": 285, "./selector-attribute-brackets-space-inside": 286, "./selector-attribute-name-disallowed-list": 287, "./selector-attribute-operator-allowed-list": 288, "./selector-attribute-operator-disallowed-list": 289, "./selector-attribute-operator-space-after": 290, "./selector-attribute-operator-space-before": 291, "./selector-attribute-quotes": 292, "./selector-class-pattern": 293, "./selector-combinator-allowed-list": 294, "./selector-combinator-disallowed-list": 295, "./selector-combinator-space-after": 296, "./selector-combinator-space-before": 297, "./selector-descendant-combinator-no-non-space": 298, "./selector-disallowed-list": 299, "./selector-id-pattern": 300, "./selector-list-comma-newline-after": 301, "./selector-list-comma-newline-before": 302, "./selector-list-comma-space-after": 303, "./selector-list-comma-space-before": 304, "./selector-max-attribute": 305, "./selector-max-class": 306, "./selector-max-combinators": 307, "./selector-max-compound-selectors": 308, "./selector-max-empty-lines": 309, "./selector-max-id": 310, "./selector-max-pseudo-class": 311, "./selector-max-specificity": 312, "./selector-max-type": 313, "./selector-max-universal": 314, "./selector-nested-pattern": 315, "./selector-no-qualifying-type": 316, "./selector-pseudo-class-allowed-list": 317, "./selector-pseudo-class-case": 318, "./selector-pseudo-class-disallowed-list": 319, "./selector-pseudo-class-no-unknown": 320, "./selector-pseudo-class-parentheses-space-inside": 321, "./selector-pseudo-element-allowed-list": 322, "./selector-pseudo-element-case": 323, "./selector-pseudo-element-colon-notation": 324, "./selector-pseudo-element-disallowed-list": 325, "./selector-pseudo-element-no-unknown": 326, "./selector-type-case": 327, "./selector-type-no-unknown": 328, "./shorthand-property-no-redundant-values": 332, "./string-no-newline": 333, "./string-quotes": 334, "./time-min-milliseconds": 335, "./unicode-bom": 336, "./unit-allowed-list": 337, "./unit-case": 338, "./unit-disallowed-list": 339, "./unit-no-unknown": 340, "./value-keyword-case": 341, "./value-list-comma-newline-after": 342, "./value-list-comma-newline-before": 343, "./value-list-comma-space-after": 344, "./value-list-comma-space-before": 345, "./value-list-max-empty-lines": 346, "import-lazy": 31 }], 238: [function (require, module, exports) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/keyframe-block-no-duplicate-selectors' }; + + + /** @type {import('stylelint').Rule} */ + const rule = primary => { + return (root, result) => { + const validOptions = validateOptions(result, ruleName, { actual: primary }); + + if (!validOptions) { + return; + } + + root.walkAtRules(/^(-(moz|webkit)-)?keyframes$/i, atRuleKeyframes => { + const selectors = new Set(); + + atRuleKeyframes.walkRules(keyframeRule => { + const ruleSelectors = keyframeRule.selectors; + + ruleSelectors.forEach(selector => { + if (!isStandardSyntaxSelector(selector)) { + return; + } + + const normalizedSelector = selector.toLowerCase(); + + const isDuplicate = selectors.has(normalizedSelector); + + if (isDuplicate) { + report({ + message: messages.rejected(selector), + node: keyframeRule, + result, + ruleName, + word: selector }); + + + return; + } + + selectors.add(normalizedSelector); + }); + }); + }); + }; + }; + + rule.ruleName = ruleName; + rule.messages = messages; + rule.meta = meta; + module.exports = rule; + + }, { "../../utils/isStandardSyntaxSelector": 395, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420 }], 210: [function (require, module, exports) { 'use strict'; + const getImportantPosition = require('../../utils/getImportantPosition'); const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); const validateOptions = require('../../utils/validateOptions'); + const { assert } = require('../../utils/validateTypes'); const ruleName = 'keyframe-declaration-no-important'; @@ -29485,6 +26410,10 @@ rejected: 'Unexpected !important' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/keyframe-declaration-no-important' }; + + /** @type {import('stylelint').Rule} */ const rule = primary => { return (root, result) => { @@ -29500,10 +26429,15 @@ return; } + const pos = getImportantPosition(decl.toString()); + + assert(pos); + report({ message: messages.rejected, node: decl, - word: 'important', + index: pos.index, + endIndex: pos.endIndex, result, ruleName }); @@ -29514,9 +26448,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442 }], 239: [function (require, module, exports) { + }, { "../../utils/getImportantPosition": 344, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 211: [function (require, module, exports) { 'use strict'; const atRuleParamIndex = require('../../utils/atRuleParamIndex'); @@ -29532,6 +26467,10 @@ `Expected keyframe name "${keyframeName}" to match pattern "${pattern}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/keyframes-name-pattern' }; + + /** @type {import('stylelint').Rule} */ const rule = primary => { return (root, result) => { @@ -29553,8 +26492,12 @@ return; } + const index = atRuleParamIndex(keyframesNode); + const endIndex = index + value.length; + report({ - index: atRuleParamIndex(keyframesNode), + index, + endIndex, message: messages.expected(value, primary), node: keyframesNode, ruleName, @@ -29566,9 +26509,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/atRuleParamIndex": 352, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443 }], 240: [function (require, module, exports) { + }, { "../../utils/atRuleParamIndex": 326, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 212: [function (require, module, exports) { 'use strict'; const valueParser = require('postcss-value-parser'); @@ -29595,6 +26539,10 @@ rejected: 'Unexpected unit' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/length-zero-no-unit' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, secondaryOptions, context) => { return (root, result) => { @@ -29648,14 +26596,24 @@ if (!isZero(number)) return; if (context.fix) { - valueNode.value = number; + let regularNumber = number; + + if (regularNumber.startsWith('.')) { + regularNumber = number.slice(1); + } + + valueNode.value = regularNumber; needsFix = true; return; } + const index = nodeIndex + sourceIndex + number.length; + const endIndex = index + unit.length; + report({ - index: nodeIndex + sourceIndex + number.length, + index, + endIndex, message: messages.rejected, node, result, @@ -29721,11 +26679,10 @@ * @param {number} index */ function isLineHeightValue({ prop }, nodes, index) { + const lastNode = nodes[index - 1]; + return ( - prop.toLowerCase() === 'font' && - index > 0 && - nodes[index - 1].type === 'div' && - nodes[index - 1].value === '/'); + prop.toLowerCase() === 'font' && lastNode && lastNode.type === 'div' && lastNode.value === '/'); } @@ -29780,9 +26737,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../reference/keywordSets": 142, "../../utils/atRuleParamIndex": 352, "../../utils/declarationValueIndex": 359, "../../utils/getAtRuleParams": 365, "../../utils/getDeclarationValue": 366, "../../utils/isCustomProperty": 393, "../../utils/isMathFunction": 399, "../../utils/isStandardSyntaxAtRule": 408, "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/setAtRuleParams": 437, "../../utils/setDeclarationValue": 438, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "postcss-value-parser": 83 }], 241: [function (require, module, exports) { + }, { "../../reference/keywordSets": 110, "../../utils/atRuleParamIndex": 326, "../../utils/declarationValueIndex": 333, "../../utils/getAtRuleParams": 340, "../../utils/getDeclarationValue": 341, "../../utils/isCustomProperty": 370, "../../utils/isMathFunction": 376, "../../utils/isStandardSyntaxAtRule": 385, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/setAtRuleParams": 414, "../../utils/setDeclarationValue": 415, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "postcss-value-parser": 59 }], 213: [function (require, module, exports) { 'use strict'; const postcss = require('postcss'); @@ -29796,6 +26754,10 @@ expected: linebreak => `Expected linebreak to be ${linebreak}` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/linebreaks' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { return (root, result) => { @@ -29828,12 +26790,12 @@ node.raws.before = fixData(node.raws.before); } - if ('after' in node.raws && node.raws.after) { + if (typeof node.raws.after === 'string') { node.raws.after = fixData(node.raws.after); } }); - if ('after' in root.raws && root.raws.after) { + if (typeof root.raws.after === 'string') { root.raws.after = fixData(root.raws.after); } } else { @@ -29841,9 +26803,7 @@ const lines = root.source.input.css.split('\n'); - for (let i = 0; i < lines.length; i++) { - let line = lines[i]; - + for (let [i, line] of lines.entries()) { if (i < lines.length - 1 && !line.includes('\r')) { line += '\n'; } @@ -29909,9 +26869,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "postcss": 103 }], 242: [function (require, module, exports) { + }, { "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "postcss": 79 }], 214: [function (require, module, exports) { 'use strict'; const optionsMatches = require('../../utils/optionsMatches'); @@ -29927,6 +26888,10 @@ expected: max => `Expected no more than ${max} empty ${max === 1 ? 'line' : 'lines'}` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/max-empty-lines' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, secondaryOptions, context) => { let emptyLines = 0; @@ -30107,7 +27072,6 @@ // In the `postcss-html` and `postcss-jsx` syntax, checks that there is text after the given node. let after; - // @ts-expect-error -- TS2367: This condition will always return 'false' since the types 'Root' and 'ChildNode | undefined' have no overlap. if (root === document.last) { after = document.raws && document.raws.codeAfter; } else { @@ -30116,7 +27080,6 @@ const nextNode = document.nodes[rootIndex + 1]; - // @ts-expect-error -- TS2339: Property 'codeBefore' does not exist on type 'CommentRaws'. after = nextNode && nextNode.raws && nextNode.raws.codeBefore; } @@ -30125,9 +27088,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "style-search": 121 }], 243: [function (require, module, exports) { + }, { "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "style-search": 92 }], 215: [function (require, module, exports) { 'use strict'; const execall = require('execall'); @@ -30136,7 +27100,7 @@ const ruleMessages = require('../../utils/ruleMessages'); const styleSearch = require('style-search'); const validateOptions = require('../../utils/validateOptions'); - const { isNumber, isRegExp, isString } = require('../../utils/validateTypes'); + const { isNumber, isRegExp, isString, assert } = require('../../utils/validateTypes'); const ruleName = 'max-line-length'; const EXCLUDED_PATTERNS = [ @@ -30149,6 +27113,10 @@ `Expected line length to be no more than ${max} ${max === 1 ? 'character' : 'characters'}` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/max-line-length' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, secondaryOptions, context) => { return (root, result) => { @@ -30221,7 +27189,10 @@ * @param {number} end */ function tryToPopSubString(start, end) { - const [startSubString, endSubString] = skippedSubStrings[skippedSubStringsIndex]; + const skippedSubString = skippedSubStrings[skippedSubStringsIndex]; + + assert(skippedSubString); + const [startSubString, endSubString] = skippedSubString; // Excluded substring does not presented in current line if (end < startSubString) { @@ -30321,9 +27292,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "execall": 18, "style-search": 121 }], 244: [function (require, module, exports) { + }, { "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "execall": 11, "style-search": 92 }], 216: [function (require, module, exports) { 'use strict'; const hasBlock = require('../../utils/hasBlock'); @@ -30342,6 +27314,10 @@ expected: depth => `Expected nesting depth to be no more than ${depth}` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/max-nesting-depth' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, secondaryOptions) => { /** @@ -30478,14 +27454,15 @@ * @returns {string | undefined} */ function extractPseudoRule(selector) { - return selector.startsWith('&:') && selector[2] !== ':' ? selector.substr(2) : undefined; + return selector.startsWith('&:') && selector[2] !== ':' ? selector.slice(2) : undefined; } rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/hasBlock": 375, "../../utils/isStandardSyntaxRule": 417, "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/typeGuards": 440, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "postcss-selector-parser": 53 }], 245: [function (require, module, exports) { + }, { "../../utils/hasBlock": 351, "../../utils/isStandardSyntaxRule": 394, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/typeGuards": 417, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "postcss-selector-parser": 29 }], 217: [function (require, module, exports) { 'use strict'; const atRuleParamIndex = require('../../utils/atRuleParamIndex'); @@ -30501,6 +27478,10 @@ rejectedAfter: () => 'Unexpected whitespace after ":"' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/media-feature-colon-space-after' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { const checker = whitespaceChecker('space', primary, messages); @@ -30565,9 +27546,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/atRuleParamIndex": 352, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../mediaFeatureColonSpaceChecker": 259 }], 246: [function (require, module, exports) { + }, { "../../utils/atRuleParamIndex": 326, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../mediaFeatureColonSpaceChecker": 231 }], 218: [function (require, module, exports) { 'use strict'; const atRuleParamIndex = require('../../utils/atRuleParamIndex'); @@ -30583,6 +27565,10 @@ rejectedBefore: () => 'Unexpected whitespace before ":"' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/media-feature-colon-space-before' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { const checker = whitespaceChecker('space', primary, messages); @@ -30647,9 +27633,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/atRuleParamIndex": 352, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../mediaFeatureColonSpaceChecker": 259 }], 247: [function (require, module, exports) { + }, { "../../utils/atRuleParamIndex": 326, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../mediaFeatureColonSpaceChecker": 231 }], 219: [function (require, module, exports) { 'use strict'; const atRuleParamIndex = require('../../utils/atRuleParamIndex'); @@ -30670,7 +27657,11 @@ rejected: name => `Unexpected media feature name "${name}"` }); - /** @type {import('stylelint').Rule} */ + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/media-feature-name-allowed-list' }; + + + /** @type {import('stylelint').Rule>} */ const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { @@ -30708,8 +27699,12 @@ return; } + const index = atRuleParamIndex(atRule) + sourceIndex; + const endIndex = index + value.length; + report({ - index: atRuleParamIndex(atRule) + sourceIndex, + index, + endIndex, message: messages.rejected(value), node: atRule, ruleName, @@ -30724,9 +27719,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/atRuleParamIndex": 352, "../../utils/isCustomMediaQuery": 392, "../../utils/isRangeContextMediaFeature": 404, "../../utils/isStandardSyntaxMediaFeatureName": 415, "../../utils/matchesStringOrRegExp": 426, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "../rangeContextNodeParser": 283, "postcss-media-query-parser": 46 }], 248: [function (require, module, exports) { + }, { "../../utils/atRuleParamIndex": 326, "../../utils/isCustomMediaQuery": 369, "../../utils/isRangeContextMediaFeature": 381, "../../utils/isStandardSyntaxMediaFeatureName": 392, "../../utils/matchesStringOrRegExp": 403, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../rangeContextNodeParser": 255, "postcss-media-query-parser": 24 }], 220: [function (require, module, exports) { 'use strict'; const atRuleParamIndex = require('../../utils/atRuleParamIndex'); @@ -30745,6 +27741,10 @@ expected: (actual, expected) => `Expected "${actual}" to be "${expected}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/media-feature-name-case' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { return (root, result) => { @@ -30824,9 +27824,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/atRuleParamIndex": 352, "../../utils/isCustomMediaQuery": 392, "../../utils/isRangeContextMediaFeature": 404, "../../utils/isStandardSyntaxMediaFeatureName": 415, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../rangeContextNodeParser": 283, "postcss-media-query-parser": 46 }], 249: [function (require, module, exports) { + }, { "../../utils/atRuleParamIndex": 326, "../../utils/isCustomMediaQuery": 369, "../../utils/isRangeContextMediaFeature": 381, "../../utils/isStandardSyntaxMediaFeatureName": 392, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../rangeContextNodeParser": 255, "postcss-media-query-parser": 24 }], 221: [function (require, module, exports) { 'use strict'; const atRuleParamIndex = require('../../utils/atRuleParamIndex'); @@ -30847,7 +27848,11 @@ rejected: name => `Unexpected media feature name "${name}"` }); - /** @type {import('stylelint').Rule} */ + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/media-feature-name-disallowed-list' }; + + + /** @type {import('stylelint').Rule>} */ const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { @@ -30885,8 +27890,12 @@ return; } + const index = atRuleParamIndex(atRule) + sourceIndex; + const endIndex = index + value.length; + report({ - index: atRuleParamIndex(atRule) + sourceIndex, + index, + endIndex, message: messages.rejected(value), node: atRule, ruleName, @@ -30901,9 +27910,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/atRuleParamIndex": 352, "../../utils/isCustomMediaQuery": 392, "../../utils/isRangeContextMediaFeature": 404, "../../utils/isStandardSyntaxMediaFeatureName": 415, "../../utils/matchesStringOrRegExp": 426, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "../rangeContextNodeParser": 283, "postcss-media-query-parser": 46 }], 250: [function (require, module, exports) { + }, { "../../utils/atRuleParamIndex": 326, "../../utils/isCustomMediaQuery": 369, "../../utils/isRangeContextMediaFeature": 381, "../../utils/isStandardSyntaxMediaFeatureName": 392, "../../utils/matchesStringOrRegExp": 403, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../rangeContextNodeParser": 255, "postcss-media-query-parser": 24 }], 222: [function (require, module, exports) { 'use strict'; const atRuleParamIndex = require('../../utils/atRuleParamIndex'); @@ -30926,6 +27936,10 @@ rejected: mediaFeatureName => `Unexpected unknown media feature name "${mediaFeatureName}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/media-feature-name-no-unknown' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, secondaryOptions) => { return (root, result) => { @@ -30976,8 +27990,12 @@ return; } + const index = atRuleParamIndex(atRule) + sourceIndex; + const endIndex = index + value.length; + report({ - index: atRuleParamIndex(atRule) + sourceIndex, + index, + endIndex, message: messages.rejected(value), node: atRule, ruleName, @@ -30990,21 +28008,25 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../reference/keywordSets": 142, "../../utils/atRuleParamIndex": 352, "../../utils/isCustomMediaQuery": 392, "../../utils/isRangeContextMediaFeature": 404, "../../utils/isStandardSyntaxMediaFeatureName": 415, "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "../../utils/vendor": 444, "../rangeContextNodeParser": 283, "postcss-media-query-parser": 46 }], 251: [function (require, module, exports) { + }, { "../../reference/keywordSets": 110, "../../utils/atRuleParamIndex": 326, "../../utils/isCustomMediaQuery": 369, "../../utils/isRangeContextMediaFeature": 381, "../../utils/isStandardSyntaxMediaFeatureName": 392, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/vendor": 422, "../rangeContextNodeParser": 255, "postcss-media-query-parser": 24 }], 223: [function (require, module, exports) { 'use strict'; + const mediaParser = require('postcss-media-query-parser').default; + const atRuleParamIndex = require('../../utils/atRuleParamIndex'); const isRangeContextMediaFeature = require('../../utils/isRangeContextMediaFeature'); const matchesStringOrRegExp = require('../../utils/matchesStringOrRegExp'); - const mediaParser = require('postcss-media-query-parser').default; + const optionsMatches = require('../../utils/optionsMatches'); const rangeContextNodeParser = require('../rangeContextNodeParser'); const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); + const validateObjectWithArrayProps = require('../../utils/validateObjectWithArrayProps'); const validateOptions = require('../../utils/validateOptions'); + const { isString, isRegExp } = require('../../utils/validateTypes'); const vendor = require('../../utils/vendor'); - const { isPlainObject } = require('is-plain-object'); const ruleName = 'media-feature-name-value-allowed-list'; @@ -31012,12 +28034,16 @@ rejected: (name, value) => `Unexpected value "${value}" for name "${name}"` }); - /** @type {import('stylelint').Rule} */ + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/media-feature-name-value-allowed-list' }; + + + /** @type {import('stylelint').Rule>>} */ const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { actual: primary, - possible: [isPlainObject] }); + possible: [validateObjectWithArrayProps(isString, isRegExp)] }); if (!validOptions) { @@ -31068,18 +28094,16 @@ return; } - const allowedValues = primary[allowedValuesKey]; - - if (allowedValues == null) { + if (optionsMatches(primary, allowedValuesKey, value)) { return; } - if (matchesStringOrRegExp(value, allowedValues)) { - return; - } + const index = atRuleParamIndex(atRule) + valueNode.sourceIndex; + const endIndex = index + value.length; report({ - index: atRuleParamIndex(atRule) + valueNode.sourceIndex, + index, + endIndex, message: messages.rejected(mediaFeatureName, value), node: atRule, ruleName, @@ -31093,9 +28117,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/atRuleParamIndex": 352, "../../utils/isRangeContextMediaFeature": 404, "../../utils/matchesStringOrRegExp": 426, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/vendor": 444, "../rangeContextNodeParser": 283, "is-plain-object": 35, "postcss-media-query-parser": 46 }], 252: [function (require, module, exports) { + }, { "../../utils/atRuleParamIndex": 326, "../../utils/isRangeContextMediaFeature": 381, "../../utils/matchesStringOrRegExp": 403, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateObjectWithArrayProps": 418, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/vendor": 422, "../rangeContextNodeParser": 255, "postcss-media-query-parser": 24 }], 224: [function (require, module, exports) { 'use strict'; const atRuleParamIndex = require('../../utils/atRuleParamIndex'); @@ -31113,6 +28138,10 @@ rejectedClosing: 'Unexpected whitespace before ")"' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/media-feature-parentheses-space-inside' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { return (root, result) => { @@ -31200,9 +28229,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/atRuleParamIndex": 352, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "postcss-value-parser": 83 }], 253: [function (require, module, exports) { + }, { "../../utils/atRuleParamIndex": 326, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "postcss-value-parser": 59 }], 225: [function (require, module, exports) { 'use strict'; const atRuleParamIndex = require('../../utils/atRuleParamIndex'); @@ -31219,6 +28249,10 @@ rejectedAfter: () => 'Unexpected whitespace after range operator' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/media-feature-range-operator-space-after' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { const checker = whitespaceChecker('space', primary, messages); @@ -31299,9 +28333,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/atRuleParamIndex": 352, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../findMediaOperator": 211 }], 254: [function (require, module, exports) { + }, { "../../utils/atRuleParamIndex": 326, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../findMediaOperator": 180 }], 226: [function (require, module, exports) { 'use strict'; const atRuleParamIndex = require('../../utils/atRuleParamIndex'); @@ -31318,6 +28353,10 @@ rejectedBefore: () => 'Unexpected whitespace before range operator' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/media-feature-range-operator-space-before' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { const checker = whitespaceChecker('space', primary, messages); @@ -31398,9 +28437,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/atRuleParamIndex": 352, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../findMediaOperator": 211 }], 255: [function (require, module, exports) { + }, { "../../utils/atRuleParamIndex": 326, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../findMediaOperator": 180 }], 227: [function (require, module, exports) { 'use strict'; const atRuleParamIndex = require('../../utils/atRuleParamIndex'); @@ -31417,6 +28457,10 @@ rejectedAfterMultiLine: () => 'Unexpected whitespace after "," in a multi-line list' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/media-query-list-comma-newline-after' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { const checker = whitespaceChecker('newline', primary, messages); @@ -31486,9 +28530,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/atRuleParamIndex": 352, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../mediaQueryListCommaWhitespaceChecker": 260 }], 256: [function (require, module, exports) { + }, { "../../utils/atRuleParamIndex": 326, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../mediaQueryListCommaWhitespaceChecker": 232 }], 228: [function (require, module, exports) { 'use strict'; const mediaQueryListCommaWhitespaceChecker = require('../mediaQueryListCommaWhitespaceChecker'); @@ -31504,6 +28549,10 @@ rejectedBeforeMultiLine: () => 'Unexpected whitespace before "," in a multi-line list' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/media-query-list-comma-newline-before' }; + + /** @type {import('stylelint').Rule} */ const rule = primary => { const checker = whitespaceChecker('newline', primary, messages); @@ -31529,9 +28578,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../mediaQueryListCommaWhitespaceChecker": 260 }], 257: [function (require, module, exports) { + }, { "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../mediaQueryListCommaWhitespaceChecker": 232 }], 229: [function (require, module, exports) { 'use strict'; const atRuleParamIndex = require('../../utils/atRuleParamIndex'); @@ -31549,6 +28599,10 @@ rejectedAfterSingleLine: () => 'Unexpected whitespace after "," in a single-line list' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/media-query-list-comma-space-after' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { const checker = whitespaceChecker('space', primary, messages); @@ -31613,9 +28667,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/atRuleParamIndex": 352, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../mediaQueryListCommaWhitespaceChecker": 260 }], 258: [function (require, module, exports) { + }, { "../../utils/atRuleParamIndex": 326, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../mediaQueryListCommaWhitespaceChecker": 232 }], 230: [function (require, module, exports) { 'use strict'; const atRuleParamIndex = require('../../utils/atRuleParamIndex'); @@ -31633,6 +28688,10 @@ rejectedBeforeSingleLine: () => 'Unexpected whitespace before "," in a single-line list' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/media-query-list-comma-space-before' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { const checker = whitespaceChecker('space', primary, messages); @@ -31697,9 +28756,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/atRuleParamIndex": 352, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../mediaQueryListCommaWhitespaceChecker": 260 }], 259: [function (require, module, exports) { + }, { "../../utils/atRuleParamIndex": 326, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../mediaQueryListCommaWhitespaceChecker": 232 }], 231: [function (require, module, exports) { 'use strict'; const atRuleParamIndex = require('../utils/atRuleParamIndex'); @@ -31752,12 +28812,14 @@ } }; - }, { "../utils/atRuleParamIndex": 352, "../utils/report": 435, "style-search": 121 }], 260: [function (require, module, exports) { + }, { "../utils/atRuleParamIndex": 326, "../utils/report": 412, "style-search": 92 }], 232: [function (require, module, exports) { 'use strict'; + const styleSearch = require('style-search'); + const atRuleParamIndex = require('../utils/atRuleParamIndex'); const report = require('../utils/report'); - const styleSearch = require('style-search'); + const { assertString } = require('../utils/validateTypes'); /** * @param {{ @@ -31781,10 +28843,12 @@ let execResult; while (execResult = /^[^\S\r\n]*\/\*([\s\S]*?)\*\//.exec(params.slice(index + 1))) { + assertString(execResult[0]); index += execResult[0].length; } if (execResult = /^([^\S\r\n]*\/\/[\s\S]*?)\r?\n/.exec(params.slice(index + 1))) { + assertString(execResult[1]); index += execResult[1].length; } } @@ -31821,7 +28885,7 @@ } }; - }, { "../utils/atRuleParamIndex": 352, "../utils/report": 435, "style-search": 121 }], 261: [function (require, module, exports) { + }, { "../utils/atRuleParamIndex": 326, "../utils/report": 412, "../utils/validateTypes": 421, "style-search": 92 }], 233: [function (require, module, exports) { 'use strict'; const declarationValueIndex = require('../../utils/declarationValueIndex'); @@ -31840,6 +28904,10 @@ expectedRectangle: name => `Expected single filled-in rectangle for "${name}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/named-grid-areas-no-invalid' }; + + /** @type {import('stylelint').Rule} */ const rule = primary => { return (root, result) => { @@ -31878,6 +28946,8 @@ if (reportSent) return; + if (areas.length === 0) return; + if (!isRectangular(areas)) { complain(messages.expectedSameNumber()); @@ -31909,9 +28979,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "./utils/findNotContiguousOrRectangular": 262, "./utils/isRectangular": 263, "postcss-value-parser": 83 }], 262: [function (require, module, exports) { + }, { "../../utils/declarationValueIndex": 333, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "./utils/findNotContiguousOrRectangular": 234, "./utils/isRectangular": 235, "postcss-value-parser": 59 }], 234: [function (require, module, exports) { 'use strict'; const arrayEqual = require('../../../utils/arrayEqual'); @@ -31937,11 +29008,14 @@ for (let i = 0; i < indicesByRow.length; i++) { for (let j = i + 1; j < indicesByRow.length; j++) { - if (indicesByRow[i].length === 0 || indicesByRow[j].length === 0) { + const x = indicesByRow[i]; + const y = indicesByRow[j]; + + if (x && x.length === 0 || y && y.length === 0) { continue; } - if (!arrayEqual(indicesByRow[i], indicesByRow[j])) { + if (!arrayEqual(x, y)) { return false; } } @@ -31974,7 +29048,7 @@ module.exports = findNotContiguousOrRectangular; - }, { "../../../utils/arrayEqual": 351 }], 263: [function (require, module, exports) { + }, { "../../../utils/arrayEqual": 325 }], 235: [function (require, module, exports) { 'use strict'; /** @@ -31983,14 +29057,21 @@ * @returns {boolean} */ function isRectangular(areas) { - return areas.every((row, _i, arr) => row.length === arr[0].length); + const firstArea = areas[0]; + + if (firstArea === undefined) return false; + + return areas.every(row => row.length === firstArea.length); } module.exports = isRectangular; - }, {}], 264: [function (require, module, exports) { + }, {}], 236: [function (require, module, exports) { 'use strict'; + const resolvedNestedSelector = require('postcss-resolve-nested-selector'); + const { selectorSpecificity: calculate, compare } = require('@csstools/selector-specificity'); + const findAtRuleContext = require('../../utils/findAtRuleContext'); const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); const isStandardSyntaxSelector = require('../../utils/isStandardSyntaxSelector'); @@ -31999,10 +29080,9 @@ const optionsMatches = require('../../utils/optionsMatches'); const parseSelector = require('../../utils/parseSelector'); const report = require('../../utils/report'); - const resolvedNestedSelector = require('postcss-resolve-nested-selector'); const ruleMessages = require('../../utils/ruleMessages'); - const specificity = require('specificity'); const validateOptions = require('../../utils/validateOptions'); + const { assert } = require('../../utils/validateTypes'); const ruleName = 'no-descending-specificity'; @@ -32010,6 +29090,10 @@ rejected: (b, a) => `Expected selector "${b}" to come before selector "${a}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/no-descending-specificity' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, secondaryOptions) => { return (root, result) => { @@ -32061,9 +29145,6 @@ continue; } - // The edge-case of duplicate selectors will act acceptably - const index = ruleNode.selector.indexOf(trimSelector); - // Resolve any nested selectors before checking for (const resolvedSelector of resolvedNestedSelector(selector, ruleNode)) { parseSelector(resolvedSelector, result, ruleNode, s => { @@ -32071,7 +29152,7 @@ return; } - checkSelector(s, ruleNode, index, comparisonContext); + checkSelector(s, ruleNode, comparisonContext); }); } } @@ -32080,13 +29161,12 @@ /** * @param {import('postcss-selector-parser').Root} selectorNode * @param {import('postcss').Rule} ruleNode - * @param {number} sourceIndex * @param {Map} comparisonContext */ - function checkSelector(selectorNode, ruleNode, sourceIndex, comparisonContext) { + function checkSelector(selectorNode, ruleNode, comparisonContext) { const selector = selectorNode.toString(); const referenceSelectorNode = lastCompoundSelectorWithoutPseudoClasses(selectorNode); - const selectorSpecificity = specificity.calculate(selector)[0].specificityArray; + const selectorSpecificity = calculate(selectorNode); const entry = { selector, specificity: selectorSpecificity }; if (!comparisonContext.has(referenceSelectorNode)) { @@ -32095,17 +29175,17 @@ return; } - /** @type {Array<{ selector: string, specificity: import('specificity').SpecificityArray }>} */ + /** @type {Array} */ const priorComparableSelectors = comparisonContext.get(referenceSelectorNode); for (const priorEntry of priorComparableSelectors) { - if (specificity.compare(selectorSpecificity, priorEntry.specificity) === -1) { + if (compare(selectorSpecificity, priorEntry.specificity) < 0) { report({ ruleName, result, node: ruleNode, message: messages.rejected(selector, priorEntry.selector), - index: sourceIndex }); + word: selector }); } } @@ -32119,12 +29199,20 @@ * @param {import('postcss-selector-parser').Root} selectorNode */ function lastCompoundSelectorWithoutPseudoClasses(selectorNode) { - const nodesByCombinator = selectorNode.nodes[0].split(node => node.type === 'combinator'); + const firstChild = selectorNode.nodes[0]; + + assert(firstChild); + const nodesByCombinator = firstChild.split(node => node.type === 'combinator'); const nodesAfterLastCombinator = nodesByCombinator[nodesByCombinator.length - 1]; + assert(nodesAfterLastCombinator); const nodesWithoutPseudoClasses = nodesAfterLastCombinator. filter(node => { - return node.type !== 'pseudo' || keywordSets.pseudoElements.has(node.value.replace(/:/g, '')); + return ( + node.type !== 'pseudo' || + node.value.startsWith('::') || + keywordSets.pseudoElements.has(node.value.replace(/:/g, ''))); + }). join(''); @@ -32133,9 +29221,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../reference/keywordSets": 142, "../../utils/findAtRuleContext": 362, "../../utils/isStandardSyntaxRule": 417, "../../utils/isStandardSyntaxSelector": 418, "../../utils/nodeContextLookup": 428, "../../utils/optionsMatches": 429, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "postcss-resolve-nested-selector": 50, "specificity": 120 }], 265: [function (require, module, exports) { + }, { "../../reference/keywordSets": 110, "../../utils/findAtRuleContext": 336, "../../utils/isStandardSyntaxRule": 394, "../../utils/isStandardSyntaxSelector": 395, "../../utils/nodeContextLookup": 405, "../../utils/optionsMatches": 406, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "@csstools/selector-specificity": 2, "postcss-resolve-nested-selector": 28 }], 237: [function (require, module, exports) { 'use strict'; const mediaParser = require('postcss-media-query-parser').default; @@ -32150,6 +29239,10 @@ rejected: atImport => `Unexpected duplicate @import rule ${atImport}` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/no-duplicate-at-import-rules' }; + + /** @type {import('stylelint').Rule} */ const rule = primary => { return (root, result) => { @@ -32171,7 +29264,7 @@ // extract uri from url() if exists const uri = - firstParam.type === 'function' && firstParam.value === 'url' ? + firstParam.type === 'function' && firstParam.value === 'url' && firstParam.nodes[0] ? firstParam.nodes[0].value : firstParam.value; @@ -32180,42 +29273,49 @@ map(n => n.value.replace(/\s/g, '')). filter(n => n.length); + let importedUris = imports[uri]; const isDuplicate = media.length ? - imports[uri] && media.some(q => imports[uri].includes(q)) : - imports[uri]; + media.some(q => importedUris && importedUris.includes(q)) : + importedUris; if (isDuplicate) { report({ message: messages.rejected(uri), node: atRule, result, - ruleName }); + ruleName, + word: atRule.toString() }); return; } - if (!imports[uri]) imports[uri] = []; + if (!importedUris) { + importedUris = imports[uri] = []; + } - imports[uri] = imports[uri].concat(media); + importedUris.push(...media); }); }; }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "postcss-media-query-parser": 46, "postcss-value-parser": 83 }], 266: [function (require, module, exports) { + }, { "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "postcss-media-query-parser": 24, "postcss-value-parser": 59 }], 238: [function (require, module, exports) { 'use strict'; + const resolvedNestedSelector = require('postcss-resolve-nested-selector'); + const selectorParser = require('postcss-selector-parser'); + const findAtRuleContext = require('../../utils/findAtRuleContext'); const isKeyframeRule = require('../../utils/isKeyframeRule'); + const isStandardSyntaxSelector = require('../../utils/isStandardSyntaxSelector'); const nodeContextLookup = require('../../utils/nodeContextLookup'); - const normalizeSelector = require('normalize-selector'); const parseSelector = require('../../utils/parseSelector'); const report = require('../../utils/report'); - const resolvedNestedSelector = require('postcss-resolve-nested-selector'); const ruleMessages = require('../../utils/ruleMessages'); const validateOptions = require('../../utils/validateOptions'); const { isBoolean } = require('../../utils/validateTypes'); @@ -32227,6 +29327,10 @@ `Unexpected duplicate selector "${selector}", first used at line ${firstDuplicateLine}` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/no-duplicate-selectors' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, secondaryOptions) => { return (root, result) => { @@ -32269,9 +29373,8 @@ ruleNode.selectors.flatMap(selector => resolvedNestedSelector(selector, ruleNode)))]; - const normalizedSelectorList = resolvedSelectorList.map((selector) => - normalizeSelector(selector)); + const normalizedSelectorList = resolvedSelectorList.map(normalize); // Sort the selectors list so that the order of the constituents // doesn't matter @@ -32319,7 +29422,8 @@ result, ruleName, node: ruleNode, - message: messages.rejected(selectorForMessage, previousDuplicatePosition) }); + message: messages.rejected(selectorForMessage, previousDuplicatePosition), + word: selectorForMessage }); } @@ -32328,7 +29432,7 @@ // Or complain if one selector list contains the same selector more than once for (const selector of ruleNode.selectors) { - const normalized = normalizeSelector(selector); + const normalized = normalize(selector); if (presentedSelectors.has(normalized)) { if (reportedSelectors.has(normalized)) { @@ -32339,7 +29443,8 @@ result, ruleName, node: ruleNode, - message: messages.rejected(selector, selectorLine) }); + message: messages.rejected(selector, selectorLine), + word: selector }); reportedSelectors.add(normalized); } else { @@ -32360,11 +29465,24 @@ }; }; + /** + * @param {string} selector + * @returns {string} + */ + function normalize(selector) { + if (!isStandardSyntaxSelector(selector)) { + return selector; + } + + return selectorParser().processSync(selector, { lossless: false }); + } + rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/findAtRuleContext": 362, "../../utils/isKeyframeRule": 397, "../../utils/nodeContextLookup": 428, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "normalize-selector": 42, "postcss-resolve-nested-selector": 50 }], 267: [function (require, module, exports) { + }, { "../../utils/findAtRuleContext": 336, "../../utils/isKeyframeRule": 374, "../../utils/isStandardSyntaxSelector": 395, "../../utils/nodeContextLookup": 405, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "postcss-resolve-nested-selector": 28, "postcss-selector-parser": 29 }], 239: [function (require, module, exports) { 'use strict'; const report = require('../../utils/report'); @@ -32378,6 +29496,10 @@ rejected: 'Unexpected empty line' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/no-empty-first-line' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { return (root, result) => { @@ -32421,9 +29543,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442 }], 268: [function (require, module, exports) { + }, { "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420 }], 240: [function (require, module, exports) { 'use strict'; const report = require('../../utils/report'); @@ -32436,6 +29559,10 @@ rejected: 'Unexpected empty source' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/no-empty-source' }; + + /** @type {import('stylelint').Rule} */ const rule = (primary, _secondaryOptions, context) => { return (root, result) => { @@ -32462,9 +29589,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442 }], 269: [function (require, module, exports) { + }, { "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420 }], 241: [function (require, module, exports) { 'use strict'; const styleSearch = require('style-search'); @@ -32483,6 +29611,10 @@ rejected: 'Unexpected whitespace at end of line' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/no-eol-whitespace' }; + + const whitespacesToReject = new Set([' ', '\t']); /** @@ -32510,7 +29642,7 @@ const eolWhitespaceIndex = lastEOLIndex - 1; // If the character before newline is not whitespace, ignore - if (!whitespacesToReject.has(string[eolWhitespaceIndex])) { + if (!whitespacesToReject.has(string.charAt(eolWhitespaceIndex))) { return -1; } @@ -32667,9 +29799,11 @@ } if (isDeclaration(node)) { - if (node.raws.value) { - fixText(node.raws.value.raw, fixed => { - node.raws.value.raw = fixed; + const rawsValue = node.raws.value; + + if (rawsValue) { + fixText(rawsValue.raw, fixed => { + rawsValue.raw = fixed; }); } else { fixText(node.value, fixed => { @@ -32759,9 +29893,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isOnlyWhitespace": 402, "../../utils/isStandardSyntaxComment": 411, "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/typeGuards": 440, "../../utils/validateOptions": 442, "style-search": 121 }], 270: [function (require, module, exports) { + }, { "../../utils/isOnlyWhitespace": 379, "../../utils/isStandardSyntaxComment": 388, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/typeGuards": 417, "../../utils/validateOptions": 420, "style-search": 92 }], 242: [function (require, module, exports) { 'use strict'; const isStandardSyntaxAtRule = require('../../utils/isStandardSyntaxAtRule'); @@ -32777,6 +29912,10 @@ rejected: 'Unexpected extra semicolon' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/no-extra-semicolons' }; + + /** * @param {import('postcss').Node} node * @returns {number} @@ -32890,7 +30029,7 @@ } } - if ('after' in node.raws && node.raws.after && node.raws.after.trim().length !== 0) { + if (typeof node.raws.after === 'string' && node.raws.after.trim().length !== 0) { const rawAfterNode = node.raws.after; /** @@ -32933,7 +30072,7 @@ } } - if ('ownSemicolon' in node.raws && node.raws.ownSemicolon) { + if (typeof node.raws.ownSemicolon === 'string') { const rawOwnSemicolon = node.raws.ownSemicolon; const allowedSemi = 0; @@ -32997,11 +30136,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxAtRule": 408, "../../utils/isStandardSyntaxRule": 417, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "style-search": 121 }], 271: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isStandardSyntaxAtRule": 385, "../../utils/isStandardSyntaxRule": 394, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "style-search": 92 }], 243: [function (require, module, exports) { 'use strict'; const report = require('../../utils/report'); @@ -33014,9 +30152,14 @@ rejected: 'Unexpected double-slash CSS comment' }); - function rule(actual) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/no-invalid-double-slash-comments' }; + + + /** @type {import('stylelint').Rule} */ + const rule = primary => { return (root, result) => { - const validOptions = validateOptions(result, ruleName, { actual }); + const validOptions = validateOptions(result, ruleName, { actual: primary }); if (!validOptions) { return; @@ -33028,7 +30171,8 @@ message: messages.rejected, node: decl, result, - ruleName }); + ruleName, + word: decl.toString() }); } }); @@ -33040,21 +30184,21 @@ message: messages.rejected, node: ruleNode, result, - ruleName }); + ruleName, + word: ruleNode.toString() }); } } }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442 }], 272: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420 }], 244: [function (require, module, exports) { 'use strict'; const isStandardSyntaxAtRule = require('../../utils/isStandardSyntaxAtRule'); @@ -33071,12 +30215,17 @@ rejected: 'Unexpected invalid position @import rule' }); - function rule(actual, options) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/no-invalid-position-at-import-rule' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, options) => { return (root, result) => { const validOptions = validateOptions( result, ruleName, - { actual }, + { actual: primary }, { actual: options, possible: { @@ -33093,12 +30242,13 @@ let invalidPosition = false; root.walk(node => { - const nodeName = node.name && node.name.toLowerCase(); + const nodeName = 'name' in node && node.name && node.name.toLowerCase() || ''; if ( node.type === 'atrule' && nodeName !== 'charset' && nodeName !== 'import' && + nodeName !== 'layer' && !optionsMatches(options, 'ignoreAtRules', node.name) && isStandardSyntaxAtRule(node) || node.type === 'rule' && isStandardSyntaxRule(node)) @@ -33113,20 +30263,20 @@ message: messages.rejected, node, result, - ruleName }); + ruleName, + word: node.toString() }); } }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxAtRule": 408, "../../utils/isStandardSyntaxRule": 417, "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443 }], 273: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isStandardSyntaxAtRule": 385, "../../utils/isStandardSyntaxRule": 394, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 245: [function (require, module, exports) { 'use strict'; const report = require('../../utils/report'); @@ -33134,10 +30284,15 @@ const validateOptions = require('../../utils/validateOptions'); const ruleName = 'no-irregular-whitespace'; + const messages = ruleMessages(ruleName, { unexpected: 'Unexpected irregular whitespace' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/no-irregular-whitespace' }; + + const IRREGULAR_WHITESPACES = [ '\u000B', // Line Tabulation (\v) - '\u000C', // Form Feed (\f) - @@ -33167,73 +30322,31 @@ const IRREGULAR_WHITESPACES_PATTERN = new RegExp(`([${IRREGULAR_WHITESPACES.join('')}])`); - const generateInvalidWhitespaceValidator = () => { - return str => typeof str === 'string' && IRREGULAR_WHITESPACES_PATTERN.exec(str); - }; - - const declarationSchema = { - prop: 'string', - value: 'string', - raws: { - before: 'string', - between: 'string' } }; - - - - const atRuleSchema = { - name: 'string', - params: 'string', - raws: { - before: 'string', - between: 'string', - afterName: 'string', - after: 'string' } }; - - - - const ruleSchema = { - selector: 'string', - raws: { - before: 'string', - between: 'string', - after: 'string' } }; - - - - const generateNodeValidator = (nodeSchema, validator) => { - const allKeys = Object.keys(nodeSchema); - const validatorForKey = {}; - - for (const key of allKeys) { - if (typeof nodeSchema[key] === 'string') validatorForKey[key] = validator; - - if (typeof nodeSchema[key] === 'object') - validatorForKey[key] = generateNodeValidator(nodeSchema[key], validator); - } + /** + * @param {string} str + * @returns {string | null} + */ + const findIrregularWhitespace = str => { + const result = IRREGULAR_WHITESPACES_PATTERN.exec(str); - // This will be called many times, so it's optimized for performance and not readibility. - // Surprisingly, this seem to be slightly faster then concatenating the params and running the validator once. - return node => { - for (const currentKey of allKeys) { - if (validatorForKey[currentKey](node[currentKey])) { - return validatorForKey[currentKey](node[currentKey]); - } - } - }; + return result && result[1] || null; }; - function rule(on) { + /** @type {import('stylelint').Rule} */ + const rule = primary => { return (root, result) => { - const validOptions = validateOptions(result, ruleName, { actual: on }); + const validOptions = validateOptions(result, ruleName, { actual: primary }); if (!validOptions) { return; } - const genericValidator = generateInvalidWhitespaceValidator(); - - const validate = (node, validator) => { - const issue = validator(node); + /** + * @param {import('postcss').Node} node + * @param {string | undefined} value + */ + const validate = (node, value) => { + const issue = value && findIrregularWhitespace(value); if (issue) { report({ @@ -33241,28 +30354,42 @@ result, message: messages.unexpected, node, - word: issue[1] }); + word: issue }); } }; - const atRuleValidator = generateNodeValidator(atRuleSchema, genericValidator); - const ruleValidator = generateNodeValidator(ruleSchema, genericValidator); - const declValidator = generateNodeValidator(declarationSchema, genericValidator); + root.walkAtRules(atRule => { + validate(atRule, atRule.name); + validate(atRule, atRule.params); + validate(atRule, atRule.raws.before); + validate(atRule, atRule.raws.after); + validate(atRule, atRule.raws.afterName); + validate(atRule, atRule.raws.between); + }); + + root.walkRules(ruleNode => { + validate(ruleNode, ruleNode.selector); + validate(ruleNode, ruleNode.raws.before); + validate(ruleNode, ruleNode.raws.after); + validate(ruleNode, ruleNode.raws.between); + }); - root.walkAtRules(atRule => validate(atRule, atRuleValidator)); - root.walkRules(selector => validate(selector, ruleValidator)); - root.walkDecls(declaration => validate(declaration, declValidator)); + root.walkDecls(decl => { + validate(decl, decl.prop); + validate(decl, decl.value); + validate(decl, decl.raws.before); + validate(decl, decl.raws.between); + }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442 }], 274: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420 }], 246: [function (require, module, exports) { 'use strict'; const report = require('../../utils/report'); @@ -33275,14 +30402,24 @@ rejected: 'Unexpected missing end-of-source newline' }); - function rule(primary, _, context) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/no-missing-end-of-source-newline' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, _secondaryOptions, context) => { return (root, result) => { - const validOptions = validateOptions(result, ruleName, { primary }); + const validOptions = validateOptions(result, ruleName, { actual: primary }); if (!validOptions) { return; } + if (root.source == null) { + throw new Error('The root node must have a source property'); + } + + // @ts-expect-error -- TS2339: Property 'inline' does not exist on type 'Source'. if (root.source.inline || root.source.lang === 'object-literal') { return; } @@ -33308,15 +30445,14 @@ ruleName }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442 }], 275: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420 }], 247: [function (require, module, exports) { 'use strict'; const declarationValueIndex = require('../../utils/declarationValueIndex'); @@ -33332,9 +30468,14 @@ rejected: animationName => `Unexpected unknown animation name "${animationName}"` }); - function rule(actual) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/no-unknown-animations' }; + + + /** @type {import('stylelint').Rule} */ + const rule = primary => { return (root, result) => { - const validOptions = validateOptions(result, ruleName, { actual }); + const validOptions = validateOptions(result, ruleName, { actual: primary }); if (!validOptions) { return; @@ -33374,23 +30515,23 @@ } }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../reference/keywordSets": 142, "../../utils/declarationValueIndex": 359, "../../utils/findAnimationName": 361, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442 }], 276: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../reference/keywordSets": 110, "../../utils/declarationValueIndex": 333, "../../utils/findAnimationName": 335, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420 }], 248: [function (require, module, exports) { 'use strict'; + const valueParser = require('postcss-value-parser'); + const atRuleParamIndex = require('../../utils/atRuleParamIndex'); const declarationValueIndex = require('../../utils/declarationValueIndex'); const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); const validateOptions = require('../../utils/validateOptions'); - const valueParser = require('postcss-value-parser'); const ruleName = 'number-leading-zero'; @@ -33399,10 +30540,15 @@ rejected: 'Unexpected leading zero' }); - function rule(expectation, secondary, context) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/number-leading-zero' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, _secondaryOptions, context) => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: expectation, + actual: primary, possible: ['always', 'never'] }); @@ -33415,13 +30561,19 @@ return; } - check(atRule, atRule.params, atRuleParamIndex); + check(atRule, atRule.params); }); - root.walkDecls(decl => check(decl, decl.value, declarationValueIndex)); + root.walkDecls(decl => check(decl, decl.value)); - function check(node, value, getIndex) { + /** + * @param {import('postcss').AtRule | import('postcss').Declaration} node + * @param {string} value + */ + function check(node, value) { + /** @type {Array<{ startIndex: number, endIndex: number }>} */ const neverFixPositions = []; + /** @type {Array<{ index: number }>} */ const alwaysFixPositions = []; // Get out quickly if there are no periods @@ -33441,10 +30593,10 @@ } // Check leading zero - if (expectation === 'always') { + if (primary === 'always') { const match = /(?:\D|^)(\.\d+)/.exec(valueNode.value); - if (match === null) { + if (match == null || match[0] == null || match[1] == null) { return; } @@ -33463,13 +30615,16 @@ return; } - complain(messages.expected, node, getIndex(node) + index); + const baseIndex = + node.type === 'atrule' ? atRuleParamIndex(node) : declarationValueIndex(node); + + complain(messages.expected, node, baseIndex + index); } - if (expectation === 'never') { + if (primary === 'never') { const match = /(?:\D|^)(0+)(\.\d+)/.exec(valueNode.value); - if (match === null) { + if (match == null || match[0] == null || match[1] == null || match[2] == null) { return; } @@ -33490,7 +30645,10 @@ return; } - complain(messages.rejected, node, getIndex(node) + index); + const baseIndex = + node.type === 'atrule' ? atRuleParamIndex(node) : declarationValueIndex(node); + + complain(messages.rejected, node, baseIndex + index); } }); @@ -33520,6 +30678,11 @@ } } + /** + * @param {string} message + * @param {import('postcss').Node} node + * @param {number} index + */ function complain(message, node, index) { report({ result, @@ -33530,26 +30693,38 @@ } }; - } + }; + /** + * @param {string} input + * @param {number} index + * @returns {string} + */ function addLeadingZero(input, index) { // eslint-disable-next-line prefer-template return input.slice(0, index) + '0' + input.slice(index); } + /** + * @param {string} input + * @param {number} startIndex + * @param {number} endIndex + * @returns {string} + */ function removeLeadingZeros(input, startIndex, endIndex) { return input.slice(0, startIndex) + input.slice(endIndex); } rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/atRuleParamIndex": 352, "../../utils/declarationValueIndex": 359, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "postcss-value-parser": 83 }], 277: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/atRuleParamIndex": 326, "../../utils/declarationValueIndex": 333, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "postcss-value-parser": 59 }], 249: [function (require, module, exports) { 'use strict'; + const valueParser = require('postcss-value-parser'); + const atRuleParamIndex = require('../../utils/atRuleParamIndex'); const declarationValueIndex = require('../../utils/declarationValueIndex'); const getUnitFromValueNode = require('../../utils/getUnitFromValueNode'); @@ -33559,26 +30734,29 @@ const validateOptions = require('../../utils/validateOptions'); const { isNumber, isRegExp, isString } = require('../../utils/validateTypes'); - const valueParser = require('postcss-value-parser'); - const ruleName = 'number-max-precision'; const messages = ruleMessages(ruleName, { - expected: (number, precision) => `Expected "${number}" to be "${number.toFixed(precision)}"` }); + expected: (actual, expected) => `Expected "${actual}" to be "${expected}"` }); - function rule(precision, options) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/number-max-precision' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, secondaryOptions) => { return (root, result) => { const validOptions = validateOptions( result, ruleName, { - actual: precision, + actual: primary, possible: [isNumber] }, { optional: true, - actual: options, + actual: secondaryOptions, possible: { ignoreProperties: [isString, isRegExp], ignoreUnits: [isString, isRegExp] } }); @@ -33595,27 +30773,31 @@ return; } - check(atRule, atRule.params, atRuleParamIndex); + check(atRule, atRule.params); }); - root.walkDecls(decl => check(decl, decl.value, declarationValueIndex)); + root.walkDecls(decl => check(decl, decl.value)); - function check(node, value, getIndex) { + /** + * @param {import('postcss').AtRule | import('postcss').Declaration} node + * @param {string} value + */ + function check(node, value) { // Get out quickly if there are no periods if (!value.includes('.')) { return; } - const prop = node.prop; + const prop = 'prop' in node ? node.prop : undefined; - if (optionsMatches(options, 'ignoreProperties', prop)) { + if (optionsMatches(secondaryOptions, 'ignoreProperties', prop)) { return; } valueParser(value).walk(valueNode => { const unit = getUnitFromValueNode(valueNode); - if (optionsMatches(options, 'ignoreUnits', unit)) { + if (optionsMatches(secondaryOptions, 'ignoreUnits', unit)) { return; } @@ -33631,41 +30813,45 @@ const match = /\d*\.(\d+)/.exec(valueNode.value); - if (match === null) { + if (match == null || match[0] == null || match[1] == null) { return; } - if (match[1].length <= precision) { + if (match[1].length <= primary) { return; } + const baseIndex = + node.type === 'atrule' ? atRuleParamIndex(node) : declarationValueIndex(node); + const actual = Number.parseFloat(match[0]); + report({ result, ruleName, node, - index: getIndex(node) + valueNode.sourceIndex + match.index, - message: messages.expected(Number.parseFloat(match[0]), precision) }); + index: baseIndex + valueNode.sourceIndex + match.index, + message: messages.expected(actual, actual.toFixed(primary)) }); }); } }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/atRuleParamIndex": 352, "../../utils/declarationValueIndex": 359, "../../utils/getUnitFromValueNode": 374, "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "postcss-value-parser": 83 }], 278: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/atRuleParamIndex": 326, "../../utils/declarationValueIndex": 333, "../../utils/getUnitFromValueNode": 350, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "postcss-value-parser": 59 }], 250: [function (require, module, exports) { 'use strict'; + const valueParser = require('postcss-value-parser'); + const atRuleParamIndex = require('../../utils/atRuleParamIndex'); const declarationValueIndex = require('../../utils/declarationValueIndex'); const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); const validateOptions = require('../../utils/validateOptions'); - const valueParser = require('postcss-value-parser'); const ruleName = 'number-no-trailing-zeros'; @@ -33673,9 +30859,14 @@ rejected: 'Unexpected trailing zero(s)' }); - function rule(actual, secondary, context) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/number-no-trailing-zeros' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, _secondaryOptions, context) => { return (root, result) => { - const validOptions = validateOptions(result, ruleName, { actual }); + const validOptions = validateOptions(result, ruleName, { actual: primary }); if (!validOptions) { return; @@ -33686,12 +30877,17 @@ return; } - check(atRule, atRule.params, atRuleParamIndex); + check(atRule, atRule.params); }); - root.walkDecls(decl => check(decl, decl.value, declarationValueIndex)); + root.walkDecls(decl => check(decl, decl.value)); - function check(node, value, getIndex) { + /** + * @param {import('postcss').AtRule | import('postcss').Declaration} node + * @param {string} value + */ + function check(node, value) { + /** @type {Array<{ startIndex: number, endIndex: number }>} */ const fixPositions = []; // Get out quickly if there are no periods @@ -33714,7 +30910,7 @@ // match[1] is any numbers between the decimal and our trailing zero, could be empty // match[2] is our trailing zero(s) - if (match === null) { + if (match == null || match[1] == null || match[2] == null) { return; } @@ -33742,11 +30938,14 @@ return; } + const baseIndex = + node.type === 'atrule' ? atRuleParamIndex(node) : declarationValueIndex(node); + report({ message: messages.rejected, node, // this is the index of the _first_ trailing zero - index: getIndex(node) + index, + index: baseIndex + index, result, ruleName }); @@ -33766,19 +30965,24 @@ } } }; - } + }; + /** + * @param {string} input + * @param {number} startIndex + * @param {number} endIndex + * @returns {string} + */ function removeTrailingZeros(input, startIndex, endIndex) { return input.slice(0, startIndex) + input.slice(endIndex); } rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/atRuleParamIndex": 352, "../../utils/declarationValueIndex": 359, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "postcss-value-parser": 83 }], 279: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/atRuleParamIndex": 326, "../../utils/declarationValueIndex": 333, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "postcss-value-parser": 59 }], 251: [function (require, module, exports) { 'use strict'; const isCustomProperty = require('../../utils/isCustomProperty'); @@ -33796,10 +31000,15 @@ rejected: property => `Unexpected property "${property}"` }); - function rule(list) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/property-allowed-list' }; + + + /** @type {import('stylelint').Rule>} */ + const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: list, + actual: primary, possible: [isString, isRegExp] }); @@ -33818,7 +31027,8 @@ return; } - if (matchesStringOrRegExp(vendor.unprefixed(prop), list)) { + // either the prefix or unprefixed version is in the list + if (matchesStringOrRegExp([prop, vendor.unprefixed(prop)], primary)) { return; } @@ -33830,17 +31040,16 @@ }); }; - } + }; rule.primaryOptionArray = true; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isCustomProperty": 393, "../../utils/isStandardSyntaxProperty": 416, "../../utils/matchesStringOrRegExp": 426, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "../../utils/vendor": 444 }], 280: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isCustomProperty": 370, "../../utils/isStandardSyntaxProperty": 393, "../../utils/matchesStringOrRegExp": 403, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/vendor": 422 }], 252: [function (require, module, exports) { 'use strict'; const isCustomProperty = require('../../utils/isCustomProperty'); @@ -33848,6 +31057,9 @@ const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); const validateOptions = require('../../utils/validateOptions'); + const optionsMatches = require('../../utils/optionsMatches'); + const { isRegExp, isString } = require('../../utils/validateTypes'); + const { isRule } = require('../../utils/typeGuards'); const ruleName = 'property-case'; @@ -33855,11 +31067,27 @@ expected: (actual, expected) => `Expected "${actual}" to be "${expected}"` }); - function rule(expectation, options, context) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/property-case' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, secondaryOptions, context) => { return (root, result) => { - const validOptions = validateOptions(result, ruleName, { - actual: expectation, - possible: ['lower', 'upper'] }); + const validOptions = validateOptions( + result, + ruleName, + { + actual: primary, + possible: ['lower', 'upper'] }, + + { + actual: secondaryOptions, + possible: { + ignoreSelectors: [isString, isRegExp] }, + + optional: true }); + if (!validOptions) { @@ -33877,7 +31105,19 @@ return; } - const expectedProp = expectation === 'lower' ? prop.toLowerCase() : prop.toUpperCase(); + const { parent } = decl; + + if (!parent) throw new Error('A parent node must be present'); + + if (isRule(parent)) { + const { selector } = parent; + + if (selector && optionsMatches(secondaryOptions, 'ignoreSelectors', selector)) { + return; + } + } + + const expectedProp = primary === 'lower' ? prop.toLowerCase() : prop.toUpperCase(); if (prop === expectedProp) { return; @@ -33897,15 +31137,14 @@ }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isCustomProperty": 393, "../../utils/isStandardSyntaxProperty": 416, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442 }], 281: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isCustomProperty": 370, "../../utils/isStandardSyntaxProperty": 393, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/typeGuards": 417, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 253: [function (require, module, exports) { 'use strict'; const isCustomProperty = require('../../utils/isCustomProperty'); @@ -33923,10 +31162,15 @@ rejected: property => `Unexpected property "${property}"` }); - function rule(list) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/property-disallowed-list' }; + + + /** @type {import('stylelint').Rule>} */ + const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: list, + actual: primary, possible: [isString, isRegExp] }); @@ -33945,7 +31189,8 @@ return; } - if (!matchesStringOrRegExp(vendor.unprefixed(prop), list)) { + // either the prefix or unprefixed version is in the list + if (!matchesStringOrRegExp([prop, vendor.unprefixed(prop)], primary)) { return; } @@ -33957,17 +31202,16 @@ }); }; - } + }; rule.primaryOptionArray = true; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isCustomProperty": 393, "../../utils/isStandardSyntaxProperty": 416, "../../utils/matchesStringOrRegExp": 426, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "../../utils/vendor": 444 }], 282: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isCustomProperty": 370, "../../utils/isStandardSyntaxProperty": 393, "../../utils/matchesStringOrRegExp": 403, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/vendor": 422 }], 254: [function (require, module, exports) { 'use strict'; const isCustomProperty = require('../../utils/isCustomProperty'); @@ -33977,6 +31221,7 @@ const properties = require('known-css-properties').all; const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); + const { isAtRule, isRule } = require('../../utils/typeGuards'); const validateOptions = require('../../utils/validateOptions'); const vendor = require('../../utils/vendor'); const { isBoolean, isRegExp, isString } = require('../../utils/validateTypes'); @@ -33987,19 +31232,24 @@ rejected: property => `Unexpected unknown property "${property}"` }); - function rule(actual, options) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/property-no-unknown' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, secondaryOptions) => { const allValidProperties = new Set(properties); return (root, result) => { const validOptions = validateOptions( result, ruleName, - { actual }, + { actual: primary }, { - actual: options, + actual: secondaryOptions, possible: { ignoreProperties: [isString, isRegExp], - checkPrefixed: isBoolean, + checkPrefixed: [isBoolean], ignoreSelectors: [isString, isRegExp], ignoreAtRules: [isString, isRegExp] }, @@ -34011,10 +31261,13 @@ return; } - const shouldCheckPrefixed = options && options.checkPrefixed; + const shouldCheckPrefixed = secondaryOptions && secondaryOptions.checkPrefixed; root.walkDecls(checkStatement); + /** + * @param {import('postcss').Declaration} decl + */ function checkStatement(decl) { const prop = decl.prop; @@ -34034,22 +31287,25 @@ return; } - if (optionsMatches(options, 'ignoreProperties', prop)) { + if (optionsMatches(secondaryOptions, 'ignoreProperties', prop)) { return; } - const { selector } = decl.parent; + const parent = decl.parent; - if (selector && optionsMatches(options, 'ignoreSelectors', selector)) { + if ( + parent && + isRule(parent) && + optionsMatches(secondaryOptions, 'ignoreSelectors', parent.selector)) + { return; } - let node = decl.parent; + /** @type {import('postcss').Node | undefined} */ + let node = parent; while (node && node.type !== 'root') { - const { type, name } = node; - - if (type === 'atrule' && optionsMatches(options, 'ignoreAtRules', name)) { + if (isAtRule(node) && optionsMatches(secondaryOptions, 'ignoreAtRules', node.name)) { return; } @@ -34064,101 +31320,80 @@ message: messages.rejected(prop), node: decl, result, - ruleName }); + ruleName, + word: prop }); } }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isCustomProperty": 393, "../../utils/isStandardSyntaxDeclaration": 412, "../../utils/isStandardSyntaxProperty": 416, "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "../../utils/vendor": 444, "known-css-properties": 39 }], 283: [function (require, module, exports) { + }, { "../../utils/isCustomProperty": 370, "../../utils/isStandardSyntaxDeclaration": 389, "../../utils/isStandardSyntaxProperty": 393, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/typeGuards": 417, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/vendor": 422, "known-css-properties": 19 }], 255: [function (require, module, exports) { 'use strict'; - const styleSearch = require('style-search'); - - const rangeOperators = ['>=', '<=', '>', '<', '=']; - - /** - * @param {import('postcss-media-query-parser').Node} node - */ - function getRangeContextOperators(node) { - /** @type {string[]} */ - const operators = []; - - const source = node.value; - - styleSearch({ source, target: rangeOperators }, match => { - const before = source[match.startIndex - 1]; - - if (before === '>' || before === '<') { - return; - } + const valueParser = require('postcss-value-parser'); - operators.push(match.target); - }); + const { assert } = require('../utils/validateTypes'); - // Sorting helps when using the operators to split - // E.g. for "(10em < width <= 50em)" this returns ["<=", "<"] - return operators.sort((a, b) => b.length - a.length); - } + const rangeOperators = new Set(['>=', '<=', '>', '<', '=']); /** - * @param {string[]} parsedNode + * @param {string} name + * @returns {boolean} */ - function getRangeContextName(parsedNode) { - // When the node is like "(10em < width < 50em)" - // The parsedNode is ["10em", "width", "50em"] - the name is always in the second position - if (parsedNode.length === 3) { - return parsedNode[1]; - } - + function isRangeContextName(name) { // When the node is like "(width > 10em)" or "(10em < width)" // Regex is needed because the name can either be in the first or second position - return parsedNode.find(value => value.match(/^(?!--)\D+/) || value.match(/^(--).+/)); + return /^(?!--)\D/.test(name) || /^--./.test(name); } /** + * @typedef {{ value: string, sourceIndex: number }} RangeContextNode + * * @param {import('postcss-media-query-parser').Node} node - * @returns {{ name: { value: string, sourceIndex: number }, values: Array<{ value: string, sourceIndex: number }> }} + * @returns {{ name: RangeContextNode, values: RangeContextNode[] }} */ module.exports = function rangeContextNodeParser(node) { - const nodeValue = node.value; - - const operators = getRangeContextOperators(node); + /** @type {import('postcss-value-parser').WordNode | undefined} */ + let nameNode; - // Remove spaces and parentheses and split by the operators - const parsedMedia = nodeValue.replace(/[()\s]/g, '').split(new RegExp(operators.join('|'))); + /** @type {import('postcss-value-parser').WordNode[]} */ + const valueNodes = []; - const name = getRangeContextName(parsedMedia); + valueParser(node.value).walk(valueNode => { + if (valueNode.type !== 'word') return; - if (name == null) throw new Error('The context name must be present'); + if (rangeOperators.has(valueNode.value)) return; - const nameObj = { - value: name, - sourceIndex: node.sourceIndex + nodeValue.indexOf(name) }; + if (nameNode == null && isRangeContextName(valueNode.value)) { + nameNode = valueNode; + return; + } - const values = parsedMedia. - filter(parsedValue => parsedValue !== name). - map(value => { - return { - value, - sourceIndex: node.sourceIndex + nodeValue.indexOf(value) }; - + valueNodes.push(valueNode); }); + assert(nameNode); + return { - name: nameObj, - values }; + name: { + value: nameNode.value, + sourceIndex: node.sourceIndex + nameNode.sourceIndex }, - }; - }, { "style-search": 121 }], 284: [function (require, module, exports) { - // @ts-nocheck + values: valueNodes.map(valueNode => ({ + value: valueNode.value, + sourceIndex: node.sourceIndex + valueNode.sourceIndex })) }; + + }; + + }, { "../utils/validateTypes": 421, "postcss-value-parser": 59 }], 256: [function (require, module, exports) { 'use strict'; const addEmptyLineBefore = require('../../utils/addEmptyLineBefore'); @@ -34182,17 +31417,22 @@ rejected: 'Unexpected empty line before rule' }); - function rule(expectation, options, context) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/rule-empty-line-before' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, secondaryOptions, context) => { return (root, result) => { const validOptions = validateOptions( result, ruleName, { - actual: expectation, + actual: primary, possible: ['always', 'never', 'always-multi-line', 'never-multi-line'] }, { - actual: options, + actual: secondaryOptions, possible: { ignore: ['after-comment', 'first-nested', 'inside-block'], except: [ @@ -34211,6 +31451,8 @@ return; } + const expectation = /** @type {string} */primary; + root.walkRules(ruleNode => { if (!isStandardSyntaxRule(ruleNode)) { return; @@ -34222,23 +31464,23 @@ } // Optionally ignore the expectation if a comment precedes this node - if ( - optionsMatches(options, 'ignore', 'after-comment') && - ruleNode.prev() && - ruleNode.prev().type === 'comment') - { - return; + if (optionsMatches(secondaryOptions, 'ignore', 'after-comment')) { + const prevNode = ruleNode.prev(); + + if (prevNode && prevNode.type === 'comment') { + return; + } } // Optionally ignore the node if it is the first nested - if (optionsMatches(options, 'ignore', 'first-nested') && isFirstNested(ruleNode)) { + if (optionsMatches(secondaryOptions, 'ignore', 'first-nested') && isFirstNested(ruleNode)) { return; } - const isNested = ruleNode.parent.type !== 'root'; + const isNested = ruleNode.parent && ruleNode.parent.type !== 'root'; // Optionally ignore the expectation if inside a block - if (optionsMatches(options, 'ignore', 'inside-block') && isNested) { + if (optionsMatches(secondaryOptions, 'ignore', 'inside-block') && isNested) { return; } @@ -34247,18 +31489,18 @@ return; } - let expectEmptyLineBefore = Boolean(expectation.includes('always')); + let expectEmptyLineBefore = expectation.includes('always'); // Optionally reverse the expectation if any exceptions apply if ( - optionsMatches(options, 'except', 'first-nested') && isFirstNested(ruleNode) || - optionsMatches(options, 'except', 'after-rule') && isAfterRule(ruleNode) || - optionsMatches(options, 'except', 'inside-block-and-after-rule') && + optionsMatches(secondaryOptions, 'except', 'first-nested') && isFirstNested(ruleNode) || + optionsMatches(secondaryOptions, 'except', 'after-rule') && isAfterRule(ruleNode) || + optionsMatches(secondaryOptions, 'except', 'inside-block-and-after-rule') && isNested && isAfterRule(ruleNode) || - optionsMatches(options, 'except', 'after-single-line-comment') && + optionsMatches(secondaryOptions, 'except', 'after-single-line-comment') && isAfterSingleLineComment(ruleNode) || - optionsMatches(options, 'except', 'inside-block') && isNested) + optionsMatches(secondaryOptions, 'except', 'inside-block') && isNested) { expectEmptyLineBefore = !expectEmptyLineBefore; } @@ -34272,10 +31514,16 @@ // Fix if (context.fix) { + const newline = context.newline; + + if (typeof newline !== 'string') { + throw new Error(`The "newline" property must be a string: ${newline}`); + } + if (expectEmptyLineBefore) { - addEmptyLineBefore(ruleNode, context.newline); + addEmptyLineBefore(ruleNode, newline); } else { - removeEmptyLinesBefore(ruleNode, context.newline); + removeEmptyLinesBefore(ruleNode, newline); } return; @@ -34291,27 +31539,33 @@ }); }; - } + }; + /** + * @param {import('postcss').Rule} ruleNode + * @returns {boolean} + */ function isAfterRule(ruleNode) { const prevNode = getPreviousNonSharedLineCommentNode(ruleNode); - return prevNode && prevNode.type === 'rule'; + return prevNode != null && prevNode.type === 'rule'; } rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/addEmptyLineBefore": 350, "../../utils/getPreviousNonSharedLineCommentNode": 371, "../../utils/hasEmptyLine": 377, "../../utils/isAfterSingleLineComment": 384, "../../utils/isFirstNested": 395, "../../utils/isFirstNodeOfRoot": 396, "../../utils/isSingleLineString": 407, "../../utils/isStandardSyntaxRule": 417, "../../utils/optionsMatches": 429, "../../utils/removeEmptyLinesBefore": 434, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442 }], 285: [function (require, module, exports) { + }, { "../../utils/addEmptyLineBefore": 323, "../../utils/getPreviousNonSharedLineCommentNode": 347, "../../utils/hasEmptyLine": 353, "../../utils/isAfterSingleLineComment": 360, "../../utils/isFirstNested": 372, "../../utils/isFirstNodeOfRoot": 373, "../../utils/isSingleLineString": 384, "../../utils/isStandardSyntaxRule": 394, "../../utils/optionsMatches": 406, "../../utils/removeEmptyLinesBefore": 411, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420 }], 257: [function (require, module, exports) { 'use strict'; const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); const matchesStringOrRegExp = require('../../utils/matchesStringOrRegExp'); const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); + const validateObjectWithArrayProps = require('../../utils/validateObjectWithArrayProps'); const validateOptions = require('../../utils/validateOptions'); - const { isPlainObject } = require('is-plain-object'); + const { isString, isRegExp } = require('../../utils/validateTypes'); const ruleName = 'rule-selector-property-disallowed-list'; @@ -34319,12 +31573,16 @@ rejected: (property, selector) => `Unexpected property "${property}" for selector "${selector}"` }); - /** @type {import('stylelint').Rule} */ + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/rule-selector-property-disallowed-list' }; + + + /** @type {import('stylelint').Rule>>} */ const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { actual: primary, - possible: [isPlainObject] }); + possible: [validateObjectWithArrayProps(isString, isRegExp)] }); if (!validOptions) { @@ -34348,6 +31606,10 @@ const disallowedProperties = primary[selectorKey]; + if (!disallowedProperties) { + return; + } + for (const node of ruleNode.nodes) { const isDisallowedProperty = node.type === 'decl' && matchesStringOrRegExp(node.prop, disallowedProperties); @@ -34369,11 +31631,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxRule": 417, "../../utils/matchesStringOrRegExp": 426, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "is-plain-object": 35 }], 286: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isStandardSyntaxRule": 394, "../../utils/matchesStringOrRegExp": 403, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateObjectWithArrayProps": 418, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 258: [function (require, module, exports) { 'use strict'; const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); @@ -34392,10 +31653,15 @@ rejectedClosing: 'Unexpected whitespace before "]"' }); - function rule(expectation, options, context) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-attribute-brackets-space-inside' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, _secondaryOptions, context) => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: expectation, + actual: primary, possible: ['always', 'never'] }); @@ -34423,7 +31689,7 @@ const nextCharIsSpace = attributeSelectorString[match.startIndex + 1] === ' '; const index = attributeNode.sourceIndex + match.startIndex + 1; - if (nextCharIsSpace && expectation === 'never') { + if (nextCharIsSpace && primary === 'never') { if (context.fix) { hasFixed = true; fixBefore(attributeNode); @@ -34434,7 +31700,7 @@ complain(messages.rejectedOpening, index); } - if (!nextCharIsSpace && expectation === 'always') { + if (!nextCharIsSpace && primary === 'always') { if (context.fix) { hasFixed = true; fixBefore(attributeNode); @@ -34450,7 +31716,7 @@ const prevCharIsSpace = attributeSelectorString[match.startIndex - 1] === ' '; const index = attributeNode.sourceIndex + match.startIndex - 1; - if (prevCharIsSpace && expectation === 'never') { + if (prevCharIsSpace && primary === 'never') { if (context.fix) { hasFixed = true; fixAfter(attributeNode); @@ -34461,7 +31727,7 @@ complain(messages.rejectedClosing, index); } - if (!prevCharIsSpace && expectation === 'always') { + if (!prevCharIsSpace && primary === 'always') { if (context.fix) { hasFixed = true; fixAfter(attributeNode); @@ -34475,7 +31741,7 @@ }); }); - if (hasFixed) { + if (hasFixed && fixedSelector) { if (!ruleNode.raws.selector) { ruleNode.selector = fixedSelector; } else { @@ -34483,6 +31749,10 @@ } } + /** + * @param {string} message + * @param {number} index + */ function complain(message, index) { report({ message, @@ -34495,16 +31765,19 @@ }); }; + /** + * @param {import('postcss-selector-parser').Attribute} attributeNode + */ function fixBefore(attributeNode) { - const rawAttrBefore = - attributeNode.raws.spaces && - attributeNode.raws.spaces.attribute && - attributeNode.raws.spaces.attribute.before; + const spacesAttribute = attributeNode.raws.spaces && attributeNode.raws.spaces.attribute; + const rawAttrBefore = spacesAttribute && spacesAttribute.before; + + /** @type {{ attrBefore: string, setAttrBefore: (fixed: string) => void }} */ const { attrBefore, setAttrBefore } = rawAttrBefore ? { attrBefore: rawAttrBefore, setAttrBefore(fixed) { - attributeNode.raws.spaces.attribute.before = fixed; + spacesAttribute.before = fixed; } } : { @@ -34517,57 +31790,60 @@ } }; - if (expectation === 'always') { + if (primary === 'always') { setAttrBefore(attrBefore.replace(/^\s*/, ' ')); - } else if (expectation === 'never') { + } else if (primary === 'never') { setAttrBefore(attrBefore.replace(/^\s*/, '')); } } + /** + * @param {import('postcss-selector-parser').Attribute} attributeNode + */ function fixAfter(attributeNode) { - let key; + const key = attributeNode.operator ? + attributeNode.insensitive ? + 'insensitive' : + 'value' : + 'attribute'; - if (attributeNode.operator) { - key = attributeNode.insensitive ? 'insensitive' : 'value'; - } else { - key = 'attribute'; - } + const rawSpaces = attributeNode.raws.spaces && attributeNode.raws.spaces[key]; + const rawAfter = rawSpaces && rawSpaces.after; + + const spaces = attributeNode.spaces[key]; - const rawAfter = - attributeNode.raws.spaces && - attributeNode.raws.spaces[key] && - attributeNode.raws.spaces[key].after; + /** @type {{ after: string, setAfter: (fixed: string) => void }} */ const { after, setAfter } = rawAfter ? { after: rawAfter, setAfter(fixed) { - attributeNode.raws.spaces[key].after = fixed; + rawSpaces.after = fixed; } } : { - after: attributeNode.spaces[key] && attributeNode.spaces[key].after || '', + after: spaces && spaces.after || '', setAfter(fixed) { if (!attributeNode.spaces[key]) attributeNode.spaces[key] = {}; + // @ts-expect-error -- TS2532: Object is possibly 'undefined'. attributeNode.spaces[key].after = fixed; } }; - if (expectation === 'always') { + if (primary === 'always') { setAfter(after.replace(/\s*$/, ' ')); - } else if (expectation === 'never') { + } else if (primary === 'never') { setAfter(after.replace(/\s*$/, '')); } } - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxRule": 417, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "style-search": 121 }], 287: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isStandardSyntaxRule": 394, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "style-search": 92 }], 259: [function (require, module, exports) { 'use strict'; const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); @@ -34584,12 +31860,15 @@ rejected: name => `Unexpected name "${name}"` }); - function rule(listInput) { - const list = [listInput].flat(); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-attribute-name-disallowed-list' }; + + /** @type {import('stylelint').Rule>} */ + const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: list, + actual: primary, possible: [isString, isRegExp] }); @@ -34610,7 +31889,7 @@ selectorTree.walkAttributes(attributeNode => { const attributeName = attributeNode.qualifiedAttribute; - if (!matchesStringOrRegExp(attributeName, list)) { + if (!matchesStringOrRegExp(attributeName, primary)) { return; } @@ -34625,17 +31904,16 @@ }); }); }; - } + }; rule.primaryOptionArray = true; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxRule": 417, "../../utils/matchesStringOrRegExp": 426, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443 }], 288: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isStandardSyntaxRule": 394, "../../utils/matchesStringOrRegExp": 403, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 260: [function (require, module, exports) { 'use strict'; const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); @@ -34651,12 +31929,15 @@ rejected: operator => `Unexpected operator "${operator}"` }); - function rule(listInput) { - const list = [listInput].flat(); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-attribute-operator-allowed-list' }; + + /** @type {import('stylelint').Rule} */ + const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: list, + actual: primary, possible: [isString] }); @@ -34664,6 +31945,8 @@ return; } + const primaryValues = [primary].flat(); + root.walkRules(ruleNode => { if (!isStandardSyntaxRule(ruleNode)) { return; @@ -34677,7 +31960,7 @@ selectorTree.walkAttributes(attributeNode => { const operator = attributeNode.operator; - if (!operator || operator && list.includes(operator)) { + if (!operator || operator && primaryValues.includes(operator)) { return; } @@ -34692,17 +31975,16 @@ }); }); }; - } + }; rule.primaryOptionArray = true; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxRule": 417, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443 }], 289: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isStandardSyntaxRule": 394, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 261: [function (require, module, exports) { 'use strict'; const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); @@ -34718,12 +32000,15 @@ rejected: operator => `Unexpected operator "${operator}"` }); - function rule(listInput) { - const list = [listInput].flat(); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-attribute-operator-disallowed-list' }; + + /** @type {import('stylelint').Rule} */ + const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: list, + actual: primary, possible: [isString] }); @@ -34731,6 +32016,8 @@ return; } + const primaryValues = [primary].flat(); + root.walkRules(ruleNode => { if (!isStandardSyntaxRule(ruleNode)) { return; @@ -34744,7 +32031,7 @@ selectorTree.walkAttributes(attributeNode => { const operator = attributeNode.operator; - if (!operator || operator && !list.includes(operator)) { + if (!operator || operator && !primaryValues.includes(operator)) { return; } @@ -34759,17 +32046,16 @@ }); }); }; - } + }; rule.primaryOptionArray = true; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxRule": 417, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443 }], 290: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isStandardSyntaxRule": 394, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 262: [function (require, module, exports) { 'use strict'; const ruleMessages = require('../../utils/ruleMessages'); @@ -34784,11 +32070,16 @@ rejectedAfter: operator => `Unexpected whitespace after "${operator}"` }); - function rule(expectation, options, context) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-attribute-operator-space-after' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, _secondaryOptions, context) => { return (root, result) => { - const checker = whitespaceChecker('space', expectation, messages); + const checker = whitespaceChecker('space', primary, messages); const validOptions = validateOptions(result, ruleName, { - actual: expectation, + actual: primary, possible: ['always', 'never'] }); @@ -34804,12 +32095,15 @@ checkBeforeOperator: false, fix: context.fix ? attributeNode => { + /** @type {{ operatorAfter: string, setOperatorAfter: (fixed: string) => void }} */ const { operatorAfter, setOperatorAfter } = (() => { const rawOperator = attributeNode.raws.operator; if (rawOperator) { return { - operatorAfter: rawOperator.slice(attributeNode.operator.length), + operatorAfter: rawOperator.slice( + attributeNode.operator ? attributeNode.operator.length : 0), + setOperatorAfter(fixed) { delete attributeNode.raws.operator; @@ -34823,16 +32117,15 @@ } - const rawOperatorAfter = - attributeNode.raws.spaces && - attributeNode.raws.spaces.operator && - attributeNode.raws.spaces.operator.after; + const rawSpacesOperator = + attributeNode.raws.spaces && attributeNode.raws.spaces.operator; + const rawOperatorAfter = rawSpacesOperator && rawSpacesOperator.after; if (rawOperatorAfter) { return { operatorAfter: rawOperatorAfter, setOperatorAfter(fixed) { - attributeNode.raws.spaces.operator.after = fixed; + rawSpacesOperator.after = fixed; } }; } @@ -34848,30 +32141,31 @@ })(); - if (expectation === 'always') { + if (primary === 'always') { setOperatorAfter(operatorAfter.replace(/^\s*/, ' ')); return true; } - if (expectation === 'never') { + if (primary === 'never') { setOperatorAfter(operatorAfter.replace(/^\s*/, '')); return true; } + + return false; } : null }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../selectorAttributeOperatorSpaceChecker": 329 }], 291: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../selectorAttributeOperatorSpaceChecker": 302 }], 263: [function (require, module, exports) { 'use strict'; const ruleMessages = require('../../utils/ruleMessages'); @@ -34886,12 +32180,17 @@ rejectedBefore: operator => `Unexpected whitespace before "${operator}"` }); - function rule(expectation, options, context) { - const checker = whitespaceChecker('space', expectation, messages); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-attribute-operator-space-before' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, _secondaryOptions, context) => { + const checker = whitespaceChecker('space', primary, messages); return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: expectation, + actual: primary, possible: ['always', 'never'] }); @@ -34907,15 +32206,15 @@ checkBeforeOperator: true, fix: context.fix ? attributeNode => { - const rawAttrAfter = - attributeNode.raws.spaces && - attributeNode.raws.spaces.attribute && - attributeNode.raws.spaces.attribute.after; + const rawAttr = attributeNode.raws.spaces && attributeNode.raws.spaces.attribute; + const rawAttrAfter = rawAttr && rawAttr.after; + + /** @type {{ attrAfter: string, setAttrAfter: (fixed: string) => void }} */ const { attrAfter, setAttrAfter } = rawAttrAfter ? { attrAfter: rawAttrAfter, setAttrAfter(fixed) { - attributeNode.raws.spaces.attribute.after = fixed; + rawAttr.after = fixed; } } : { @@ -34928,30 +32227,31 @@ } }; - if (expectation === 'always') { + if (primary === 'always') { setAttrAfter(attrAfter.replace(/\s*$/, ' ')); return true; } - if (expectation === 'never') { + if (primary === 'never') { setAttrAfter(attrAfter.replace(/\s*$/, '')); return true; } + + return false; } : null }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../selectorAttributeOperatorSpaceChecker": 329 }], 292: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../selectorAttributeOperatorSpaceChecker": 302 }], 264: [function (require, module, exports) { 'use strict'; const getRuleSelector = require('../../utils/getRuleSelector'); @@ -34960,6 +32260,7 @@ const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); const validateOptions = require('../../utils/validateOptions'); + const { assertString } = require('../../utils/validateTypes'); const ruleName = 'selector-attribute-quotes'; @@ -34968,12 +32269,17 @@ rejected: value => `Unexpected quotes around "${value}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-attribute-quotes' }; + + const acceptedQuoteMark = '"'; - function rule(expectation, secondary, context) { + /** @type {import('stylelint').Rule} */ + const rule = (primary, _secondaryOptions, context) => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: expectation, + actual: primary, possible: ['always', 'never'] }); @@ -34998,11 +32304,12 @@ return; } - if (!attributeNode.quoted && expectation === 'always') { + if (!attributeNode.quoted && primary === 'always') { if (context.fix) { selectorFixed = true; attributeNode.quoteMark = acceptedQuoteMark; } else { + assertString(attributeNode.value); complain( messages.expected(attributeNode.value), attributeNode.sourceIndex + attributeNode.offsetOf('value')); @@ -35010,11 +32317,12 @@ } } - if (attributeNode.quoted && expectation === 'never') { + if (attributeNode.quoted && primary === 'never') { if (context.fix) { selectorFixed = true; attributeNode.quoteMark = null; } else { + assertString(attributeNode.value); complain( messages.rejected(attributeNode.value), attributeNode.sourceIndex + attributeNode.offsetOf('value')); @@ -35028,6 +32336,10 @@ } }); + /** + * @param {string} message + * @param {number} index + */ function complain(message, index) { report({ message, @@ -35039,15 +32351,14 @@ } }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/getRuleSelector": 372, "../../utils/isStandardSyntaxRule": 417, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442 }], 293: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/getRuleSelector": 348, "../../utils/isStandardSyntaxRule": 394, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 265: [function (require, module, exports) { 'use strict'; const isKeyframeSelector = require('../../utils/isKeyframeSelector'); @@ -35067,19 +32378,24 @@ `Expected class selector ".${selectorValue}" to match pattern "${pattern}"` }); - function rule(pattern, options) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-class-pattern' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, secondaryOptions) => { return (root, result) => { const validOptions = validateOptions( result, ruleName, { - actual: pattern, + actual: primary, possible: [isRegExp, isString] }, { - actual: options, + actual: secondaryOptions, possible: { - resolveNestedSelectors: isBoolean }, + resolveNestedSelectors: [isBoolean] }, optional: true }); @@ -35089,8 +32405,11 @@ return; } - const shouldResolveNestedSelectors = options && options.resolveNestedSelectors; - const normalizedPattern = isString(pattern) ? new RegExp(pattern) : pattern; + /** @type {boolean} */ + const shouldResolveNestedSelectors = + secondaryOptions && secondaryOptions.resolveNestedSelectors; + /** @type {RegExp} */ + const normalizedPattern = isString(primary) ? new RegExp(primary) : primary; root.walkRules(ruleNode => { const selector = ruleNode.selector; @@ -35118,6 +32437,10 @@ } }); + /** + * @param {import('postcss-selector-parser').Root} fullSelector + * @param {import('postcss').Rule} ruleNode + */ function checkSelector(fullSelector, ruleNode) { fullSelector.walkClasses(classNode => { const value = classNode.value; @@ -35130,29 +32453,38 @@ report({ result, ruleName, - message: messages.expected(value, pattern), + message: messages.expected(value, primary), node: ruleNode, index: sourceIndex }); }); } }; - } + }; - // An "interpolating ampersand" means an "&" used to interpolate - // within another simple selector, rather than an "&" that - // stands on its own as a simple selector + /** + * An "interpolating ampersand" means an "&" used to interpolate + * within another simple selector, rather than an "&" that + * stands on its own as a simple selector. + * + * @param {string} selector + * @returns {boolean} + */ function hasInterpolatingAmpersand(selector) { - for (let i = 0, l = selector.length; i < l; i++) { - if (selector[i] !== '&') { + for (const [i, char] of Array.from(selector).entries()) { + if (char !== '&') { continue; } - if (selector[i - 1] !== undefined && !isCombinator(selector[i - 1])) { + const prevChar = selector.charAt(i - 1); + + if (prevChar && !isCombinator(prevChar)) { return true; } - if (selector[i + 1] !== undefined && !isCombinator(selector[i + 1])) { + const nextChar = selector.charAt(i + 1); + + if (nextChar && !isCombinator(nextChar)) { return true; } } @@ -35160,17 +32492,20 @@ return false; } + /** + * @param {string} x + * @returns {boolean} + */ function isCombinator(x) { return /[\s+>~]/.test(x); } rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isKeyframeSelector": 398, "../../utils/isStandardSyntaxRule": 417, "../../utils/isStandardSyntaxSelector": 418, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "postcss-resolve-nested-selector": 50 }], 294: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isKeyframeSelector": 375, "../../utils/isStandardSyntaxRule": 394, "../../utils/isStandardSyntaxSelector": 395, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "postcss-resolve-nested-selector": 28 }], 266: [function (require, module, exports) { 'use strict'; const isStandardSyntaxCombinator = require('../../utils/isStandardSyntaxCombinator'); @@ -35187,10 +32522,15 @@ rejected: combinator => `Unexpected combinator "${combinator}"` }); - function rule(list) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-combinator-allowed-list' }; + + + /** @type {import('stylelint').Rule} */ + const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: list, + actual: primary, possible: [isString] }); @@ -35213,7 +32553,7 @@ const value = normalizeCombinator(combinatorNode.value); - if (list.includes(value)) { + if (primary.includes(value)) { return; } @@ -35228,8 +32568,12 @@ }); }); }; - } + }; + /** + * @param {string} value + * @returns {string} + */ function normalizeCombinator(value) { return value.replace(/\s+/g, ' '); } @@ -35238,11 +32582,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxCombinator": 410, "../../utils/isStandardSyntaxRule": 417, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443 }], 295: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isStandardSyntaxCombinator": 387, "../../utils/isStandardSyntaxRule": 394, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 267: [function (require, module, exports) { 'use strict'; const isStandardSyntaxCombinator = require('../../utils/isStandardSyntaxCombinator'); @@ -35259,10 +32602,15 @@ rejected: combinator => `Unexpected combinator "${combinator}"` }); - function rule(list) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-combinator-disallowed-list' }; + + + /** @type {import('stylelint').Rule} */ + const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: list, + actual: primary, possible: [isString] }); @@ -35285,7 +32633,7 @@ const value = normalizeCombinator(combinatorNode.value); - if (!list.includes(value)) { + if (!primary.includes(value)) { return; } @@ -35300,8 +32648,12 @@ }); }); }; - } + }; + /** + * @param {string} value + * @returns {string} + */ function normalizeCombinator(value) { return value.replace(/\s+/g, ' '); } @@ -35310,11 +32662,10 @@ rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxCombinator": 410, "../../utils/isStandardSyntaxRule": 417, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443 }], 296: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isStandardSyntaxCombinator": 387, "../../utils/isStandardSyntaxRule": 394, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 268: [function (require, module, exports) { 'use strict'; const ruleMessages = require('../../utils/ruleMessages'); @@ -35329,12 +32680,17 @@ rejectedAfter: combinator => `Unexpected whitespace after "${combinator}"` }); - function rule(expectation, options, context) { - const checker = whitespaceChecker('space', expectation, messages); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-combinator-space-after' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, _secondaryOptions, context) => { + const checker = whitespaceChecker('space', primary, messages); return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: expectation, + actual: primary, possible: ['always', 'never'] }); @@ -35350,30 +32706,31 @@ checkedRuleName: ruleName, fix: context.fix ? combinator => { - if (expectation === 'always') { + if (primary === 'always') { combinator.spaces.after = ' '; return true; } - if (expectation === 'never') { + if (primary === 'never') { combinator.spaces.after = ''; return true; } + + return false; } : null }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../selectorCombinatorSpaceChecker": 330 }], 297: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../selectorCombinatorSpaceChecker": 303 }], 269: [function (require, module, exports) { 'use strict'; const ruleMessages = require('../../utils/ruleMessages'); @@ -35388,12 +32745,17 @@ rejectedBefore: combinator => `Unexpected whitespace before "${combinator}"` }); - function rule(expectation, options, context) { - const checker = whitespaceChecker('space', expectation, messages); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-combinator-space-before' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, _secondaryOptions, context) => { + const checker = whitespaceChecker('space', primary, messages); return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: expectation, + actual: primary, possible: ['always', 'never'] }); @@ -35409,30 +32771,31 @@ checkedRuleName: ruleName, fix: context.fix ? combinator => { - if (expectation === 'always') { + if (primary === 'always') { combinator.spaces.before = ' '; return true; } - if (expectation === 'never') { + if (primary === 'never') { combinator.spaces.before = ''; return true; } + + return false; } : null }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../selectorCombinatorSpaceChecker": 330 }], 298: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../selectorCombinatorSpaceChecker": 303 }], 270: [function (require, module, exports) { 'use strict'; const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); @@ -35447,10 +32810,15 @@ rejected: nonSpaceCharacter => `Unexpected "${nonSpaceCharacter}"` }); - function rule(expectation, options, context) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-descendant-combinator-no-non-space' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, _secondaryOptions, context) => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: expectation }); + actual: primary }); if (!validOptions) { @@ -35485,6 +32853,9 @@ { if (context.fix && /^\s+$/.test(value)) { hasFixed = true; + + if (!combinatorNode.raws) combinatorNode.raws = {}; + combinatorNode.raws.value = ' '; combinatorNode.rawSpaceBefore = combinatorNode.rawSpaceBefore.replace(/^\s+/, ''); combinatorNode.rawSpaceAfter = combinatorNode.rawSpaceAfter.replace(/\s+$/, ''); @@ -35503,7 +32874,7 @@ }); }); - if (hasFixed) { + if (hasFixed && fixedSelector) { if (!ruleNode.raws.selector) { ruleNode.selector = fixedSelector; } else { @@ -35512,15 +32883,14 @@ } }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxRule": 417, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442 }], 299: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isStandardSyntaxRule": 394, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420 }], 271: [function (require, module, exports) { 'use strict'; const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); @@ -35536,12 +32906,15 @@ rejected: selector => `Unexpected selector "${selector}"` }); - function rule(listInput) { - const list = [listInput].flat(); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-disallowed-list' }; + + /** @type {import('stylelint').Rule>} */ + const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: list, + actual: primary, possible: [isString, isRegExp] }); @@ -35556,7 +32929,7 @@ const selector = ruleNode.selector; - if (!matchesStringOrRegExp(selector, list)) { + if (!matchesStringOrRegExp(selector, primary)) { return; } @@ -35568,17 +32941,16 @@ }); }; - } + }; rule.primaryOptionArray = true; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxRule": 417, "../../utils/matchesStringOrRegExp": 426, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443 }], 300: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isStandardSyntaxRule": 394, "../../utils/matchesStringOrRegExp": 403, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 272: [function (require, module, exports) { 'use strict'; const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); @@ -35595,10 +32967,15 @@ `Expected ID selector "#${selectorValue}" to match pattern "${pattern}"` }); - function rule(pattern) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-id-pattern' }; + + + /** @type {import('stylelint').Rule} */ + const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: pattern, + actual: primary, possible: [isRegExp, isString] }); @@ -35606,7 +32983,8 @@ return; } - const normalizedPattern = isString(pattern) ? new RegExp(pattern) : pattern; + /** @type {RegExp} */ + const normalizedPattern = isString(primary) ? new RegExp(primary) : primary; root.walkRules(ruleNode => { if (!isStandardSyntaxRule(ruleNode)) { @@ -35631,7 +33009,7 @@ report({ result, ruleName, - message: messages.expected(value, pattern), + message: messages.expected(value, primary), node: ruleNode, index: sourceIndex }); @@ -35639,15 +33017,14 @@ }); }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxRule": 417, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443 }], 301: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isStandardSyntaxRule": 394, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 273: [function (require, module, exports) { 'use strict'; const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); @@ -35665,12 +33042,17 @@ rejectedAfterMultiLine: () => 'Unexpected whitespace after "," in a multi-line list' }); - function rule(expectation, options, context) { - const checker = whitespaceChecker('newline', expectation, messages); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-list-comma-newline-after' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, _secondaryOptions, context) => { + const checker = whitespaceChecker('newline', primary, messages); return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: expectation, + actual: primary, possible: ['always', 'always-multi-line', 'never-multi-line'] }); @@ -35688,6 +33070,7 @@ // b {} const selector = ruleNode.raws.selector ? ruleNode.raws.selector.raw : ruleNode.selector; + /** @type {number[]} */ const fixIndices = []; styleSearch( @@ -35697,7 +33080,7 @@ functionArguments: 'skip' }, match => { - const nextChars = selector.substr(match.endIndex, selector.length - match.endIndex); + const nextChars = selector.slice(match.endIndex); // If there's a // comment, that means there has to be a newline // ending the comment so we're fine @@ -35739,9 +33122,9 @@ const beforeSelector = fixedSelector.slice(0, index); let afterSelector = fixedSelector.slice(index); - if (expectation.startsWith('always')) { + if (primary.startsWith('always')) { afterSelector = context.newline + afterSelector; - } else if (expectation.startsWith('never-multi-line')) { + } else if (primary.startsWith('never-multi-line')) { afterSelector = afterSelector.replace(/^\s*/, ''); } @@ -35756,15 +33139,14 @@ } }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxRule": 417, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "style-search": 121 }], 302: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isStandardSyntaxRule": 394, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "style-search": 92 }], 274: [function (require, module, exports) { 'use strict'; const ruleMessages = require('../../utils/ruleMessages'); @@ -35780,12 +33162,17 @@ rejectedBeforeMultiLine: () => 'Unexpected whitespace before "," in a multi-line list' }); - function rule(expectation, options, context) { - const checker = whitespaceChecker('newline', expectation, messages); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-list-comma-newline-before' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, _secondaryOptions, context) => { + const checker = whitespaceChecker('newline', primary, messages); return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: expectation, + actual: primary, possible: ['always', 'always-multi-line', 'never-multi-line'] }); @@ -35793,6 +33180,7 @@ return; } + /** @type {Map | undefined} */ let fixData; selectorListCommaWhitespaceChecker({ @@ -35821,7 +33209,7 @@ let beforeSelector = selector.slice(0, index); const afterSelector = selector.slice(index); - if (expectation.startsWith('always')) { + if (primary.startsWith('always')) { const spaceIndex = beforeSelector.search(/\s+$/); if (spaceIndex >= 0) { @@ -35832,7 +33220,7 @@ } else { beforeSelector += context.newline; } - } else if (expectation === 'never-multi-line') { + } else if (primary === 'never-multi-line') { beforeSelector = beforeSelector.replace(/\s*$/, ''); } @@ -35847,15 +33235,14 @@ } } }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../selectorListCommaWhitespaceChecker": 331 }], 303: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../selectorListCommaWhitespaceChecker": 304 }], 275: [function (require, module, exports) { 'use strict'; const ruleMessages = require('../../utils/ruleMessages'); @@ -35872,12 +33259,17 @@ rejectedAfterSingleLine: () => 'Unexpected whitespace after "," in a single-line list' }); - function rule(expectation, options, context) { - const checker = whitespaceChecker('space', expectation, messages); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-list-comma-space-after' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, _secondaryOptions, context) => { + const checker = whitespaceChecker('space', primary, messages); return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: expectation, + actual: primary, possible: ['always', 'never', 'always-single-line', 'never-single-line'] }); @@ -35885,6 +33277,7 @@ return; } + /** @type {Map | undefined} */ let fixData; selectorListCommaWhitespaceChecker({ @@ -35913,9 +33306,9 @@ const beforeSelector = selector.slice(0, index + 1); let afterSelector = selector.slice(index + 1); - if (expectation.startsWith('always')) { + if (primary.startsWith('always')) { afterSelector = afterSelector.replace(/^\s*/, ' '); - } else if (expectation.startsWith('never')) { + } else if (primary.startsWith('never')) { afterSelector = afterSelector.replace(/^\s*/, ''); } @@ -35930,15 +33323,14 @@ } } }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../selectorListCommaWhitespaceChecker": 331 }], 304: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../selectorListCommaWhitespaceChecker": 304 }], 276: [function (require, module, exports) { 'use strict'; const ruleMessages = require('../../utils/ruleMessages'); @@ -35955,12 +33347,17 @@ rejectedBeforeSingleLine: () => 'Unexpected whitespace before "," in a single-line list' }); - function rule(expectation, options, context) { - const checker = whitespaceChecker('space', expectation, messages); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-list-comma-space-before' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, _secondaryOptions, context) => { + const checker = whitespaceChecker('space', primary, messages); return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: expectation, + actual: primary, possible: ['always', 'never', 'always-single-line', 'never-single-line'] }); @@ -35968,6 +33365,7 @@ return; } + /** @type {Map | undefined} */ let fixData; selectorListCommaWhitespaceChecker({ @@ -35996,9 +33394,9 @@ let beforeSelector = selector.slice(0, index); const afterSelector = selector.slice(index); - if (expectation.includes('always')) { + if (primary.includes('always')) { beforeSelector = beforeSelector.replace(/\s*$/, ' '); - } else if (expectation.includes('never')) { + } else if (primary.includes('never')) { beforeSelector = beforeSelector.replace(/\s*$/, ''); } @@ -36013,15 +33411,14 @@ } } }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../selectorListCommaWhitespaceChecker": 331 }], 305: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../selectorListCommaWhitespaceChecker": 304 }], 277: [function (require, module, exports) { 'use strict'; const isContextFunctionalPseudoClass = require('../../utils/isContextFunctionalPseudoClass'); @@ -36044,17 +33441,22 @@ }` }); - function rule(max, options) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-max-attribute' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, secondaryOptions) => { return (root, result) => { const validOptions = validateOptions( result, ruleName, { - actual: max, + actual: primary, possible: isNonNegativeInteger }, { - actual: options, + actual: secondaryOptions, possible: { ignoreAttributes: [isString, isRegExp] }, @@ -36066,6 +33468,10 @@ return; } + /** + * @param {import('postcss-selector-parser').Container} selectorNode + * @param {import('postcss').Rule} ruleNode + */ function checkSelector(selectorNode, ruleNode) { const count = selectorNode.reduce((total, childNode) => { // Only traverse inside actual selectors and context functional pseudo-classes @@ -36078,7 +33484,7 @@ return total; } - if (optionsMatches(options, 'ignoreAttributes', childNode.attribute)) { + if (optionsMatches(secondaryOptions, 'ignoreAttributes', childNode.attribute)) { // it's an attribute that is supposed to be ignored return total; } @@ -36088,13 +33494,15 @@ return total; }, 0); - if (selectorNode.type !== 'root' && selectorNode.type !== 'pseudo' && count > max) { + if (selectorNode.type !== 'root' && selectorNode.type !== 'pseudo' && count > primary) { + const selector = selectorNode.toString(); + report({ ruleName, result, node: ruleNode, - message: messages.expected(selectorNode, max), - word: selectorNode }); + message: messages.expected(selector, primary), + word: selector }); } } @@ -36113,15 +33521,14 @@ } }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isContextFunctionalPseudoClass": 388, "../../utils/isNonNegativeInteger": 400, "../../utils/isStandardSyntaxRule": 417, "../../utils/optionsMatches": 429, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "postcss-resolve-nested-selector": 50 }], 306: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isContextFunctionalPseudoClass": 364, "../../utils/isNonNegativeInteger": 377, "../../utils/isStandardSyntaxRule": 394, "../../utils/optionsMatches": 406, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "postcss-resolve-nested-selector": 28 }], 278: [function (require, module, exports) { 'use strict'; const isContextFunctionalPseudoClass = require('../../utils/isContextFunctionalPseudoClass'); @@ -36140,10 +33547,15 @@ `Expected "${selector}" to have no more than ${max} ${max === 1 ? 'class' : 'classes'}` }); - function rule(max) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-max-class' }; + + + /** @type {import('stylelint').Rule} */ + const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: max, + actual: primary, possible: isNonNegativeInteger }); @@ -36151,6 +33563,10 @@ return; } + /** + * @param {import('postcss-selector-parser').Container} selectorNode + * @param {import('postcss').Rule} ruleNode + */ function checkSelector(selectorNode, ruleNode) { const count = selectorNode.reduce((total, childNode) => { // Only traverse inside actual selectors and context functional pseudo-classes @@ -36163,13 +33579,15 @@ return total; }, 0); - if (selectorNode.type !== 'root' && selectorNode.type !== 'pseudo' && count > max) { + if (selectorNode.type !== 'root' && selectorNode.type !== 'pseudo' && count > primary) { + const selector = selectorNode.toString(); + report({ ruleName, result, node: ruleNode, - message: messages.expected(selectorNode, max), - word: selectorNode }); + message: messages.expected(selector, primary), + word: selector }); } } @@ -36188,15 +33606,14 @@ } }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isContextFunctionalPseudoClass": 388, "../../utils/isNonNegativeInteger": 400, "../../utils/isStandardSyntaxRule": 417, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "postcss-resolve-nested-selector": 50 }], 307: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isContextFunctionalPseudoClass": 364, "../../utils/isNonNegativeInteger": 377, "../../utils/isStandardSyntaxRule": 394, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "postcss-resolve-nested-selector": 28 }], 279: [function (require, module, exports) { 'use strict'; const isNonNegativeInteger = require('../../utils/isNonNegativeInteger'); @@ -36216,10 +33633,15 @@ }` }); - function rule(max) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-max-combinators' }; + + + /** @type {import('stylelint').Rule} */ + const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: max, + actual: primary, possible: isNonNegativeInteger }); @@ -36227,6 +33649,10 @@ return; } + /** + * @param {import('postcss-selector-parser').Container} selectorNode + * @param {import('postcss').Rule} ruleNode + */ function checkSelector(selectorNode, ruleNode) { const count = selectorNode.reduce((total, childNode) => { // Only traverse inside actual selectors @@ -36239,13 +33665,15 @@ return total; }, 0); - if (selectorNode.type !== 'root' && selectorNode.type !== 'pseudo' && count > max) { + if (selectorNode.type !== 'root' && selectorNode.type !== 'pseudo' && count > primary) { + const selector = selectorNode.toString(); + report({ ruleName, result, node: ruleNode, - message: messages.expected(selectorNode, max), - word: selectorNode }); + message: messages.expected(selector, primary), + word: selector }); } } @@ -36264,15 +33692,14 @@ } }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isNonNegativeInteger": 400, "../../utils/isStandardSyntaxRule": 417, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "postcss-resolve-nested-selector": 50 }], 308: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isNonNegativeInteger": 377, "../../utils/isStandardSyntaxRule": 394, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "postcss-resolve-nested-selector": 28 }], 280: [function (require, module, exports) { 'use strict'; const isContextFunctionalPseudoClass = require('../../utils/isContextFunctionalPseudoClass'); @@ -36293,10 +33720,15 @@ }` }); - function rule(max) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-max-compound-selectors' }; + + + /** @type {import('stylelint').Rule} */ + const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: max, + actual: primary, possible: isNonNegativeInteger }); @@ -36304,7 +33736,12 @@ return; } - // Finds actual selectors in selectorNode object and checks them + /** + * Finds actual selectors in selectorNode object and checks them. + * + * @param {import('postcss-selector-parser').Container} selectorNode + * @param {import('postcss').Rule} ruleNode + */ function checkSelector(selectorNode, ruleNode) { let compoundCount = 1; @@ -36320,13 +33757,19 @@ } }); - if (selectorNode.type !== 'root' && selectorNode.type !== 'pseudo' && compoundCount > max) { + if ( + selectorNode.type !== 'root' && + selectorNode.type !== 'pseudo' && + compoundCount > primary) + { + const selector = selectorNode.toString(); + report({ ruleName, result, node: ruleNode, - message: messages.expected(selectorNode, max), - word: selectorNode }); + message: messages.expected(selector, primary), + word: selector }); } } @@ -36345,15 +33788,14 @@ } }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isContextFunctionalPseudoClass": 388, "../../utils/isNonNegativeInteger": 400, "../../utils/isStandardSyntaxRule": 417, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "postcss-resolve-nested-selector": 50 }], 309: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isContextFunctionalPseudoClass": 364, "../../utils/isNonNegativeInteger": 377, "../../utils/isStandardSyntaxRule": 394, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "postcss-resolve-nested-selector": 28 }], 281: [function (require, module, exports) { 'use strict'; const report = require('../../utils/report'); @@ -36367,12 +33809,17 @@ expected: max => `Expected no more than ${max} empty ${max === 1 ? 'line' : 'lines'}` }); - function rule(max, options, context) { - const maxAdjacentNewlines = max + 1; + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-max-empty-lines' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, _secondaryOptions, context) => { + const maxAdjacentNewlines = primary + 1; return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: max, + actual: primary, possible: isNumber }); @@ -36403,7 +33850,7 @@ violatedCRLFNewLinesRegex.test(selector)) { report({ - message: messages.expected(max), + message: messages.expected(primary), node: ruleNode, index: 0, result, @@ -36412,15 +33859,14 @@ } }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443 }], 310: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 282: [function (require, module, exports) { 'use strict'; const isContextFunctionalPseudoClass = require('../../utils/isContextFunctionalPseudoClass'); @@ -36441,17 +33887,22 @@ `Expected "${selector}" to have no more than ${max} ID ${max === 1 ? 'selector' : 'selectors'}` }); - function rule(max, options) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-max-id' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, secondaryOptions) => { return (root, result) => { const validOptions = validateOptions( result, ruleName, { - actual: max, + actual: primary, possible: isNonNegativeInteger }, { - actual: options, + actual: secondaryOptions, possible: { ignoreContextFunctionalPseudoClasses: [isString, isRegExp] }, @@ -36463,6 +33914,10 @@ return; } + /** + * @param {import('postcss-selector-parser').Container} selectorNode + * @param {import('postcss').Rule} ruleNode + */ function checkSelector(selectorNode, ruleNode) { const count = selectorNode.reduce((total, childNode) => { // Only traverse inside actual selectors and context functional pseudo-classes that are not part of ignored functional pseudo-classes @@ -36479,21 +33934,27 @@ return total; }, 0); - if (selectorNode.type !== 'root' && selectorNode.type !== 'pseudo' && count > max) { + if (selectorNode.type !== 'root' && selectorNode.type !== 'pseudo' && count > primary) { + const selector = selectorNode.toString(); + report({ ruleName, result, node: ruleNode, - message: messages.expected(selectorNode, max), - word: selectorNode }); + message: messages.expected(selector, primary), + word: selector }); } } + /** + * @param {import('postcss-selector-parser').Node} node + * @returns {boolean} + */ function isIgnoredContextFunctionalPseudoClass(node) { return ( node.type === 'pseudo' && - optionsMatches(options, 'ignoreContextFunctionalPseudoClasses', node.value)); + optionsMatches(secondaryOptions, 'ignoreContextFunctionalPseudoClasses', node.value)); } @@ -36511,15 +33972,14 @@ } }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isContextFunctionalPseudoClass": 388, "../../utils/isNonNegativeInteger": 400, "../../utils/isStandardSyntaxRule": 417, "../../utils/optionsMatches": 429, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "postcss-resolve-nested-selector": 50 }], 311: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isContextFunctionalPseudoClass": 364, "../../utils/isNonNegativeInteger": 377, "../../utils/isStandardSyntaxRule": 394, "../../utils/optionsMatches": 406, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "postcss-resolve-nested-selector": 28 }], 283: [function (require, module, exports) { 'use strict'; const isContextFunctionalPseudoClass = require('../../utils/isContextFunctionalPseudoClass'); @@ -36539,10 +33999,15 @@ `Expected "${selector}" to have no more than ${max} pseudo-${max === 1 ? 'class' : 'classes'}` }); - function rule(max) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-max-pseudo-class' }; + + + /** @type {import('stylelint').Rule} */ + const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: max, + actual: primary, possible: isNonNegativeInteger }); @@ -36550,6 +34015,10 @@ return; } + /** + * @param {import('postcss-selector-parser').Container} selectorNode + * @param {import('postcss').Rule} ruleNode + */ function checkSelector(selectorNode, ruleNode) { const count = selectorNode.reduce((total, childNode) => { // Only traverse inside actual selectors and context functional pseudo-classes @@ -36573,13 +34042,15 @@ return total; }, 0); - if (count > max) { + if (count > primary) { + const selector = selectorNode.toString(); + report({ ruleName, result, node: ruleNode, - message: messages.expected(selectorNode, max), - word: selectorNode }); + message: messages.expected(selector, primary), + word: selector }); } } @@ -36591,35 +34062,35 @@ for (const selector of ruleNode.selectors) { for (const resolvedSelector of resolvedNestedSelector(selector, ruleNode)) { - parseSelector(resolvedSelector, result, rule, selectorTree => { + parseSelector(resolvedSelector, result, ruleNode, selectorTree => { checkSelector(selectorTree, ruleNode); }); } } }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../reference/keywordSets": 142, "../../utils/isContextFunctionalPseudoClass": 388, "../../utils/isNonNegativeInteger": 400, "../../utils/isStandardSyntaxRule": 417, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "postcss-resolve-nested-selector": 50 }], 312: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../reference/keywordSets": 110, "../../utils/isContextFunctionalPseudoClass": 364, "../../utils/isNonNegativeInteger": 377, "../../utils/isStandardSyntaxRule": 394, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "postcss-resolve-nested-selector": 28 }], 284: [function (require, module, exports) { 'use strict'; + const resolvedNestedSelector = require('postcss-resolve-nested-selector'); + const { selectorSpecificity, compare } = require('@csstools/selector-specificity'); + const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); const isStandardSyntaxSelector = require('../../utils/isStandardSyntaxSelector'); const keywordSets = require('../../reference/keywordSets'); const optionsMatches = require('../../utils/optionsMatches'); const parseSelector = require('../../utils/parseSelector'); const report = require('../../utils/report'); - const resolvedNestedSelector = require('postcss-resolve-nested-selector'); const ruleMessages = require('../../utils/ruleMessages'); - const specificity = require('specificity'); const validateOptions = require('../../utils/validateOptions'); - const { isRegExp, isString } = require('../../utils/validateTypes'); + const { isRegExp, isString, assertNumber } = require('../../utils/validateTypes'); const ruleName = 'selector-max-specificity'; @@ -36627,36 +34098,52 @@ expected: (selector, max) => `Expected "${selector}" to have a specificity no more than "${max}"` }); - // Return an array representation of zero specificity. We need a new array each time so that it can mutated - const zeroSpecificity = () => [0, 0, 0, 0]; + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-max-specificity' }; + + + /** @typedef {import('@csstools/selector-specificity').Specificity} Specificity */ + + /** + * Return a zero specificity. We need a new instance each time so that it can mutated. + * + * @returns {Specificity} + */ + const zeroSpecificity = () => ({ a: 0, b: 0, c: 0 }); - // Calculate the sum of given array of specificity arrays + /** + * Calculate the sum of given specificiies. + * + * @param {Specificity[]} specificities + * @returns {Specificity} + */ const specificitySum = specificities => { const sum = zeroSpecificity(); - for (const specificityArray of specificities) { - for (const [i, value] of specificityArray.entries()) { - sum[i] += value; - } + for (const { a, b, c } of specificities) { + sum.a += a; + sum.b += b; + sum.c += c; } return sum; }; - function rule(max, options) { + /** @type {import('stylelint').Rule} */ + const rule = (primary, secondaryOptions) => { return (root, result) => { const validOptions = validateOptions( result, ruleName, { - actual: max, + actual: primary, possible: [ // Check that the max specificity is in the form "a,b,c" - spec => /^\d+,\d+,\d+$/.test(spec)] }, + spec => isString(spec) && /^\d+,\d+,\d+$/.test(spec)] }, { - actual: options, + actual: secondaryOptions, possible: { ignoreSelectors: [isString, isRegExp] }, @@ -36668,59 +34155,91 @@ return; } - // Calculate the specificity of a simple selector (type, attribute, class, ID, or pseudos's own value) - const simpleSpecificity = selector => { - if (optionsMatches(options, 'ignoreSelectors', selector)) { + /** + * Calculate the specificity of a simple selector (type, attribute, class, ID, or pseudos's own value). + * + * @param {import('postcss-selector-parser').Node} node + * @returns {Specificity} + */ + const simpleSpecificity = node => { + if (optionsMatches(secondaryOptions, 'ignoreSelectors', node.toString())) { return zeroSpecificity(); } - return specificity.calculate(selector)[0].specificityArray; + return selectorSpecificity(node); }; - // Calculate the the specificity of the most specific direct child + /** + * Calculate the the specificity of the most specific direct child. + * + * @param {import('postcss-selector-parser').Container} node + * @returns {Specificity} + */ const maxChildSpecificity = (node) => node.reduce((maxSpec, child) => { const childSpecificity = nodeSpecificity(child); // eslint-disable-line no-use-before-define - return specificity.compare(childSpecificity, maxSpec) === 1 ? childSpecificity : maxSpec; + return compare(childSpecificity, maxSpec) > 0 ? childSpecificity : maxSpec; }, zeroSpecificity()); - // Calculate the specificity of a pseudo selector including own value and children + /** + * Calculate the specificity of a pseudo selector including own value and children. + * + * @param {import('postcss-selector-parser').Pseudo} node + * @returns {Specificity} + */ const pseudoSpecificity = node => { // `node.toString()` includes children which should be processed separately, // so use `node.value` instead - const ownValue = node.value; - const ownSpecificity = - ownValue === ':not' || ownValue === ':matches' ? - // :not and :matches don't add specificity themselves, but their children do - zeroSpecificity() : - simpleSpecificity(ownValue); + const ownValue = node.value.toLowerCase(); + + if (ownValue === ':where') { + return zeroSpecificity(); + } + + let ownSpecificity; + + if (optionsMatches(secondaryOptions, 'ignoreSelectors', ownValue)) { + ownSpecificity = zeroSpecificity(); + } else if (keywordSets.aNPlusBOfSNotationPseudoClasses.has(ownValue.replace(/^:/, ''))) { + // TODO: We need to support `` in `ignoreSelectors`. E.g. `:nth-child(even of .foo)`. + return selectorSpecificity(node); + } else { + ownSpecificity = selectorSpecificity(node.clone({ nodes: [] })); + } return specificitySum([ownSpecificity, maxChildSpecificity(node)]); }; + /** + * @param {import('postcss-selector-parser').Node} node + * @returns {boolean} + */ const shouldSkipPseudoClassArgument = node => { // postcss-selector-parser includes the arguments to nth-child() functions // as "tags", so we need to ignore them ourselves. // The fake-tag's "parent" is actually a selector node, whose parent // should be the :nth-child pseudo node. - const parentNode = node.parent.parent; + const parentNode = node.parent && node.parent.parent; - if (parentNode && parentNode.value) { - const parentNodeValue = parentNode.value; - const normalisedParentNode = parentNodeValue.toLowerCase().replace(/:+/, ''); + if (parentNode && parentNode.type === 'pseudo' && parentNode.value) { + const pseudoClass = parentNode.value.toLowerCase().replace(/^:/, ''); return ( - parentNode.type === 'pseudo' && ( - keywordSets.aNPlusBNotationPseudoClasses.has(normalisedParentNode) || - keywordSets.linguisticPseudoClasses.has(normalisedParentNode))); + keywordSets.aNPlusBNotationPseudoClasses.has(pseudoClass) || + keywordSets.linguisticPseudoClasses.has(pseudoClass)); } return false; }; - // Calculate the specificity of a node parsed by `postcss-selector-parser` + /** + * Calculate the specificity of a node parsed by `postcss-selector-parser`. + * + * @param {import('postcss-selector-parser').Node} node + * @returns {Specificity} + */ const nodeSpecificity = node => { if (shouldSkipPseudoClassArgument(node)) { return zeroSpecificity(); @@ -36731,7 +34250,7 @@ case 'class': case 'id': case 'tag': - return simpleSpecificity(node.toString()); + return simpleSpecificity(node); case 'pseudo': return pseudoSpecificity(node); case 'selector': @@ -36742,7 +34261,13 @@ }; - const maxSpecificityArray = `0,${max}`.split(',').map(s => Number.parseFloat(s)); + const [a, b, c] = primary.split(',').map(s => Number.parseFloat(s)); + + assertNumber(a); + assertNumber(b); + assertNumber(c); + + const maxSpecificity = { a, b, c }; root.walkRules(ruleNode => { if (!isStandardSyntaxRule(ruleNode)) { @@ -36752,45 +34277,35 @@ // Using `.selectors` gets us each selector in the eventuality we have a comma separated set for (const selector of ruleNode.selectors) { for (const resolvedSelector of resolvedNestedSelector(selector, ruleNode)) { - try { - // Skip non-standard syntax selectors - if (!isStandardSyntaxSelector(resolvedSelector)) { - continue; - } - - parseSelector(resolvedSelector, result, ruleNode, selectorTree => { - // Check if the selector specificity exceeds the allowed maximum - if ( - specificity.compare(maxChildSpecificity(selectorTree), maxSpecificityArray) === 1) - { - report({ - ruleName, - result, - node: ruleNode, - message: messages.expected(resolvedSelector, max), - word: selector }); + // Skip non-standard syntax selectors + if (!isStandardSyntaxSelector(resolvedSelector)) { + continue; + } - } - }); - } catch (_unused) { - result.warn('Cannot parse selector', { - node: ruleNode, - stylelintType: 'parseError' }); + parseSelector(resolvedSelector, result, ruleNode, selectorTree => { + // Check if the selector specificity exceeds the allowed maximum + if (compare(maxChildSpecificity(selectorTree), maxSpecificity) > 0) { + report({ + ruleName, + result, + node: ruleNode, + message: messages.expected(resolvedSelector, primary), + word: selector }); - } + } + }); } } }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../reference/keywordSets": 142, "../../utils/isStandardSyntaxRule": 417, "../../utils/isStandardSyntaxSelector": 418, "../../utils/optionsMatches": 429, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "postcss-resolve-nested-selector": 50, "specificity": 120 }], 313: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../reference/keywordSets": 110, "../../utils/isStandardSyntaxRule": 394, "../../utils/isStandardSyntaxSelector": 395, "../../utils/optionsMatches": 406, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "@csstools/selector-specificity": 2, "postcss-resolve-nested-selector": 28 }], 285: [function (require, module, exports) { 'use strict'; const isContextFunctionalPseudoClass = require('../../utils/isContextFunctionalPseudoClass'); @@ -36817,17 +34332,22 @@ }` }); - function rule(max, options) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-max-type' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, secondaryOptions) => { return (root, result) => { const validOptions = validateOptions( result, ruleName, { - actual: max, + actual: primary, possible: isNonNegativeInteger }, { - actual: options, + actual: secondaryOptions, possible: { ignore: ['descendant', 'child', 'compounded', 'next-sibling'], ignoreTypes: [isString, isRegExp] }, @@ -36840,11 +34360,15 @@ return; } - const ignoreDescendant = optionsMatches(options, 'ignore', 'descendant'); - const ignoreChild = optionsMatches(options, 'ignore', 'child'); - const ignoreCompounded = optionsMatches(options, 'ignore', 'compounded'); - const ignoreNextSibling = optionsMatches(options, 'ignore', 'next-sibling'); + const ignoreDescendant = optionsMatches(secondaryOptions, 'ignore', 'descendant'); + const ignoreChild = optionsMatches(secondaryOptions, 'ignore', 'child'); + const ignoreCompounded = optionsMatches(secondaryOptions, 'ignore', 'compounded'); + const ignoreNextSibling = optionsMatches(secondaryOptions, 'ignore', 'next-sibling'); + /** + * @param {import('postcss-selector-parser').Container} selectorNode + * @param {import('postcss').Rule} ruleNode + */ function checkSelector(selectorNode, ruleNode) { const count = selectorNode.reduce((total, childNode) => { // Only traverse inside actual selectors and context functional pseudo-classes @@ -36852,7 +34376,7 @@ checkSelector(childNode, ruleNode); } - if (optionsMatches(options, 'ignoreTypes', childNode.value)) { + if (optionsMatches(secondaryOptions, 'ignoreTypes', childNode.value)) { return total; } @@ -36876,16 +34400,18 @@ return total; } - return total + (childNode.type === 'tag'); + return childNode.type === 'tag' ? total + 1 : total; }, 0); - if (selectorNode.type !== 'root' && selectorNode.type !== 'pseudo' && count > max) { + if (selectorNode.type !== 'root' && selectorNode.type !== 'pseudo' && count > primary) { + const selector = selectorNode.toString(); + report({ ruleName, result, node: ruleNode, - message: messages.expected(selectorNode, max), - word: selectorNode }); + message: messages.expected(selector, primary), + word: selector }); } } @@ -36914,20 +34440,38 @@ } }); }; - } + }; + /** @typedef {import('postcss-selector-parser').Node} SelectorNode */ + + /** + * @param {SelectorNode} node + * @returns {boolean} + */ function hasDescendantCombinatorBefore(node) { + if (!node.parent) return false; + const nodeIndex = node.parent.nodes.indexOf(node); return node.parent.nodes.slice(0, nodeIndex).some(n => isDescendantCombinator(n)); } + /** + * @param {SelectorNode} node + * @returns {boolean} + */ function hasChildCombinatorBefore(node) { + if (!node.parent) return false; + const nodeIndex = node.parent.nodes.indexOf(node); return node.parent.nodes.slice(0, nodeIndex).some(n => isChildCombinator(n)); } + /** + * @param {SelectorNode} node + * @returns {boolean} + */ function hasCompoundSelector(node) { if (node.prev() && !isCombinator(node.prev())) { return true; @@ -36936,39 +34480,58 @@ return node.next() && !isCombinator(node.next()); } + /** + * @param {SelectorNode} node + * @returns {boolean} + */ function hasNextSiblingCombinator(node) { return node.prev() && isNextSiblingCombinator(node.prev()); } + /** + * @param {SelectorNode} node + * @returns {boolean} + */ function isCombinator(node) { if (!node) return false; return node.type === 'combinator'; } + /** + * @param {SelectorNode} node + * @returns {boolean} + */ function isDescendantCombinator(node) { if (!node) return false; - return isCombinator(node) && isOnlyWhitespace(node.value); + return isCombinator(node) && isString(node.value) && isOnlyWhitespace(node.value); } + /** + * @param {SelectorNode} node + * @returns {boolean} + */ function isChildCombinator(node) { if (!node) return false; return isCombinator(node) && node.value === '>'; } + /** + * @param {SelectorNode} node + * @returns {boolean} + */ function isNextSiblingCombinator(node) { return isCombinator(node) && node.value === '+'; } rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isContextFunctionalPseudoClass": 388, "../../utils/isKeyframeSelector": 398, "../../utils/isNonNegativeInteger": 400, "../../utils/isOnlyWhitespace": 402, "../../utils/isStandardSyntaxRule": 417, "../../utils/isStandardSyntaxSelector": 418, "../../utils/isStandardSyntaxTypeSelector": 419, "../../utils/optionsMatches": 429, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "postcss-resolve-nested-selector": 50 }], 314: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isContextFunctionalPseudoClass": 364, "../../utils/isKeyframeSelector": 375, "../../utils/isNonNegativeInteger": 377, "../../utils/isOnlyWhitespace": 379, "../../utils/isStandardSyntaxRule": 394, "../../utils/isStandardSyntaxSelector": 395, "../../utils/isStandardSyntaxTypeSelector": 396, "../../utils/optionsMatches": 406, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "postcss-resolve-nested-selector": 28 }], 286: [function (require, module, exports) { 'use strict'; const isNonNegativeInteger = require('../../utils/isNonNegativeInteger'); @@ -36989,10 +34552,15 @@ }` }); - function rule(max) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-max-universal' }; + + + /** @type {import('stylelint').Rule} */ + const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: max, + actual: primary, possible: isNonNegativeInteger }); @@ -37000,6 +34568,10 @@ return; } + /** + * @param {import('postcss-selector-parser').Container} selectorNode + * @param {import('postcss').Rule} ruleNode + */ function checkSelector(selectorNode, ruleNode) { const count = selectorNode.reduce((total, childNode) => { // Only traverse inside actual selectors @@ -37013,13 +34585,15 @@ return total; }, 0); - if (selectorNode.type !== 'root' && selectorNode.type !== 'pseudo' && count > max) { + if (selectorNode.type !== 'root' && selectorNode.type !== 'pseudo' && count > primary) { + const selector = selectorNode.toString(); + report({ ruleName, result, node: ruleNode, - message: messages.expected(selectorNode, max), - word: selectorNode }); + message: messages.expected(selector, primary), + word: selector }); } } @@ -37029,6 +34603,7 @@ return; } + /** @type {string[]} */ const selectors = []; selectorParser(). @@ -37048,15 +34623,14 @@ } }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isNonNegativeInteger": 400, "../../utils/isStandardSyntaxRule": 417, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "postcss-resolve-nested-selector": 50, "postcss-selector-parser": 53 }], 315: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isNonNegativeInteger": 377, "../../utils/isStandardSyntaxRule": 394, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "postcss-resolve-nested-selector": 28, "postcss-selector-parser": 29 }], 287: [function (require, module, exports) { 'use strict'; const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); @@ -37072,10 +34646,15 @@ `Expected nested selector "${selector}" to match pattern "${pattern}"` }); - function rule(pattern) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-nested-pattern' }; + + + /** @type {import('stylelint').Rule} */ + const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: pattern, + actual: primary, possible: [isRegExp, isString] }); @@ -37083,10 +34662,10 @@ return; } - const normalizedPattern = isString(pattern) ? new RegExp(pattern) : pattern; + const normalizedPattern = isString(primary) ? new RegExp(primary) : primary; root.walkRules(ruleNode => { - if (ruleNode.parent.type !== 'rule') { + if (ruleNode.parent && ruleNode.parent.type !== 'rule') { return; } @@ -37103,20 +34682,19 @@ report({ result, ruleName, - message: messages.expected(selector, pattern), + message: messages.expected(selector, primary), node: ruleNode }); }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxRule": 417, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443 }], 316: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isStandardSyntaxRule": 394, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 288: [function (require, module, exports) { 'use strict'; const isKeyframeRule = require('../../utils/isKeyframeRule'); @@ -37135,14 +34713,28 @@ rejected: 'Unexpected qualifying type selector' }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-no-qualifying-type' }; + + const selectorCharacters = ['#', '.', '[']; + /** + * @param {string} value + * @returns {boolean} + */ function isSelectorCharacters(value) { return selectorCharacters.some(char => value.includes(char)); } + /** + * @param {import('postcss-selector-parser').Tag} node + * @returns {Array} + */ function getRightNodes(node) { const result = []; + + /** @type {import('postcss-selector-parser').Node} */ let rightNode = node; while (rightNode = rightNode.next()) { @@ -37160,17 +34752,18 @@ return result; } - function rule(enabled, options) { + /** @type {import('stylelint').Rule} */ + const rule = (primary, secondaryOptions) => { return (root, result) => { const validOptions = validateOptions( result, ruleName, { - actual: enabled, + actual: primary, possible: [true, false] }, { - actual: options, + actual: secondaryOptions, possible: { ignore: ['attribute', 'class', 'id'] }, @@ -37195,11 +34788,14 @@ return; } + /** + * @param {import('postcss-selector-parser').Root} selectorAST + */ function checkSelector(selectorAST) { selectorAST.walkTags(selector => { const selectorParent = selector.parent; - if (selectorParent.nodes.length === 1) { + if (selectorParent && selectorParent.nodes.length === 1) { return; } @@ -37207,17 +34803,20 @@ const index = selector.sourceIndex; for (const selectorNode of selectorNodes) { - if (selectorNode.type === 'id' && !optionsMatches(options, 'ignore', 'id')) { + if (selectorNode.type === 'id' && !optionsMatches(secondaryOptions, 'ignore', 'id')) { complain(index); } - if (selectorNode.type === 'class' && !optionsMatches(options, 'ignore', 'class')) { + if ( + selectorNode.type === 'class' && + !optionsMatches(secondaryOptions, 'ignore', 'class')) + { complain(index); } if ( selectorNode.type === 'attribute' && - !optionsMatches(options, 'ignore', 'attribute')) + !optionsMatches(secondaryOptions, 'ignore', 'attribute')) { complain(index); } @@ -37233,6 +34832,9 @@ parseSelector(resolvedSelector, result, ruleNode, checkSelector); } + /** + * @param {number} index + */ function complain(index) { report({ ruleName, @@ -37244,15 +34846,206 @@ } }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isKeyframeRule": 397, "../../utils/isStandardSyntaxRule": 417, "../../utils/isStandardSyntaxSelector": 418, "../../utils/optionsMatches": 429, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "postcss-resolve-nested-selector": 50 }], 317: [function (require, module, exports) { - // @ts-nocheck + }, { "../../utils/isKeyframeRule": 374, "../../utils/isStandardSyntaxRule": 394, "../../utils/isStandardSyntaxSelector": 395, "../../utils/optionsMatches": 406, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "postcss-resolve-nested-selector": 28 }], 289: [function (require, module, exports) { + 'use strict'; + + const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); + const isStandardSyntaxSelector = require('../../utils/isStandardSyntaxSelector'); + const parseSelector = require('../../utils/parseSelector'); + const report = require('../../utils/report'); + const ruleMessages = require('../../utils/ruleMessages'); + const validateOptions = require('../../utils/validateOptions'); + const { + isPseudoClass, + isAttribute, + isClassName, + isUniversal, + isIdentifier, + isTag } = + require('postcss-selector-parser'); + const { assert } = require('../../utils/validateTypes'); + + const ruleName = 'selector-not-notation'; + const messages = ruleMessages(ruleName, { + expected: type => `Expected ${type} :not() pseudo-class notation` }); + + const meta = { url: 'https://stylelint.io/user-guide/rules/list/selector-not-notation' }; + + /** @typedef {import('postcss-selector-parser').Node} Node */ + /** @typedef {import('postcss-selector-parser').Selector} Selector */ + /** @typedef {import('postcss-selector-parser').Pseudo} Pseudo */ + + /** + * @param {Node} node + * @returns {boolean} + */ + const isSimpleSelector = (node) => + isPseudoClass(node) || + isAttribute(node) || + isClassName(node) || + isUniversal(node) || + isIdentifier(node) || + isTag(node); + + /** + * @param {Node} node + * @returns {node is Pseudo} + */ + const isNot = (node) => + isPseudoClass(node) && node.value !== undefined && node.value.toLowerCase() === ':not'; + + /** + * @param {Selector[]} list + * @returns {boolean} + */ + const isSimple = list => { + if (list.length > 1) return false; + + assert(list[0], 'list is never empty'); + const [first, second] = list[0].nodes; + + if (!first) return true; + + if (second) return false; + + return isSimpleSelector(first) && !isNot(first); + }; + + /** @type {import('stylelint').Rule} */ + const rule = (primary, _, context) => { + return (root, result) => { + const validOptions = validateOptions(result, ruleName, { + actual: primary, + possible: ['simple', 'complex'] }); + + + if (!validOptions) return; + + root.walkRules(ruleNode => { + if (!isStandardSyntaxRule(ruleNode)) return; + + const selector = ruleNode.selector; + + if (!selector.includes(':not(')) return; + + if (!isStandardSyntaxSelector(selector)) return; + + const fixedSelector = parseSelector(selector, result, ruleNode, container => { + container.walkPseudos(pseudo => { + if (!isNot(pseudo)) return; + + if (primary === 'complex') { + const prev = pseudo.prev(); + const hasConsecutiveNot = prev && isNot(prev); + + if (!hasConsecutiveNot) return; + + if (context.fix) return fixComplex(prev); + } else { + const selectors = pseudo.nodes; + + if (isSimple(selectors)) return; + + const mustFix = + context.fix && + selectors.length > 1 && + selectors[1] && ( + selectors[1].nodes.length === 0 || + selectors.every(({ nodes }) => nodes.length === 1)); + + if (mustFix) return fixSimple(pseudo); + } + + report({ + message: messages.expected(primary), + node: ruleNode, + index: pseudo.sourceIndex, + result, + ruleName }); + + }); + }); + + if (context.fix && fixedSelector) { + ruleNode.selector = fixedSelector; + } + }); + }; + }; + + /** + * @param {Pseudo} not + */ + function fixSimple(not) { + const simpleSelectors = not.nodes. + filter(({ nodes }) => nodes[0] && isSimpleSelector(nodes[0])). + map(s => { + assert(s.nodes[0]); + s.nodes[0].rawSpaceBefore = ''; + s.nodes[0].rawSpaceAfter = ''; + + return s; + }); + const firstSelector = simpleSelectors.shift(); + + assert(firstSelector); + assert(not.parent); + + not.empty(); + not.nodes.push(firstSelector); + + for (const s of simpleSelectors) { + const last = not.parent.last; + + not.parent.insertAfter(last, last.clone({ nodes: [s] })); + } + } + + /** + * @param {Pseudo} previousNot + */ + function fixComplex(previousNot) { + const indentAndTrimRight = /** @type {Selector[]} */selectors => { + for (const s of selectors) { + assert(s.nodes[0]); + s.nodes[0].rawSpaceBefore = ' '; + s.nodes[0].rawSpaceAfter = ''; + } + }; + const [head, ...tail] = previousNot.nodes; + let node = previousNot.next(); + + if (head == null || head.nodes.length === 0) return; + + assert(head.nodes[0]); + head.nodes[0].rawSpaceBefore = ''; + head.nodes[0].rawSpaceAfter = ''; + indentAndTrimRight(tail); + + while (isNot(node)) { + const selectors = node.nodes; + const prev = node; + indentAndTrimRight(selectors); + previousNot.nodes = previousNot.nodes.concat(selectors); + node = node.next(); + prev.remove(); + } + } + + rule.ruleName = ruleName; + rule.messages = messages; + rule.meta = meta; + module.exports = rule; + + }, { "../../utils/isStandardSyntaxRule": 394, "../../utils/isStandardSyntaxSelector": 395, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "postcss-selector-parser": 29 }], 290: [function (require, module, exports) { 'use strict'; const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); @@ -37270,10 +35063,15 @@ rejected: selector => `Unexpected pseudo-class "${selector}"` }); - function rule(list) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-pseudo-class-allowed-list' }; + + + /** @type {import('stylelint').Rule>} */ + const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: list, + actual: primary, possible: [isString, isRegExp] }); @@ -37303,7 +35101,7 @@ const name = value.slice(1); - if (matchesStringOrRegExp(vendor.unprefixed(name), list)) { + if (matchesStringOrRegExp(vendor.unprefixed(name), primary)) { return; } @@ -37318,17 +35116,16 @@ }); }); }; - } + }; rule.primaryOptionArray = true; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxRule": 417, "../../utils/matchesStringOrRegExp": 426, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "../../utils/vendor": 444 }], 318: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isStandardSyntaxRule": 394, "../../utils/matchesStringOrRegExp": 403, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/vendor": 422 }], 291: [function (require, module, exports) { 'use strict'; const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); @@ -37345,10 +35142,15 @@ expected: (actual, expected) => `Expected "${actual}" to be "${expected}"` }); - function rule(expectation, options, context) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-pseudo-class-case' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, _secondaryOptions, context) => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: expectation, + actual: primary, possible: ['lower', 'upper'] }); @@ -37387,7 +35189,7 @@ } const expectedPseudo = - expectation === 'lower' ? pseudo.toLowerCase() : pseudo.toUpperCase(); + primary === 'lower' ? pseudo.toLowerCase() : pseudo.toUpperCase(); if (pseudo === expectedPseudo) { return; @@ -37410,7 +35212,7 @@ }); - if (context.fix) { + if (context.fix && fixedSelector) { if (ruleNode.raws.selector) { ruleNode.raws.selector.raw = fixedSelector; } else { @@ -37419,15 +35221,14 @@ } }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../reference/keywordSets": 142, "../../utils/isStandardSyntaxRule": 417, "../../utils/isStandardSyntaxSelector": 418, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442 }], 319: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../reference/keywordSets": 110, "../../utils/isStandardSyntaxRule": 394, "../../utils/isStandardSyntaxSelector": 395, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420 }], 292: [function (require, module, exports) { 'use strict'; const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); @@ -37445,10 +35246,15 @@ rejected: selector => `Unexpected pseudo-class "${selector}"` }); - function rule(list) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-pseudo-class-disallowed-list' }; + + + /** @type {import('stylelint').Rule>} */ + const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: list, + actual: primary, possible: [isString, isRegExp] }); @@ -37479,7 +35285,7 @@ const name = value.slice(1); - if (!matchesStringOrRegExp(vendor.unprefixed(name), list)) { + if (!matchesStringOrRegExp(vendor.unprefixed(name), primary)) { return; } @@ -37494,17 +35300,16 @@ }); }); }; - } + }; rule.primaryOptionArray = true; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxRule": 417, "../../utils/matchesStringOrRegExp": 426, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "../../utils/vendor": 444 }], 320: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isStandardSyntaxRule": 394, "../../utils/matchesStringOrRegExp": 403, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/vendor": 422 }], 293: [function (require, module, exports) { 'use strict'; const atRuleParamIndex = require('../../utils/atRuleParamIndex'); @@ -37527,14 +35332,19 @@ rejected: selector => `Unexpected unknown pseudo-class selector "${selector}"` }); - function rule(actual, options) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-pseudo-class-no-unknown' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, secondaryOptions) => { return (root, result) => { const validOptions = validateOptions( result, ruleName, - { actual }, + { actual: primary }, { - actual: options, + actual: secondaryOptions, possible: { ignorePseudoClasses: [isString] }, @@ -37546,6 +35356,10 @@ return; } + /** + * @param {string} selector + * @param {import('postcss').ChildNode} node + */ function check(selector, node) { parseSelector(selector, result, node, selectorTree => { selectorTree.walkPseudos(pseudoNode => { @@ -37564,7 +35378,7 @@ return; } - if (optionsMatches(options, 'ignorePseudoClasses', pseudoNode.value.slice(1))) { + if (optionsMatches(secondaryOptions, 'ignorePseudoClasses', pseudoNode.value.slice(1))) { return; } @@ -37586,10 +35400,13 @@ return; } + /** @type {import('postcss-selector-parser').Base} */ let prevPseudoElement = pseudoNode; do { - prevPseudoElement = prevPseudoElement.prev(); + prevPseudoElement = /** @type {import('postcss-selector-parser').Base} */ + prevPseudoElement.prev(); + if (prevPseudoElement && prevPseudoElement.value.slice(0, 2) === '::') { break; @@ -37597,13 +35414,11 @@ } while (prevPseudoElement); if (prevPseudoElement) { - const prevPseudoElementValue = vendor.unprefixed( - prevPseudoElement.value.toLowerCase().slice(2)); - + const prevPseudoElementValue = prevPseudoElement.value.toLowerCase().slice(2); if ( - keywordSets.webkitProprietaryPseudoElements.has(prevPseudoElementValue) && - keywordSets.webkitProprietaryPseudoClasses.has(name)) + keywordSets.webkitScrollbarPseudoElements.has(prevPseudoElementValue) && + keywordSets.webkitScrollbarPseudoClasses.has(name)) { return; } @@ -37617,7 +35432,8 @@ node, index, ruleName, - result }); + result, + word: value }); }); }); @@ -37655,15 +35471,14 @@ check(selector, node); }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../reference/keywordSets": 142, "../../utils/atRuleParamIndex": 352, "../../utils/isCustomSelector": 394, "../../utils/isStandardSyntaxAtRule": 408, "../../utils/isStandardSyntaxRule": 417, "../../utils/isStandardSyntaxSelector": 418, "../../utils/optionsMatches": 429, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "../../utils/vendor": 444 }], 321: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../reference/keywordSets": 110, "../../utils/atRuleParamIndex": 326, "../../utils/isCustomSelector": 371, "../../utils/isStandardSyntaxAtRule": 385, "../../utils/isStandardSyntaxRule": 394, "../../utils/isStandardSyntaxSelector": 395, "../../utils/optionsMatches": 406, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/vendor": 422 }], 294: [function (require, module, exports) { 'use strict'; const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); @@ -37681,10 +35496,15 @@ rejectedClosing: 'Unexpected whitespace before ")"' }); - function rule(expectation, options, context) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-pseudo-class-parentheses-space-inside' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, _secondaryOptions, context) => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: expectation, + actual: primary, possible: ['always', 'never'] }); @@ -37711,10 +35531,9 @@ const paramString = pseudoNode.map(node => String(node)).join(','); const nextCharIsSpace = paramString.startsWith(' '); - const openIndex = - pseudoNode.sourceIndex + stringifyProperty(pseudoNode, 'value').length + 1; + const openIndex = pseudoNode.sourceIndex + pseudoNode.value.length + 1; - if (nextCharIsSpace && expectation === 'never') { + if (nextCharIsSpace && primary === 'never') { if (context.fix) { hasFixed = true; setFirstNodeSpaceBefore(pseudoNode, ''); @@ -37723,7 +35542,7 @@ } } - if (!nextCharIsSpace && expectation === 'always') { + if (!nextCharIsSpace && primary === 'always') { if (context.fix) { hasFixed = true; setFirstNodeSpaceBefore(pseudoNode, ' '); @@ -37735,7 +35554,7 @@ const prevCharIsSpace = paramString.endsWith(' '); const closeIndex = openIndex + paramString.length - 1; - if (prevCharIsSpace && expectation === 'never') { + if (prevCharIsSpace && primary === 'never') { if (context.fix) { hasFixed = true; setLastNodeSpaceAfter(pseudoNode, ''); @@ -37744,7 +35563,7 @@ } } - if (!prevCharIsSpace && expectation === 'always') { + if (!prevCharIsSpace && primary === 'always') { if (context.fix) { hasFixed = true; setLastNodeSpaceAfter(pseudoNode, ' '); @@ -37755,7 +35574,7 @@ }); }); - if (hasFixed) { + if (hasFixed && fixedSelector) { if (!ruleNode.raws.selector) { ruleNode.selector = fixedSelector; } else { @@ -37763,6 +35582,10 @@ } } + /** + * @param {string} message + * @param {number} index + */ function complain(message, index) { report({ message, @@ -37774,8 +35597,13 @@ } }); }; - } + }; + /** + * @param {import('postcss-selector-parser').Container} node + * @param {string} value + * @returns {void} + */ function setFirstNodeSpaceBefore(node, value) { const target = node.first; @@ -37786,6 +35614,11 @@ } } + /** + * @param {import('postcss-selector-parser').Container} node + * @param {string} value + * @returns {void} + */ function setLastNodeSpaceAfter(node, value) { const target = node.last; @@ -37796,17 +35629,12 @@ } } - function stringifyProperty(node, propName) { - return node.raws && node.raws[propName] || node[propName]; - } - rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxRule": 417, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442 }], 322: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isStandardSyntaxRule": 394, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420 }], 295: [function (require, module, exports) { 'use strict'; const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); @@ -37824,10 +35652,15 @@ rejected: selector => `Unexpected pseudo-element "${selector}"` }); - function rule(list) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-pseudo-element-allowed-list' }; + + + /** @type {import('stylelint').Rule>} */ + const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: list, + actual: primary, possible: [isString, isRegExp] }); @@ -37857,7 +35690,7 @@ const name = value.slice(2); - if (matchesStringOrRegExp(vendor.unprefixed(name), list)) { + if (matchesStringOrRegExp(vendor.unprefixed(name), primary)) { return; } @@ -37872,17 +35705,16 @@ }); }); }; - } + }; rule.primaryOptionArray = true; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxRule": 417, "../../utils/matchesStringOrRegExp": 426, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "../../utils/vendor": 444 }], 323: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isStandardSyntaxRule": 394, "../../utils/matchesStringOrRegExp": 403, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/vendor": 422 }], 296: [function (require, module, exports) { 'use strict'; const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); @@ -37899,10 +35731,15 @@ expected: (actual, expected) => `Expected "${actual}" to be "${expected}"` }); - function rule(expectation, options, context) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-pseudo-element-case' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, _secondaryOptions, context) => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: expectation, + actual: primary, possible: ['lower', 'upper'] }); @@ -37937,7 +35774,7 @@ } const expectedPseudoElement = - expectation === 'lower' ? pseudoElement.toLowerCase() : pseudoElement.toUpperCase(); + primary === 'lower' ? pseudoElement.toLowerCase() : pseudoElement.toUpperCase(); if (pseudoElement === expectedPseudoElement) { return; @@ -37960,22 +35797,21 @@ }); }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../reference/keywordSets": 142, "../../utils/isStandardSyntaxRule": 417, "../../utils/isStandardSyntaxSelector": 418, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/transformSelector": 439, "../../utils/validateOptions": 442 }], 324: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../reference/keywordSets": 110, "../../utils/isStandardSyntaxRule": 394, "../../utils/isStandardSyntaxSelector": 395, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/transformSelector": 416, "../../utils/validateOptions": 420 }], 297: [function (require, module, exports) { 'use strict'; const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); const keywordSets = require('../../reference/keywordSets'); + const parseSelector = require('../../utils/parseSelector'); const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); - const styleSearch = require('style-search'); const validateOptions = require('../../utils/validateOptions'); const ruleName = 'selector-pseudo-element-colon-notation'; @@ -37984,10 +35820,15 @@ expected: q => `Expected ${q} colon pseudo-element notation` }); - function rule(expectation, options, context) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-pseudo-element-colon-notation' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, _secondaryOptions, context) => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: expectation, + actual: primary, possible: ['single', 'double'] }); @@ -37995,6 +35836,14 @@ return; } + let fixedColon = ''; + + if (primary === 'single') { + fixedColon = ':'; + } else if (primary === 'double') { + fixedColon = '::'; + } + root.walkRules(ruleNode => { if (!isStandardSyntaxRule(ruleNode)) { return; @@ -38007,64 +35856,53 @@ return; } - const fixPositions = []; - - // match only level 1 and 2 pseudo elements - const pseudoElementsWithColons = [...keywordSets.levelOneAndTwoPseudoElements].map( - x => `:${x}`); + const fixedSelector = parseSelector(selector, result, ruleNode, selectors => { + selectors.walkPseudos(pseudo => { + const pseudoElement = pseudo.value.replace(/:/g, ''); + if (!keywordSets.levelOneAndTwoPseudoElements.has(pseudoElement.toLowerCase())) { + return; + } - styleSearch({ source: selector.toLowerCase(), target: pseudoElementsWithColons }, match => { - const prevCharIsColon = selector[match.startIndex - 1] === ':'; + const isDouble = pseudo.value.startsWith('::'); - if (expectation === 'single' && !prevCharIsColon) { - return; - } + if (primary === 'single' && !isDouble) { + return; + } - if (expectation === 'double' && prevCharIsColon) { - return; - } + if (primary === 'double' && isDouble) { + return; + } - if (context.fix) { - fixPositions.unshift({ ruleNode, startIndex: match.startIndex }); + if (context.fix) { + pseudo.replaceWith(pseudo.clone({ value: fixedColon + pseudoElement })); - return; - } + return; + } - report({ - message: messages.expected(expectation), - node: ruleNode, - index: match.startIndex, - result, - ruleName }); + report({ + message: messages.expected(primary), + node: ruleNode, + index: pseudo.sourceIndex, + result, + ruleName }); + }); }); - if (fixPositions.length) { - // If expecting : then we found :: so remove one of the colons - // If expecting :: then we found : so add one extra colon - const expectedSingle = expectation === 'single'; - const offset = expectedSingle ? 1 : 0; - const extraColon = expectedSingle ? '' : ':'; - - for (const fixPosition of fixPositions) { - ruleNode.selector = - ruleNode.selector.substring(0, fixPosition.startIndex - offset) + - extraColon + - ruleNode.selector.substring(fixPosition.startIndex); - } + if (context.fix && fixedSelector) { + ruleNode.selector = fixedSelector; } }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../reference/keywordSets": 142, "../../utils/isStandardSyntaxRule": 417, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "style-search": 121 }], 325: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../reference/keywordSets": 110, "../../utils/isStandardSyntaxRule": 394, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420 }], 298: [function (require, module, exports) { 'use strict'; const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); @@ -38082,10 +35920,15 @@ rejected: selector => `Unexpected pseudo-element "${selector}"` }); - function rule(list) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-pseudo-element-disallowed-list' }; + + + /** @type {import('stylelint').Rule>} */ + const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: list, + actual: primary, possible: [isString, isRegExp] }); @@ -38115,7 +35958,7 @@ const name = value.slice(2); - if (!matchesStringOrRegExp(vendor.unprefixed(name), list)) { + if (!matchesStringOrRegExp(vendor.unprefixed(name), primary)) { return; } @@ -38130,17 +35973,16 @@ }); }); }; - } + }; rule.primaryOptionArray = true; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxRule": 417, "../../utils/matchesStringOrRegExp": 426, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "../../utils/vendor": 444 }], 326: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isStandardSyntaxRule": 394, "../../utils/matchesStringOrRegExp": 403, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/vendor": 422 }], 299: [function (require, module, exports) { 'use strict'; const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); @@ -38160,14 +36002,19 @@ rejected: selector => `Unexpected unknown pseudo-element selector "${selector}"` }); - function rule(actual, options) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-pseudo-element-no-unknown' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, secondaryOptions) => { return (root, result) => { const validOptions = validateOptions( result, ruleName, - { actual }, + { actual: primary }, { - actual: options, + actual: secondaryOptions, possible: { ignorePseudoElements: [isString] }, @@ -38205,7 +36052,7 @@ return; } - if (optionsMatches(options, 'ignorePseudoElements', pseudoNode.value.slice(2))) { + if (optionsMatches(secondaryOptions, 'ignorePseudoElements', pseudoNode.value.slice(2))) { return; } @@ -38220,21 +36067,21 @@ node: ruleNode, index: pseudoNode.sourceIndex, ruleName, - result }); + result, + word: value }); }); }); }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../reference/keywordSets": 142, "../../utils/isStandardSyntaxRule": 417, "../../utils/isStandardSyntaxSelector": 418, "../../utils/optionsMatches": 429, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "../../utils/vendor": 444 }], 327: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../reference/keywordSets": 110, "../../utils/isStandardSyntaxRule": 394, "../../utils/isStandardSyntaxSelector": 395, "../../utils/optionsMatches": 406, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/vendor": 422 }], 300: [function (require, module, exports) { 'use strict'; const isKeyframeSelector = require('../../utils/isKeyframeSelector'); @@ -38254,17 +36101,22 @@ expected: (actual, expected) => `Expected "${actual}" to be "${expected}"` }); - function rule(expectation, options, context) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-type-case' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, secondaryOptions, context) => { return (root, result) => { const validOptions = validateOptions( result, ruleName, { - actual: expectation, + actual: primary, possible: ['lower', 'upper'] }, { - actual: options, + actual: secondaryOptions, possible: { ignoreTypes: [isString] }, @@ -38299,14 +36151,14 @@ return; } - if (optionsMatches(options, 'ignoreTypes', tag.value)) { + if (optionsMatches(secondaryOptions, 'ignoreTypes', tag.value)) { return; } const sourceIndex = tag.sourceIndex; const value = tag.value; - const expectedValue = expectation === 'lower' ? value.toLowerCase() : value.toUpperCase(); + const expectedValue = primary === 'lower' ? value.toLowerCase() : value.toUpperCase(); if (value === expectedValue) { return; @@ -38318,6 +36170,11 @@ hasComments.slice(0, sourceIndex) + expectedValue + hasComments.slice(sourceIndex + value.length); + + if (ruleNode.raws.selector == null) { + throw new Error('The `raw` property must be present'); + } + ruleNode.raws.selector.raw = hasComments; } else { ruleNode.selector = @@ -38340,18 +36197,16 @@ }); }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../reference/keywordSets": 142, "../../utils/isKeyframeSelector": 398, "../../utils/isStandardSyntaxRule": 417, "../../utils/isStandardSyntaxTypeSelector": 419, "../../utils/optionsMatches": 429, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443 }], 328: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../reference/keywordSets": 110, "../../utils/isKeyframeSelector": 375, "../../utils/isStandardSyntaxRule": 394, "../../utils/isStandardSyntaxTypeSelector": 396, "../../utils/optionsMatches": 406, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 301: [function (require, module, exports) { 'use strict'; - const htmlTags = require('html-tags'); const isCustomElement = require('../../utils/isCustomElement'); const isKeyframeSelector = require('../../utils/isKeyframeSelector'); const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); @@ -38372,14 +36227,19 @@ rejected: selector => `Unexpected unknown type selector "${selector}"` }); - function rule(actual, options) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/selector-type-no-unknown' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, secondaryOptions) => { return (root, result) => { const validOptions = validateOptions( result, ruleName, - { actual }, + { actual: primary }, { - actual: options, + actual: secondaryOptions, possible: { ignore: ['custom-elements', 'default-namespace'], ignoreNamespaces: [isString, isRegExp], @@ -38412,24 +36272,24 @@ } if ( - optionsMatches(options, 'ignore', 'custom-elements') && + optionsMatches(secondaryOptions, 'ignore', 'custom-elements') && isCustomElement(tagNode.value)) { return; } if ( - optionsMatches(options, 'ignore', 'default-namespace') && + optionsMatches(secondaryOptions, 'ignore', 'default-namespace') && !(typeof tagNode.namespace === 'string')) { return; } - if (optionsMatches(options, 'ignoreNamespaces', tagNode.namespace)) { + if (optionsMatches(secondaryOptions, 'ignoreNamespaces', tagNode.namespace)) { return; } - if (optionsMatches(options, 'ignoreTypes', tagNode.value)) { + if (optionsMatches(secondaryOptions, 'ignoreTypes', tagNode.value)) { return; } @@ -38437,7 +36297,7 @@ const tagNameLowerCase = tagName.toLowerCase(); if ( - htmlTags.includes(tagNameLowerCase) || + keywordSets.standardHtmlTags.has(tagNameLowerCase) || // SVG tags are case-sensitive svgTags.includes(tagName) || keywordSets.nonStandardHtmlTags.has(tagNameLowerCase) || @@ -38451,21 +36311,21 @@ node: ruleNode, index: tagNode.sourceIndex, ruleName, - result }); + result, + word: tagName }); }); }); }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../reference/keywordSets": 142, "../../utils/isCustomElement": 391, "../../utils/isKeyframeSelector": 398, "../../utils/isStandardSyntaxRule": 417, "../../utils/isStandardSyntaxTypeSelector": 419, "../../utils/optionsMatches": 429, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "html-tags": 28, "mathml-tag-names": 40, "svg-tags": 448 }], 329: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../reference/keywordSets": 110, "../../utils/isCustomElement": 367, "../../utils/isKeyframeSelector": 375, "../../utils/isStandardSyntaxRule": 394, "../../utils/isStandardSyntaxTypeSelector": 396, "../../utils/optionsMatches": 406, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "mathml-tag-names": 20, "svg-tags": 434 }], 302: [function (require, module, exports) { 'use strict'; const isStandardSyntaxRule = require('../utils/isStandardSyntaxRule'); @@ -38473,7 +36333,18 @@ const report = require('../utils/report'); const styleSearch = require('style-search'); - module.exports = function (options) { + /** + * @param {{ + * root: import('postcss').Root, + * result: import('stylelint').PostcssResult, + * locationChecker: (opts: { source: string, index: number, err: (msg: string) => void }) => void, + * checkedRuleName: string, + * checkBeforeOperator: boolean, + * fix: ((attributeNode: import('postcss-selector-parser').Attribute) => boolean) | null, + * }} options + * @returns {void} + */ + module.exports = function selectorAttributeOperatorSpaceChecker(options) { options.root.walkRules(rule => { if (!isStandardSyntaxRule(rule)) { return; @@ -38504,7 +36375,7 @@ }); }); - if (hasFixed) { + if (hasFixed && fixedSelector) { if (!rule.raws.selector) { rule.selector = fixedSelector; } else { @@ -38512,11 +36383,18 @@ } } + /** + * @param {string} source + * @param {number} index + * @param {import('postcss').Node} node + * @param {import('postcss-selector-parser').Attribute} attributeNode + * @param {string} operator + */ function checkOperator(source, index, node, attributeNode, operator) { options.locationChecker({ source, index, - err: m => { + err: msg => { if (options.fix && options.fix(attributeNode)) { hasFixed = true; @@ -38524,8 +36402,10 @@ } report({ - message: m.replace( - options.checkBeforeOperator ? operator[0] : operator[operator.length - 1], + message: msg.replace( + options.checkBeforeOperator ? + operator.charAt(0) : + operator.charAt(operator.length - 1), operator), node, @@ -38539,9 +36419,7 @@ }); }; - }, { "../utils/isStandardSyntaxRule": 417, "../utils/parseSelector": 430, "../utils/report": 435, "style-search": 121 }], 330: [function (require, module, exports) { - // @ts-nocheck - + }, { "../utils/isStandardSyntaxRule": 394, "../utils/parseSelector": 407, "../utils/report": 412, "style-search": 92 }], 303: [function (require, module, exports) { 'use strict'; const isStandardSyntaxCombinator = require('../utils/isStandardSyntaxCombinator'); @@ -38549,7 +36427,20 @@ const parseSelector = require('../utils/parseSelector'); const report = require('../utils/report'); - module.exports = function (opts) { + /** + * @typedef {(args: { source: string, index: number, errTarget: string, err: (message: string) => void }) => void} LocationChecker + * + * @param {{ + * root: import('postcss').Root, + * result: import('stylelint').PostcssResult, + * locationChecker: LocationChecker, + * locationType: 'before' | 'after', + * checkedRuleName: string, + * fix: ((combinator: import('postcss-selector-parser').Combinator) => boolean) | null, + * }} opts + * @returns {void} + */ + module.exports = function selectorCombinatorSpaceChecker(opts) { let hasFixed; opts.root.walkRules(rule => { @@ -38595,7 +36486,7 @@ }); }); - if (hasFixed) { + if (hasFixed && fixedSelector) { if (!rule.raws.selector) { rule.selector = fixedSelector; } else { @@ -38604,12 +36495,19 @@ } }); + /** + * @param {string} source + * @param {import('postcss-selector-parser').Combinator} combinator + * @param {number} index + * @param {import('postcss').Node} node + * @param {number} sourceIndex + */ function check(source, combinator, index, node, sourceIndex) { opts.locationChecker({ source, index, errTarget: combinator.value, - err: m => { + err: message => { if (opts.fix && opts.fix(combinator)) { hasFixed = true; @@ -38617,7 +36515,7 @@ } report({ - message: m, + message, node, index: sourceIndex, result: opts.result, @@ -38628,16 +36526,24 @@ } }; - }, { "../utils/isStandardSyntaxCombinator": 410, "../utils/isStandardSyntaxRule": 417, "../utils/parseSelector": 430, "../utils/report": 435 }], 331: [function (require, module, exports) { - // @ts-nocheck - + }, { "../utils/isStandardSyntaxCombinator": 387, "../utils/isStandardSyntaxRule": 394, "../utils/parseSelector": 407, "../utils/report": 412 }], 304: [function (require, module, exports) { 'use strict'; const isStandardSyntaxRule = require('../utils/isStandardSyntaxRule'); const report = require('../utils/report'); const styleSearch = require('style-search'); - module.exports = function (opts) { + /** + * @param {{ + * root: import('postcss').Root, + * result: import('stylelint').PostcssResult, + * locationChecker: (opts: { source: string, index: number, err: (msg: string) => void }) => void, + * checkedRuleName: string, + * fix: ((rule: import('postcss').Rule, index: number) => boolean) | null, + * }} opts + * @returns {void} + */ + module.exports = function selectorListCommaWhitespaceChecker(opts) { opts.root.walkRules(rule => { if (!isStandardSyntaxRule(rule)) { return; @@ -38657,17 +36563,22 @@ }); + /** + * @param {string} source + * @param {number} index + * @param {import('postcss').Rule} node + */ function checkDelimiter(source, index, node) { opts.locationChecker({ source, index, - err: m => { + err: message => { if (opts.fix && opts.fix(node, index)) { return; } report({ - message: m, + message, node, index, result: opts.result, @@ -38678,9 +36589,7 @@ } }; - }, { "../utils/isStandardSyntaxRule": 417, "../utils/report": 435, "style-search": 121 }], 332: [function (require, module, exports) { - // @ts-nocheck - + }, { "../utils/isStandardSyntaxRule": 394, "../utils/report": 412, "style-search": 92 }], 305: [function (require, module, exports) { 'use strict'; const isStandardSyntaxDeclaration = require('../../utils/isStandardSyntaxDeclaration'); @@ -38698,6 +36607,10 @@ `Unexpected longhand value '${unexpected}' instead of '${expected}'` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/shorthand-property-no-redundant-values' }; + + const propertiesWithShorthandNotation = new Set([ 'margin', 'padding', @@ -38710,14 +36623,29 @@ const ignoredCharacters = ['+', '*', '/', '(', ')', '$', '@', '--', 'var(']; + /** + * @param {string} value + * @returns {boolean} + */ function hasIgnoredCharacters(value) { return ignoredCharacters.some(char => value.includes(char)); } + /** + * @param {string} property + * @returns {boolean} + */ function isShorthandProperty(property) { return propertiesWithShorthandNotation.has(property); } + /** + * @param {string} top + * @param {string} right + * @param {string} bottom + * @param {string} left + * @returns {string[]} + */ function canCondense(top, right, bottom, left) { const lowerTop = top.toLowerCase(); const lowerRight = right.toLowerCase(); @@ -38739,6 +36667,13 @@ return [top, right, bottom, left]; } + /** + * @param {string} top + * @param {string} right + * @param {string} bottom + * @param {string} left + * @returns {boolean} + */ function canCondenseToOneValue(top, right, bottom, left) { if (top !== right) { return false; @@ -38747,17 +36682,32 @@ return top === bottom && (bottom === left || !left) || !bottom && !left; } + /** + * @param {string} top + * @param {string} right + * @param {string} bottom + * @param {string} left + * @returns {boolean} + */ function canCondenseToTwoValues(top, right, bottom, left) { return top === bottom && right === left || top === bottom && !left && top !== right; } - function canCondenseToThreeValues(top, right, bottom, left) { + /** + * @param {string} _top + * @param {string} right + * @param {string} _bottom + * @param {string} left + * @returns {boolean} + */ + function canCondenseToThreeValues(_top, right, _bottom, left) { return right === left; } - function rule(actual, secondary, context) { + /** @type {import('stylelint').Rule} */ + const rule = (primary, _secondaryOptions, context) => { return (root, result) => { - const validOptions = validateOptions(result, ruleName, { actual }); + const validOptions = validateOptions(result, ruleName, { actual: primary }); if (!validOptions) { return; @@ -38777,6 +36727,7 @@ return; } + /** @type {string[]} */ const valuesToShorthand = []; valueParser(value).walk(valueNode => { @@ -38791,7 +36742,12 @@ return; } - const shortestForm = canCondense(...valuesToShorthand); + const shortestForm = canCondense( + valuesToShorthand[0] || '', + valuesToShorthand[1] || '', + valuesToShorthand[2] || '', + valuesToShorthand[3] || ''); + const shortestFormString = shortestForm.filter(Boolean).join(' '); const valuesFormString = valuesToShorthand.join(' '); @@ -38811,15 +36767,14 @@ } }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/isStandardSyntaxDeclaration": 412, "../../utils/isStandardSyntaxProperty": 416, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/vendor": 444, "postcss-value-parser": 83 }], 333: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/isStandardSyntaxDeclaration": 389, "../../utils/isStandardSyntaxProperty": 393, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/vendor": 422, "postcss-value-parser": 59 }], 306: [function (require, module, exports) { 'use strict'; const atRuleParamIndex = require('../../utils/atRuleParamIndex'); @@ -38838,9 +36793,14 @@ rejected: 'Unexpected newline in string' }); - function rule(actual) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/string-no-newline' }; + + + /** @type {import('stylelint').Rule} */ + const rule = primary => { return (root, result) => { - const validOptions = validateOptions(result, ruleName, { actual }); + const validOptions = validateOptions(result, ruleName, { actual: primary }); if (!validOptions) { return; @@ -38860,6 +36820,10 @@ }); + /** + * @param {import('postcss').Rule} ruleNode + * @returns {void} + */ function checkRule(ruleNode) { // Get out quickly if there are no new line if (!reNewLine.test(ruleNode.selector)) { @@ -38872,7 +36836,7 @@ parseSelector(ruleNode.selector, result, ruleNode, selectorTree => { selectorTree.walkAttributes(attributeNode => { - const match = reNewLine.exec(attributeNode.value); + const match = reNewLine.exec(attributeNode.value || ''); if (!match) { return; @@ -38882,7 +36846,7 @@ // length of our attribute attributeNode.attribute, // length of our operator , ie '=' - attributeNode.operator, + attributeNode.operator || '', // length of the contents before newline match.input.slice(0, match.index)]. reduce( @@ -38903,6 +36867,13 @@ }); } + /** + * @template {import('postcss').AtRule | import('postcss').Declaration} T + * @param {T} node + * @param {string} value + * @param {(node: T) => number} getIndex + * @returns {void} + */ function checkDeclOrAtRule(node, value, getIndex) { // Get out quickly if there are no new line if (!reNewLine.test(value)) { @@ -38937,15 +36908,14 @@ }); } }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/atRuleParamIndex": 352, "../../utils/declarationValueIndex": 359, "../../utils/isStandardSyntaxSelector": 418, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "postcss-value-parser": 83 }], 334: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/atRuleParamIndex": 326, "../../utils/declarationValueIndex": 333, "../../utils/isStandardSyntaxSelector": 395, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "postcss-value-parser": 59 }], 307: [function (require, module, exports) { 'use strict'; const atRuleParamIndex = require('../../utils/atRuleParamIndex'); @@ -38956,7 +36926,7 @@ const ruleMessages = require('../../utils/ruleMessages'); const validateOptions = require('../../utils/validateOptions'); const valueParser = require('postcss-value-parser'); - const { isBoolean } = require('../../utils/validateTypes'); + const { isBoolean, assertString } = require('../../utils/validateTypes'); const ruleName = 'string-quotes'; @@ -38964,25 +36934,30 @@ expected: q => `Expected ${q} quotes` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/string-quotes' }; + + const singleQuote = `'`; const doubleQuote = `"`; - function rule(expectation, secondary, context) { - const correctQuote = expectation === 'single' ? singleQuote : doubleQuote; - const erroneousQuote = expectation === 'single' ? doubleQuote : singleQuote; + /** @type {import('stylelint').Rule} */ + const rule = (primary, secondaryOptions, context) => { + const correctQuote = primary === 'single' ? singleQuote : doubleQuote; + const erroneousQuote = primary === 'single' ? doubleQuote : singleQuote; return (root, result) => { const validOptions = validateOptions( result, ruleName, { - actual: expectation, + actual: primary, possible: ['single', 'double'] }, { - actual: secondary, + actual: secondaryOptions, possible: { - avoidEscape: isBoolean }, + avoidEscape: [isBoolean] }, optional: true }); @@ -38993,7 +36968,9 @@ } const avoidEscape = - secondary && secondary.avoidEscape !== undefined ? secondary.avoidEscape : true; + secondaryOptions && secondaryOptions.avoidEscape !== undefined ? + secondaryOptions.avoidEscape : + true; root.walk(node => { switch (node.type) { @@ -39009,6 +36986,10 @@ }); + /** + * @param {import('postcss').Rule} ruleNode + * @returns {void} + */ function checkRule(ruleNode) { if (!isStandardSyntaxRule(ruleNode)) { return; @@ -39018,6 +36999,7 @@ return; } + /** @type {number[]} */ const fixPositions = []; parseSelector(ruleNode.selector, result, ruleNode, selectorTree => { @@ -39029,6 +37011,7 @@ } if (attributeNode.quoteMark === correctQuote && avoidEscape) { + assertString(attributeNode.value); const needsCorrectEscape = attributeNode.value.includes(correctQuote); const needsOtherEscape = attributeNode.value.includes(erroneousQuote); @@ -39042,7 +37025,7 @@ attributeNode.quoteMark = erroneousQuote; } else { report({ - message: messages.expected(expectation === 'single' ? 'double' : expectation), + message: messages.expected(primary === 'single' ? 'double' : primary), node: ruleNode, index: attributeNode.sourceIndex + attributeNode.offsetOf('value'), result, @@ -39054,6 +37037,7 @@ if (attributeNode.quoteMark === erroneousQuote) { if (avoidEscape) { + assertString(attributeNode.value); const needsCorrectEscape = attributeNode.value.includes(correctQuote); const needsOtherEscape = attributeNode.value.includes(erroneousQuote); @@ -39063,7 +37047,7 @@ attributeNode.quoteMark = correctQuote; } else { report({ - message: messages.expected(expectation), + message: messages.expected(primary), node: ruleNode, index: attributeNode.sourceIndex + attributeNode.offsetOf('value'), result, @@ -39084,7 +37068,7 @@ attributeNode.quoteMark = correctQuote; } else { report({ - message: messages.expected(expectation), + message: messages.expected(primary), node: ruleNode, index: attributeNode.sourceIndex + attributeNode.offsetOf('value'), result, @@ -39104,7 +37088,15 @@ } } + /** + * @template {import('postcss').AtRule | import('postcss').Declaration} T + * @param {T} node + * @param {string} value + * @param {(node: T) => number} getIndex + * @returns {void} + */ function checkDeclOrAtRule(node, value, getIndex) { + /** @type {number[]} */ const fixPositions = []; // Get out quickly if there are no erroneous quotes @@ -39136,7 +37128,7 @@ fixPositions.push(openIndex, closeIndex); } else { report({ - message: messages.expected(expectation), + message: messages.expected(primary), node, index: getIndex(node) + openIndex, result, @@ -39155,19 +37147,24 @@ } } }; - } + }; + /** + * @param {string} string + * @param {number} index + * @param {string} replace + * @returns {string} + */ function replaceQuote(string, index, replace) { return string.substring(0, index) + replace + string.substring(index + replace.length); } rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/atRuleParamIndex": 352, "../../utils/declarationValueIndex": 359, "../../utils/isStandardSyntaxRule": 417, "../../utils/parseSelector": 430, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "postcss-value-parser": 83 }], 335: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/atRuleParamIndex": 326, "../../utils/declarationValueIndex": 333, "../../utils/isStandardSyntaxRule": 394, "../../utils/parseSelector": 407, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "postcss-value-parser": 59 }], 308: [function (require, module, exports) { 'use strict'; const declarationValueIndex = require('../../utils/declarationValueIndex'); @@ -39187,19 +37184,24 @@ expected: time => `Expected a minimum of ${time} milliseconds` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/time-min-milliseconds' }; + + const DELAY_PROPERTIES = new Set(['animation-delay', 'transition-delay']); - function rule(minimum, options) { + /** @type {import('stylelint').Rule} */ + const rule = (primary, secondaryOptions) => { return (root, result) => { const validOptions = validateOptions( result, ruleName, { - actual: minimum, + actual: primary, possible: isNumber }, { - actual: options, + actual: secondaryOptions, possible: { ignore: ['delay'] }, @@ -39211,6 +37213,8 @@ return; } + const minimum = /** @type {number} */primary; + root.walkDecls(decl => { const propertyName = vendor.unprefixed(decl.prop.toLowerCase()); @@ -39228,7 +37232,7 @@ for (const valueListString of valueListList) { const valueList = postcss.list.space(valueListString); - if (optionsMatches(options, 'ignore', 'delay')) { + if (optionsMatches(secondaryOptions, 'ignore', 'delay')) { // Check only duration time values const duration = getDuration(valueList); @@ -39250,9 +37254,8 @@ /** * Get the duration within an `animation` or `transition` shorthand property value. * - * @param {Node[]} valueList - * - * @returns {Node} + * @param {string[]} valueList + * @returns {string | undefined} */ function getDuration(valueList) { for (const value of valueList) { @@ -39263,36 +37266,58 @@ // The first numeric value in an animation shorthand is the duration. return value; } + + return undefined; } + /** + * @param {string} propertyName + * @returns {boolean} + */ function isIgnoredProperty(propertyName) { - if (optionsMatches(options, 'ignore', 'delay') && DELAY_PROPERTIES.has(propertyName)) { + if ( + optionsMatches(secondaryOptions, 'ignore', 'delay') && + DELAY_PROPERTIES.has(propertyName)) + { return true; } return false; } + /** + * @param {string} time + * @returns {boolean} + */ function isAcceptableTime(time) { const parsedTime = valueParser.unit(time); if (!parsedTime) return true; - if (parsedTime.number <= 0) { + const numTime = Number(parsedTime.number); + + if (numTime <= 0) { return true; } - if (parsedTime.unit.toLowerCase() === 'ms' && parsedTime.number < minimum) { + const unit = parsedTime.unit.toLowerCase(); + + if (unit === 'ms' && numTime < minimum) { return false; } - if (parsedTime.unit.toLowerCase() === 's' && parsedTime.number * 1000 < minimum) { + if (unit === 's' && numTime * 1000 < minimum) { return false; } return true; } + /** + * @param {import('postcss').Declaration} decl + * @param {number} [offset] + * @returns {void} + */ function complain(decl, offset = 0) { report({ result, @@ -39303,15 +37328,14 @@ } }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../reference/keywordSets": 142, "../../utils/declarationValueIndex": 359, "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "../../utils/vendor": 444, "postcss": 103, "postcss-value-parser": 83 }], 336: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../reference/keywordSets": 110, "../../utils/declarationValueIndex": 333, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/vendor": 422, "postcss": 79, "postcss-value-parser": 59 }], 309: [function (require, module, exports) { 'use strict'; const report = require('../../utils/report'); @@ -39325,18 +37349,27 @@ rejected: 'Unexpected Unicode BOM' }); - function rule(expectation) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/unicode-bom' }; + + + /** @type {import('stylelint').Rule} */ + const rule = primary => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: expectation, + actual: primary, possible: ['always', 'never'] }); if ( !validOptions || + !root.source || + // @ts-expect-error -- TS2339: Property 'inline' does not exist on type 'Source'. root.source.inline || + // @ts-expect-error -- TS2339: Property 'lang' does not exist on type 'Source'. root.source.lang === 'object-literal' || // Ignore HTML documents + // @ts-expect-error -- TS2339: Property 'document' does not exist on type 'Root'. root.document !== undefined) { return; @@ -39344,35 +37377,34 @@ const { hasBOM } = root.source.input; - if (expectation === 'always' && !hasBOM) { + if (primary === 'always' && !hasBOM) { report({ result, ruleName, message: messages.expected, - root, + node: root, line: 1 }); } - if (expectation === 'never' && hasBOM) { + if (primary === 'never' && hasBOM) { report({ result, ruleName, message: messages.rejected, - root, + node: root, line: 1 }); } }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442 }], 337: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420 }], 310: [function (require, module, exports) { 'use strict'; const atRuleParamIndex = require('../../utils/atRuleParamIndex'); @@ -39392,22 +37424,26 @@ rejected: unit => `Unexpected unit "${unit}"` }); - function rule(listInput, options) { - const list = [listInput].flat(); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/unit-allowed-list' }; + + /** @type {import('stylelint').Rule} */ + const rule = (primary, secondaryOptions) => { return (root, result) => { const validOptions = validateOptions( result, ruleName, { - actual: list, + actual: primary, possible: [isString] }, { optional: true, - actual: options, + actual: secondaryOptions, possible: { - ignoreProperties: validateObjectWithArrayProps([isString, isRegExp]) } }); + ignoreFunctions: [isString, isRegExp], + ignoreProperties: [validateObjectWithArrayProps(isString, isRegExp)] } }); @@ -39416,23 +37452,44 @@ return; } + const primaryValues = [primary].flat(); + + /** + * @template {import('postcss').AtRule | import('postcss').Declaration} T + * @param {T} node + * @param {string} value + * @param {(node: T) => number} getIndex + * @returns {void} + */ function check(node, value, getIndex) { // make sure multiplication operations (*) are divided - not handled // by postcss-value-parser value = value.replace(/\*/g, ','); valueParser(value).walk(valueNode => { - // Ignore wrong units within `url` function - if (valueNode.type === 'function' && valueNode.value.toLowerCase() === 'url') { - return false; + if (valueNode.type === 'function') { + const valueLowerCase = valueNode.value.toLowerCase(); + + // Ignore wrong units within `url` function + if (valueLowerCase === 'url') { + return false; + } + + if (optionsMatches(secondaryOptions, 'ignoreFunctions', valueLowerCase)) { + return false; + } } const unit = getUnitFromValueNode(valueNode); - if (!unit || unit && list.includes(unit.toLowerCase())) { + if (!unit || unit && primaryValues.includes(unit.toLowerCase())) { return; } - if (options && optionsMatches(options.ignoreProperties, unit.toLowerCase(), node.prop)) { + if ( + 'prop' in node && + secondaryOptions && + optionsMatches(secondaryOptions.ignoreProperties, unit.toLowerCase(), node.prop)) + { return; } @@ -39449,17 +37506,16 @@ root.walkAtRules(/^media$/i, atRule => check(atRule, atRule.params, atRuleParamIndex)); root.walkDecls(decl => check(decl, decl.value, declarationValueIndex)); }; - } + }; rule.primaryOptionArray = true; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/atRuleParamIndex": 352, "../../utils/declarationValueIndex": 359, "../../utils/getUnitFromValueNode": 374, "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateObjectWithArrayProps": 441, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "postcss-value-parser": 83 }], 338: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/atRuleParamIndex": 326, "../../utils/declarationValueIndex": 333, "../../utils/getUnitFromValueNode": 350, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateObjectWithArrayProps": 418, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "postcss-value-parser": 59 }], 311: [function (require, module, exports) { 'use strict'; const atRuleParamIndex = require('../../utils/atRuleParamIndex'); @@ -39476,10 +37532,15 @@ expected: (actual, expected) => `Expected "${actual}" to be "${expected}"` }); - function rule(expectation, options, context) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/unit-case' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, _secondaryOptions, context) => { return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: expectation, + actual: primary, possible: ['lower', 'upper'] }); @@ -39487,9 +37548,21 @@ return; } + /** + * @template {import('postcss').AtRule | import('postcss').Declaration} T + * @param {T} node + * @param {string} checkedValue + * @param {(node: T) => number} getIndex + * @returns {void} + */ function check(node, checkedValue, getIndex) { + /** @type {Array<{ index: number, message: string }>} */ const problems = []; + /** + * @param {import('postcss-value-parser').Node} valueNode + * @returns {boolean} + */ function processValue(valueNode) { const unit = getUnitFromValueNode(valueNode); @@ -39497,7 +37570,7 @@ return false; } - const expectedUnit = expectation === 'lower' ? unit.toLowerCase() : unit.toUpperCase(); + const expectedUnit = primary === 'lower' ? unit.toLowerCase() : unit.toUpperCase(); if (unit === expectedUnit) { return false; @@ -39533,15 +37606,15 @@ needFix = processValue(valueNode); if (needFix && context.fix) { - valueNode.value = expectation === 'lower' ? value.toLowerCase() : value.toUpperCase(); + valueNode.value = primary === 'lower' ? value.toLowerCase() : value.toUpperCase(); } }); if (problems.length) { if (context.fix) { - if (node.name === 'media') { + if ('name' in node && node.name === 'media') { node.params = parsedValue.toString(); - } else { + } else if ('value' in node) { node.value = parsedValue.toString(); } } else { @@ -39559,7 +37632,7 @@ } root.walkAtRules(atRule => { - if (!/^media$/i.test(atRule.name) && !atRule.variable) { + if (!/^media$/i.test(atRule.name) && !('variable' in atRule)) { return; } @@ -39567,15 +37640,14 @@ }); root.walkDecls(decl => check(decl, decl.value, declarationValueIndex)); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/atRuleParamIndex": 352, "../../utils/declarationValueIndex": 359, "../../utils/getUnitFromValueNode": 374, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "postcss-value-parser": 83 }], 339: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/atRuleParamIndex": 326, "../../utils/declarationValueIndex": 333, "../../utils/getUnitFromValueNode": 350, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "postcss-value-parser": 59 }], 312: [function (require, module, exports) { 'use strict'; const atRuleParamIndex = require('../../utils/atRuleParamIndex'); @@ -39596,31 +37668,41 @@ rejected: unit => `Unexpected unit "${unit}"` }); - // a function to retrieve only the media feature name - // could be externalized in an utils function if needed in other code + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/unit-disallowed-list' }; + + + /** + * a function to retrieve only the media feature name + * could be externalized in an utils function if needed in other code + * + * @param {import('postcss-media-query-parser').Child} mediaFeatureNode + * @returns {string | undefined} + */ const getMediaFeatureName = mediaFeatureNode => { const value = mediaFeatureNode.value.toLowerCase(); - return /((?:-?\w*)*)/.exec(value)[1]; - }; + const match = /((?:-?\w*)*)/.exec(value); - function rule(listInput, options) { - const list = [listInput].flat(); + return match ? match[1] : undefined; + }; + /** @type {import('stylelint').Rule} */ + const rule = (primary, secondaryOptions) => { return (root, result) => { const validOptions = validateOptions( result, ruleName, { - actual: list, + actual: primary, possible: [isString] }, { optional: true, - actual: options, + actual: secondaryOptions, possible: { - ignoreProperties: validateObjectWithArrayProps([isString, isRegExp]), - ignoreMediaFeatureNames: validateObjectWithArrayProps([isString, isRegExp]) } }); + ignoreProperties: [validateObjectWithArrayProps(isString, isRegExp)], + ignoreMediaFeatureNames: [validateObjectWithArrayProps(isString, isRegExp)] } }); @@ -39629,16 +37711,26 @@ return; } - function check(node, nodeIndex, valueNode, input, option) { + const primaryValues = [primary].flat(); + + /** + * @param {import('postcss').Node} node + * @param {number} nodeIndex + * @param {import('postcss-value-parser').Node} valueNode + * @param {string | undefined} input + * @param {Record} options + * @returns {void} + */ + function check(node, nodeIndex, valueNode, input, options) { const unit = getUnitFromValueNode(valueNode); // There is not unit or it is not configured as a problem - if (!unit || unit && !list.includes(unit.toLowerCase())) { + if (!unit || unit && !primaryValues.includes(unit.toLowerCase())) { return; } // The unit has an ignore option for the specific input - if (optionsMatches(option, unit.toLowerCase(), input)) { + if (optionsMatches(options, unit.toLowerCase(), input)) { return; } @@ -39651,6 +37743,13 @@ } + /** + * @template {import('postcss').AtRule} T + * @param {T} node + * @param {string} value + * @param {(node: T) => number} getIndex + * @returns {void} + */ function checkMedia(node, value, getIndex) { mediaParser(node.params).walk(/^media-feature$/i, mediaFeatureNode => { const mediaName = getMediaFeatureName(mediaFeatureNode); @@ -39668,12 +37767,19 @@ getIndex(node), valueNode, mediaName, - options ? options.ignoreMediaFeatureNames : {}); + secondaryOptions ? secondaryOptions.ignoreMediaFeatureNames : {}); }); }); } + /** + * @template {import('postcss').Declaration} T + * @param {T} node + * @param {string} value + * @param {(node: T) => number} getIndex + * @returns {void} + */ function checkDecl(node, value, getIndex) { // make sure multiplication operations (*) are divided - not handled // by postcss-value-parser @@ -39685,24 +37791,29 @@ return false; } - check(node, getIndex(node), valueNode, node.prop, options ? options.ignoreProperties : {}); + check( + node, + getIndex(node), + valueNode, + node.prop, + secondaryOptions ? secondaryOptions.ignoreProperties : {}); + }); } root.walkAtRules(/^media$/i, atRule => checkMedia(atRule, atRule.params, atRuleParamIndex)); root.walkDecls(decl => checkDecl(decl, decl.value, declarationValueIndex)); }; - } + }; rule.primaryOptionArray = true; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/atRuleParamIndex": 352, "../../utils/declarationValueIndex": 359, "../../utils/getUnitFromValueNode": 374, "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateObjectWithArrayProps": 441, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "postcss-media-query-parser": 46, "postcss-value-parser": 83 }], 340: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/atRuleParamIndex": 326, "../../utils/declarationValueIndex": 333, "../../utils/getUnitFromValueNode": 350, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateObjectWithArrayProps": 418, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "postcss-media-query-parser": 24, "postcss-value-parser": 59 }], 313: [function (require, module, exports) { 'use strict'; const atRuleParamIndex = require('../../utils/atRuleParamIndex'); @@ -39718,7 +37829,7 @@ const validateOptions = require('../../utils/validateOptions'); const valueParser = require('postcss-value-parser'); const vendor = require('../../utils/vendor'); - const { isRegExp, isString } = require('../../utils/validateTypes'); + const { isRegExp, isString, assert } = require('../../utils/validateTypes'); const ruleName = 'unit-no-unknown'; @@ -39726,14 +37837,19 @@ rejected: unit => `Unexpected unknown unit "${unit}"` }); - function rule(actual, options) { + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/unit-no-unknown' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, secondaryOptions) => { return (root, result) => { const validOptions = validateOptions( result, ruleName, - { actual }, + { actual: primary }, { - actual: options, + actual: secondaryOptions, possible: { ignoreUnits: [isString, isRegExp], ignoreFunctions: [isString, isRegExp] }, @@ -39746,6 +37862,13 @@ return; } + /** + * @template {import('postcss').AtRule | import('postcss').Declaration} T + * @param {T} node + * @param {string} value + * @param {(node: T) => number} getIndex + * @returns {void} + */ function check(node, value, getIndex) { // make sure multiplication operations (*) are divided - not handled // by postcss-value-parser @@ -39758,7 +37881,7 @@ if ( valueNode.type === 'function' && ( valueNode.value.toLowerCase() === 'url' || - optionsMatches(options, 'ignoreFunctions', valueNode.value))) + optionsMatches(secondaryOptions, 'ignoreFunctions', valueNode.value))) { return false; } @@ -39769,7 +37892,7 @@ return; } - if (optionsMatches(options, 'ignoreUnits', unit)) { + if (optionsMatches(secondaryOptions, 'ignoreUnits', unit)) { return; } @@ -39785,11 +37908,12 @@ { let ignoreUnit = false; - mediaParser(node.params).walk((mediaNode, i, mediaNodes) => { + mediaParser(node.params).walk((mediaNode, _i, mediaNodes) => { const lastMediaNode = mediaNodes[mediaNodes.length - 1]; if ( mediaNode.value.toLowerCase().includes('resolution') && + lastMediaNode && lastMediaNode.sourceIndex === valueNode.sourceIndex) { ignoreUnit = true; @@ -39812,7 +37936,12 @@ const imageSet = parsedValue.nodes.find( n => vendor.unprefixed(n.value) === 'image-set'); + + assert(imageSet); + assert('nodes' in imageSet); const imageSetLastNode = imageSet.nodes[imageSet.nodes.length - 1]; + + assert(imageSetLastNode); const imageSetValueLastIndex = imageSetLastNode.sourceIndex; if (imageSetValueLastIndex >= valueNode.sourceIndex) { @@ -39847,15 +37976,14 @@ check(decl, decl.value, declarationValueIndex); }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../reference/keywordSets": 142, "../../utils/atRuleParamIndex": 352, "../../utils/declarationValueIndex": 359, "../../utils/getUnitFromValueNode": 374, "../../utils/isStandardSyntaxAtRule": 408, "../../utils/isStandardSyntaxDeclaration": 412, "../../utils/optionsMatches": 429, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "../../utils/vendor": 444, "postcss-media-query-parser": 46, "postcss-value-parser": 83 }], 341: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../reference/keywordSets": 110, "../../utils/atRuleParamIndex": 326, "../../utils/declarationValueIndex": 333, "../../utils/getUnitFromValueNode": 350, "../../utils/isStandardSyntaxAtRule": 385, "../../utils/isStandardSyntaxDeclaration": 389, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "../../utils/vendor": 422, "postcss-media-query-parser": 24, "postcss-value-parser": 59 }], 314: [function (require, module, exports) { 'use strict'; const declarationValueIndex = require('../../utils/declarationValueIndex'); @@ -39865,12 +37993,12 @@ const isCounterResetCustomIdentValue = require('../../utils/isCounterResetCustomIdentValue'); const isStandardSyntaxValue = require('../../utils/isStandardSyntaxValue'); const keywordSets = require('../../reference/keywordSets'); - const matchesStringOrRegExp = require('../../utils/matchesStringOrRegExp'); + const optionsMatches = require('../../utils/optionsMatches'); const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); const validateOptions = require('../../utils/validateOptions'); const valueParser = require('postcss-value-parser'); - const { isRegExp, isString } = require('../../utils/validateTypes'); + const { isBoolean, isRegExp, isString } = require('../../utils/validateTypes'); const ruleName = 'value-keyword-case'; @@ -39878,6 +38006,10 @@ expected: (actual, expected) => `Expected "${actual}" to be "${expected}"` }); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/value-keyword-case' }; + + // Operators are interpreted as "words" by the value parser, so we want to make sure to ignore them. const ignoredCharacters = new Set(['+', '-', '/', '*', '%']); const gridRowProps = new Set(['grid-row', 'grid-row-start', 'grid-row-end']); @@ -39889,21 +38021,23 @@ mapLowercaseKeywordsToCamelCase.set(func.toLowerCase(), func); } - function rule(expectation, options, context) { + /** @type {import('stylelint').Rule} */ + const rule = (primary, secondaryOptions, context) => { return (root, result) => { const validOptions = validateOptions( result, ruleName, { - actual: expectation, + actual: primary, possible: ['lower', 'upper'] }, { - actual: options, + actual: secondaryOptions, possible: { ignoreProperties: [isString, isRegExp], ignoreKeywords: [isString, isRegExp], - ignoreFunctions: [isString, isRegExp] }, + ignoreFunctions: [isString, isRegExp], + camelCaseSvgKeywords: [isBoolean] }, optional: true }); @@ -39944,12 +38078,9 @@ // ignore keywords within ignoreFunctions functions - const ignoreFunctions = options && options.ignoreFunctions || []; - if ( node.type === 'function' && - ignoreFunctions.length > 0 && - matchesStringOrRegExp(valueLowerCase, ignoreFunctions)) + optionsMatches(secondaryOptions, 'ignoreFunctions', valueLowerCase)) { return false; } @@ -40038,23 +38169,28 @@ return; } - const ignoreKeywords = options && options.ignoreKeywords || []; - const ignoreProperties = options && options.ignoreProperties || []; - - if (ignoreKeywords.length > 0 && matchesStringOrRegExp(keyword, ignoreKeywords)) { + if (optionsMatches(secondaryOptions, 'ignoreKeywords', keyword)) { return; } - if (ignoreProperties.length > 0 && matchesStringOrRegExp(prop, ignoreProperties)) { + if (optionsMatches(secondaryOptions, 'ignoreProperties', prop)) { return; } const keywordLowerCase = keyword.toLocaleLowerCase(); let expectedKeyword = null; - if (expectation === 'lower' && mapLowercaseKeywordsToCamelCase.has(keywordLowerCase)) { + /** @type {boolean} */ + const camelCaseSvgKeywords = + secondaryOptions && secondaryOptions.camelCaseSvgKeywords || false; + + if ( + primary === 'lower' && + mapLowercaseKeywordsToCamelCase.has(keywordLowerCase) && + camelCaseSvgKeywords) + { expectedKeyword = mapLowercaseKeywordsToCamelCase.get(keywordLowerCase); - } else if (expectation === 'lower') { + } else if (primary === 'lower') { expectedKeyword = keyword.toLowerCase(); } else { expectedKeyword = keyword.toUpperCase(); @@ -40085,15 +38221,14 @@ } }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../reference/keywordSets": 142, "../../utils/declarationValueIndex": 359, "../../utils/getDeclarationValue": 366, "../../utils/getUnitFromValueNode": 374, "../../utils/isCounterIncrementCustomIdentValue": 389, "../../utils/isCounterResetCustomIdentValue": 390, "../../utils/isStandardSyntaxValue": 421, "../../utils/matchesStringOrRegExp": 426, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443, "postcss-value-parser": 83 }], 342: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../reference/keywordSets": 110, "../../utils/declarationValueIndex": 333, "../../utils/getDeclarationValue": 341, "../../utils/getUnitFromValueNode": 350, "../../utils/isCounterIncrementCustomIdentValue": 365, "../../utils/isCounterResetCustomIdentValue": 366, "../../utils/isStandardSyntaxValue": 398, "../../utils/optionsMatches": 406, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421, "postcss-value-parser": 59 }], 315: [function (require, module, exports) { 'use strict'; const declarationValueIndex = require('../../utils/declarationValueIndex'); @@ -40112,12 +38247,17 @@ rejectedAfterMultiLine: () => 'Unexpected whitespace after "," in a multi-line list' }); - function rule(expectation, options, context) { - const checker = whitespaceChecker('newline', expectation, messages); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/value-list-comma-newline-after' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, _secondaryOptions, context) => { + const checker = whitespaceChecker('newline', primary, messages); return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: expectation, + actual: primary, possible: ['always', 'always-multi-line', 'never-multi-line'] }); @@ -40125,6 +38265,7 @@ return; } + /** @type {Map | undefined} */ let fixData; valueListCommaWhitespaceChecker({ @@ -40150,7 +38291,7 @@ } : null, determineIndex: (declString, match) => { - const nextChars = declString.substr(match.endIndex, declString.length - match.endIndex); + const nextChars = declString.substring(match.endIndex, declString.length); // If there's a // comment, that means there has to be a newline // ending the comment so we're fine @@ -40173,9 +38314,9 @@ const beforeValue = value.slice(0, valueIndex + 1); let afterValue = value.slice(valueIndex + 1); - if (expectation.startsWith('always')) { + if (primary.startsWith('always')) { afterValue = context.newline + afterValue; - } else if (expectation.startsWith('never-multi-line')) { + } else if (primary.startsWith('never-multi-line')) { afterValue = afterValue.replace(/^\s*/, ''); } @@ -40184,15 +38325,14 @@ } } }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/getDeclarationValue": 366, "../../utils/ruleMessages": 436, "../../utils/setDeclarationValue": 438, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../valueListCommaWhitespaceChecker": 347 }], 343: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/declarationValueIndex": 333, "../../utils/getDeclarationValue": 341, "../../utils/ruleMessages": 413, "../../utils/setDeclarationValue": 415, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../valueListCommaWhitespaceChecker": 320 }], 316: [function (require, module, exports) { 'use strict'; const ruleMessages = require('../../utils/ruleMessages'); @@ -40208,12 +38348,17 @@ rejectedBeforeMultiLine: () => 'Unexpected whitespace before "," in a multi-line list' }); - function rule(expectation) { - const checker = whitespaceChecker('newline', expectation, messages); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/value-list-comma-newline-before' }; + + + /** @type {import('stylelint').Rule} */ + const rule = primary => { + const checker = whitespaceChecker('newline', primary, messages); return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: expectation, + actual: primary, possible: ['always', 'always-multi-line', 'never-multi-line'] }); @@ -40228,15 +38373,14 @@ checkedRuleName: ruleName }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/ruleMessages": 436, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../valueListCommaWhitespaceChecker": 347 }], 344: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/ruleMessages": 413, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../valueListCommaWhitespaceChecker": 320 }], 317: [function (require, module, exports) { 'use strict'; const declarationValueIndex = require('../../utils/declarationValueIndex'); @@ -40256,12 +38400,17 @@ rejectedAfterSingleLine: () => 'Unexpected whitespace after "," in a single-line list' }); - function rule(expectation, options, context) { - const checker = whitespaceChecker('space', expectation, messages); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/value-list-comma-space-after' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, _secondaryOptions, context) => { + const checker = whitespaceChecker('space', primary, messages); return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: expectation, + actual: primary, possible: ['always', 'never', 'always-single-line', 'never-single-line'] }); @@ -40269,6 +38418,7 @@ return; } + /** @type {Map | undefined} */ let fixData; valueListCommaWhitespaceChecker({ @@ -40303,9 +38453,9 @@ const beforeValue = value.slice(0, valueIndex + 1); let afterValue = value.slice(valueIndex + 1); - if (expectation.startsWith('always')) { + if (primary.startsWith('always')) { afterValue = afterValue.replace(/^\s*/, ' '); - } else if (expectation.startsWith('never')) { + } else if (primary.startsWith('never')) { afterValue = afterValue.replace(/^\s*/, ''); } @@ -40314,15 +38464,14 @@ } } }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/getDeclarationValue": 366, "../../utils/ruleMessages": 436, "../../utils/setDeclarationValue": 438, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../valueListCommaWhitespaceChecker": 347 }], 345: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/declarationValueIndex": 333, "../../utils/getDeclarationValue": 341, "../../utils/ruleMessages": 413, "../../utils/setDeclarationValue": 415, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../valueListCommaWhitespaceChecker": 320 }], 318: [function (require, module, exports) { 'use strict'; const declarationValueIndex = require('../../utils/declarationValueIndex'); @@ -40342,12 +38491,17 @@ rejectedBeforeSingleLine: () => 'Unexpected whitespace before "," in a single-line list' }); - function rule(expectation, options, context) { - const checker = whitespaceChecker('space', expectation, messages); + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/value-list-comma-space-before' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, _secondaryOptions, context) => { + const checker = whitespaceChecker('space', primary, messages); return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: expectation, + actual: primary, possible: ['always', 'never', 'always-single-line', 'never-single-line'] }); @@ -40355,6 +38509,7 @@ return; } + /** @type {Map | undefined} */ let fixData; valueListCommaWhitespaceChecker({ @@ -40389,9 +38544,9 @@ let beforeValue = value.slice(0, valueIndex); const afterValue = value.slice(valueIndex); - if (expectation.startsWith('always')) { + if (primary.startsWith('always')) { beforeValue = beforeValue.replace(/\s*$/, ' '); - } else if (expectation.startsWith('never')) { + } else if (primary.startsWith('never')) { beforeValue = beforeValue.replace(/\s*$/, ''); } @@ -40400,15 +38555,14 @@ } } }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/declarationValueIndex": 359, "../../utils/getDeclarationValue": 366, "../../utils/ruleMessages": 436, "../../utils/setDeclarationValue": 438, "../../utils/validateOptions": 442, "../../utils/whitespaceChecker": 445, "../valueListCommaWhitespaceChecker": 347 }], 346: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/declarationValueIndex": 333, "../../utils/getDeclarationValue": 341, "../../utils/ruleMessages": 413, "../../utils/setDeclarationValue": 415, "../../utils/validateOptions": 420, "../../utils/whitespaceChecker": 423, "../valueListCommaWhitespaceChecker": 320 }], 319: [function (require, module, exports) { 'use strict'; const getDeclarationValue = require('../../utils/getDeclarationValue'); @@ -40424,12 +38578,17 @@ expected: max => `Expected no more than ${max} empty ${max === 1 ? 'line' : 'lines'}` }); - function rule(max, options, context) { - const maxAdjacentNewlines = max + 1; + const meta = { + url: 'https://stylelint.io/user-guide/rules/list/value-list-max-empty-lines' }; + + + /** @type {import('stylelint').Rule} */ + const rule = (primary, _secondaryOptions, context) => { + const maxAdjacentNewlines = primary + 1; return (root, result) => { const validOptions = validateOptions(result, ruleName, { - actual: max, + actual: primary, possible: isNumber }); @@ -40453,7 +38612,7 @@ setDeclarationValue(decl, newValueString); } else if (violatedLFNewLinesRegex.test(value) || violatedCRLFNewLinesRegex.test(value)) { report({ - message: messages.expected(max), + message: messages.expected(primary), node: decl, index: 0, result, @@ -40462,15 +38621,14 @@ } }); }; - } + }; rule.ruleName = ruleName; rule.messages = messages; + rule.meta = meta; module.exports = rule; - }, { "../../utils/getDeclarationValue": 366, "../../utils/report": 435, "../../utils/ruleMessages": 436, "../../utils/setDeclarationValue": 438, "../../utils/validateOptions": 442, "../../utils/validateTypes": 443 }], 347: [function (require, module, exports) { - // @ts-nocheck - + }, { "../../utils/getDeclarationValue": 341, "../../utils/report": 412, "../../utils/ruleMessages": 413, "../../utils/setDeclarationValue": 415, "../../utils/validateOptions": 420, "../../utils/validateTypes": 421 }], 320: [function (require, module, exports) { 'use strict'; const isStandardSyntaxDeclaration = require('../utils/isStandardSyntaxDeclaration'); @@ -40478,7 +38636,17 @@ const report = require('../utils/report'); const styleSearch = require('style-search'); - module.exports = function (opts) { + /** + * @param {{ + * root: import('postcss').Root, + * result: import('stylelint').PostcssResult, + * locationChecker: (opts: { source: string, index: number, err: (msg: string) => void }) => void, + * checkedRuleName: string, + * fix?: ((node: import('postcss').Declaration, index: number) => boolean) | null, + * determineIndex?: (declString: string, match: import('style-search').StyleSearchMatch) => number | false, + * }} opts + */ + module.exports = function valueListCommaWhitespaceChecker(opts) { opts.root.walkDecls(decl => { if (!isStandardSyntaxDeclaration(decl) || !isStandardSyntaxProperty(decl.prop)) { return; @@ -40506,17 +38674,23 @@ }); + /** + * @param {string} source + * @param {number} index + * @param {import('postcss').Declaration} node + * @returns {void} + */ function checkComma(source, index, node) { opts.locationChecker({ source, index, - err: m => { + err: message => { if (opts.fix && opts.fix(node, index)) { return; } report({ - message: m, + message, node, index, result: opts.result, @@ -40527,7 +38701,7 @@ } }; - }, { "../utils/isStandardSyntaxDeclaration": 412, "../utils/isStandardSyntaxProperty": 416, "../utils/report": 435, "style-search": 121 }], 348: [function (require, module, exports) { + }, { "../utils/isStandardSyntaxDeclaration": 389, "../utils/isStandardSyntaxProperty": 393, "../utils/report": 412, "style-search": 92 }], 321: [function (require, module, exports) { (function (process) {(function () { 'use strict'; @@ -40547,6 +38721,8 @@ const getFormatterOptionsText = require('./utils/getFormatterOptionsText'); /* const hash = require('./utils/hash'); */ /* const NoFilesFoundError = require('./utils/noFilesFoundError'); */ + const AllFilesIgnoredError = require('./utils/allFilesIgnoredError'); + const { assert } = require('./utils/validateTypes'); /* const pkg = require('../package.json'); */ const prepareReturnValue = require('./prepareReturnValue'); @@ -40719,6 +38895,9 @@ }; const globCWD = effectiveGlobbyOptions.cwd; let filePaths = await globby(fileList, effectiveGlobbyOptions); + // Record the length of filePaths before ignore operation + // Prevent prompting "No files matching the pattern 'xx' were found." when .stylelintignore ignore all input files + const filePathsLengthBeforeIgnore = filePaths.length; // The ignorer filter needs to check paths relative to cwd filePaths = filterFilePaths( ignorer, @@ -40772,6 +38951,9 @@ stylelintResults = await Promise.all(getStylelintResults); } else if (allowEmptyInput) { stylelintResults = await Promise.all([]); + } else if (filePathsLengthBeforeIgnore) { + // All input files ignored + stylelintResults = await Promise.reject(new AllFilesIgnoredError()); } else { stylelintResults = await Promise.reject(new NoFilesFoundError(fileList)); } @@ -40813,24 +38995,25 @@ * @returns {Formatter} */ function getFormatterFunction(selected) { - /** @type {Formatter} */ - let formatterFunction; - if (typeof selected === 'string') { - formatterFunction = formatters[selected]; + const formatterFunction = formatters[selected]; if (formatterFunction === undefined) { throw new Error( `You must use a valid formatter option: ${getFormatterOptionsText()} or a function`); } - } else if (typeof selected === 'function') { - formatterFunction = selected; - } else { - formatterFunction = formatters.json; + + return formatterFunction; + } + + if (typeof selected === 'function') { + return selected; } - return formatterFunction; + assert(formatters.json); + + return formatters.json; } /** @@ -40850,7 +39033,7 @@ module.exports = /** @type {typeof import('stylelint').lint} */standalone; }).call(this);}).call(this, require('_process')); - }, { "./createStylelint": 125, "./createStylelintResult": 126, "./formatters": 129, "./prepareReturnValue": 141, "./utils/getFileIgnorer": 367, "./utils/getFormatterOptionsText": 368, "_process": 115 }], 349: [function (require, module, exports) { + }, { "./createStylelint": 96, "./createStylelintResult": 97, "./formatters": 99, "./prepareReturnValue": 109, "./utils/allFilesIgnoredError": 324, "./utils/getFileIgnorer": 342, "./utils/getFormatterOptionsText": 343, "./utils/validateTypes": 421, "_process": 91 }], 322: [function (require, module, exports) { 'use strict'; /** @@ -40880,7 +39063,7 @@ return node; }; - }, {}], 350: [function (require, module, exports) { + }, {}], 323: [function (require, module, exports) { 'use strict'; /** @@ -40905,7 +39088,20 @@ return node; }; - }, {}], 351: [function (require, module, exports) { + }, {}], 324: [function (require, module, exports) { + 'use strict'; + + class AllFilesIgnoredError extends Error { + constructor() { + super(); + + this.message = `All input files were ignored because of the ignore pattern. Either change your input, ignore pattern or use "--allow-empty-input" to allow no inputs`; + }} + + + module.exports = AllFilesIgnoredError; + + }, {}], 325: [function (require, module, exports) { 'use strict'; /** @@ -40923,7 +39119,7 @@ return a.every((elem, index) => elem === b[index]); }; - }, {}], 352: [function (require, module, exports) { + }, {}], 326: [function (require, module, exports) { 'use strict'; /** @@ -40941,7 +39137,7 @@ return index; }; - }, {}], 353: [function (require, module, exports) { + }, {}], 327: [function (require, module, exports) { 'use strict'; const { isAtRule, isRule } = require('./typeGuards'); @@ -40972,7 +39168,7 @@ return result; }; - }, { "./typeGuards": 440 }], 354: [function (require, module, exports) { + }, { "./typeGuards": 417 }], 328: [function (require, module, exports) { 'use strict'; const beforeBlockString = require('./beforeBlockString'); @@ -40995,7 +39191,7 @@ return rawNodeString(statement).slice(beforeBlockString(statement).length); }; - }, { "./beforeBlockString": 353, "./hasBlock": 375, "./rawNodeString": 432 }], 355: [function (require, module, exports) { + }, { "./beforeBlockString": 327, "./hasBlock": 351, "./rawNodeString": 409 }], 329: [function (require, module, exports) { 'use strict'; /** @@ -41007,7 +39203,7 @@ return source.replace(/[#@{}]+/g, blurChar); }; - }, {}], 356: [function (require, module, exports) { + }, {}], 330: [function (require, module, exports) { 'use strict'; const normalizeRuleSettings = require('../normalizeRuleSettings'); @@ -41037,8 +39233,9 @@ if (!options.ruleName) throw new Error("checkAgainstRule requires a 'ruleName' option"); - if (!Object.keys(rules).includes(options.ruleName)) - throw new Error(`Rule '${options.ruleName}' does not exist`); + const rule = rules[options.ruleName]; + + if (!rule) throw new Error(`Rule '${options.ruleName}' does not exist`); if (!options.ruleSettings) throw new Error("checkAgainstRule requires a 'ruleSettings' option"); @@ -41053,11 +39250,7 @@ // @ts-expect-error - this error should not occur with PostCSS 8 const tmpPostcssResult = new Result(); - rules[options.ruleName]( - settings[0], - /** @type {O} */settings[1], - {})( - options.root, tmpPostcssResult); + rule(settings[0], /** @type {O} */settings[1], {})(options.root, tmpPostcssResult); for (const warning of tmpPostcssResult.warnings()) callback(warning); } @@ -41066,7 +39259,7 @@ checkAgainstRule; - }, { "../normalizeRuleSettings": 139, "../rules": 237, "postcss/lib/result": 106 }], 357: [function (require, module, exports) { + }, { "../normalizeRuleSettings": 107, "../rules": 208, "postcss/lib/result": 82 }], 331: [function (require, module, exports) { 'use strict'; /** @typedef {import('stylelint').ConfigurationError} ConfigurationError */ @@ -41084,12 +39277,12 @@ return err; }; - }, {}], 358: [function (require, module, exports) { + }, {}], 332: [function (require, module, exports) { 'use strict'; const { isString } = require('./validateTypes'); - /** @typedef {false | { match: string, pattern: string }} ReturnValue */ + /** @typedef {false | { match: string, pattern: string, substring: string }} ReturnValue */ /** * Checks if a string contains a value. The comparison value can be a string or @@ -41098,9 +39291,9 @@ * Any strings starting and ending with `/` are ignored. Use the * matchesStringOrRegExp() util to match regexes. * + * @template {unknown} T * @param {string} input - * @param {string | string[]} comparison - * + * @param {T | T[]} comparison * @returns {ReturnValue} */ module.exports = function containsString(input, comparison) { @@ -41120,10 +39313,8 @@ }; /** - * * @param {string} value - * @param {string} comparison - * + * @param {unknown} comparison * @returns {ReturnValue} */ function testAgainstString(value, comparison) { @@ -41136,13 +39327,13 @@ } if (value.includes(comparison)) { - return { match: value, pattern: comparison }; + return { match: value, pattern: comparison, substring: comparison }; } return false; } - }, { "./validateTypes": 443 }], 359: [function (require, module, exports) { + }, { "./validateTypes": 421 }], 333: [function (require, module, exports) { 'use strict'; /** @@ -41155,14 +39346,14 @@ const raws = decl.raws; return [ - // @ts-expect-error -- TODO TYPES `prop` is missing + // @ts-expect-error -- TS2571: Object is of type 'unknown'. raws.prop && raws.prop.prefix, - // @ts-expect-error -- TODO TYPES `prop` is missing + // @ts-expect-error -- TS2571: Object is of type 'unknown'. raws.prop && raws.prop.raw || decl.prop, - // @ts-expect-error -- TODO TYPES `prop` is missing + // @ts-expect-error -- TS2571: Object is of type 'unknown'. raws.prop && raws.prop.suffix, raws.between || ':', - // @ts-expect-error -- TODO TYPES `prefix` is missing + // @ts-expect-error -- TS2339: Property 'prefix' does not exist on type '{ value: string; raw: string; }'. raws.value && raws.value.prefix]. reduce((count, str) => { if (str) { @@ -41173,7 +39364,7 @@ }, 0); }; - }, {}], 360: [function (require, module, exports) { + }, {}], 334: [function (require, module, exports) { 'use strict'; const { isRoot, isAtRule, isRule } = require('./typeGuards'); @@ -41236,7 +39427,7 @@ each(root); }; - }, { "./typeGuards": 440 }], 361: [function (require, module, exports) { + }, { "./typeGuards": 417 }], 335: [function (require, module, exports) { 'use strict'; const getUnitFromValueNode = require('./getUnitFromValueNode'); @@ -41259,13 +39450,15 @@ const animationNames = []; const valueNodes = postcssValueParser(value); + const { nodes } = valueNodes; // Handle `inherit`, `initial` and etc if ( - valueNodes.nodes.length === 1 && - keywordSets.basicKeywords.has(valueNodes.nodes[0].value.toLowerCase())) + nodes.length === 1 && + nodes[0] && + keywordSets.basicKeywords.has(nodes[0].value.toLowerCase())) { - return [valueNodes.nodes[0]]; + return [nodes[0]]; } valueNodes.walk(valueNode => { @@ -41307,7 +39500,7 @@ return animationNames; }; - }, { "../reference/keywordSets": 142, "./getUnitFromValueNode": 374, "./isStandardSyntaxValue": 421, "./isVariable": 424, "postcss-value-parser": 83 }], 362: [function (require, module, exports) { + }, { "../reference/keywordSets": 110, "./getUnitFromValueNode": 350, "./isStandardSyntaxValue": 398, "./isVariable": 401, "postcss-value-parser": 59 }], 336: [function (require, module, exports) { 'use strict'; const { isAtRule, isRule } = require('./typeGuards'); @@ -41338,15 +39531,17 @@ return null; }; - }, { "./typeGuards": 440 }], 363: [function (require, module, exports) { + }, { "./typeGuards": 417 }], 337: [function (require, module, exports) { 'use strict'; + const postcssValueParser = require('postcss-value-parser'); + const isNumbery = require('./isNumbery'); const isStandardSyntaxValue = require('./isStandardSyntaxValue'); const isValidFontSize = require('./isValidFontSize'); const isVariable = require('./isVariable'); + const { assert } = require('./validateTypes'); const keywordSets = require('../reference/keywordSets'); - const postcssValueParser = require('postcss-value-parser'); const nodeTypesToCheck = new Set(['word', 'string', 'space', 'div']); @@ -41377,13 +39572,15 @@ const fontFamilies = []; const valueNodes = postcssValueParser(value); + const { nodes: children } = valueNodes; // Handle `inherit`, `initial` and etc if ( - valueNodes.nodes.length === 1 && - keywordSets.basicKeywords.has(valueNodes.nodes[0].value.toLowerCase())) + children.length === 1 && + children[0] && + keywordSets.basicKeywords.has(children[0].value.toLowerCase())) { - return [valueNodes.nodes[0]]; + return [children[0]]; } let needMergeNodesByValue = false; @@ -41424,13 +39621,11 @@ return; } + const prevNode = nodes[index - 1]; + const prevPrevNode = nodes[index - 2]; + // Ignore anything come after a /, because it's a line-height - if ( - nodes[index - 1] && - nodes[index - 1].value === '/' && - nodes[index - 2] && - isValidFontSize(nodes[index - 2].value)) - { + if (prevNode && prevNode.value === '/' && prevPrevNode && isValidFontSize(prevPrevNode.value)) { return; } @@ -41457,7 +39652,10 @@ const fontFamily = valueNode; if (needMergeNodesByValue) { - joinValueNodes(fontFamilies[fontFamilies.length - 1], valueNode, mergeCharacters); + const lastFontFamily = fontFamilies[fontFamilies.length - 1]; + + assert(lastFontFamily); + joinValueNodes(lastFontFamily, fontFamily, mergeCharacters); needMergeNodesByValue = false; mergeCharacters = null; } else { @@ -41468,11 +39666,31 @@ return fontFamilies; }; - }, { "../reference/keywordSets": 142, "./isNumbery": 401, "./isStandardSyntaxValue": 421, "./isValidFontSize": 422, "./isVariable": 424, "postcss-value-parser": 83 }], 364: [function (require, module, exports) { + }, { "../reference/keywordSets": 110, "./isNumbery": 378, "./isStandardSyntaxValue": 398, "./isValidFontSize": 399, "./isVariable": 401, "./validateTypes": 421, "postcss-value-parser": 59 }], 338: [function (require, module, exports) { + 'use strict'; + + /** + * Convert the specified value to an array. If an array is specified, the array is returned as-is. + * + * @template T + * @param {T | T[] | undefined | null} value + * @returns {T[] | undefined} + */ + module.exports = function flattenArray(value) { + if (value == null) { + return; + } + + return Array.isArray(value) ? value : [value]; + }; + + }, {}], 339: [function (require, module, exports) { 'use strict'; const balancedMatch = require('balanced-match'); - const styleSearch = require('style-search'); + const valueParser = require('postcss-value-parser'); + + const { assert, isString, isRegExp } = require('./validateTypes'); /** * Search a CSS string for functions by name. @@ -41485,33 +39703,33 @@ * as the arguments. * * @param {string} source - * @param {string} functionName + * @param {string | RegExp} functionName * @param {(expression: string, expressionIndex: number) => void} callback + * @returns {void} */ module.exports = function functionArgumentsSearch(source, functionName, callback) { - styleSearch( - { - source, - target: functionName, - functionNames: 'check' }, + valueParser(source).walk(node => { + if (node.type !== 'function') return; - match => { - if (source[match.endIndex] !== '(') { - return; - } + const { value } = node; - const parensMatch = balancedMatch('(', ')', source.substr(match.startIndex)); + if (isString(functionName) && value !== functionName) return; - if (!parensMatch) { - throw new Error(`No parens match: "${source}"`); - } + if (isRegExp(functionName) && !functionName.test(node.value)) return; - callback(parensMatch.body, match.endIndex + 1); - }); + const parensMatch = balancedMatch('(', ')', source.slice(node.sourceIndex)); + + assert(parensMatch); + const expression = parensMatch.body; + const parenLength = 1; // == '(' + const expressionIndex = node.sourceIndex + value.length + parenLength; + + callback(expression, expressionIndex); + }); }; - }, { "balanced-match": 447, "style-search": 121 }], 365: [function (require, module, exports) { + }, { "./validateTypes": 421, "balanced-match": 425, "postcss-value-parser": 59 }], 340: [function (require, module, exports) { 'use strict'; /** @@ -41524,7 +39742,7 @@ return raws.params && raws.params.raw || atRule.params; }; - }, {}], 366: [function (require, module, exports) { + }, {}], 341: [function (require, module, exports) { 'use strict'; /** @@ -41537,7 +39755,7 @@ return raws.value && raws.value.raw || decl.value; }; - }, {}], 367: [function (require, module, exports) { + }, {}], 342: [function (require, module, exports) { 'use strict'; // Try to get file ignorer from '.stylelintignore' @@ -41573,7 +39791,7 @@ add(options.ignorePattern || []); }; - }, { "./isPathNotFoundError": 403, "fs": 5, "ignore": 30, "path": 44 }], 368: [function (require, module, exports) { + }, { "./isPathNotFoundError": 380, "fs": 1, "ignore": 15, "path": 22 }], 343: [function (require, module, exports) { 'use strict'; const formatters = require('../formatters'); @@ -41594,7 +39812,26 @@ return output; }; - }, { "../formatters": 129 }], 369: [function (require, module, exports) { + }, { "../formatters": 99 }], 344: [function (require, module, exports) { + 'use strict'; + + /** + * Returns a position of `!important` (or `! important` including whitespaces) + * from the specified CSS source code. If not found, returns `undefined`. + * + * @param {string} source + * @returns {{ index: number, endIndex: number } | undefined} + */ + module.exports = function getImportantPosition(source) { + const pattern = /!\s*important\b/gi; + const match = pattern.exec(source); + + if (!match) return; + + return { index: match.index, endIndex: pattern.lastIndex }; + }; + + }, {}], 345: [function (require, module, exports) { 'use strict'; /** @typedef {import('postcss').Node} Node */ @@ -41632,7 +39869,7 @@ return nextNode; }; - }, {}], 370: [function (require, module, exports) { + }, {}], 346: [function (require, module, exports) { 'use strict'; const os = require('os'); @@ -41645,7 +39882,7 @@ module.exports = getOsEl; - }, { "os": 43 }], 371: [function (require, module, exports) { + }, { "os": 1 }], 347: [function (require, module, exports) { 'use strict'; /** @typedef {import('postcss').Node} Node */ @@ -41685,7 +39922,7 @@ return previousNode; }; - }, {}], 372: [function (require, module, exports) { + }, {}], 348: [function (require, module, exports) { 'use strict'; /** @@ -41698,7 +39935,7 @@ return raws.selector && raws.selector.raw || ruleNode.selector; }; - }, {}], 373: [function (require, module, exports) { + }, {}], 349: [function (require, module, exports) { 'use strict'; const { URL } = require('url'); @@ -41715,7 +39952,7 @@ try { protocol = new URL(urlString).protocol; - } catch (_unused2) { + } catch (_unused) { return null; } @@ -41739,7 +39976,7 @@ return scheme; }; - }, { "url": 450 }], 374: [function (require, module, exports) { + }, { "url": 1 }], 350: [function (require, module, exports) { 'use strict'; const blurInterpolation = require('./blurInterpolation'); @@ -41790,7 +40027,7 @@ return parsedUnit.unit; }; - }, { "./blurInterpolation": 355, "./isStandardSyntaxValue": 421, "postcss-value-parser": 83 }], 375: [function (require, module, exports) { + }, { "./blurInterpolation": 329, "./isStandardSyntaxValue": 398, "postcss-value-parser": 59 }], 351: [function (require, module, exports) { 'use strict'; /** @@ -41803,7 +40040,7 @@ return statement.nodes !== undefined; }; - }, {}], 376: [function (require, module, exports) { + }, {}], 352: [function (require, module, exports) { 'use strict'; /** @@ -41818,7 +40055,7 @@ ); // and is empty }; - }, {}], 377: [function (require, module, exports) { + }, {}], 353: [function (require, module, exports) { 'use strict'; /** @@ -41833,7 +40070,7 @@ return /\n[\r\t ]*\n/.test(string); }; - }, {}], 378: [function (require, module, exports) { + }, {}], 354: [function (require, module, exports) { 'use strict'; const hasLessInterpolation = require('../utils/hasLessInterpolation'); @@ -41861,7 +40098,7 @@ return false; }; - }, { "../utils/hasLessInterpolation": 379, "../utils/hasPsvInterpolation": 380, "../utils/hasScssInterpolation": 381, "../utils/hasTplInterpolation": 382 }], 379: [function (require, module, exports) { + }, { "../utils/hasLessInterpolation": 355, "../utils/hasPsvInterpolation": 356, "../utils/hasScssInterpolation": 357, "../utils/hasTplInterpolation": 358 }], 355: [function (require, module, exports) { 'use strict'; /** @@ -41874,7 +40111,7 @@ return /@\{.+?\}/.test(string); }; - }, {}], 380: [function (require, module, exports) { + }, {}], 356: [function (require, module, exports) { 'use strict'; /** @@ -41886,7 +40123,7 @@ return /\$\(.+?\)/.test(string); }; - }, {}], 381: [function (require, module, exports) { + }, {}], 357: [function (require, module, exports) { 'use strict'; /** @@ -41898,7 +40135,7 @@ return /#\{.+?\}/.test(string); }; - }, {}], 382: [function (require, module, exports) { + }, {}], 358: [function (require, module, exports) { 'use strict'; /** @@ -41911,7 +40148,7 @@ return /\{.+?\}/.test(string); }; - }, {}], 383: [function (require, module, exports) { + }, {}], 359: [function (require, module, exports) { 'use strict'; const isSharedLineComment = require('./isSharedLineComment'); @@ -41929,7 +40166,7 @@ return !isSharedLineComment(previousNode); }; - }, { "./isSharedLineComment": 406 }], 384: [function (require, module, exports) { + }, { "./isSharedLineComment": 383 }], 360: [function (require, module, exports) { 'use strict'; const isSharedLineComment = require('./isSharedLineComment'); @@ -41953,7 +40190,7 @@ module.exports = isAfterSingleLineComment; - }, { "./isSharedLineComment": 406 }], 385: [function (require, module, exports) { + }, { "./isSharedLineComment": 383 }], 361: [function (require, module, exports) { 'use strict'; const getPreviousNonSharedLineCommentNode = require('./getPreviousNonSharedLineCommentNode'); @@ -41975,7 +40212,7 @@ }; - }, { "./getPreviousNonSharedLineCommentNode": 371, "./isCustomProperty": 393, "./isStandardSyntaxDeclaration": 412, "./typeGuards": 440 }], 386: [function (require, module, exports) { + }, { "./getPreviousNonSharedLineCommentNode": 347, "./isCustomProperty": 370, "./isStandardSyntaxDeclaration": 389, "./typeGuards": 417 }], 362: [function (require, module, exports) { 'use strict'; const getPreviousNonSharedLineCommentNode = require('./getPreviousNonSharedLineCommentNode'); @@ -42000,7 +40237,7 @@ return isAtRule(previousNode) && !hasBlock(previousNode) && !hasBlock(atRule); }; - }, { "./getPreviousNonSharedLineCommentNode": 371, "./hasBlock": 375, "./typeGuards": 440 }], 387: [function (require, module, exports) { + }, { "./getPreviousNonSharedLineCommentNode": 347, "./hasBlock": 351, "./typeGuards": 417 }], 363: [function (require, module, exports) { 'use strict'; const getPreviousNonSharedLineCommentNode = require('./getPreviousNonSharedLineCommentNode'); @@ -42025,7 +40262,7 @@ return false; }; - }, { "./getPreviousNonSharedLineCommentNode": 371, "./isBlocklessAtRuleAfterBlocklessAtRule": 386, "./typeGuards": 440 }], 388: [function (require, module, exports) { + }, { "./getPreviousNonSharedLineCommentNode": 347, "./isBlocklessAtRuleAfterBlocklessAtRule": 362, "./typeGuards": 417 }], 364: [function (require, module, exports) { 'use strict'; const keywordSets = require('../reference/keywordSets'); @@ -42034,8 +40271,8 @@ * Check whether a node is a context-functional pseudo-class (i.e. either a logical combination * or a 'aNPlusBOfSNotationPseudoClasses' / tree-structural pseudo-class) * - * @param {import('postcss-selector-parser').Pseudo} node postcss-selector-parser node (of type pseudo) - * @return {boolean} If `true`, the node is a context-functional pseudo-class + * @param {import('postcss-selector-parser').Node} node - postcss-selector-parser node (of type pseudo) + * @return {node is import('postcss-selector-parser').Pseudo} If `true`, the node is a context-functional pseudo-class */ module.exports = function isContextFunctionalPseudoClass(node) { if (node.type === 'pseudo') { @@ -42050,7 +40287,7 @@ return false; }; - }, { "../reference/keywordSets": 142 }], 389: [function (require, module, exports) { + }, { "../reference/keywordSets": 110 }], 365: [function (require, module, exports) { 'use strict'; const keywordSets = require('../reference/keywordSets'); @@ -42073,7 +40310,7 @@ return true; }; - }, { "../reference/keywordSets": 142 }], 390: [function (require, module, exports) { + }, { "../reference/keywordSets": 110 }], 366: [function (require, module, exports) { 'use strict'; const keywordSets = require('../reference/keywordSets'); @@ -42096,10 +40333,9 @@ return true; }; - }, { "../reference/keywordSets": 142 }], 391: [function (require, module, exports) { + }, { "../reference/keywordSets": 110 }], 367: [function (require, module, exports) { 'use strict'; - const htmlTags = require('html-tags'); const keywordSets = require('../reference/keywordSets'); const mathMLTags = require('mathml-tag-names'); const svgTags = require('svg-tags'); @@ -42129,7 +40365,7 @@ return false; } - if (htmlTags.includes(selectorLowerCase)) { + if (keywordSets.standardHtmlTags.has(selectorLowerCase)) { return false; } @@ -42144,7 +40380,20 @@ return true; }; - }, { "../reference/keywordSets": 142, "html-tags": 28, "mathml-tag-names": 40, "svg-tags": 448 }], 392: [function (require, module, exports) { + }, { "../reference/keywordSets": 110, "mathml-tag-names": 20, "svg-tags": 434 }], 368: [function (require, module, exports) { + 'use strict'; + + /** + * Check whether a function is custom / user-defined + * https://github.com/w3c/css-houdini-drafts/issues/1007 + * @param {string} func + * @returns {boolean} + */ + module.exports = function (func) { + return func.startsWith('--'); + }; + + }, {}], 369: [function (require, module, exports) { 'use strict'; /** @@ -42156,7 +40405,7 @@ return mediaQuery.startsWith('--'); }; - }, {}], 393: [function (require, module, exports) { + }, {}], 370: [function (require, module, exports) { 'use strict'; /** @@ -42168,7 +40417,7 @@ return property.startsWith('--'); }; - }, {}], 394: [function (require, module, exports) { + }, {}], 371: [function (require, module, exports) { 'use strict'; /** @@ -42181,7 +40430,7 @@ return selector.startsWith(':--'); }; - }, {}], 395: [function (require, module, exports) { + }, {}], 372: [function (require, module, exports) { 'use strict'; const { isComment, hasSource } = require('./typeGuards'); @@ -42214,6 +40463,10 @@ const firstNode = parentNodes[0]; + if (!firstNode) { + return false; + } + if ( !isComment(firstNode) || typeof firstNode.raws.before === 'string' && firstNode.raws.before.includes('\n')) @@ -42231,8 +40484,10 @@ return false; } - for (let i = 1; i < parentNodes.length; i++) { - const node = parentNodes[i]; + for (const [index, node] of parentNodes.entries()) { + if (index === 0) { + continue; + } if (node === statement) { return true; @@ -42250,7 +40505,7 @@ return false; }; - }, { "./typeGuards": 440 }], 396: [function (require, module, exports) { + }, { "./typeGuards": 417 }], 373: [function (require, module, exports) { 'use strict'; const { isRoot } = require('./typeGuards'); @@ -42271,7 +40526,7 @@ return isRoot(parentNode) && node === parentNode.first; }; - }, { "./typeGuards": 440 }], 397: [function (require, module, exports) { + }, { "./typeGuards": 417 }], 374: [function (require, module, exports) { 'use strict'; const { isAtRule } = require('./typeGuards'); @@ -42292,7 +40547,7 @@ return isAtRule(parent) && parent.name.toLowerCase() === 'keyframes'; }; - }, { "./typeGuards": 440 }], 398: [function (require, module, exports) { + }, { "./typeGuards": 417 }], 375: [function (require, module, exports) { 'use strict'; const keywordSets = require('../reference/keywordSets'); @@ -42316,7 +40571,7 @@ return false; }; - }, { "../reference/keywordSets": 142 }], 399: [function (require, module, exports) { + }, { "../reference/keywordSets": 110 }], 376: [function (require, module, exports) { 'use strict'; const MATH_FUNCTIONS = require('../reference/mathFunctions'); @@ -42331,7 +40586,7 @@ return node.type === 'function' && MATH_FUNCTIONS.includes(node.value.toLowerCase()); }; - }, { "../reference/mathFunctions": 143 }], 400: [function (require, module, exports) { + }, { "../reference/mathFunctions": 111 }], 377: [function (require, module, exports) { 'use strict'; /** @@ -42341,7 +40596,7 @@ return Number.isInteger(value) && typeof value === 'number' && value >= 0; }; - }, {}], 401: [function (require, module, exports) { + }, {}], 378: [function (require, module, exports) { 'use strict'; /** @@ -42356,7 +40611,7 @@ /* eslint-enable eqeqeq */ }; - }, {}], 402: [function (require, module, exports) { + }, {}], 379: [function (require, module, exports) { 'use strict'; const isWhitespace = require('./isWhitespace'); @@ -42380,7 +40635,7 @@ return isOnlyWhitespace; }; - }, { "./isWhitespace": 425 }], 403: [function (require, module, exports) { + }, { "./isWhitespace": 402 }], 380: [function (require, module, exports) { 'use strict'; const util = require('util'); @@ -42394,7 +40649,7 @@ return util.types.isNativeError(error) && error.code === 'ENOENT'; }; - }, { "util": 455 }], 404: [function (require, module, exports) { + }, { "util": 1 }], 381: [function (require, module, exports) { 'use strict'; /** @@ -42407,7 +40662,7 @@ return mediaFeature.includes('=') || mediaFeature.includes('<') || mediaFeature.includes('>'); }; - }, {}], 405: [function (require, module, exports) { + }, {}], 382: [function (require, module, exports) { 'use strict'; /** @@ -42430,7 +40685,7 @@ return false; }; - }, {}], 406: [function (require, module, exports) { + }, {}], 383: [function (require, module, exports) { 'use strict'; const getNextNonSharedLineCommentNode = require('./getNextNonSharedLineCommentNode'); @@ -42488,7 +40743,7 @@ return false; }; - }, { "./getNextNonSharedLineCommentNode": 369, "./getPreviousNonSharedLineCommentNode": 371, "./typeGuards": 440 }], 407: [function (require, module, exports) { + }, { "./getNextNonSharedLineCommentNode": 345, "./getPreviousNonSharedLineCommentNode": 347, "./typeGuards": 417 }], 384: [function (require, module, exports) { 'use strict'; /** @@ -42502,7 +40757,7 @@ return !/[\n\r]/.test(input); }; - }, {}], 408: [function (require, module, exports) { + }, {}], 385: [function (require, module, exports) { 'use strict'; /** @@ -42533,7 +40788,7 @@ return true; }; - }, {}], 409: [function (require, module, exports) { + }, {}], 386: [function (require, module, exports) { 'use strict'; const isStandardSyntaxFunction = require('./isStandardSyntaxFunction'); @@ -42558,7 +40813,7 @@ return true; }; - }, { "./isStandardSyntaxFunction": 413 }], 410: [function (require, module, exports) { + }, { "./isStandardSyntaxFunction": 390 }], 387: [function (require, module, exports) { 'use strict'; /** @@ -42594,7 +40849,7 @@ return true; }; - }, {}], 411: [function (require, module, exports) { + }, {}], 388: [function (require, module, exports) { 'use strict'; /** @@ -42611,7 +40866,7 @@ return true; }; - }, {}], 412: [function (require, module, exports) { + }, {}], 389: [function (require, module, exports) { 'use strict'; const isScssVariable = require('./isScssVariable'); @@ -42690,7 +40945,7 @@ return true; }; - }, { "./isScssVariable": 405, "./typeGuards": 440 }], 413: [function (require, module, exports) { + }, { "./isScssVariable": 382, "./typeGuards": 417 }], 390: [function (require, module, exports) { 'use strict'; /** @@ -42705,10 +40960,14 @@ return false; } + if (node.value.startsWith('#{')) { + return false; + } + return true; }; - }, {}], 414: [function (require, module, exports) { + }, {}], 391: [function (require, module, exports) { 'use strict'; /** @@ -42726,7 +40985,7 @@ return true; }; - }, {}], 415: [function (require, module, exports) { + }, {}], 392: [function (require, module, exports) { 'use strict'; /** @@ -42744,7 +41003,7 @@ return true; }; - }, {}], 416: [function (require, module, exports) { + }, {}], 393: [function (require, module, exports) { 'use strict'; const hasInterpolation = require('../utils/hasInterpolation'); @@ -42780,7 +41039,7 @@ return true; }; - }, { "../utils/hasInterpolation": 378, "./isScssVariable": 405 }], 417: [function (require, module, exports) { + }, { "../utils/hasInterpolation": 354, "./isScssVariable": 382 }], 394: [function (require, module, exports) { 'use strict'; const isStandardSyntaxSelector = require('../utils/isStandardSyntaxSelector'); @@ -42808,7 +41067,7 @@ return true; }; - }, { "../utils/isStandardSyntaxSelector": 418 }], 418: [function (require, module, exports) { + }, { "../utils/isStandardSyntaxSelector": 395 }], 395: [function (require, module, exports) { 'use strict'; const hasInterpolation = require('../utils/hasInterpolation'); @@ -42860,10 +41119,15 @@ return false; } + // SCSS and Less comments + if (selector.includes('//')) { + return false; + } + return true; }; - }, { "../utils/hasInterpolation": 378 }], 419: [function (require, module, exports) { + }, { "../utils/hasInterpolation": 354 }], 396: [function (require, module, exports) { 'use strict'; const keywordSets = require('../reference/keywordSets'); @@ -42918,7 +41182,7 @@ return true; }; - }, { "../reference/keywordSets": 142 }], 420: [function (require, module, exports) { + }, { "../reference/keywordSets": 110 }], 397: [function (require, module, exports) { 'use strict'; const hasLessInterpolation = require('../utils/hasLessInterpolation'); @@ -42968,7 +41232,7 @@ return true; }; - }, { "../utils/hasLessInterpolation": 379, "../utils/hasPsvInterpolation": 380, "../utils/hasScssInterpolation": 381, "../utils/hasTplInterpolation": 382 }], 421: [function (require, module, exports) { + }, { "../utils/hasLessInterpolation": 355, "../utils/hasPsvInterpolation": 356, "../utils/hasScssInterpolation": 357, "../utils/hasTplInterpolation": 358 }], 398: [function (require, module, exports) { 'use strict'; const hasInterpolation = require('../utils/hasInterpolation'); @@ -42983,7 +41247,7 @@ let normalizedValue = value; // Ignore operators before variables (example -$variable) - if (/^[-+*/]/.test(value[0])) { + if (/^[-+*/]/.test(value.charAt(0))) { normalizedValue = normalizedValue.slice(1); } @@ -43017,7 +41281,7 @@ return true; }; - }, { "../utils/hasInterpolation": 378 }], 422: [function (require, module, exports) { + }, { "../utils/hasInterpolation": 354 }], 399: [function (require, module, exports) { 'use strict'; const keywordSets = require('../reference/keywordSets'); @@ -43057,7 +41321,7 @@ return false; }; - }, { "../reference/keywordSets": 142, "postcss-value-parser": 83 }], 423: [function (require, module, exports) { + }, { "../reference/keywordSets": 110, "postcss-value-parser": 59 }], 400: [function (require, module, exports) { 'use strict'; /** @@ -43070,7 +41334,7 @@ return /^#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(value); }; - }, {}], 424: [function (require, module, exports) { + }, {}], 401: [function (require, module, exports) { 'use strict'; /** @@ -43083,7 +41347,7 @@ return word.toLowerCase().startsWith('var('); }; - }, {}], 425: [function (require, module, exports) { + }, {}], 402: [function (require, module, exports) { 'use strict'; /** @@ -43096,7 +41360,7 @@ return [' ', '\n', '\t', '\r', '\f'].includes(char); }; - }, {}], 426: [function (require, module, exports) { + }, {}], 403: [function (require, module, exports) { 'use strict'; /** @@ -43107,10 +41371,10 @@ * Any strings starting and ending with `/` are interpreted * as regular expressions. * - * @param {string} input + * @param {string | Array} input * @param {string | RegExp | Array} comparison * - * @returns {false | {match: string, pattern: (string | RegExp) }} + * @returns {false | {match: string, pattern: (string | RegExp), substring: string}} */ module.exports = function matchesStringOrRegExp(input, comparison) { if (!Array.isArray(input)) { @@ -43155,7 +41419,9 @@ function testAgainstStringOrRegExp(value, comparison) { // If it's a RegExp, test directly if (comparison instanceof RegExp) { - return comparison.test(value) ? { match: value, pattern: comparison } : false; + const match = value.match(comparison); + + return match ? { match: value, pattern: comparison, substring: match[0] || '' } : false; } // Check if it's RegExp in a string @@ -43172,18 +41438,20 @@ // If so, create a new RegExp from it if (comparisonIsRegex) { - const valueMatches = hasCaseInsensitiveFlag ? - new RegExp(comparison.slice(1, -2), 'i').test(value) : - new RegExp(comparison.slice(1, -1)).test(value); + const valueMatch = hasCaseInsensitiveFlag ? + value.match(new RegExp(comparison.slice(1, -2), 'i')) : + value.match(new RegExp(comparison.slice(1, -1))); - return valueMatches ? { match: value, pattern: comparison } : false; + return valueMatch ? + { match: value, pattern: comparison, substring: valueMatch[0] || '' } : + false; } // Otherwise, it's a string. Do a strict comparison - return value === comparison ? { match: value, pattern: comparison } : false; + return value === comparison ? { match: value, pattern: comparison, substring: value } : false; } - }, {}], 427: [function (require, module, exports) { + }, {}], 404: [function (require, module, exports) { 'use strict'; /** @typedef {import('postcss').Node} PostcssNode */ @@ -43205,7 +41473,7 @@ return startNode; }; - }, {}], 428: [function (require, module, exports) { + }, {}], 405: [function (require, module, exports) { 'use strict'; /** @@ -43239,7 +41507,6 @@ }; /** - * TODO TYPES * @param {Map} someMap * @param {any} someThing */ @@ -43251,7 +41518,7 @@ return someMap.get(someThing); } - }, {}], 429: [function (require, module, exports) { + }, {}], 406: [function (require, module, exports) { 'use strict'; const matchesStringOrRegExp = require('./matchesStringOrRegExp'); @@ -43262,7 +41529,7 @@ * * @param {{ [x: string]: any; }} options * @param {string} propertyName - * @param {string} input + * @param {unknown} input * * @returns {boolean} */ @@ -43275,7 +41542,7 @@ }; - }, { "./matchesStringOrRegExp": 426 }], 430: [function (require, module, exports) { + }, { "./matchesStringOrRegExp": 403 }], 407: [function (require, module, exports) { 'use strict'; const selectorParser = require('postcss-selector-parser'); @@ -43285,16 +41552,19 @@ * @param {import('stylelint').PostcssResult} result * @param {import('postcss').Node} node * @param {(root: import('postcss-selector-parser').Root) => void} callback + * @returns {string | undefined} */ module.exports = function parseSelector(selector, result, node, callback) { try { return selectorParser(callback).processSync(selector); - } catch (_unused3) { - result.warn('Cannot parse selector', { node, stylelintType: 'parseError' }); + } catch (err) { + result.warn(`Cannot parse selector (${err})`, { node, stylelintType: 'parseError' }); + + return undefined; } }; - }, { "postcss-selector-parser": 53 }], 431: [function (require, module, exports) { + }, { "postcss-selector-parser": 29 }], 408: [function (require, module, exports) { 'use strict'; /** @@ -43318,7 +41588,7 @@ return value; }; - }, {}], 432: [function (require, module, exports) { + }, {}], 409: [function (require, module, exports) { 'use strict'; /** @@ -43340,7 +41610,7 @@ return result; }; - }, {}], 433: [function (require, module, exports) { + }, {}], 410: [function (require, module, exports) { 'use strict'; /** @@ -43357,7 +41627,7 @@ return node; }; - }, {}], 434: [function (require, module, exports) { + }, {}], 411: [function (require, module, exports) { 'use strict'; /** @@ -43374,11 +41644,9 @@ return node; }; - }, {}], 435: [function (require, module, exports) { + }, {}], 412: [function (require, module, exports) { 'use strict'; - /** @typedef {import('stylelint').Problem} Problem */ - /** * Report a problem. * @@ -43390,21 +41658,16 @@ * It also accounts for the rule's severity. * * You *must* pass *either* a node or a line number. - * @param {Problem} problem - * @returns {void} + * + * @type {typeof import('stylelint').utils.report} */ - function report(problem) { - const ruleName = problem.ruleName; - const result = problem.result; - const message = problem.message; - const line = problem.line; - const node = problem.node; - const index = problem.index; - const word = problem.word; + module.exports = function report(problem) { + const { ruleName, result, message, line, node, index, endIndex, word } = problem; result.stylelint = result.stylelint || { ruleSeverities: {}, - customMessages: {} }; + customMessages: {}, + ruleMetadata: {} }; // In quiet mode, mere warnings are ignored @@ -43412,15 +41675,21 @@ return; } - // If a line is not passed, use the node.positionBy method to get the + const { start } = node && node.rangeBy({ index, endIndex }) || {}; + + // If a line is not passed, use the node.rangeBy method to get the // line number that the complaint pertains to - // @ts-expect-error -- The type of `Node.prototype.positionBy()` is not be exposed. - const startLine = line || node.positionBy({ index }).line; + const startLine = line || start && start.line; + + if (!startLine) { + throw new Error('You must pass either a node or a line number'); + } const { ignoreDisables } = result.stylelint.config || {}; if (result.stylelint.disabledRanges) { - const ranges = result.stylelint.disabledRanges[ruleName] || result.stylelint.disabledRanges.all; + const ranges = + result.stylelint.disabledRanges[ruleName] || result.stylelint.disabledRanges.all || []; for (const range of ranges) { if ( @@ -43466,10 +41735,18 @@ warningProperties.node = node; } - if (index) { + if (problem.start) { + warningProperties.start = problem.start; + } else if (index) { warningProperties.index = index; } + if (problem.end) { + warningProperties.end = problem.end; + } else if (endIndex) { + warningProperties.endIndex = endIndex; + } + if (word) { warningProperties.word = word; } @@ -43478,11 +41755,9 @@ result.stylelint.customMessages && result.stylelint.customMessages[ruleName] || message; result.warn(warningMessage, warningProperties); - } - - module.exports = /** @type {typeof import('stylelint').utils.report} */report; + }; - }, {}], 436: [function (require, module, exports) { + }, {}], 413: [function (require, module, exports) { 'use strict'; /** @@ -43516,7 +41791,7 @@ module.exports = /** @type {typeof import('stylelint').utils.ruleMessages} */ruleMessages; - }, {}], 437: [function (require, module, exports) { + }, {}], 414: [function (require, module, exports) { 'use strict'; /** @typedef {import('postcss').AtRule} AtRule */ @@ -43538,7 +41813,7 @@ return atRule; }; - }, {}], 438: [function (require, module, exports) { + }, {}], 415: [function (require, module, exports) { 'use strict'; /** @typedef {import('postcss').Declaration} Declaration */ @@ -43560,7 +41835,7 @@ return decl; }; - }, {}], 439: [function (require, module, exports) { + }, {}], 416: [function (require, module, exports) { 'use strict'; const selectorParser = require('postcss-selector-parser'); @@ -43569,16 +41844,19 @@ * @param {import('stylelint').PostcssResult} result * @param {import('postcss').Rule} node * @param {(root: import('postcss-selector-parser').Root) => void} callback + * @returns {string | undefined} */ module.exports = function transformSelector(result, node, callback) { try { return selectorParser(callback).processSync(node, { updateSelector: true }); - } catch (_unused4) { + } catch (_unused2) { result.warn('Cannot parse selector', { node, stylelintType: 'parseError' }); + + return undefined; } }; - }, { "postcss-selector-parser": 53 }], 440: [function (require, module, exports) { + }, { "postcss-selector-parser": 29 }], 417: [function (require, module, exports) { 'use strict'; /** @typedef {import('postcss').Node} Node */ @@ -43640,54 +41918,74 @@ return Boolean(node.source); }; - }, {}], 441: [function (require, module, exports) { + }, {}], 418: [function (require, module, exports) { 'use strict'; - const { isPlainObject } = require('is-plain-object'); + const { isPlainObject } = require('./validateTypes'); /** - * @template T - * @typedef {(i: T) => boolean} Validator + * Check whether the variable is an object and all its properties are one or more values + * that satisfy the specified validator(s): + * + * @example + * ignoreProperties = { + * value1: ["item11", "item12", "item13"], + * value2: "item2", + * }; + * validateObjectWithArrayProps(isString)(ignoreProperties); + * //=> true + * + * @typedef {(value: unknown) => boolean} Validator + * @param {...Validator} validators + * @returns {Validator} */ + module.exports = function validateObjectWithArrayProps(...validators) { + return value => { + if (!isPlainObject(value)) { + return false; + } + + return Object.values(value). + flat(). + every(item => validators.some(v => v(item))); + }; + }; + + }, { "./validateTypes": 421 }], 419: [function (require, module, exports) { + 'use strict'; + + const { isPlainObject } = require('./validateTypes'); /** - * Check whether the variable is an object and all its properties are arrays of string values: + * Check whether the variable is an object and all its properties agree with the provided validator. * - * ignoreProperties = { - * value1: ["item11", "item12", "item13"], - * value2: ["item21", "item22", "item23"], - * value3: ["item31", "item32", "item33"], - * } - * @template T - * @param {Validator|Validator[]} validator - * @returns {(value: {[k: any]: T|T[]}) => boolean} + * @example + * config = { + * value1: 1, + * value2: 2, + * value3: 3, + * }; + * validateObjectWithProps(isNumber)(config); + * //=> true + * + * @param {(value: unknown) => boolean} validator + * @returns {(value: unknown) => boolean} */ module.exports = validator => value => { if (!isPlainObject(value)) { return false; } - return Object.values(value).every(array => { - if (!Array.isArray(array)) { - return false; - } - - // Make sure the array items are strings - return array.every(item => { - if (Array.isArray(validator)) { - return validator.some(v => v(item)); - } - - return validator(item); - }); + return Object.values(value).every(item => { + return validator(item); }); }; - }, { "is-plain-object": 35 }], 442: [function (require, module, exports) { + }, { "./validateTypes": 421 }], 420: [function (require, module, exports) { 'use strict'; const arrayEqual = require('./arrayEqual'); - const { isPlainObject } = require('is-plain-object'); + const { isPlainObject } = require('./validateTypes'); const IGNORED_OPTIONS = new Set(['severity', 'message', 'reportDisables', 'disableFix']); @@ -43733,7 +42031,8 @@ result.stylelint = result.stylelint || { disabledRanges: {}, ruleSeverities: {}, - customMessages: {} }; + customMessages: {}, + ruleMetadata: {} }; result.stylelint.stylelintError = true; } @@ -43781,14 +42080,14 @@ return; } - complain(`Unexpected option value "${String(actual)}" for rule "${ruleName}"`); + complain(`Unexpected option value ${stringify(actual)} for rule "${ruleName}"`); return; } if (typeof possible === 'function') { if (!possible(actual)) { - complain(`Invalid option "${JSON.stringify(actual)}" for rule ${ruleName}`); + complain(`Invalid option ${stringify(actual)} for rule "${ruleName}"`); } return; @@ -43801,7 +42100,7 @@ continue; } - complain(`Invalid option value "${String(a)}" for rule "${ruleName}"`); + complain(`Invalid option value ${stringify(a)} for rule "${ruleName}"`); } return; @@ -43810,7 +42109,7 @@ // If actual is NOT an object ... if (!isPlainObject(actual) || typeof actual !== 'object' || actual == null) { complain( - `Invalid option value ${JSON.stringify(actual)} for rule "${ruleName}": should be an object`); + `Invalid option value ${stringify(actual)} for rule "${ruleName}": should be an object`); return; @@ -43834,7 +42133,7 @@ continue; } - complain(`Invalid value "${a}" for option "${optionName}" of rule "${ruleName}"`); + complain(`Invalid value ${stringify(a)} for option "${optionName}" of rule "${ruleName}"`); } } } @@ -43858,55 +42157,151 @@ return false; } - module.exports = /** @type {typeof import('stylelint').utils.validateOptions} */validateOptions; - - }, { "./arrayEqual": 351, "is-plain-object": 35 }], 443: [function (require, module, exports) { - 'use strict'; + /** + * @param {unknown} value + * @returns {string} + */ + function stringify(value) { + if (typeof value === 'string') { + return `"${value}"`; + } + + return `"${JSON.stringify(value)}"`; + } + + module.exports = /** @type {typeof import('stylelint').utils.validateOptions} */validateOptions; + + }, { "./arrayEqual": 325, "./validateTypes": 421 }], 421: [function (require, module, exports) { + 'use strict'; + + const { isPlainObject: _isPlainObject } = require('is-plain-object'); + + /** + * Checks if the value is a boolean or a Boolean object. + * @param {unknown} value + * @returns {value is boolean} + */ + function isBoolean(value) { + return typeof value === 'boolean' || value instanceof Boolean; + } + + /** + * Checks if the value is a function or a Function object. + * @param {unknown} value + * @returns {value is Function} + */ + function isFunction(value) { + return typeof value === 'function' || value instanceof Function; + } + + /** + * Checks if the value is *nullish*. + * @see https://developer.mozilla.org/en-US/docs/Glossary/Nullish + * @param {unknown} value + * @returns {value is null | undefined} + */ + function isNullish(value) { + return value == null; + } + + /** + * Checks if the value is a number or a Number object. + * @param {unknown} value + * @returns {value is number} + */ + function isNumber(value) { + return typeof value === 'number' || value instanceof Number; + } + + /** + * Checks if the value is a regular expression. + * @param {unknown} value + * @returns {value is RegExp} + */ + function isRegExp(value) { + return value instanceof RegExp; + } + + /** + * Checks if the value is a string or a String object. + * @param {unknown} value + * @returns {value is string} + */ + function isString(value) { + return typeof value === 'string' || value instanceof String; + } + + /** + * Checks if the value is a plain object. + * @param {unknown} value + * @returns {value is Record} + */ + function isPlainObject(value) { + return _isPlainObject(value); + } /** - * Checks if the value is a boolean or a Boolean object. + * Assert that the value is truthy. * @param {unknown} value - * @returns {value is boolean} + * @param {string} [message] + * @returns {asserts value} */ - function isBoolean(value) { - return typeof value === 'boolean' || value instanceof Boolean; + function assert(value, message = undefined) { + if (message) { + // eslint-disable-next-line no-console + console.assert(value, message); + } else { + // eslint-disable-next-line no-console + console.assert(value); + } } /** - * Checks if the value is a number or a Number object. + * Assert that the value is a function or a Function object. * @param {unknown} value - * @returns {value is number} + * @returns {asserts value is Function} */ - function isNumber(value) { - return typeof value === 'number' || value instanceof Number; + function assertFunction(value) { + // eslint-disable-next-line no-console + console.assert(isFunction(value), `"${value}" must be a function`); } /** - * Checks if the value is a RegExp object. + * Assert that the value is a number or a Number object. * @param {unknown} value - * @returns {value is RegExp} + * @returns {asserts value is number} */ - function isRegExp(value) { - return value instanceof RegExp; + function assertNumber(value) { + // eslint-disable-next-line no-console + console.assert(isNumber(value), `"${value}" must be a number`); } /** - * Checks if the value is a string or a String object. + * Assert that the value is a string or a String object. * @param {unknown} value - * @returns {value is string} + * @returns {asserts value is string} */ - function isString(value) { - return typeof value === 'string' || value instanceof String; + function assertString(value) { + // eslint-disable-next-line no-console + console.assert(isString(value), `"${value}" must be a string`); } module.exports = { isBoolean, + isFunction, + isNullish, isNumber, isRegExp, - isString }; + isString, + isPlainObject, + assert, + assertFunction, + assertNumber, + assertString }; - }, {}], 444: [function (require, module, exports) { + + }, { "is-plain-object": 16 }], 422: [function (require, module, exports) { 'use strict'; /** @@ -43932,7 +42327,7 @@ const match = prop.match(/^(-\w+-)/); if (match) { - return match[0]; + return match[0] || ''; } return ''; @@ -43953,12 +42348,13 @@ } }; - }, {}], 445: [function (require, module, exports) { + }, {}], 423: [function (require, module, exports) { 'use strict'; const configurationError = require('./configurationError'); const isSingleLineString = require('./isSingleLineString'); const isWhitespace = require('./isWhitespace'); + const { assertFunction, isNullish } = require('./validateTypes'); /** * @typedef {(message: string) => string} MessageFunction @@ -44171,20 +42567,20 @@ const oneCharBefore = source[index - 1]; const twoCharsBefore = source[index - 2]; - if (!isValue(oneCharBefore)) { + if (isNullish(oneCharBefore)) { return; } if ( targetWhitespace === 'space' && oneCharBefore === ' ' && ( - activeArgs.onlyOneChar || !isWhitespace(twoCharsBefore))) + activeArgs.onlyOneChar || isNullish(twoCharsBefore) || !isWhitespace(twoCharsBefore))) { return; } assertFunction(messageFunc); - activeArgs.err(messageFunc(activeArgs.errTarget || source[index])); + activeArgs.err(messageFunc(activeArgs.errTarget || source.charAt(index))); } function expectBeforeAllowingIndentation(messageFunc = messages.expectedBefore) { @@ -44193,11 +42589,7 @@ const index = _activeArgs2.index; const err = _activeArgs2.err; - const expectedChar = function () { - if (targetWhitespace === 'newline') { - return '\n'; - } - }(); + const expectedChar = targetWhitespace === 'newline' ? '\n' : undefined; let i = index - 1; while (source[i] !== expectedChar) { @@ -44207,7 +42599,7 @@ } assertFunction(messageFunc); - err(messageFunc(activeArgs.errTarget || source[index])); + err(messageFunc(activeArgs.errTarget || source.charAt(index))); return; } @@ -44220,9 +42612,9 @@ const oneCharBefore = source[index - 1]; - if (isValue(oneCharBefore) && isWhitespace(oneCharBefore)) { + if (!isNullish(oneCharBefore) && isWhitespace(oneCharBefore)) { assertFunction(messageFunc); - activeArgs.err(messageFunc(activeArgs.errTarget || source[index])); + activeArgs.err(messageFunc(activeArgs.errTarget || source.charAt(index))); } } @@ -44240,8 +42632,9 @@ const oneCharAfter = source[index + 1]; const twoCharsAfter = source[index + 2]; + const threeCharsAfter = source[index + 3]; - if (!isValue(oneCharAfter)) { + if (isNullish(oneCharAfter)) { return; } @@ -44250,13 +42643,16 @@ if ( oneCharAfter === '\r' && twoCharsAfter === '\n' && ( - activeArgs.onlyOneChar || !isWhitespace(source[index + 3]))) + activeArgs.onlyOneChar || isNullish(threeCharsAfter) || !isWhitespace(threeCharsAfter))) { return; } // If index is followed by a Unix LF ... - if (oneCharAfter === '\n' && (activeArgs.onlyOneChar || !isWhitespace(twoCharsAfter))) { + if ( + oneCharAfter === '\n' && ( + activeArgs.onlyOneChar || isNullish(twoCharsAfter) || !isWhitespace(twoCharsAfter))) + { return; } } @@ -44264,13 +42660,13 @@ if ( targetWhitespace === 'space' && oneCharAfter === ' ' && ( - activeArgs.onlyOneChar || !isWhitespace(twoCharsAfter))) + activeArgs.onlyOneChar || isNullish(twoCharsAfter) || !isWhitespace(twoCharsAfter))) { return; } assertFunction(messageFunc); - activeArgs.err(messageFunc(activeArgs.errTarget || source[index])); + activeArgs.err(messageFunc(activeArgs.errTarget || source.charAt(index))); } function rejectAfter(messageFunc = messages.rejectedAfter) { @@ -44280,9 +42676,9 @@ const oneCharAfter = source[index + 1]; - if (isValue(oneCharAfter) && isWhitespace(oneCharAfter)) { + if (!isNullish(oneCharAfter) && isWhitespace(oneCharAfter)) { assertFunction(messageFunc); - activeArgs.err(messageFunc(activeArgs.errTarget || source[index])); + activeArgs.err(messageFunc(activeArgs.errTarget || source.charAt(index))); } } @@ -44294,24 +42690,7 @@ }; - /** - * @param {unknown} x - */ - function isValue(x) { - return x !== undefined && x !== null; - } - - /** - * @param {unknown} x - * @returns {asserts x is Function} - */ - function assertFunction(x) { - if (typeof x !== 'function') { - throw new TypeError(`\`${x}\` must be a function`); - } - } - - }, { "./configurationError": 357, "./isSingleLineString": 407, "./isWhitespace": 425 }], 446: [function (require, module, exports) { + }, { "./configurationError": 331, "./isSingleLineString": 384, "./isWhitespace": 402, "./validateTypes": 421 }], 424: [function (require, module, exports) { 'use strict'; const validateOptions = require('./utils/validateOptions'); @@ -44392,7 +42771,7 @@ }; - }, { "./utils/validateOptions": 442, "./utils/validateTypes": 443 }], 447: [function (require, module, exports) { + }, { "./utils/validateOptions": 420, "./utils/validateTypes": 421 }], 425: [function (require, module, exports) { 'use strict'; module.exports = balanced; function balanced(a, b, str) { @@ -44458,2035 +42837,1196 @@ return result; } - }, {}], 448: [function (require, module, exports) { - module.exports = require('./svg-tags.json'); - }, { "./svg-tags.json": 449 }], 449: [function (require, module, exports) { - module.exports = [ - "a", - "altGlyph", - "altGlyphDef", - "altGlyphItem", - "animate", - "animateColor", - "animateMotion", - "animateTransform", - "circle", - "clipPath", - "color-profile", - "cursor", - "defs", - "desc", - "ellipse", - "feBlend", - "feColorMatrix", - "feComponentTransfer", - "feComposite", - "feConvolveMatrix", - "feDiffuseLighting", - "feDisplacementMap", - "feDistantLight", - "feFlood", - "feFuncA", - "feFuncB", - "feFuncG", - "feFuncR", - "feGaussianBlur", - "feImage", - "feMerge", - "feMergeNode", - "feMorphology", - "feOffset", - "fePointLight", - "feSpecularLighting", - "feSpotLight", - "feTile", - "feTurbulence", - "filter", - "font", - "font-face", - "font-face-format", - "font-face-name", - "font-face-src", - "font-face-uri", - "foreignObject", - "g", - "glyph", - "glyphRef", - "hkern", - "image", - "line", - "linearGradient", - "marker", - "mask", - "metadata", - "missing-glyph", - "mpath", - "path", - "pattern", - "polygon", - "polyline", - "radialGradient", - "rect", - "script", - "set", - "stop", - "style", - "svg", - "switch", - "symbol", - "text", - "textPath", - "title", - "tref", - "tspan", - "use", - "view", - "vkern"]; - - }, {}], 450: [function (require, module, exports) { - // Copyright Joyent, Inc. and other Node contributors. - // - // Permission is hereby granted, free of charge, to any person obtaining a - // copy of this software and associated documentation files (the - // "Software"), to deal in the Software without restriction, including - // without limitation the rights to use, copy, modify, merge, publish, - // distribute, sublicense, and/or sell copies of the Software, and to permit - // persons to whom the Software is furnished to do so, subject to the - // following conditions: - // - // The above copyright notice and this permission notice shall be included - // in all copies or substantial portions of the Software. - // - // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN - // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR - // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE - // USE OR OTHER DEALINGS IN THE SOFTWARE. - - 'use strict'; - - var punycode = require('punycode'); - var util = require('./util'); - - exports.parse = urlParse; - exports.resolve = urlResolve; - exports.resolveObject = urlResolveObject; - exports.format = urlFormat; - - exports.Url = Url; - - function Url() { - this.protocol = null; - this.slashes = null; - this.auth = null; - this.host = null; - this.port = null; - this.hostname = null; - this.hash = null; - this.search = null; - this.query = null; - this.pathname = null; - this.path = null; - this.href = null; - } - - // Reference: RFC 3986, RFC 1808, RFC 2396 - - // define these here so at least they only have to be - // compiled once on the first module load. - var protocolPattern = /^([a-z0-9.+-]+:)/i, - portPattern = /:[0-9]*$/, - - // Special case for a simple path URL - simplePathPattern = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/, - - // RFC 2396: characters reserved for delimiting URLs. - // We actually just auto-escape these. - delims = ['<', '>', '"', '`', ' ', '\r', '\n', '\t'], - - // RFC 2396: characters not allowed for various reasons. - unwise = ['{', '}', '|', '\\', '^', '`'].concat(delims), - - // Allowed by RFCs, but cause of XSS attacks. Always escape these. - autoEscape = ['\''].concat(unwise), - // Characters that are never ever allowed in a hostname. - // Note that any invalid chars are also handled, but these - // are the ones that are *expected* to be seen, so we fast-path - // them. - nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape), - hostEndingChars = ['/', '?', '#'], - hostnameMaxLen = 255, - hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/, - hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/, - // protocols that can allow "unsafe" and "unwise" chars. - unsafeProtocol = { - 'javascript': true, - 'javascript:': true }, - - // protocols that never have a hostname. - hostlessProtocol = { - 'javascript': true, - 'javascript:': true }, - - // protocols that always contain a // bit. - slashedProtocol = { - 'http': true, - 'https': true, - 'ftp': true, - 'gopher': true, - 'file': true, - 'http:': true, - 'https:': true, - 'ftp:': true, - 'gopher:': true, - 'file:': true }, - - querystring = require('querystring'); - - function urlParse(url, parseQueryString, slashesDenoteHost) { - if (url && util.isObject(url) && url instanceof Url) return url; - - var u = new Url(); - u.parse(url, parseQueryString, slashesDenoteHost); - return u; - } - - Url.prototype.parse = function (url, parseQueryString, slashesDenoteHost) { - if (!util.isString(url)) { - throw new TypeError("Parameter 'url' must be a string, not " + typeof url); - } - - // Copy chrome, IE, opera backslash-handling behavior. - // Back slashes before the query string get converted to forward slashes - // See: https://code.google.com/p/chromium/issues/detail?id=25916 - var queryIndex = url.indexOf('?'), - splitter = - queryIndex !== -1 && queryIndex < url.indexOf('#') ? '?' : '#', - uSplit = url.split(splitter), - slashRegex = /\\/g; - uSplit[0] = uSplit[0].replace(slashRegex, '/'); - url = uSplit.join(splitter); - - var rest = url; - - // trim before proceeding. - // This is to support parse stuff like " http://foo.com \n" - rest = rest.trim(); - - if (!slashesDenoteHost && url.split('#').length === 1) { - // Try fast path regexp - var simplePath = simplePathPattern.exec(rest); - if (simplePath) { - this.path = rest; - this.href = rest; - this.pathname = simplePath[1]; - if (simplePath[2]) { - this.search = simplePath[2]; - if (parseQueryString) { - this.query = querystring.parse(this.search.substr(1)); - } else { - this.query = this.search.substr(1); - } - } else if (parseQueryString) { - this.search = ''; - this.query = {}; - } - return this; - } - } - - var proto = protocolPattern.exec(rest); - if (proto) { - proto = proto[0]; - var lowerProto = proto.toLowerCase(); - this.protocol = lowerProto; - rest = rest.substr(proto.length); - } - - // figure out if it's got a host - // user@server is *always* interpreted as a hostname, and url - // resolution will treat //foo/bar as host=foo,path=bar because that's - // how the browser resolves relative URLs. - if (slashesDenoteHost || proto || rest.match(/^\/\/[^@\/]+@[^@\/]+/)) { - var slashes = rest.substr(0, 2) === '//'; - if (slashes && !(proto && hostlessProtocol[proto])) { - rest = rest.substr(2); - this.slashes = true; - } - } - - if (!hostlessProtocol[proto] && ( - slashes || proto && !slashedProtocol[proto])) { - - // there's a hostname. - // the first instance of /, ?, ;, or # ends the host. - // - // If there is an @ in the hostname, then non-host chars *are* allowed - // to the left of the last @ sign, unless some host-ending character - // comes *before* the @-sign. - // URLs are obnoxious. - // - // ex: - // http://a@b@c/ => user:a@b host:c - // http://a@b?@c => user:a host:c path:/?@c - - // v0.12 TODO(isaacs): This is not quite how Chrome does things. - // Review our test case against browsers more comprehensively. - - // find the first instance of any hostEndingChars - var hostEnd = -1; - for (var i = 0; i < hostEndingChars.length; i++) { - var hec = rest.indexOf(hostEndingChars[i]); - if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) - hostEnd = hec; - } - - // at this point, either we have an explicit point where the - // auth portion cannot go past, or the last @ char is the decider. - var auth, atSign; - if (hostEnd === -1) { - // atSign can be anywhere. - atSign = rest.lastIndexOf('@'); - } else { - // atSign must be in auth portion. - // http://a@b/c@d => host:b auth:a path:/c@d - atSign = rest.lastIndexOf('@', hostEnd); - } - - // Now we have a portion which is definitely the auth. - // Pull that off. - if (atSign !== -1) { - auth = rest.slice(0, atSign); - rest = rest.slice(atSign + 1); - this.auth = decodeURIComponent(auth); - } - - // the host is the remaining to the left of the first non-host char - hostEnd = -1; - for (var i = 0; i < nonHostChars.length; i++) { - var hec = rest.indexOf(nonHostChars[i]); - if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) - hostEnd = hec; - } - // if we still have not hit it, then the entire thing is a host. - if (hostEnd === -1) - hostEnd = rest.length; - - this.host = rest.slice(0, hostEnd); - rest = rest.slice(hostEnd); - - // pull out port. - this.parseHost(); - - // we've indicated that there is a hostname, - // so even if it's empty, it has to be present. - this.hostname = this.hostname || ''; - - // if hostname begins with [ and ends with ] - // assume that it's an IPv6 address. - var ipv6Hostname = this.hostname[0] === '[' && - this.hostname[this.hostname.length - 1] === ']'; - - // validate a little. - if (!ipv6Hostname) { - var hostparts = this.hostname.split(/\./); - for (var i = 0, l = hostparts.length; i < l; i++) { - var part = hostparts[i]; - if (!part) continue; - if (!part.match(hostnamePartPattern)) { - var newpart = ''; - for (var j = 0, k = part.length; j < k; j++) { - if (part.charCodeAt(j) > 127) { - // we replace non-ASCII char with a temporary placeholder - // we need this to make sure size of hostname is not - // broken by replacing non-ASCII by nothing - newpart += 'x'; - } else { - newpart += part[j]; - } - } - // we test again with ASCII char only - if (!newpart.match(hostnamePartPattern)) { - var validParts = hostparts.slice(0, i); - var notHost = hostparts.slice(i + 1); - var bit = part.match(hostnamePartStart); - if (bit) { - validParts.push(bit[1]); - notHost.unshift(bit[2]); - } - if (notHost.length) { - rest = '/' + notHost.join('.') + rest; - } - this.hostname = validParts.join('.'); - break; - } - } - } - } - - if (this.hostname.length > hostnameMaxLen) { - this.hostname = ''; - } else { - // hostnames are always lower case. - this.hostname = this.hostname.toLowerCase(); - } - - if (!ipv6Hostname) { - // IDNA Support: Returns a punycoded representation of "domain". - // It only converts parts of the domain name that - // have non-ASCII characters, i.e. it doesn't matter if - // you call it with a domain that already is ASCII-only. - this.hostname = punycode.toASCII(this.hostname); - } - - var p = this.port ? ':' + this.port : ''; - var h = this.hostname || ''; - this.host = h + p; - this.href += this.host; - - // strip [ and ] from the hostname - // the host field still retains them, though - if (ipv6Hostname) { - this.hostname = this.hostname.substr(1, this.hostname.length - 2); - if (rest[0] !== '/') { - rest = '/' + rest; - } - } - } - - // now rest is set to the post-host stuff. - // chop off any delim chars. - if (!unsafeProtocol[lowerProto]) { - - // First, make 100% sure that any "autoEscape" chars get - // escaped, even if encodeURIComponent doesn't think they - // need to be. - for (var i = 0, l = autoEscape.length; i < l; i++) { - var ae = autoEscape[i]; - if (rest.indexOf(ae) === -1) - continue; - var esc = encodeURIComponent(ae); - if (esc === ae) { - esc = escape(ae); - } - rest = rest.split(ae).join(esc); - } - } - - - // chop off from the tail first. - var hash = rest.indexOf('#'); - if (hash !== -1) { - // got a fragment string. - this.hash = rest.substr(hash); - rest = rest.slice(0, hash); - } - var qm = rest.indexOf('?'); - if (qm !== -1) { - this.search = rest.substr(qm); - this.query = rest.substr(qm + 1); - if (parseQueryString) { - this.query = querystring.parse(this.query); + }, {}], 426: [function (require, module, exports) { + let stringify = require('./stringify'); + let parse = require('./parse'); + + module.exports = { stringify, parse }; + + }, { "./parse": 428, "./stringify": 432 }], 427: [function (require, module, exports) { + module.exports = function liner(tokens) { + let line = []; + let result = [line]; + let brackets = 0; + for (let token of tokens) { + line.push(token); + if (token[0] === '(') { + brackets += 1; + } else if (token[0] === ')') { + brackets -= 1; + } else if (token[0] === 'newline' && brackets === 0) { + line = []; + result.push(line); } - rest = rest.slice(0, qm); - } else if (parseQueryString) { - // no query string, but parseQueryString still requested - this.search = ''; - this.query = {}; } - if (rest) this.pathname = rest; - if (slashedProtocol[lowerProto] && - this.hostname && !this.pathname) { - this.pathname = '/'; - } - - //to support http.request - if (this.pathname || this.search) { - var p = this.pathname || ''; - var s = this.search || ''; - this.path = p + s; - } - - // finally, reconstruct the href based on what has been validated. - this.href = this.format(); - return this; + return result; }; - // format a parsed object into a url string - function urlFormat(obj) { - // ensure it's an object, and not a string url. - // If it's an obj, this is a no-op. - // this way, you can call url_format() on strings - // to clean up potentially wonky urls. - if (util.isString(obj)) obj = urlParse(obj); - if (!(obj instanceof Url)) return Url.prototype.format.call(obj); - return obj.format(); - } - - Url.prototype.format = function () { - var auth = this.auth || ''; - if (auth) { - auth = encodeURIComponent(auth); - auth = auth.replace(/%3A/i, ':'); - auth += '@'; - } - - var protocol = this.protocol || '', - pathname = this.pathname || '', - hash = this.hash || '', - host = false, - query = ''; - - if (this.host) { - host = auth + this.host; - } else if (this.hostname) { - host = auth + (this.hostname.indexOf(':') === -1 ? - this.hostname : - '[' + this.hostname + ']'); - if (this.port) { - host += ':' + this.port; - } - } - - if (this.query && - util.isObject(this.query) && - Object.keys(this.query).length) { - query = querystring.stringify(this.query); - } - - var search = this.search || query && '?' + query || ''; - - if (protocol && protocol.substr(-1) !== ':') protocol += ':'; + }, {}], 428: [function (require, module, exports) { + let { Input } = require('postcss'); - // only the slashedProtocols get the //. Not mailto:, xmpp:, etc. - // unless they had them to begin with. - if (this.slashes || - (!protocol || slashedProtocol[protocol]) && host !== false) { - host = '//' + (host || ''); - if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname; - } else if (!host) { - host = ''; - } + let preprocess = require('./preprocess'); + let tokenizer = require('./tokenize'); + let Parser = require('./parser'); + let liner = require('./liner'); - if (hash && hash.charAt(0) !== '#') hash = '#' + hash; - if (search && search.charAt(0) !== '?') search = '?' + search; + module.exports = function parse(source, opts) { + let input = new Input(source, opts); - pathname = pathname.replace(/[?#]/g, function (match) { - return encodeURIComponent(match); - }); - search = search.replace('#', '%23'); + let parser = new Parser(input); + parser.tokens = tokenizer(input); + parser.parts = preprocess(input, liner(parser.tokens)); + parser.loop(); - return protocol + host + pathname + search + hash; + return parser.root; }; - function urlResolve(source, relative) { - return urlParse(source, false, true).resolve(relative); - } + }, { "./liner": 427, "./parser": 429, "./preprocess": 430, "./tokenize": 433, "postcss": 79 }], 429: [function (require, module, exports) { + let { Declaration, Comment, AtRule, Rule, Root } = require('postcss'); - Url.prototype.resolve = function (relative) { - return this.resolveObject(urlParse(relative, false, true)).format(); - }; + module.exports = class Parser { + constructor(input) { + this.input = input; - function urlResolveObject(source, relative) { - if (!source) return relative; - return urlParse(source, false, true).resolveObject(relative); - } + this.pos = 0; + this.root = new Root(); + this.current = this.root; + this.spaces = ''; - Url.prototype.resolveObject = function (relative) { - if (util.isString(relative)) { - var rel = new Url(); - rel.parse(relative, false, true); - relative = rel; - } + this.extraIndent = false; + this.prevIndent = undefined; + this.step = undefined; - var result = new Url(); - var tkeys = Object.keys(this); - for (var tk = 0; tk < tkeys.length; tk++) { - var tkey = tkeys[tk]; - result[tkey] = this[tkey]; + this.root.source = { input, start: { line: 1, column: 1 } }; } - // hash is always overridden, no matter what. - // even href="" will remove it. - result.hash = relative.hash; + loop() { + let part; + while (this.pos < this.parts.length) { + part = this.parts[this.pos]; - // if the relative url is empty, then there's nothing left to do here. - if (relative.href === '') { - result.href = result.format(); - return result; - } + if (part.comment) { + this.comment(part); + } else if (part.atrule) { + this.atrule(part); + } else if (part.colon) { + let next = this.nextNonComment(this.pos); - // hrefs like //foo/bar always cut to the protocol. - if (relative.slashes && !relative.protocol) { - // take everything except the protocol from relative - var rkeys = Object.keys(relative); - for (var rk = 0; rk < rkeys.length; rk++) { - var rkey = rkeys[rk]; - if (rkey !== 'protocol') - result[rkey] = relative[rkey]; - } + if (next.end || next.atrule) { + this.decl(part); + } else { + let moreIndent = next.indent.length > part.indent.length; + if (!moreIndent) { + this.decl(part); + } else if (moreIndent && next.colon) { + this.rule(part); + } else if (moreIndent && !next.colon) { + this.decl(part); + } + } + } else if (part.end) { + this.root.raws.after = part.before; + } else { + this.rule(part); + } - //urlParse appends trailing / to urls like http://www.example.com - if (slashedProtocol[result.protocol] && - result.hostname && !result.pathname) { - result.path = result.pathname = '/'; + this.pos += 1; } - result.href = result.format(); - return result; - } + for (let i = this.tokens.length - 1; i >= 0; i--) { + if (this.tokens[i].length > 3) { + let last = this.tokens[i]; + this.root.source.end = { + line: last[4] || last[2], + column: last[5] || last[3] }; - if (relative.protocol && relative.protocol !== result.protocol) { - // if it's a known url protocol, then changing - // the protocol does weird things - // first, if it's not file:, then we MUST have a host, - // and if there was a path - // to begin with, then we MUST have a path. - // if it is file:, then the host is dropped, - // because that's known to be hostless. - // anything else is assumed to be absolute. - if (!slashedProtocol[relative.protocol]) { - var keys = Object.keys(relative); - for (var v = 0; v < keys.length; v++) { - var k = keys[v]; - result[k] = relative[k]; - } - result.href = result.format(); - return result; + break; + } } - - result.protocol = relative.protocol; - if (!relative.host && !hostlessProtocol[relative.protocol]) { - var relPath = (relative.pathname || '').split('/'); - while (relPath.length && !(relative.host = relPath.shift())); - if (!relative.host) relative.host = ''; - if (!relative.hostname) relative.hostname = ''; - if (relPath[0] !== '') relPath.unshift(''); - if (relPath.length < 2) relPath.unshift(''); - result.pathname = relPath.join('/'); - } else { - result.pathname = relative.pathname; - } - result.search = relative.search; - result.query = relative.query; - result.host = relative.host || ''; - result.auth = relative.auth; - result.hostname = relative.hostname || relative.host; - result.port = relative.port; - // to support http.request - if (result.pathname || result.search) { - var p = result.pathname || ''; - var s = result.search || ''; - result.path = p + s; - } - result.slashes = result.slashes || relative.slashes; - result.href = result.format(); - return result; } - var isSourceAbs = result.pathname && result.pathname.charAt(0) === '/', - isRelAbs = - relative.host || - relative.pathname && relative.pathname.charAt(0) === '/', - - mustEndAbs = isRelAbs || isSourceAbs || - result.host && relative.pathname, - removeAllDots = mustEndAbs, - srcPath = result.pathname && result.pathname.split('/') || [], - relPath = relative.pathname && relative.pathname.split('/') || [], - psychotic = result.protocol && !slashedProtocol[result.protocol]; - - // if the url is a non-slashed url, then relative - // links like ../.. should be able - // to crawl up to the hostname, as well. This is strange. - // result.protocol has already been set by now. - // Later on, put the first path part into the host field. - if (psychotic) { - result.hostname = ''; - result.port = null; - if (result.host) { - if (srcPath[0] === '') srcPath[0] = result.host;else - srcPath.unshift(result.host); - } - result.host = ''; - if (relative.protocol) { - relative.hostname = null; - relative.port = null; - if (relative.host) { - if (relPath[0] === '') relPath[0] = relative.host;else - relPath.unshift(relative.host); - } - relative.host = null; - } - mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === ''); - } - - if (isRelAbs) { - // it's absolute. - result.host = relative.host || relative.host === '' ? - relative.host : result.host; - result.hostname = relative.hostname || relative.hostname === '' ? - relative.hostname : result.hostname; - result.search = relative.search; - result.query = relative.query; - srcPath = relPath; - // fall through to the dot-handling below. - } else if (relPath.length) { - // it's relative - // throw away the existing file, and take the new path instead. - if (!srcPath) srcPath = []; - srcPath.pop(); - srcPath = srcPath.concat(relPath); - result.search = relative.search; - result.query = relative.query; - } else if (!util.isNullOrUndefined(relative.search)) { - // just pull out the search. - // like href='?foo'. - // Put this after the other two cases because it simplifies the booleans - if (psychotic) { - result.hostname = result.host = srcPath.shift(); - //occationaly the auth can get stuck only in host - //this especially happens in cases like - //url.resolveObject('mailto:local1@domain1', 'local2@domain2') - var authInHost = result.host && result.host.indexOf('@') > 0 ? - result.host.split('@') : false; - if (authInHost) { - result.auth = authInHost.shift(); - result.host = result.hostname = authInHost.shift(); - } - } - result.search = relative.search; - result.query = relative.query; - //to support http.request - if (!util.isNull(result.pathname) || !util.isNull(result.search)) { - result.path = (result.pathname ? result.pathname : '') + ( - result.search ? result.search : ''); - } - result.href = result.format(); - return result; + comment(part) { + let token = part.tokens[0]; + let node = new Comment(); + this.init(node, part); + node.source.end = { line: token[4], column: token[5] }; + this.commentText(node, token); } - if (!srcPath.length) { - // no path at all. easy. - // we've already handled the other stuff above. - result.pathname = null; - //to support http.request - if (result.search) { - result.path = '/' + result.search; - } else { - result.path = null; - } - result.href = result.format(); - return result; - } + atrule(part) { + let atword = part.tokens[0]; + let params = part.tokens.slice(1); - // if a url ENDs in . or .., then it must get a trailing slash. - // however, if it ends in anything else non-slashy, - // then it must NOT get a trailing slash. - var last = srcPath.slice(-1)[0]; - var hasTrailingSlash = - (result.host || relative.host || srcPath.length > 1) && ( - last === '.' || last === '..') || last === ''; + let node = new AtRule(); + node.name = atword[1].slice(1); + this.init(node, part); - // strip single dots, resolve double dots to parent dir - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = srcPath.length; i >= 0; i--) { - last = srcPath[i]; - if (last === '.') { - srcPath.splice(i, 1); - } else if (last === '..') { - srcPath.splice(i, 1); - up++; - } else if (up) { - srcPath.splice(i, 1); - up--; - } - } + if (node.name === '') this.unnamedAtrule(atword); - // if the path is allowed to go above the root, restore leading ..s - if (!mustEndAbs && !removeAllDots) { - for (; up--; up) { - srcPath.unshift('..'); + while (!part.end && part.lastComma) { + this.pos += 1; + part = this.parts[this.pos]; + params.push(['space', part.before + part.indent]); + params = params.concat(part.tokens); } - } - - if (mustEndAbs && srcPath[0] !== '' && ( - !srcPath[0] || srcPath[0].charAt(0) !== '/')) { - srcPath.unshift(''); - } - if (hasTrailingSlash && srcPath.join('/').substr(-1) !== '/') { - srcPath.push(''); + node.raws.afterName = this.firstSpaces(params); + this.keepTrailingSpace(node, params); + this.checkSemicolon(params); + this.checkCurly(params); + this.raw(node, 'params', params, atword); } - var isAbsolute = srcPath[0] === '' || - srcPath[0] && srcPath[0].charAt(0) === '/'; - - // put the host back - if (psychotic) { - result.hostname = result.host = isAbsolute ? '' : - srcPath.length ? srcPath.shift() : ''; - //occationaly the auth can get stuck only in host - //this especially happens in cases like - //url.resolveObject('mailto:local1@domain1', 'local2@domain2') - var authInHost = result.host && result.host.indexOf('@') > 0 ? - result.host.split('@') : false; - if (authInHost) { - result.auth = authInHost.shift(); - result.host = result.hostname = authInHost.shift(); + decl(part) { + let node = new Declaration(); + this.init(node, part); + + let between = ''; + let colon = 0; + let value = []; + let prop = ''; + for (let i = 0; i < part.tokens.length; i++) { + let token = part.tokens[i]; + if (token[0] === ':') { + between += token[1]; + colon = token; + value = part.tokens.slice(i + 1); + break; + } else if (token[0] === 'comment' || token[0] === 'space') { + between += token[1]; + } else if (between !== '') { + this.badProp(token); + } else { + prop += token[1]; + } } - } - - mustEndAbs = mustEndAbs || result.host && srcPath.length; - if (mustEndAbs && !isAbsolute) { - srcPath.unshift(''); - } - - if (!srcPath.length) { - result.pathname = null; - result.path = null; - } else { - result.pathname = srcPath.join('/'); - } + if (prop === '') this.unnamedDecl(part.tokens[0]); + node.prop = prop; - //to support request.http - if (!util.isNull(result.pathname) || !util.isNull(result.search)) { - result.path = (result.pathname ? result.pathname : '') + ( - result.search ? result.search : ''); - } - result.auth = relative.auth || result.auth; - result.slashes = result.slashes || relative.slashes; - result.href = result.format(); - return result; - }; + let next = this.parts[this.pos + 1]; - Url.prototype.parseHost = function () { - var host = this.host; - var port = portPattern.exec(host); - if (port) { - port = port[0]; - if (port !== ':') { - this.port = port.substr(1); + while ( + !next.end && + !next.atrule && + !next.colon && + next.indent.length > part.indent.length) + { + value.push(['space', next.before + next.indent]); + value = value.concat(next.tokens); + this.pos += 1; + next = this.parts[this.pos + 1]; } - host = host.substr(0, host.length - port.length); - } - if (host) this.hostname = host; - }; - - }, { "./util": 451, "punycode": 116, "querystring": 119 }], 451: [function (require, module, exports) { - 'use strict'; - - module.exports = { - isString: function (arg) { - return typeof arg === 'string'; - }, - isObject: function (arg) { - return typeof arg === 'object' && arg !== null; - }, - isNull: function (arg) { - return arg === null; - }, - isNullOrUndefined: function (arg) { - return arg == null; - } }; - - - }, {}], 452: [function (require, module, exports) { - (function (global) {(function () { - - /** - * Module exports. - */ - - module.exports = deprecate; - - /** - * Mark that a method should not be used. - * Returns a modified function which warns once by default. - * - * If `localStorage.noDeprecation = true` is set, then it is a no-op. - * - * If `localStorage.throwDeprecation = true` is set, then deprecated functions - * will throw an Error when invoked. - * - * If `localStorage.traceDeprecation = true` is set, then deprecated functions - * will invoke `console.trace()` instead of `console.error()`. - * - * @param {Function} fn - the function to deprecate - * @param {String} msg - the string to print to the console when `fn` is invoked - * @returns {Function} a new "deprecated" version of `fn` - * @api public - */ - function deprecate(fn, msg) { - if (config('noDeprecation')) { - return fn; - } + let last = value[value.length - 1]; + if (last && last[0] === 'comment') { + value.pop(); + let comment = new Comment(); + this.current.push(comment); + comment.source = { + input: this.input, + start: { line: last[2], column: last[3] }, + end: { line: last[4], column: last[5] } }; - var warned = false; - function deprecated() { - if (!warned) { - if (config('throwDeprecation')) { - throw new Error(msg); - } else if (config('traceDeprecation')) { - console.trace(msg); - } else { - console.warn(msg); - } - warned = true; - } - return fn.apply(this, arguments); + let prev = value[value.length - 1]; + if (prev && prev[0] === 'space') { + value.pop(); + comment.raws.before = prev[1]; } - - return deprecated; + this.commentText(comment, last); } - /** - * Checks `localStorage` for boolean values for the given `name`. - * - * @param {String} name - * @returns {Boolean} - * @api private - */ - - function config(name) { - // accessing global.localStorage can trigger a DOMException in sandboxed iframes - try { - if (!global.localStorage) return false; - } catch (_) { - return false; + for (let i = value.length - 1; i > 0; i--) { + let t = value[i][0]; + if (t === 'word' && value[i][1] === '!important') { + node.important = true; + if (i > 0 && value[i - 1][0] === 'space') { + node.raws.important = value[i - 1][1] + '!important'; + value.splice(i - 1, 2); + } else { + node.raws.important = '!important'; + value.splice(i, 1); + } + break; + } else if (t !== 'space' && t !== 'newline' && t !== 'comment') { + break; } - var val = global.localStorage[name]; - if (null == val) return false; - return String(val).toLowerCase() === 'true'; } - }).call(this);}).call(this, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}); - }, {}], 453: [function (require, module, exports) { - module.exports = function isBuffer(arg) { - return arg && typeof arg === 'object' && - typeof arg.copy === 'function' && - typeof arg.fill === 'function' && - typeof arg.readUInt8 === 'function'; - }; - }, {}], 454: [function (require, module, exports) { - // Currently in sync with Node.js lib/internal/util/types.js - // https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9 - - 'use strict'; - - var isArgumentsObject = require('is-arguments'); - var isGeneratorFunction = require('is-generator-function'); - var whichTypedArray = require('which-typed-array'); - var isTypedArray = require('is-typed-array'); - - function uncurryThis(f) { - return f.call.bind(f); - } - - var BigIntSupported = typeof BigInt !== 'undefined'; - var SymbolSupported = typeof Symbol !== 'undefined'; - - var ObjectToString = uncurryThis(Object.prototype.toString); - - var numberValue = uncurryThis(Number.prototype.valueOf); - var stringValue = uncurryThis(String.prototype.valueOf); - var booleanValue = uncurryThis(Boolean.prototype.valueOf); - - if (BigIntSupported) { - var bigIntValue = uncurryThis(BigInt.prototype.valueOf); - } - - if (SymbolSupported) { - var symbolValue = uncurryThis(Symbol.prototype.valueOf); - } - - function checkBoxedPrimitive(value, prototypeValueOf) { - if (typeof value !== 'object') { - return false; - } - try { - prototypeValueOf(value); - return true; - } catch (e) { - return false; - } - } - - exports.isArgumentsObject = isArgumentsObject; - exports.isGeneratorFunction = isGeneratorFunction; - exports.isTypedArray = isTypedArray; - - // Taken from here and modified for better browser support - // https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js - function isPromise(input) { - return ( - - typeof Promise !== 'undefined' && - input instanceof Promise || - - - input !== null && - typeof input === 'object' && - typeof input.then === 'function' && - typeof input.catch === 'function'); - - - } - exports.isPromise = isPromise; - - function isArrayBufferView(value) { - if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) { - return ArrayBuffer.isView(value); - } - - return ( - isTypedArray(value) || - isDataView(value)); - - } - exports.isArrayBufferView = isArrayBufferView; - - - function isUint8Array(value) { - return whichTypedArray(value) === 'Uint8Array'; - } - exports.isUint8Array = isUint8Array; - - function isUint8ClampedArray(value) { - return whichTypedArray(value) === 'Uint8ClampedArray'; - } - exports.isUint8ClampedArray = isUint8ClampedArray; - - function isUint16Array(value) { - return whichTypedArray(value) === 'Uint16Array'; - } - exports.isUint16Array = isUint16Array; - - function isUint32Array(value) { - return whichTypedArray(value) === 'Uint32Array'; - } - exports.isUint32Array = isUint32Array; - - function isInt8Array(value) { - return whichTypedArray(value) === 'Int8Array'; - } - exports.isInt8Array = isInt8Array; - - function isInt16Array(value) { - return whichTypedArray(value) === 'Int16Array'; - } - exports.isInt16Array = isInt16Array; - - function isInt32Array(value) { - return whichTypedArray(value) === 'Int32Array'; - } - exports.isInt32Array = isInt32Array; - - function isFloat32Array(value) { - return whichTypedArray(value) === 'Float32Array'; - } - exports.isFloat32Array = isFloat32Array; - - function isFloat64Array(value) { - return whichTypedArray(value) === 'Float64Array'; - } - exports.isFloat64Array = isFloat64Array; - - function isBigInt64Array(value) { - return whichTypedArray(value) === 'BigInt64Array'; - } - exports.isBigInt64Array = isBigInt64Array; - - function isBigUint64Array(value) { - return whichTypedArray(value) === 'BigUint64Array'; - } - exports.isBigUint64Array = isBigUint64Array; - - function isMapToString(value) { - return ObjectToString(value) === '[object Map]'; - } - isMapToString.working = - typeof Map !== 'undefined' && - isMapToString(new Map()); - - - function isMap(value) { - if (typeof Map === 'undefined') { - return false; - } - - return isMapToString.working ? - isMapToString(value) : - value instanceof Map; - } - exports.isMap = isMap; - - function isSetToString(value) { - return ObjectToString(value) === '[object Set]'; - } - isSetToString.working = - typeof Set !== 'undefined' && - isSetToString(new Set()); - - function isSet(value) { - if (typeof Set === 'undefined') { - return false; - } - - return isSetToString.working ? - isSetToString(value) : - value instanceof Set; - } - exports.isSet = isSet; - - function isWeakMapToString(value) { - return ObjectToString(value) === '[object WeakMap]'; - } - isWeakMapToString.working = - typeof WeakMap !== 'undefined' && - isWeakMapToString(new WeakMap()); - - function isWeakMap(value) { - if (typeof WeakMap === 'undefined') { - return false; - } - - return isWeakMapToString.working ? - isWeakMapToString(value) : - value instanceof WeakMap; - } - exports.isWeakMap = isWeakMap; - - function isWeakSetToString(value) { - return ObjectToString(value) === '[object WeakSet]'; - } - isWeakSetToString.working = - typeof WeakSet !== 'undefined' && - isWeakSetToString(new WeakSet()); - - function isWeakSet(value) { - return isWeakSetToString(value); - } - exports.isWeakSet = isWeakSet; - - function isArrayBufferToString(value) { - return ObjectToString(value) === '[object ArrayBuffer]'; - } - isArrayBufferToString.working = - typeof ArrayBuffer !== 'undefined' && - isArrayBufferToString(new ArrayBuffer()); - - function isArrayBuffer(value) { - if (typeof ArrayBuffer === 'undefined') { - return false; + node.raws.between = between + this.firstSpaces(value); + this.checkSemicolon(value); + this.raw(node, 'value', value, colon); } - return isArrayBufferToString.working ? - isArrayBufferToString(value) : - value instanceof ArrayBuffer; - } - exports.isArrayBuffer = isArrayBuffer; - - function isDataViewToString(value) { - return ObjectToString(value) === '[object DataView]'; - } - isDataViewToString.working = - typeof ArrayBuffer !== 'undefined' && - typeof DataView !== 'undefined' && - isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1)); - - function isDataView(value) { - if (typeof DataView === 'undefined') { - return false; - } + rule(part) { + let node = new Rule(); + this.init(node, part); - return isDataViewToString.working ? - isDataViewToString(value) : - value instanceof DataView; - } - exports.isDataView = isDataView; + let selector = part.tokens; + let next = this.parts[this.pos + 1]; - function isSharedArrayBufferToString(value) { - return ObjectToString(value) === '[object SharedArrayBuffer]'; - } - isSharedArrayBufferToString.working = - typeof SharedArrayBuffer !== 'undefined' && - isSharedArrayBufferToString(new SharedArrayBuffer()); + while (!next.end && next.indent.length === part.indent.length) { + selector.push(['space', next.before + next.indent]); + selector = selector.concat(next.tokens); + this.pos += 1; + next = this.parts[this.pos + 1]; + } - function isSharedArrayBuffer(value) { - if (typeof SharedArrayBuffer === 'undefined') { - return false; + this.keepTrailingSpace(node, selector); + this.checkCurly(selector); + this.raw(node, 'selector', selector); } - return isSharedArrayBufferToString.working ? - isSharedArrayBufferToString(value) : - value instanceof SharedArrayBuffer; - } - exports.isSharedArrayBuffer = isSharedArrayBuffer; - - function isAsyncFunction(value) { - return ObjectToString(value) === '[object AsyncFunction]'; - } - exports.isAsyncFunction = isAsyncFunction; - - function isMapIterator(value) { - return ObjectToString(value) === '[object Map Iterator]'; - } - exports.isMapIterator = isMapIterator; - - function isSetIterator(value) { - return ObjectToString(value) === '[object Set Iterator]'; - } - exports.isSetIterator = isSetIterator; - - function isGeneratorObject(value) { - return ObjectToString(value) === '[object Generator]'; - } - exports.isGeneratorObject = isGeneratorObject; - - function isWebAssemblyCompiledModule(value) { - return ObjectToString(value) === '[object WebAssembly.Module]'; - } - exports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule; - - function isNumberObject(value) { - return checkBoxedPrimitive(value, numberValue); - } - exports.isNumberObject = isNumberObject; - - function isStringObject(value) { - return checkBoxedPrimitive(value, stringValue); - } - exports.isStringObject = isStringObject; - - function isBooleanObject(value) { - return checkBoxedPrimitive(value, booleanValue); - } - exports.isBooleanObject = isBooleanObject; - - function isBigIntObject(value) { - return BigIntSupported && checkBoxedPrimitive(value, bigIntValue); - } - exports.isBigIntObject = isBigIntObject; - - function isSymbolObject(value) { - return SymbolSupported && checkBoxedPrimitive(value, symbolValue); - } - exports.isSymbolObject = isSymbolObject; - - function isBoxedPrimitive(value) { - return ( - isNumberObject(value) || - isStringObject(value) || - isBooleanObject(value) || - isBigIntObject(value) || - isSymbolObject(value)); - - } - exports.isBoxedPrimitive = isBoxedPrimitive; - - function isAnyArrayBuffer(value) { - return typeof Uint8Array !== 'undefined' && ( - isArrayBuffer(value) || - isSharedArrayBuffer(value)); - - } - exports.isAnyArrayBuffer = isAnyArrayBuffer; + /* Helpers */ - ['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function (method) { - Object.defineProperty(exports, method, { - enumerable: false, - value: function () { - throw new Error(method + ' is not supported in userland'); - } }); - - }); - - }, { "is-arguments": 33, "is-generator-function": 34, "is-typed-array": 37, "which-typed-array": 456 }], 455: [function (require, module, exports) { - (function (process) {(function () { - // Copyright Joyent, Inc. and other Node contributors. - // - // Permission is hereby granted, free of charge, to any person obtaining a - // copy of this software and associated documentation files (the - // "Software"), to deal in the Software without restriction, including - // without limitation the rights to use, copy, modify, merge, publish, - // distribute, sublicense, and/or sell copies of the Software, and to permit - // persons to whom the Software is furnished to do so, subject to the - // following conditions: - // - // The above copyright notice and this permission notice shall be included - // in all copies or substantial portions of the Software. - // - // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN - // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR - // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE - // USE OR OTHER DEALINGS IN THE SOFTWARE. + indent(part) { + let indent = part.indent.length; + let isPrev = typeof this.prevIndent !== 'undefined'; - var getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors || - function getOwnPropertyDescriptors(obj) { - var keys = Object.keys(obj); - var descriptors = {}; - for (var i = 0; i < keys.length; i++) { - descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]); - } - return descriptors; - }; + if (!isPrev && indent) this.indentedFirstLine(part); - var formatRegExp = /%[sdj%]/g; - exports.format = function (f) { - if (!isString(f)) { - var objects = []; - for (var i = 0; i < arguments.length; i++) { - objects.push(inspect(arguments[i])); - } - return objects.join(' '); - } - - var i = 1; - var args = arguments; - var len = args.length; - var str = String(f).replace(formatRegExp, function (x) { - if (x === '%%') return '%'; - if (i >= len) return x; - switch (x) { - case '%s':return String(args[i++]); - case '%d':return Number(args[i++]); - case '%j': - try { - return JSON.stringify(args[i++]); - } catch (_) { - return '[Circular]'; - } - default: - return x;} + if (!this.step && indent) { + this.step = indent; + this.root.raws.indent = part.indent; + } - }); - for (var x = args[i]; i < len; x = args[++i]) { - if (isNull(x) || !isObject(x)) { - str += ' ' + x; + if (isPrev && this.prevIndent !== indent) { + let diff = indent - this.prevIndent; + if (diff > 0) { + if (diff !== this.step) { + this.wrongIndent(this.prevIndent + this.step, indent, part); + } else if (this.current.last.push) { + this.current = this.current.last; } else { - str += ' ' + inspect(x); + this.extraIndent = ''; + for (let i = 0; i < diff; i++) { + this.extraIndent += ' '; + } + } + } else if (diff % this.step !== 0) { + let m = indent + diff % this.step; + this.wrongIndent(`${m} or ${m + this.step}`, indent, part); + } else { + for (let i = 0; i < -diff / this.step; i++) { + this.current = this.current.parent; } } - return str; - }; + } + this.prevIndent = indent; + } - // Mark that a method should not be used. - // Returns a modified function which warns once by default. - // If --no-deprecation is set, then it is a no-op. - exports.deprecate = function (fn, msg) { - if (typeof process !== 'undefined' && process.noDeprecation === true) { - return fn; - } + init(node, part) { + this.indent(part); - // Allow for deprecating things in the process of starting up. - if (typeof process === 'undefined') { - return function () { - return exports.deprecate(fn, msg).apply(this, arguments); - }; - } + if (!this.current.nodes) this.current.nodes = []; + this.current.push(node); - var warned = false; - function deprecated() { - if (!warned) { - if (process.throwDeprecation) { - throw new Error(msg); - } else if (process.traceDeprecation) { - console.trace(msg); - } else { - console.error(msg); - } - warned = true; - } - return fn.apply(this, arguments); - } + node.raws.before = part.before + part.indent; + if (this.extraIndent) { + node.raws.extraIndent = this.extraIndent; + this.extraIndent = false; + } + node.source = { + start: { line: part.tokens[0][2], column: part.tokens[0][3] }, + input: this.input }; - return deprecated; - }; + } + checkCurly(tokens) { + for (let token of tokens) { + if (token[0] === '{') { + this.error('Unnecessary curly bracket', token[2], token[3]); + } + } + } - var debugs = {}; - var debugEnvRegex = /^$/; - - if (process.env.NODE_DEBUG) { - var debugEnv = process.env.NODE_DEBUG; - debugEnv = debugEnv.replace(/[|\\{}()[\]^$+?.]/g, '\\$&'). - replace(/\*/g, '.*'). - replace(/,/g, '$|^'). - toUpperCase(); - debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i'); - } - exports.debuglog = function (set) { - set = set.toUpperCase(); - if (!debugs[set]) { - if (debugEnvRegex.test(set)) { - var pid = process.pid; - debugs[set] = function () { - var msg = exports.format.apply(exports, arguments); - console.error('%s %d: %s', set, pid, msg); - }; - } else { - debugs[set] = function () {}; - } + checkSemicolon(tokens) { + for (let token of tokens) { + if (token[0] === ';') { + this.error('Unnecessary semicolon', token[2], token[3]); } - return debugs[set]; - }; + } + } + keepTrailingSpace(node, tokens) { + let lastSpace = tokens[tokens.length - 1]; + if (lastSpace && lastSpace[0] === 'space') { + tokens.pop(); + node.raws.sssBetween = lastSpace[1]; + } + } - /** - * Echos the value of a value. Trys to print the value out - * in the best way possible given the different types. - * - * @param {Object} obj The object to print out. - * @param {Object} opts Optional options object that alters the output. - */ - /* legacy: obj, showHidden, depth, colors*/ - function inspect(obj, opts) { - // default options - var ctx = { - seen: [], - stylize: stylizeNoColor }; - - // legacy... - if (arguments.length >= 3) ctx.depth = arguments[2]; - if (arguments.length >= 4) ctx.colors = arguments[3]; - if (isBoolean(opts)) { - // legacy... - ctx.showHidden = opts; - } else if (opts) { - // got an "options" object - exports._extend(ctx, opts); - } - // set default options - if (isUndefined(ctx.showHidden)) ctx.showHidden = false; - if (isUndefined(ctx.depth)) ctx.depth = 2; - if (isUndefined(ctx.colors)) ctx.colors = false; - if (isUndefined(ctx.customInspect)) ctx.customInspect = true; - if (ctx.colors) ctx.stylize = stylizeWithColor; - return formatValue(ctx, obj, ctx.depth); - } - exports.inspect = inspect; - - - // http://en.wikipedia.org/wiki/ANSI_escape_code#graphics - inspect.colors = { - 'bold': [1, 22], - 'italic': [3, 23], - 'underline': [4, 24], - 'inverse': [7, 27], - 'white': [37, 39], - 'grey': [90, 39], - 'black': [30, 39], - 'blue': [34, 39], - 'cyan': [36, 39], - 'green': [32, 39], - 'magenta': [35, 39], - 'red': [31, 39], - 'yellow': [33, 39] }; - - - // Don't use 'blue' not visible on cmd.exe - inspect.styles = { - 'special': 'cyan', - 'number': 'yellow', - 'boolean': 'yellow', - 'undefined': 'grey', - 'null': 'bold', - 'string': 'green', - 'date': 'magenta', - // "name": intentionally not styling - 'regexp': 'red' }; - - - - function stylizeWithColor(str, styleType) { - var style = inspect.styles[styleType]; - - if (style) { - return '\u001b[' + inspect.colors[style][0] + 'm' + str + - '\u001b[' + inspect.colors[style][1] + 'm'; + firstSpaces(tokens) { + let result = ''; + for (let i = 0; i < tokens.length; i++) { + if (tokens[i][0] === 'space' || tokens[i][0] === 'newline') { + result += tokens.shift()[1]; + i -= 1; } else { - return str; + break; } } + return result; + } + raw(node, prop, tokens, altLast) { + let token, type; + let length = tokens.length; + let value = ''; + let clean = true; + for (let i = 0; i < length; i += 1) { + token = tokens[i]; + type = token[0]; + if (type === 'comment' || type === 'space' && i === length - 1) { + clean = false; + } else { + value += token[1]; + } + } + if (!clean) { + let sss = tokens.reduce((all, i) => all + i[1], ''); + let raw = tokens.reduce((all, i) => { + if (i[0] === 'comment' && i[6] === 'inline') { + return all + '/* ' + i[1].slice(2).trim() + ' */'; + } else { + return all + i[1]; + } + }, ''); + node.raws[prop] = { value, raw }; + if (sss !== raw) node.raws[prop].sss = sss; + } + node[prop] = value; - function stylizeNoColor(str, styleType) { - return str; + let last; + for (let i = tokens.length - 1; i >= 0; i--) { + if (tokens[i].length > 2) { + last = tokens[i]; + break; + } } + if (!last) last = altLast; + node.source.end = { + line: last[4] || last[2], + column: last[5] || last[3] }; - function arrayToHash(array) { - var hash = {}; + } - array.forEach(function (val, idx) { - hash[val] = true; - }); + nextNonComment(pos) { + let next = pos; + let part; + while (next < this.parts.length) { + next += 1; + part = this.parts[next]; + if (part.end || !part.comment) break; + } + return part; + } - return hash; + commentText(node, token) { + let text = token[1]; + if (token[6] === 'inline') { + node.raws.inline = true; + text = text.slice(2); + } else { + text = text.slice(2, -2); } + let match = text.match(/^(\s*)([^]*\S)(\s*)\n?$/); + if (match) { + node.text = match[2]; + node.raws.left = match[1]; + node.raws.inlineRight = match[3]; + } else { + node.text = ''; + node.raws.left = ''; + node.raws.inlineRight = ''; + } + } - function formatValue(ctx, value, recurseTimes) { - // Provide a hook for user-specified inspect functions. - // Check that value is an object with an inspect function on it - if (ctx.customInspect && - value && - isFunction(value.inspect) && - // Filter out the util module, it's inspect function is special - value.inspect !== exports.inspect && - // Also filter out any prototype objects using the circular check. - !(value.constructor && value.constructor.prototype === value)) { - var ret = value.inspect(recurseTimes, ctx); - if (!isString(ret)) { - ret = formatValue(ctx, ret, recurseTimes); - } - return ret; - } + // Errors - // Primitive types cannot have properties - var primitive = formatPrimitive(ctx, value); - if (primitive) { - return primitive; - } + error(msg, line, column) { + throw this.input.error(msg, line, column); + } - // Look up the keys of the object. - var keys = Object.keys(value); - var visibleKeys = arrayToHash(keys); + unnamedAtrule(token) { + this.error('At-rule without name', token[2], token[3]); + } - if (ctx.showHidden) { - keys = Object.getOwnPropertyNames(value); - } + unnamedDecl(token) { + this.error('Declaration without name', token[2], token[3]); + } - // IE doesn't make error fields non-enumerable - // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx - if (isError(value) && ( - keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) { - return formatError(value); - } + indentedFirstLine(part) { + this.error('First line should not have indent', part.number, 1); + } - // Some type of object without properties can be shortcutted. - if (keys.length === 0) { - if (isFunction(value)) { - var name = value.name ? ': ' + value.name : ''; - return ctx.stylize('[Function' + name + ']', 'special'); - } - if (isRegExp(value)) { - return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); - } - if (isDate(value)) { - return ctx.stylize(Date.prototype.toString.call(value), 'date'); - } - if (isError(value)) { - return formatError(value); - } - } + wrongIndent(expected, real, part) { + let msg = `Expected ${expected} indent, but get ${real}`; + this.error(msg, part.number, 1); + } - var base = '',array = false,braces = ['{', '}']; + badProp(token) { + this.error('Unexpected separator in property', token[2], token[3]); + }}; - // Make Array say that they are Array - if (isArray(value)) { - array = true; - braces = ['[', ']']; - } - // Make functions say that they are functions - if (isFunction(value)) { - var n = value.name ? ': ' + value.name : ''; - base = ' [Function' + n + ']'; - } + }, { "postcss": 79 }], 430: [function (require, module, exports) { + function indentError(input, l, p) { + throw input.error('Mixed tabs and spaces are not allowed', l, p + 1); + } - // Make RegExps say that they are RegExps - if (isRegExp(value)) { - base = ' ' + RegExp.prototype.toString.call(value); - } + module.exports = function preprocess(input, lines) { + let indentType; + let prevNumber = 0; + let parts = lines.map(line => { + let lastComma = false; + let comment = false; + let number = prevNumber + 1; + let atrule = false; + let indent = ''; + let tokens = []; + let colon = false; - // Make dates with properties first say the date - if (isDate(value)) { - base = ' ' + Date.prototype.toUTCString.call(value); + if (line.length > 0) { + if (line[0][0] === 'space') { + indent = line[0][1]; + tokens = line.slice(1); + } else { + indent = ''; + tokens = line; } - // Make error with message first say the error - if (isError(value)) { - base = ' ' + formatError(value); + if (!indentType && indent.length) { + indentType = indent[0] === ' ' ? 'space' : 'tab'; } - - if (keys.length === 0 && (!array || value.length == 0)) { - return braces[0] + base + braces[1]; + if (indentType === 'space') { + if (indent.includes('\t')) { + indentError(input, number, indent.indexOf('\t')); + } + } else if (indentType === 'tab') { + if (indent.includes(' ')) { + indentError(input, number, indent.indexOf(' ')); + } } - if (recurseTimes < 0) { - if (isRegExp(value)) { - return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); - } else { - return ctx.stylize('[Object]', 'special'); + if (tokens.length) { + for (let i = tokens.length - 1; i >= 0; i--) { + let type = tokens[i][0]; + if (type === ',') { + lastComma = true; + break; + } else if (type === 'space') { + continue; + } else if (type === 'comment') { + continue; + } else if (type === 'newline') { + continue; + } else { + break; + } + } + comment = tokens[0][0] === 'comment'; + atrule = tokens[0][0] === 'at-word'; + + let brackets = 0; + for (let i = 0; i < tokens.length - 1; i++) { + let type = tokens[i][0]; + let next = tokens[i + 1][0]; + if (type === '(') { + brackets += 1; + } else if (type === ')') { + brackets -= 1; + } else if ( + type === ':' && + brackets === 0 && ( + next === 'space' || next === 'newline')) + { + colon = true; + } } } - ctx.seen.push(value); + let last = tokens[tokens.length - 1]; + if (last && last[0] === 'newline') prevNumber = last[2]; + } - var output; - if (array) { - output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); - } else { - output = keys.map(function (key) { - return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); - }); - } + return { + number, + indent, + colon, + tokens, + atrule, + comment, + lastComma, + before: '' }; - ctx.seen.pop(); + }); - return reduceToSingleString(output, base, braces); + parts = parts.reduceRight( + (all, i) => { + if (!i.tokens.length || i.tokens.every(j => j[0] === 'newline')) { + let prev = all[0]; + let before = i.indent + i.tokens.map(j => j[1]).join(''); + prev.before = before + prev.before; + } else { + all.unshift(i); } + return all; + }, + [{ end: true, before: '' }]); - function formatPrimitive(ctx, value) { - if (isUndefined(value)) - return ctx.stylize('undefined', 'undefined'); - if (isString(value)) { - var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, ''). - replace(/'/g, "\\'"). - replace(/\\"/g, '"') + '\''; - return ctx.stylize(simple, 'string'); - } - if (isNumber(value)) - return ctx.stylize('' + value, 'number'); - if (isBoolean(value)) - return ctx.stylize('' + value, 'boolean'); - // For some reason typeof null is "object", so special case here. - if (isNull(value)) - return ctx.stylize('null', 'null'); + parts.forEach((part, i) => { + if (i === 0) return; + + let prev = parts[i - 1]; + let last = prev.tokens[prev.tokens.length - 1]; + if (last && last[0] === 'newline') { + part.before = last[1] + part.before; + prev.tokens.pop(); } + }); + return parts; + }; - function formatError(value) { - return '[' + Error.prototype.toString.call(value) + ']'; - } + }, {}], 431: [function (require, module, exports) { + const DEFAULT_RAWS = { + colon: ': ', + indent: ' ', + commentLeft: ' ', + commentRight: ' ' }; - function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { - var output = []; - for (var i = 0, l = value.length; i < l; ++i) { - if (hasOwnProperty(value, String(i))) { - output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, - String(i), true)); - } else { - output.push(''); - } - } - keys.forEach(function (key) { - if (!key.match(/^\d+$/)) { - output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, - key, true)); - } - }); - return output; - } + module.exports = class Stringifier { + constructor(builder) { + this.builder = builder; + } + stringify(node, semicolon) { + this[node.type](node, semicolon); + } - function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { - var name, str, desc; - desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] }; - if (desc.get) { - if (desc.set) { - str = ctx.stylize('[Getter/Setter]', 'special'); - } else { - str = ctx.stylize('[Getter]', 'special'); - } + root(node) { + this.body(node); + if (node.raws.after) this.builder(node.raws.after); + } + + comment(node) { + let left = DEFAULT_RAWS.commentLeft; + let right = DEFAULT_RAWS.commentRight; + if (this.has(node.raws.left)) left = node.raws.left; + + if (node.raws.inline) { + if (this.has(node.raws.inlineRight)) { + right = node.raws.inlineRight; } else { - if (desc.set) { - str = ctx.stylize('[Setter]', 'special'); - } - } - if (!hasOwnProperty(visibleKeys, key)) { - name = '[' + key + ']'; - } - if (!str) { - if (ctx.seen.indexOf(desc.value) < 0) { - if (isNull(recurseTimes)) { - str = formatValue(ctx, desc.value, null); - } else { - str = formatValue(ctx, desc.value, recurseTimes - 1); - } - if (str.indexOf('\n') > -1) { - if (array) { - str = str.split('\n').map(function (line) { - return ' ' + line; - }).join('\n').substr(2); - } else { - str = '\n' + str.split('\n').map(function (line) { - return ' ' + line; - }).join('\n'); - } - } - } else { - str = ctx.stylize('[Circular]', 'special'); - } + right = ''; } - if (isUndefined(name)) { - if (array && key.match(/^\d+$/)) { - return str; - } - name = JSON.stringify('' + key); - if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { - name = name.substr(1, name.length - 2); - name = ctx.stylize(name, 'name'); - } else { - name = name.replace(/'/g, "\\'"). - replace(/\\"/g, '"'). - replace(/(^"|"$)/g, "'"); - name = ctx.stylize(name, 'string'); - } + if (node.raws.extraIndent) { + this.builder(node.raws.extraIndent); } + this.builder('//' + left + node.text + right, node); + } else { + if (this.has(node.raws.right)) right = node.raws.right; + this.builder('/*' + left + node.text + right + '*/', node); + } + } - return name + ': ' + str; + decl(node) { + let between = node.raws.between || DEFAULT_RAWS.colon; + let string = node.prop + between + this.rawValue(node, 'value'); + + if (node.important) { + string += node.raws.important || ' !important'; } + this.builder(string, node); + } - function reduceToSingleString(output, base, braces) { - var numLinesEst = 0; - var length = output.reduce(function (prev, cur) { - numLinesEst++; - if (cur.indexOf('\n') >= 0) numLinesEst++; - return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1; - }, 0); + rule(node) { + this.block(node, this.rawValue(node, 'selector')); + } - if (length > 60) { - return braces[0] + ( - base === '' ? '' : base + '\n ') + - ' ' + - output.join(',\n ') + - ' ' + - braces[1]; - } + atrule(node) { + let name = '@' + node.name; + let params = node.params ? this.rawValue(node, 'params') : ''; - return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; + if (this.has(node.raws.afterName)) { + name += node.raws.afterName; + } else if (params) { + name += ' '; } + this.block(node, name + params); + } - // NOTE: These type checking functions intentionally don't use `instanceof` - // because it is fragile and can be easily faked with `Object.create()`. - exports.types = require('./support/types'); + body(node) { + let indent = node.root().raws.indent || DEFAULT_RAWS.indent; - function isArray(ar) { - return Array.isArray(ar); + for (let i = 0; i < node.nodes.length; i++) { + let child = node.nodes[i]; + let before = + child.raws.before.replace(/[^\n]*$/, '') + this.indent(node, indent); + if (child.type === 'comment' && !child.raws.before.includes('\n')) { + before = child.raws.before; + } + if (before) this.builder(before); + this.stringify(child); } - exports.isArray = isArray; + } - function isBoolean(arg) { - return typeof arg === 'boolean'; - } - exports.isBoolean = isBoolean; + block(node, start) { + let between = node.raws.sssBetween || ''; + this.builder(start + between, node, 'start'); + if (this.has(node.nodes)) this.body(node); + } - function isNull(arg) { - return arg === null; + indent(node, step) { + let result = ''; + while (node.parent) { + result += step; + node = node.parent; } - exports.isNull = isNull; + return result; + } - function isNullOrUndefined(arg) { - return arg == null; - } - exports.isNullOrUndefined = isNullOrUndefined; + has(value) { + return typeof value !== 'undefined'; + } - function isNumber(arg) { - return typeof arg === 'number'; + rawValue(node, prop) { + let value = node[prop]; + let raw = node.raws[prop]; + if (raw && raw.value === value) { + return raw.sss || raw.raw; + } else { + return value; } - exports.isNumber = isNumber; + }}; - function isString(arg) { - return typeof arg === 'string'; - } - exports.isString = isString; - function isSymbol(arg) { - return typeof arg === 'symbol'; - } - exports.isSymbol = isSymbol; + }, {}], 432: [function (require, module, exports) { + let Stringifier = require('./stringifier'); - function isUndefined(arg) { - return arg === void 0; - } - exports.isUndefined = isUndefined; + module.exports = function stringify(node, builder) { + let str = new Stringifier(builder); + str.stringify(node); + }; - function isRegExp(re) { - return isObject(re) && objectToString(re) === '[object RegExp]'; - } - exports.isRegExp = isRegExp; - exports.types.isRegExp = isRegExp; + }, { "./stringifier": 431 }], 433: [function (require, module, exports) { + const SINGLE_QUOTE = "'".charCodeAt(0); + const DOUBLE_QUOTE = '"'.charCodeAt(0); + const BACKSLASH = '\\'.charCodeAt(0); + const SLASH = '/'.charCodeAt(0); + const NEWLINE = '\n'.charCodeAt(0); + const SPACE = ' '.charCodeAt(0); + const FEED = '\f'.charCodeAt(0); + const TAB = '\t'.charCodeAt(0); + const CR = '\r'.charCodeAt(0); + const OPEN_PARENTHESES = '('.charCodeAt(0); + const CLOSE_PARENTHESES = ')'.charCodeAt(0); + const OPEN_CURLY = '{'.charCodeAt(0); + const CLOSE_CURLY = '}'.charCodeAt(0); + const SEMICOLON = ';'.charCodeAt(0); + const ASTERICK = '*'.charCodeAt(0); + const COLON = ':'.charCodeAt(0); + const AT = '@'.charCodeAt(0); + const COMMA = ','.charCodeAt(0); - function isObject(arg) { - return typeof arg === 'object' && arg !== null; - } - exports.isObject = isObject; + const RE_AT_END = /[\t\n\f\r "'()/;\\{]/g; + const RE_NEW_LINE = /[\n\f\r]/g; + const RE_WORD_END = /[\t\n\f\r !"'(),:;@\\{}]|\/(?=\*)/g; + const RE_BAD_BRACKET = /.[\n"'(/\\]/; - function isDate(d) { - return isObject(d) && objectToString(d) === '[object Date]'; - } - exports.isDate = isDate; - exports.types.isDate = isDate; + module.exports = function tokenize(input) { + let tokens = []; + let css = input.css.valueOf(); - function isError(e) { - return isObject(e) && ( - objectToString(e) === '[object Error]' || e instanceof Error); - } - exports.isError = isError; - exports.types.isNativeError = isError; + let code, + next, + quote, + lines, + last, + content, + escape, + nextLine, + nextOffset, + escaped, + escapePos, + prev, + n; - function isFunction(arg) { - return typeof arg === 'function'; - } - exports.isFunction = isFunction; + let length = css.length; + let offset = -1; + let line = 1; + let pos = 0; - function isPrimitive(arg) { - return arg === null || - typeof arg === 'boolean' || - typeof arg === 'number' || - typeof arg === 'string' || - typeof arg === 'symbol' || // ES6 symbol - typeof arg === 'undefined'; - } - exports.isPrimitive = isPrimitive; + function unclosed(what) { + throw input.error('Unclosed ' + what, line, pos - offset); + } - exports.isBuffer = require('./support/isBuffer'); + while (pos < length) { + code = css.charCodeAt(pos); - function objectToString(o) { - return Object.prototype.toString.call(o); + if ( + code === NEWLINE || + code === FEED || + code === CR && css.charCodeAt(pos + 1) !== NEWLINE) + { + offset = pos; + line += 1; } + switch (code) { + case CR: + if (css.charCodeAt(pos + 1) === NEWLINE) { + offset = pos; + line += 1; + pos += 1; + tokens.push(['newline', '\r\n', line - 1]); + } else { + tokens.push(['newline', '\r', line - 1]); + } + break; - function pad(n) { - return n < 10 ? '0' + n.toString(10) : n.toString(10); - } + case FEED: + case NEWLINE: + tokens.push(['newline', css.slice(pos, pos + 1), line - 1]); + break; + case SPACE: + case TAB: + next = pos; + do { + next += 1; + code = css.charCodeAt(next); + } while (code === SPACE || code === TAB); - var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', - 'Oct', 'Nov', 'Dec']; + tokens.push(['space', css.slice(pos, next)]); + pos = next - 1; + break; - // 26 Feb 16:19:34 - function timestamp() { - var d = new Date(); - var time = [pad(d.getHours()), - pad(d.getMinutes()), - pad(d.getSeconds())].join(':'); - return [d.getDate(), months[d.getMonth()], time].join(' '); - } + case OPEN_CURLY: + tokens.push(['{', '{', line, pos - offset]); + break; + case CLOSE_CURLY: + tokens.push(['}', '}', line, pos - offset]); + break; - // log is just a thin wrapper to console.log that prepends a timestamp - exports.log = function () { - console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments)); - }; + case COLON: + tokens.push([':', ':', line, pos - offset]); + break; + case SEMICOLON: + tokens.push([';', ';', line, pos - offset]); + break; - /** - * Inherit the prototype methods from one constructor into another. - * - * The Function.prototype.inherits from lang.js rewritten as a standalone - * function (not on Function.prototype). NOTE: If this file is to be loaded - * during bootstrapping this function needs to be rewritten using some native - * functions as prototype setup using normal JavaScript does not work as - * expected during bootstrapping (see mirror.js in r114903). - * - * @param {function} ctor Constructor function which needs to inherit the - * prototype. - * @param {function} superCtor Constructor function to inherit prototype from. - */ - exports.inherits = require('inherits'); + case COMMA: + tokens.push([',', ',', line, pos - offset]); + break; - exports._extend = function (origin, add) { - // Don't do anything if add isn't an object - if (!add || !isObject(add)) return origin; + case OPEN_PARENTHESES: + prev = tokens.length ? tokens[tokens.length - 1][1] : ''; + n = css.charCodeAt(pos + 1); + if ( + prev === 'url' && + n !== SINGLE_QUOTE && + n !== DOUBLE_QUOTE && + n !== SPACE && + n !== NEWLINE && + n !== TAB && + n !== FEED && + n !== CR) + { + next = pos; + do { + escaped = false; + next = css.indexOf(')', next + 1); + if (next === -1) unclosed('bracket'); + escapePos = next; + while (css.charCodeAt(escapePos - 1) === BACKSLASH) { + escapePos -= 1; + escaped = !escaped; + } + } while (escaped); - var keys = Object.keys(add); - var i = keys.length; - while (i--) { - origin[keys[i]] = add[keys[i]]; - } - return origin; - }; + tokens.push([ + 'brackets', + css.slice(pos, next + 1), + line, + pos - offset, + line, + next - offset]); - function hasOwnProperty(obj, prop) { - return Object.prototype.hasOwnProperty.call(obj, prop); - } + pos = next; + } else { + next = css.indexOf(')', pos + 1); + content = css.slice(pos, next + 1); + + if (next === -1 || RE_BAD_BRACKET.test(content)) { + tokens.push(['(', '(', line, pos - offset]); + } else { + tokens.push([ + 'brackets', + content, + line, + pos - offset, + line, + next - offset]); + + pos = next; + } + } + + break; - var kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined; + case CLOSE_PARENTHESES: + tokens.push([')', ')', line, pos - offset]); + break; + + case SINGLE_QUOTE: + case DOUBLE_QUOTE: + quote = code === SINGLE_QUOTE ? "'" : '"'; + next = pos; + do { + escaped = false; + next = css.indexOf(quote, next + 1); + if (next === -1) unclosed('quote'); + escapePos = next; + while (css.charCodeAt(escapePos - 1) === BACKSLASH) { + escapePos -= 1; + escaped = !escaped; + } + } while (escaped); - exports.promisify = function promisify(original) { - if (typeof original !== 'function') - throw new TypeError('The "original" argument must be of type Function'); + content = css.slice(pos, next + 1); + lines = content.split('\n'); + last = lines.length - 1; - if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) { - var fn = original[kCustomPromisifiedSymbol]; - if (typeof fn !== 'function') { - throw new TypeError('The "util.promisify.custom" argument must be of type Function'); + if (last > 0) { + nextLine = line + last; + nextOffset = next - lines[last].length; + } else { + nextLine = line; + nextOffset = offset; } - Object.defineProperty(fn, kCustomPromisifiedSymbol, { - value: fn, enumerable: false, writable: false, configurable: true }); - return fn; - } + tokens.push([ + 'string', + css.slice(pos, next + 1), + line, + pos - offset, + nextLine, + next - nextOffset]); - function fn() { - var promiseResolve, promiseReject; - var promise = new Promise(function (resolve, reject) { - promiseResolve = resolve; - promiseReject = reject; - }); - var args = []; - for (var i = 0; i < arguments.length; i++) { - args.push(arguments[i]); + offset = nextOffset; + line = nextLine; + pos = next; + break; + + case AT: + RE_AT_END.lastIndex = pos + 1; + RE_AT_END.test(css); + if (RE_AT_END.lastIndex === 0) { + next = css.length - 1; + } else { + next = RE_AT_END.lastIndex - 2; } - args.push(function (err, value) { - if (err) { - promiseReject(err); + tokens.push([ + 'at-word', + css.slice(pos, next + 1), + line, + pos - offset, + line, + next - offset]); + + pos = next; + break; + + case BACKSLASH: + next = pos; + escape = true; + + nextLine = line; + + while (css.charCodeAt(next + 1) === BACKSLASH) { + next += 1; + escape = !escape; + } + code = css.charCodeAt(next + 1); + if (escape) { + if (code === CR && css.charCodeAt(next + 2) === NEWLINE) { + next += 2; + nextLine += 1; + nextOffset = next; + } else if (code === CR || code === NEWLINE || code === FEED) { + next += 1; + nextLine += 1; + nextOffset = next; } else { - promiseResolve(value); + next += 1; } - }); + } + tokens.push([ + 'word', + css.slice(pos, next + 1), + line, + pos - offset, + line, + next - offset]); - try { - original.apply(this, args); - } catch (err) { - promiseReject(err); + if (nextLine !== line) { + line = nextLine; + offset = nextOffset; } + pos = next; + break; - return promise; - } + default: + n = css.charCodeAt(pos + 1); + + if (code === SLASH && n === ASTERICK) { + next = css.indexOf('*/', pos + 2) + 1; + if (next === 0) unclosed('comment'); - Object.setPrototypeOf(fn, Object.getPrototypeOf(original)); + content = css.slice(pos, next + 1); + lines = content.split('\n'); + last = lines.length - 1; - if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, { - value: fn, enumerable: false, writable: false, configurable: true }); + if (last > 0) { + nextLine = line + last; + nextOffset = next - lines[last].length; + } else { + nextLine = line; + nextOffset = offset; + } - return Object.defineProperties( - fn, - getOwnPropertyDescriptors(original)); + tokens.push([ + 'comment', + content, + line, + pos - offset, + nextLine, + next - nextOffset]); - }; - exports.promisify.custom = kCustomPromisifiedSymbol; + offset = nextOffset; + line = nextLine; + pos = next; + } else if (code === SLASH && n === SLASH) { + RE_NEW_LINE.lastIndex = pos + 1; + RE_NEW_LINE.test(css); + if (RE_NEW_LINE.lastIndex === 0) { + next = css.length - 1; + } else { + next = RE_NEW_LINE.lastIndex - 2; + } - function callbackifyOnRejected(reason, cb) { - // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M). - // Because `null` is a special error value in callbacks which means "no error - // occurred", we error-wrap so the callback consumer can distinguish between - // "the promise rejected with null" or "the promise fulfilled with undefined". - if (!reason) { - var newReason = new Error('Promise was rejected with a falsy value'); - newReason.reason = reason; - reason = newReason; - } - return cb(reason); - } + content = css.slice(pos, next + 1); - function callbackify(original) { - if (typeof original !== 'function') { - throw new TypeError('The "original" argument must be of type Function'); - } + tokens.push([ + 'comment', + content, + line, + pos - offset, + line, + next - offset, + 'inline']); - // We DO NOT return the promise as it gives the user a false sense that - // the promise is actually somehow related to the callback's execution - // and that the callback throwing will reject the promise. - function callbackified() { - var args = []; - for (var i = 0; i < arguments.length; i++) { - args.push(arguments[i]); - } - var maybeCb = args.pop(); - if (typeof maybeCb !== 'function') { - throw new TypeError('The last argument must be of type Function'); + pos = next; + } else { + RE_WORD_END.lastIndex = pos + 1; + RE_WORD_END.test(css); + if (RE_WORD_END.lastIndex === 0) { + next = css.length - 1; + } else { + next = RE_WORD_END.lastIndex - 2; + } + + tokens.push([ + 'word', + css.slice(pos, next + 1), + line, + pos - offset, + line, + next - offset]); + + pos = next; } - var self = this; - var cb = function () { - return maybeCb.apply(self, arguments); - }; - // In true node style we process the callback on `nextTick` with all the - // implications (stack, `uncaughtException`, `async_hooks`) - original.apply(this, args). - then(function (ret) {process.nextTick(cb.bind(null, null, ret));}, - function (rej) {process.nextTick(callbackifyOnRejected.bind(null, rej, cb));}); - } - Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original)); - Object.defineProperties(callbackified, - getOwnPropertyDescriptors(original)); - return callbackified; - } - exports.callbackify = callbackify; + break;} - }).call(this);}).call(this, require('_process')); - }, { "./support/isBuffer": 453, "./support/types": 454, "_process": 115, "inherits": 32 }], 456: [function (require, module, exports) { + + pos++; + } + + return tokens; + }; + + }, {}], 434: [function (require, module, exports) { + module.exports = require('./svg-tags.json'); + }, { "./svg-tags.json": 435 }], 435: [function (require, module, exports) { + module.exports = [ + "a", + "altGlyph", + "altGlyphDef", + "altGlyphItem", + "animate", + "animateColor", + "animateMotion", + "animateTransform", + "circle", + "clipPath", + "color-profile", + "cursor", + "defs", + "desc", + "ellipse", + "feBlend", + "feColorMatrix", + "feComponentTransfer", + "feComposite", + "feConvolveMatrix", + "feDiffuseLighting", + "feDisplacementMap", + "feDistantLight", + "feFlood", + "feFuncA", + "feFuncB", + "feFuncG", + "feFuncR", + "feGaussianBlur", + "feImage", + "feMerge", + "feMergeNode", + "feMorphology", + "feOffset", + "fePointLight", + "feSpecularLighting", + "feSpotLight", + "feTile", + "feTurbulence", + "filter", + "font", + "font-face", + "font-face-format", + "font-face-name", + "font-face-src", + "font-face-uri", + "foreignObject", + "g", + "glyph", + "glyphRef", + "hkern", + "image", + "line", + "linearGradient", + "marker", + "mask", + "metadata", + "missing-glyph", + "mpath", + "path", + "pattern", + "polygon", + "polyline", + "radialGradient", + "rect", + "script", + "set", + "stop", + "style", + "svg", + "switch", + "symbol", + "text", + "textPath", + "title", + "tref", + "tspan", + "use", + "view", + "vkern"]; + + }, {}], 436: [function (require, module, exports) { (function (global) {(function () { - 'use strict'; - var forEach = require('foreach'); - var availableTypedArrays = require('available-typed-arrays'); - var callBound = require('call-bind/callBound'); + /** + * Module exports. + */ + + module.exports = deprecate; - var $toString = callBound('Object.prototype.toString'); - var hasSymbols = require('has-symbols')(); - var hasToStringTag = hasSymbols && typeof Symbol.toStringTag === 'symbol'; + /** + * Mark that a method should not be used. + * Returns a modified function which warns once by default. + * + * If `localStorage.noDeprecation = true` is set, then it is a no-op. + * + * If `localStorage.throwDeprecation = true` is set, then deprecated functions + * will throw an Error when invoked. + * + * If `localStorage.traceDeprecation = true` is set, then deprecated functions + * will invoke `console.trace()` instead of `console.error()`. + * + * @param {Function} fn - the function to deprecate + * @param {String} msg - the string to print to the console when `fn` is invoked + * @returns {Function} a new "deprecated" version of `fn` + * @api public + */ - var typedArrays = availableTypedArrays(); + function deprecate(fn, msg) { + if (config('noDeprecation')) { + return fn; + } - var $slice = callBound('String.prototype.slice'); - var toStrTags = {}; - var gOPD = require('es-abstract/helpers/getOwnPropertyDescriptor'); - var getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof'); - if (hasToStringTag && gOPD && getPrototypeOf) { - forEach(typedArrays, function (typedArray) { - if (typeof global[typedArray] === 'function') { - var arr = new global[typedArray](); - if (!(Symbol.toStringTag in arr)) { - throw new EvalError('this engine has support for Symbol.toStringTag, but ' + typedArray + ' does not have the property! Please report this.'); - } - var proto = getPrototypeOf(arr); - var descriptor = gOPD(proto, Symbol.toStringTag); - if (!descriptor) { - var superProto = getPrototypeOf(proto); - descriptor = gOPD(superProto, Symbol.toStringTag); + var warned = false; + function deprecated() { + if (!warned) { + if (config('throwDeprecation')) { + throw new Error(msg); + } else if (config('traceDeprecation')) { + console.trace(msg); + } else { + console.warn(msg); } - toStrTags[typedArray] = descriptor.get; + warned = true; } - }); - } + return fn.apply(this, arguments); + } - var tryTypedArrays = function tryAllTypedArrays(value) { - var foundName = false; - forEach(toStrTags, function (getter, typedArray) { - if (!foundName) { - try { - var name = getter.call(value); - if (name === typedArray) { - foundName = name; - } - } catch (e) {} - } - }); - return foundName; - }; + return deprecated; + } - var isTypedArray = require('is-typed-array'); + /** + * Checks `localStorage` for boolean values for the given `name`. + * + * @param {String} name + * @returns {Boolean} + * @api private + */ - module.exports = function whichTypedArray(value) { - if (!isTypedArray(value)) {return false;} - if (!hasToStringTag) {return $slice($toString(value), 8, -1);} - return tryTypedArrays(value); - }; + function config(name) { + // accessing global.localStorage can trigger a DOMException in sandboxed iframes + try { + if (!global.localStorage) return false; + } catch (_) { + return false; + } + var val = global.localStorage[name]; + if (null == val) return false; + return String(val).toLowerCase() === 'true'; + } }).call(this);}).call(this, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}); - }, { "available-typed-arrays": 2, "call-bind/callBound": 7, "es-abstract/helpers/getOwnPropertyDescriptor": 17, "foreach": 20, "has-symbols": 24, "is-typed-array": 37 }], "stylelint": [function (require, module, exports) { + }, {}], "stylelint": [function (require, module, exports) { 'use strict'; const checkAgainstRule = require('./utils/checkAgainstRule'); @@ -46509,7 +44049,8 @@ createPlugin, resolveConfig, createLinter: createStylelint, - utils: { + /* */ + SugarSSParser: require("sugarss/parser"), utils: { report, ruleMessages, validateOptions, @@ -46519,5 +44060,5 @@ module.exports = stylelint; - }, { "./createPlugin": 124, "./createStylelint": 125, "./formatters": 129, "./postcssPlugin": 140, "./resolveConfig": 148, "./rules": 237, "./standalone": 348, "./utils/checkAgainstRule": 356, "./utils/report": 435, "./utils/ruleMessages": 436, "./utils/validateOptions": 442 }] }, {}, [])("stylelint"); + }, { "./createPlugin": 95, "./createStylelint": 96, "./formatters": 99, "./postcssPlugin": 108, "./resolveConfig": 116, "./rules": 208, "./standalone": 321, "./utils/checkAgainstRule": 330, "./utils/report": 412, "./utils/ruleMessages": 413, "./utils/validateOptions": 420, "sugarss/parser": 429 }] }, {}, [])("stylelint"); });})(); \ No newline at end of file diff --git a/dist/stylelint-bundle.min.js b/dist/stylelint-bundle.min.js index 852f418..2056bfc 100644 --- a/dist/stylelint-bundle.min.js +++ b/dist/stylelint-bundle.min.js @@ -1,2 +1,2 @@ -/*!= Stylelint v14.2.0 bundle =*/ -(()=>{"use strict";function e(e,t){if(null==e)return{};var r,s,i={},n=Object.keys(e);for(s=0;s=0||(i[r]=e[r]);return i}function t(){return(t=Object.assign||function(e){for(var t=1;t(function e(t,r,s){function i(o,a){if(!r[o]){if(!t[o]){var l="function"==typeof require&&require;if(!a&&l)return l(o,!0);if(n)return n(o,!0);var u=new Error("Cannot find module '"+o+"'");throw u.code="MODULE_NOT_FOUND",u}var c=r[o]={exports:{}};t[o][0].call(c.exports,e=>i(t[o][1][e]||e),c,c.exports,e,t,r,s)}return r[o].exports}for(var n="function"==typeof require&&require,o=0;o{t.exports=((e,t,r)=>{if(e.filter)return e.filter(t,r);if(void 0===e||null===e)throw new TypeError;if("function"!=typeof t)throw new TypeError;for(var i=[],n=0;n{var s=e("array-filter");t.exports=(()=>s(["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],e=>"function"==typeof r[e]))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"array-filter":1}],3:[(e,t,r)=>{r.byteLength=(e=>{var t=u(e),r=t[0],s=t[1];return 3*(r+s)/4-s}),r.toByteArray=(e=>{var t,r,s,o=u(e),a=o[0],l=o[1],c=new n(3*(a+(s=l))/4-s),p=0,d=l>0?a-4:a;for(r=0;r>16&255,c[p++]=t>>8&255,c[p++]=255&t;return 2===l&&(t=i[e.charCodeAt(r)]<<2|i[e.charCodeAt(r+1)]>>4,c[p++]=255&t),1===l&&(t=i[e.charCodeAt(r)]<<10|i[e.charCodeAt(r+1)]<<4|i[e.charCodeAt(r+2)]>>2,c[p++]=t>>8&255,c[p++]=255&t),c}),r.fromByteArray=(e=>{for(var t,r=e.length,i=r%3,n=[],o=0,a=r-i;oa?a:o+16383));return 1===i?(t=e[r-1],n.push(s[t>>2]+s[t<<4&63]+"==")):2===i&&(t=(e[r-2]<<8)+e[r-1],n.push(s[t>>10]+s[t>>4&63]+s[t<<2&63]+"=")),n.join("")});for(var s=[],i=[],n="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,l=o.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function c(e,t,r){for(var i,n,o=[],a=t;a>18&63]+s[n>>12&63]+s[n>>6&63]+s[63&n]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},{}],4:[(e,t,r)=>{},{}],5:[function(e,t,r){arguments[4][4][0].apply(r,arguments)},{dup:4}],6:[function(e,t,r){(function(t){(function(){var t=e("base64-js"),s=e("ieee754");r.Buffer=o,r.SlowBuffer=(e=>(+e!=e&&(e=0),o.alloc(+e))),r.INSPECT_MAX_BYTES=50;var i=2147483647;function n(e){if(e>i)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return t.__proto__=o.prototype,t}function o(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return u(e)}return a(e,t,r)}function a(e,t,r){if("string"==typeof e)return((e,t)=>{if("string"==typeof t&&""!==t||(t="utf8"),!o.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var r=0|d(e,t),s=n(r),i=s.write(e,t);return i!==r&&(s=s.slice(0,i)),s})(e,t);if(ArrayBuffer.isView(e))return c(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(j(e,ArrayBuffer)||e&&j(e.buffer,ArrayBuffer))return((e,t,r)=>{if(t<0||e.byteLength{if(o.isBuffer(e)){var t=0|p(e.length),r=n(t);return 0===r.length?r:(e.copy(r,0,0,t),r)}return void 0!==e.length?"number"!=typeof e.length||T(e.length)?n(0):c(e):"Buffer"===e.type&&Array.isArray(e.data)?c(e.data):void 0})(e);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return o.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function l(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function u(e){return l(e),n(e<0?0:0|p(e))}function c(e){for(var t=e.length<0?0:0|p(e.length),r=n(t),s=0;s=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return 0|e}function d(e,t){if(o.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||j(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var r=e.length,s=arguments.length>2&&!0===arguments[2];if(!s&&0===r)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return N(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return I(e).length;default:if(i)return s?-1:N(e).length;t=(""+t).toLowerCase(),i=!0}}function f(e,t,r){var s=e[t];e[t]=e[r],e[r]=s}function h(e,t,r,s,i){if(0===e.length)return-1;if("string"==typeof r?(s=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),T(r=+r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=o.from(t,s)),o.isBuffer(t))return 0===t.length?-1:m(e,t,r,s,i);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):m(e,[t],r,s,i);throw new TypeError("val must be string, number or Buffer")}function m(e,t,r,s,i){var n,o=1,a=e.length,l=t.length;if(void 0!==s&&("ucs2"===(s=String(s).toLowerCase())||"ucs-2"===s||"utf16le"===s||"utf-16le"===s)){if(e.length<2||t.length<2)return-1;o=2,a/=2,l/=2,r/=2}function u(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var c=-1;for(n=r;na&&(r=a-l),n=r;n>=0;n--){for(var p=!0,d=0;di&&(s=i):s=i;var n=t.length;s>n/2&&(s=n/2);for(var o=0;o{for(var t=[],r=0;r239?4:u>223?3:u>191?2:1;if(i+p<=r)switch(p){case 1:u<128&&(c=u);break;case 2:128==(192&(n=e[i+1]))&&(l=(31&u)<<6|63&n)>127&&(c=l);break;case 3:n=e[i+1],o=e[i+2],128==(192&n)&&128==(192&o)&&(l=(15&u)<<12|(63&n)<<6|63&o)>2047&&(l<55296||l>57343)&&(c=l);break;case 4:n=e[i+1],o=e[i+2],a=e[i+3],128==(192&n)&&128==(192&o)&&128==(192&a)&&(l=(15&u)<<18|(63&n)<<12|(63&o)<<6|63&a)>65535&&l<1114112&&(c=l)}null===c?(c=65533,p=1):c>65535&&(c-=65536,s.push(c>>>10&1023|55296),c=56320|1023&c),s.push(c),i+=p}return(e=>{var t=e.length;if(t<=b)return String.fromCharCode.apply(String,e);for(var r="",s=0;s{try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:()=>42},42===e.foo()}catch(e){return!1}})(),o.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(o.prototype,"parent",{enumerable:!0,get(){if(o.isBuffer(this))return this.buffer}}),Object.defineProperty(o.prototype,"offset",{enumerable:!0,get(){if(o.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&o[Symbol.species]===o&&Object.defineProperty(o,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),o.poolSize=8192,o.from=((e,t,r)=>a(e,t,r)),o.prototype.__proto__=Uint8Array.prototype,o.__proto__=Uint8Array,o.alloc=((e,t,r)=>{return i=t,o=r,l(s=e),s<=0?n(s):void 0!==i?"string"==typeof o?n(s).fill(i,o):n(s).fill(i):n(s);var s,i,o}),o.allocUnsafe=(e=>u(e)),o.allocUnsafeSlow=(e=>u(e)),o.isBuffer=(e=>null!=e&&!0===e._isBuffer&&e!==o.prototype),o.compare=((e,t)=>{if(j(e,Uint8Array)&&(e=o.from(e,e.offset,e.byteLength)),j(t,Uint8Array)&&(t=o.from(t,t.offset,t.byteLength)),!o.isBuffer(e)||!o.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var r=e.length,s=t.length,i=0,n=Math.min(r,s);i{switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}}),o.concat=((e,t)=>{if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return o.alloc(0);var r;if(void 0===t)for(t=0,r=0;rthis.length)return"";if((void 0===s||s>this.length)&&(s=this.length),s<=0)return"";if((s>>>=0)<=(r>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return k(this,r,s);case"utf8":case"utf-8":return w(this,r,s);case"ascii":return x(this,r,s);case"latin1":case"binary":return v(this,r,s);case"base64":return i=this,o=s,0===(n=r)&&o===i.length?t.fromByteArray(i):t.fromByteArray(i.slice(n,o));case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,r,s);default:if(a)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),a=!0}}.apply(this,arguments)},o.prototype.toLocaleString=o.prototype.toString,o.prototype.equals=function(e){if(!o.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===o.compare(this,e)},o.prototype.inspect=function(){var e="",t=r.INSPECT_MAX_BYTES;return e=this.toString("hex",0,t).replace(/(.{2})/g,"$1 ").trim(),this.length>t&&(e+=" ... "),""},o.prototype.compare=function(e,t,r,s,i){if(j(e,Uint8Array)&&(e=o.from(e,e.offset,e.byteLength)),!o.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===s&&(s=0),void 0===i&&(i=this.length),t<0||r>e.length||s<0||i>this.length)throw new RangeError("out of range index");if(s>=i&&t>=r)return 0;if(s>=i)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,s>>>=0,i>>>=0,this===e)return 0;for(var n=i-s,a=r-t,l=Math.min(n,a),u=this.slice(s,i),c=e.slice(t,r),p=0;p>>=0,isFinite(r)?(r>>>=0,void 0===s&&(s="utf8")):(s=r,r=void 0)}var i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");s||(s="utf8");for(var n,o,a,l,u,c,p,d,f,h=!1;;)switch(s){case"hex":return g(this,e,t,r);case"utf8":case"utf-8":return d=t,f=r,P(N(e,(p=this).length-d),p,d,f);case"ascii":return y(this,e,t,r);case"latin1":case"binary":return y(this,e,t,r);case"base64":return l=this,u=t,c=r,P(I(e),l,u,c);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return o=t,a=r,P(((e,t)=>{for(var r,s,i,n=[],o=0;o>8,i=r%256,n.push(i),n.push(s);return n})(e,(n=this).length-o),n,o,a);default:if(h)throw new TypeError("Unknown encoding: "+s);s=(""+s).toLowerCase(),h=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var b=4096;function x(e,t,r){var s="";r=Math.min(e.length,r);for(var i=t;ii)&&(r=i);for(var n="",o=t;or)throw new RangeError("Trying to access beyond buffer length")}function C(e,t,r,s,i,n){if(!o.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function A(e,t,r,s,i,n){if(r+s>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function E(e,t,r,i,n){return t=+t,r>>>=0,n||A(e,0,r,4),s.write(e,t,r,i,23,4),r+4}function M(e,t,r,i,n){return t=+t,r>>>=0,n||A(e,0,r,8),s.write(e,t,r,i,52,8),r+8}o.prototype.slice=function(e,t){var r=this.length;e=~~e,t=void 0===t?r:~~t,e<0?(e+=r)<0&&(e=0):e>r&&(e=r),t<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||O(e,t,this.length);for(var s=this[e],i=1,n=0;++n>>=0,t>>>=0,r||O(e,t,this.length);for(var s=this[e+--t],i=1;t>0&&(i*=256);)s+=this[e+--t]*i;return s},o.prototype.readUInt8=function(e,t){return e>>>=0,t||O(e,1,this.length),this[e]},o.prototype.readUInt16LE=function(e,t){return e>>>=0,t||O(e,2,this.length),this[e]|this[e+1]<<8},o.prototype.readUInt16BE=function(e,t){return e>>>=0,t||O(e,2,this.length),this[e]<<8|this[e+1]},o.prototype.readUInt32LE=function(e,t){return e>>>=0,t||O(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},o.prototype.readUInt32BE=function(e,t){return e>>>=0,t||O(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},o.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||O(e,t,this.length);for(var s=this[e],i=1,n=0;++n=(i*=128)&&(s-=Math.pow(2,8*t)),s},o.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||O(e,t,this.length);for(var s=t,i=1,n=this[e+--s];s>0&&(i*=256);)n+=this[e+--s]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*t)),n},o.prototype.readInt8=function(e,t){return e>>>=0,t||O(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},o.prototype.readInt16LE=function(e,t){e>>>=0,t||O(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},o.prototype.readInt16BE=function(e,t){e>>>=0,t||O(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},o.prototype.readInt32LE=function(e,t){return e>>>=0,t||O(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},o.prototype.readInt32BE=function(e,t){return e>>>=0,t||O(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},o.prototype.readFloatLE=function(e,t){return e>>>=0,t||O(e,4,this.length),s.read(this,e,!0,23,4)},o.prototype.readFloatBE=function(e,t){return e>>>=0,t||O(e,4,this.length),s.read(this,e,!1,23,4)},o.prototype.readDoubleLE=function(e,t){return e>>>=0,t||O(e,8,this.length),s.read(this,e,!0,52,8)},o.prototype.readDoubleBE=function(e,t){return e>>>=0,t||O(e,8,this.length),s.read(this,e,!1,52,8)},o.prototype.writeUIntLE=function(e,t,r,s){e=+e,t>>>=0,r>>>=0,s||C(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,n=0;for(this[t]=255&e;++n>>=0,r>>>=0,s||C(this,e,t,r,Math.pow(2,8*r)-1,0);var i=r-1,n=1;for(this[t+i]=255&e;--i>=0&&(n*=256);)this[t+i]=e/n&255;return t+r},o.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,1,255,0),this[t]=255&e,t+1},o.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},o.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},o.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},o.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},o.prototype.writeIntLE=function(e,t,r,s){if(e=+e,t>>>=0,!s){var i=Math.pow(2,8*r-1);C(this,e,t,r,i-1,-i)}var n=0,o=1,a=0;for(this[t]=255&e;++n>0)-a&255;return t+r},o.prototype.writeIntBE=function(e,t,r,s){if(e=+e,t>>>=0,!s){var i=Math.pow(2,8*r-1);C(this,e,t,r,i-1,-i)}var n=r-1,o=1,a=0;for(this[t+n]=255&e;--n>=0&&(o*=256);)e<0&&0===a&&0!==this[t+n+1]&&(a=1),this[t+n]=(e/o>>0)-a&255;return t+r},o.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},o.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},o.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},o.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},o.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},o.prototype.writeFloatLE=function(e,t,r){return E(this,e,t,!0,r)},o.prototype.writeFloatBE=function(e,t,r){return E(this,e,t,!1,r)},o.prototype.writeDoubleLE=function(e,t,r){return M(this,e,t,!0,r)},o.prototype.writeDoubleBE=function(e,t,r){return M(this,e,t,!1,r)},o.prototype.copy=function(e,t,r,s){if(!o.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),s||0===s||(s=this.length),t>=e.length&&(t=e.length),t||(t=0),s>0&&s=this.length)throw new RangeError("Index out of range");if(s<0)throw new RangeError("sourceEnd out of bounds");s>this.length&&(s=this.length),e.length-t=0;--n)e[n+t]=this[n+r];else Uint8Array.prototype.set.call(e,this.subarray(r,s),t);return i},o.prototype.fill=function(e,t,r,s){if("string"==typeof e){if("string"==typeof t?(s=t,t=0,r=this.length):"string"==typeof r&&(s=r,r=this.length),void 0!==s&&"string"!=typeof s)throw new TypeError("encoding must be a string");if("string"==typeof s&&!o.isEncoding(s))throw new TypeError("Unknown encoding: "+s);if(1===e.length){var i=e.charCodeAt(0);("utf8"===s&&i<128||"latin1"===s)&&(e=i)}}else"number"==typeof e&&(e&=255);if(t<0||this.length>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(n=t;n55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&n.push(239,191,189);continue}if(o+1===s){(t-=3)>-1&&n.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&n.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&n.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;n.push(r)}else if(r<2048){if((t-=2)<0)break;n.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;n.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;n.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return n}function I(e){return t.toByteArray((e=>{if((e=(e=e.split("=")[0]).trim().replace(R,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e})(e))}function P(e,t,r,s){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function j(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function T(e){return e!=e}}).call(this)}).call(this,e("buffer").Buffer)},{"base64-js":3,buffer:6,ieee754:29}],7:[(e,t,r)=>{var s=e("get-intrinsic"),i=e("./"),n=i(s("String.prototype.indexOf"));t.exports=((e,t)=>{var r=s(e,!!t);return"function"==typeof r&&n(e,".prototype.")>-1?i(r):r})},{"./":8,"get-intrinsic":23}],8:[(e,t,r)=>{var s=e("function-bind"),i=e("get-intrinsic"),n=i("%Function.prototype.apply%"),o=i("%Function.prototype.call%"),a=i("%Reflect.apply%",!0)||s.call(o,n),l=i("%Object.defineProperty%",!0);if(l)try{l({},"a",{value:1})}catch(e){l=null}t.exports=function(){return a(s,o,arguments)};var u=function(){return a(s,n,arguments)};l?l(t.exports,"apply",{value:u}):t.exports.apply=u},{"function-bind":22,"get-intrinsic":23}],9:[(e,t,r)=>{const s=e("is-regexp"),i={global:"g",ignoreCase:"i",multiline:"m",dotAll:"s",sticky:"y",unicode:"u"};t.exports=((e,t={})=>{if(!s(e))throw new TypeError("Expected a RegExp instance");const r=Object.keys(i).map(r=>("boolean"==typeof t[r]?t[r]:e[r])?i[r]:"").join(""),n=new RegExp(t.source||e.source,r);return n.lastIndex="number"==typeof t.lastIndex?t.lastIndex:e.lastIndex,n})},{"is-regexp":36}],10:[function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0});var s={grad:.9,turn:360,rad:360/(2*Math.PI)},i=e=>"string"==typeof e?e.length>0:"number"==typeof e,n=(e,t,r)=>(void 0===t&&(t=0),void 0===r&&(r=Math.pow(10,t)),Math.round(r*e)/r+0),o=(e,t,r)=>(void 0===t&&(t=0),void 0===r&&(r=1),e>r?r:e>t?e:t),a=e=>(e=isFinite(e)?e%360:0)>0?e:e+360,l=e=>({r:o(e.r,0,255),g:o(e.g,0,255),b:o(e.b,0,255),a:o(e.a)}),u=e=>({r:n(e.r),g:n(e.g),b:n(e.b),a:n(e.a,3)}),c=/^#([0-9a-f]{3,8})$/i,p=e=>{var t=e.toString(16);return t.length<2?"0"+t:t},d=e=>{var t=e.r,r=e.g,s=e.b,i=e.a,n=Math.max(t,r,s),o=n-Math.min(t,r,s),a=o?n===t?(r-s)/o:n===r?2+(s-t)/o:4+(t-r)/o:0;return{h:60*(a<0?a+6:a),s:n?o/n*100:0,v:n/255*100,a:i}},f=e=>{var t=e.h,r=e.s,s=e.v,i=e.a;t=t/360*6,r/=100,s/=100;var n=Math.floor(t),o=s*(1-r),a=s*(1-(t-n)*r),l=s*(1-(1-t+n)*r),u=n%6;return{r:255*[s,a,o,o,l,s][u],g:255*[l,s,s,a,o,o][u],b:255*[o,o,l,s,s,a][u],a:i}},h=e=>({h:a(e.h),s:o(e.s,0,100),l:o(e.l,0,100),a:o(e.a)}),m=e=>({h:n(e.h),s:n(e.s),l:n(e.l),a:n(e.a,3)}),g=e=>{return f((r=(t=e).s,{h:t.h,s:(r*=((s=t.l)<50?s:100-s)/100)>0?2*r/(s+r)*100:0,v:s+r,a:t.a}));var t,r,s},y=e=>{return{h:(t=d(e)).h,s:(i=(200-(r=t.s))*(s=t.v)/100)>0&&i<200?r*s/100/(i<=100?i:200-i)*100:0,l:i/2,a:t.a};var t,r,s,i},w=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,b=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,x=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,v=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,k={string:[[e=>{var t=c.exec(e);return t?(e=t[1]).length<=4?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:4===e.length?n(parseInt(e[3]+e[3],16)/255,2):1}:6===e.length||8===e.length?{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:8===e.length?n(parseInt(e.substr(6,2),16)/255,2):1}:null:null},"hex"],[e=>{var t=x.exec(e)||v.exec(e);return t?t[2]!==t[4]||t[4]!==t[6]?null:l({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:void 0===t[7]?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[e=>{var t=w.exec(e)||b.exec(e);if(!t)return null;var r,i,n=h({h:(r=t[1],i=t[2],void 0===i&&(i="deg"),Number(r)*(s[i]||1)),s:Number(t[3]),l:Number(t[4]),a:void 0===t[5]?1:Number(t[5])/(t[6]?100:1)});return g(n)},"hsl"]],object:[[e=>{var t=e.r,r=e.g,s=e.b,n=e.a,o=void 0===n?1:n;return i(t)&&i(r)&&i(s)?l({r:Number(t),g:Number(r),b:Number(s),a:Number(o)}):null},"rgb"],[e=>{var t=e.h,r=e.s,s=e.l,n=e.a,o=void 0===n?1:n;if(!i(t)||!i(r)||!i(s))return null;var a=h({h:Number(t),s:Number(r),l:Number(s),a:Number(o)});return g(a)},"hsl"],[e=>{var t=e.h,r=e.s,s=e.v,n=e.a,l=void 0===n?1:n;if(!i(t)||!i(r)||!i(s))return null;var u=(e=>({h:a(e.h),s:o(e.s,0,100),v:o(e.v,0,100),a:o(e.a)}))({h:Number(t),s:Number(r),v:Number(s),a:Number(l)});return f(u)},"hsv"]]},S=(e,t)=>{for(var r=0;r"string"==typeof e?S(e.trim(),k.string):"object"==typeof e&&null!==e?S(e,k.object):[null,void 0],C=(e,t)=>{var r=y(e);return{h:r.h,s:o(r.s+100*t,0,100),l:r.l,a:r.a}},A=e=>(299*e.r+587*e.g+114*e.b)/1e3/255,E=(e,t)=>{var r=y(e);return{h:r.h,s:r.s,l:o(r.l+100*t,0,100),a:r.a}},M=function(){function e(e){this.parsed=O(e)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return e.prototype.isValid=function(){return null!==this.parsed},e.prototype.brightness=function(){return n(A(this.rgba),2)},e.prototype.isDark=function(){return A(this.rgba)<.5},e.prototype.isLight=function(){return A(this.rgba)>=.5},e.prototype.toHex=function(){return t=(e=u(this.rgba)).r,r=e.g,s=e.b,o=(i=e.a)<1?p(n(255*i)):"","#"+p(t)+p(r)+p(s)+o;var e,t,r,s,i,o},e.prototype.toRgb=function(){return u(this.rgba)},e.prototype.toRgbString=function(){return t=(e=u(this.rgba)).r,r=e.g,s=e.b,(i=e.a)<1?"rgba("+t+", "+r+", "+s+", "+i+")":"rgb("+t+", "+r+", "+s+")";var e,t,r,s,i},e.prototype.toHsl=function(){return m(y(this.rgba))},e.prototype.toHslString=function(){return t=(e=m(y(this.rgba))).h,r=e.s,s=e.l,(i=e.a)<1?"hsla("+t+", "+r+"%, "+s+"%, "+i+")":"hsl("+t+", "+r+"%, "+s+"%)";var e,t,r,s,i},e.prototype.toHsv=function(){return e=d(this.rgba),{h:n(e.h),s:n(e.s),v:n(e.v),a:n(e.a,3)};var e},e.prototype.invert=function(){return R({r:255-(e=this.rgba).r,g:255-e.g,b:255-e.b,a:e.a});var e},e.prototype.saturate=function(e){return void 0===e&&(e=.1),R(C(this.rgba,e))},e.prototype.desaturate=function(e){return void 0===e&&(e=.1),R(C(this.rgba,-e))},e.prototype.grayscale=function(){return R(C(this.rgba,-1))},e.prototype.lighten=function(e){return void 0===e&&(e=.1),R(E(this.rgba,e))},e.prototype.darken=function(e){return void 0===e&&(e=.1),R(E(this.rgba,-e))},e.prototype.rotate=function(e){return void 0===e&&(e=15),this.hue(this.hue()+e)},e.prototype.alpha=function(e){return"number"==typeof e?R({r:(t=this.rgba).r,g:t.g,b:t.b,a:e}):n(this.rgba.a,3);var t},e.prototype.hue=function(e){var t=y(this.rgba);return"number"==typeof e?R({h:e,s:t.s,l:t.l,a:t.a}):n(t.h)},e.prototype.isEqual=function(e){return this.toHex()===R(e).toHex()},e}(),R=e=>e instanceof M?e:new M(e),N=[];r.Colord=M,r.colord=R,r.extend=(e=>{e.forEach(e=>{N.indexOf(e)<0&&(e(M,k),N.push(e))})}),r.getFormat=(e=>O(e)[1]),r.random=(()=>new M({r:255*Math.random(),g:255*Math.random(),b:255*Math.random()}))},{}],11:[function(e,t,r){var s={grad:.9,turn:360,rad:360/(2*Math.PI)},i=e=>"string"==typeof e?e.length>0:"number"==typeof e,n=(e,t,r)=>(void 0===t&&(t=0),void 0===r&&(r=Math.pow(10,t)),Math.round(r*e)/r+0),o=(e,t,r)=>(void 0===t&&(t=0),void 0===r&&(r=1),e>r?r:e>t?e:t),a=e=>{return{h:(t=e.h,(t=isFinite(t)?t%360:0)>0?t:t+360),w:o(e.w,0,100),b:o(e.b,0,100),a:o(e.a)};var t},l=e=>({h:n(e.h),w:n(e.w),b:n(e.b),a:n(e.a,3)}),u=e=>{return{h:(t=e,r=t.r,s=t.g,i=t.b,n=t.a,o=Math.max(r,s,i),a=o-Math.min(r,s,i),l=a?o===r?(s-i)/a:o===s?2+(i-r)/a:4+(r-s)/a:0,{h:60*(l<0?l+6:l),s:o?a/o*100:0,v:o/255*100,a:n}).h,w:Math.min(e.r,e.g,e.b)/255*100,b:100-Math.max(e.r,e.g,e.b)/255*100,a:e.a};var t,r,s,i,n,o,a,l},c=e=>(e=>{var t=e.h,r=e.s,s=e.v,i=e.a;t=t/360*6,r/=100,s/=100;var n=Math.floor(t),o=s*(1-r),a=s*(1-(t-n)*r),l=s*(1-(1-t+n)*r),u=n%6;return{r:255*[s,a,o,o,l,s][u],g:255*[l,s,s,a,o,o][u],b:255*[o,o,l,s,s,a][u],a:i}})({h:e.h,s:100===e.b?0:100-e.w/(100-e.b)*100,v:100-e.b,a:e.a}),p=e=>{var t=e.h,r=e.w,s=e.b,n=e.a,o=void 0===n?1:n;if(!i(t)||!i(r)||!i(s))return null;var l=a({h:Number(t),w:Number(r),b:Number(s),a:Number(o)});return c(l)},d=/^hwb\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,f=e=>{var t=d.exec(e);if(!t)return null;var r,i,n=a({h:(r=t[1],i=t[2],void 0===i&&(i="deg"),Number(r)*(s[i]||1)),w:Number(t[3]),b:Number(t[4]),a:void 0===t[5]?1:Number(t[5])/(t[6]?100:1)});return c(n)};t.exports=function(e,t){e.prototype.toHwb=function(){return l(u(this.rgba))},e.prototype.toHwbString=function(){return t=(e=l(u(this.rgba))).h,r=e.w,s=e.b,(i=e.a)<1?"hwb("+t+" "+r+"% "+s+"% / "+i+")":"hwb("+t+" "+r+"% "+s+"%)";var e,t,r,s,i},t.string.push([f,"hwb"]),t.object.push([p,"hwb"])}},{}],12:[function(e,t,r){var s=e=>"string"==typeof e?e.length>0:"number"==typeof e,i=(e,t,r)=>(void 0===t&&(t=0),void 0===r&&(r=Math.pow(10,t)),Math.round(r*e)/r+0),n=(e,t,r)=>(void 0===t&&(t=0),void 0===r&&(r=1),e>r?r:e>t?e:t),o=e=>{var t=e/255;return t<.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)},a=e=>255*(e>.0031308?1.055*Math.pow(e,1/2.4)-.055:12.92*e),l=96.422,u=82.521,c=216/24389,p=24389/27,d=e=>{var t=e.l,r=e.a,i=e.b,o=e.alpha,a=void 0===o?1:o;if(!s(t)||!s(r)||!s(i))return null;var l=(e=>({l:n(e.l,0,400),a:e.a,b:e.b,alpha:n(e.alpha)}))({l:Number(t),a:Number(r),b:Number(i),alpha:Number(a)});return f(l)},f=e=>{var t,r,s,i,o,d,f=(e.l+16)/116,h=e.a/500+f,m=f-e.b/200;return i=.9555766*(r=t={x:(Math.pow(h,3)>c?Math.pow(h,3):(116*h-16)/p)*l,y:100*(e.l>8?Math.pow((e.l+16)/116,3):e.l/p),z:(Math.pow(m,3)>c?Math.pow(m,3):(116*m-16)/p)*u,a:e.alpha}).x+-.0230393*r.y+.0631636*r.z,s={r:a(.032404542*i-.015371385*(o=-.0282895*r.x+1.0099416*r.y+.0210077*r.z)-.004985314*(d=.0122982*r.x+-.020483*r.y+1.3299098*r.z)),g:a(-.00969266*i+.018760108*o+41556e-8*d),b:a(556434e-9*i-.002040259*o+.010572252*d),a:t.a},{r:n(s.r,0,255),g:n(s.g,0,255),b:n(s.b,0,255),a:n(s.a)}};t.exports=function(e,t){e.prototype.toLab=function(){return e=this.rgba,h=(d=(e=>({x:n(e.x,0,l),y:n(e.y,0,100),z:n(e.z,0,u),a:n(e.a)}))((e=>({x:1.0478112*e.x+.0228866*e.y+-.050127*e.z,y:.0295424*e.x+.9904844*e.y+-.0170491*e.z,z:-.0092345*e.x+.0150436*e.y+.7521316*e.z,a:e.a}))({x:100*(.4124564*(t=o(e.r))+.3575761*(r=o(e.g))+.1804375*(s=o(e.b))),y:100*(.2126729*t+.7151522*r+.072175*s),z:100*(.0193339*t+.119192*r+.9503041*s),a:e.a}))).y/100,m=d.z/u,f=(f=d.x/l)>c?Math.cbrt(f):(p*f+16)/116,a={l:116*(h=h>c?Math.cbrt(h):(p*h+16)/116)-16,a:500*(f-h),b:200*(h-(m=m>c?Math.cbrt(m):(p*m+16)/116)),alpha:d.a},{l:i(a.l,2),a:i(a.a,2),b:i(a.b,2),alpha:i(a.alpha,3)};var e,t,r,s,a,d,f,h,m},e.prototype.delta=function(t){void 0===t&&(t="#FFF");var r=t instanceof e?t:new e(t),s=((e,t)=>{var r=e.l,s=e.a,i=e.b,n=t.l,o=t.a,a=t.b,l=180/Math.PI,u=Math.PI/180,c=Math.pow(Math.pow(s,2)+Math.pow(i,2),.5),p=Math.pow(Math.pow(o,2)+Math.pow(a,2),.5),d=(r+n)/2,f=Math.pow((c+p)/2,7),h=.5*(1-Math.pow(f/(f+Math.pow(25,7)),.5)),m=s*(1+h),g=o*(1+h),y=Math.pow(Math.pow(m,2)+Math.pow(i,2),.5),w=Math.pow(Math.pow(g,2)+Math.pow(a,2),.5),b=(y+w)/2,x=0===m&&0===i?0:Math.atan2(i,m)*l,v=0===g&&0===a?0:Math.atan2(a,g)*l;x<0&&(x+=360),v<0&&(v+=360);var k=v-x,S=Math.abs(v-x);S>180&&v<=x?k+=360:S>180&&v>x&&(k-=360);var O=x+v;S<=180?O/=2:O=(x+v<360?O+360:O-360)/2;var C=1-.17*Math.cos(u*(O-30))+.24*Math.cos(2*u*O)+.32*Math.cos(u*(3*O+6))-.2*Math.cos(u*(4*O-63)),A=n-r,E=w-y,M=2*Math.sin(u*k/2)*Math.pow(y*w,.5),R=1+.015*Math.pow(d-50,2)/Math.pow(20+Math.pow(d-50,2),.5),N=1+.045*b,I=1+.015*b*C,P=30*Math.exp(-1*Math.pow((O-275)/25,2)),j=-2*Math.pow(f/(f+Math.pow(25,7)),.5)*Math.sin(2*u*P);return Math.pow(Math.pow(A/1/R,2)+Math.pow(E/1/N,2)+Math.pow(M/1/I,2)+j*E*M/(1*N*1*I),.5)})(this.toLab(),r.toLab())/100;return n(i(s,3))},t.object.push([d,"lab"])}},{}],13:[function(e,t,r){var s={grad:.9,turn:360,rad:360/(2*Math.PI)},i=e=>"string"==typeof e?e.length>0:"number"==typeof e,n=(e,t,r)=>(void 0===t&&(t=0),void 0===r&&(r=Math.pow(10,t)),Math.round(r*e)/r+0),o=(e,t,r)=>(void 0===t&&(t=0),void 0===r&&(r=1),e>r?r:e>t?e:t),a=e=>{var t=e/255;return t<.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)},l=e=>255*(e>.0031308?1.055*Math.pow(e,1/2.4)-.055:12.92*e),u=96.422,c=82.521,p=216/24389,d=24389/27,f=e=>{return{l:o(e.l,0,100),c:e.c,h:(t=e.h,(t=isFinite(t)?t%360:0)>0?t:t+360),a:e.a};var t},h=e=>({l:n(e.l,2),c:n(e.c,2),h:n(e.h,2),a:n(e.a,3)}),m=e=>{var t=e.l,r=e.c,s=e.h,n=e.a,o=void 0===n?1:n;if(!i(t)||!i(r)||!i(s))return null;var a=f({l:Number(t),c:Number(r),h:Number(s),a:Number(o)});return y(a)},g=e=>{var t,r,s,i,l,f,h,m,g=(f=(l=(e=>({x:o(e.x,0,u),y:o(e.y,0,100),z:o(e.z,0,c),a:o(e.a)}))((e=>({x:1.0478112*e.x+.0228866*e.y+-.050127*e.z,y:.0295424*e.x+.9904844*e.y+-.0170491*e.z,z:-.0092345*e.x+.0150436*e.y+.7521316*e.z,a:e.a}))({x:100*(.4124564*(r=a((t=e).r))+.3575761*(s=a(t.g))+.1804375*(i=a(t.b))),y:100*(.2126729*r+.7151522*s+.072175*i),z:100*(.0193339*r+.119192*s+.9503041*i),a:t.a}))).x/u,h=l.y/100,m=l.z/c,f=f>p?Math.cbrt(f):(d*f+16)/116,{l:116*(h=h>p?Math.cbrt(h):(d*h+16)/116)-16,a:500*(f-h),b:200*(h-(m=m>p?Math.cbrt(m):(d*m+16)/116)),alpha:l.a}),y=n(g.a,3),w=n(g.b,3),b=Math.atan2(w,y)/Math.PI*180;return{l:g.l,c:Math.sqrt(y*y+w*w),h:b<0?b+360:b,a:g.alpha}},y=e=>{return m=(f={l:e.l,a:e.c*Math.cos(e.h*Math.PI/180),b:e.c*Math.sin(e.h*Math.PI/180),alpha:e.a}).a/500+(h=(f.l+16)/116),g=h-f.b/200,i=.9555766*(r=t={x:(Math.pow(m,3)>p?Math.pow(m,3):(116*m-16)/d)*u,y:100*(f.l>8?Math.pow((f.l+16)/116,3):f.l/d),z:(Math.pow(g,3)>p?Math.pow(g,3):(116*g-16)/d)*c,a:f.alpha}).x+-.0230393*r.y+.0631636*r.z,s={r:l(.032404542*i-.015371385*(n=-.0282895*r.x+1.0099416*r.y+.0210077*r.z)-.004985314*(a=.0122982*r.x+-.020483*r.y+1.3299098*r.z)),g:l(-.00969266*i+.018760108*n+41556e-8*a),b:l(556434e-9*i-.002040259*n+.010572252*a),a:t.a},{r:o(s.r,0,255),g:o(s.g,0,255),b:o(s.b,0,255),a:o(s.a)};var t,r,s,i,n,a,f,h,m,g},w=/^lch\(\s*([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)\s+([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,b=e=>{var t=w.exec(e);if(!t)return null;var r,i,n=f({l:Number(t[1]),c:Number(t[2]),h:(r=t[3],i=t[4],void 0===i&&(i="deg"),Number(r)*(s[i]||1)),a:void 0===t[5]?1:Number(t[5])/(t[6]?100:1)});return y(n)};t.exports=function(e,t){e.prototype.toLch=function(){return h(g(this.rgba))},e.prototype.toLchString=function(){return t=(e=h(g(this.rgba))).l,r=e.c,s=e.h,(i=e.a)<1?"lch("+t+"% "+r+" "+s+" / "+i+")":"lch("+t+"% "+r+" "+s+")";var e,t,r,s,i},t.string.push([b,"lch"]),t.object.push([m,"lch"])}},{}],14:[function(e,t,r){t.exports=function(e,t){var r={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},s={};for(var i in r)s[r[i]]=i;var n={};e.prototype.toName=function(t){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var i,o,a=s[this.toHex()];if(a)return a;if(null==t?void 0:t.closest){var l=this.toRgb(),u=1/0,c="black";if(!n.length)for(var p in r)n[p]=new e(r[p]).toRgb();for(var d in r){var f=(i=l,o=n[d],Math.pow(i.r-o.r,2)+Math.pow(i.g-o.g,2)+Math.pow(i.b-o.b,2));f{var s=t.toLowerCase(),i="transparent"===s?"#0000":r[s];return i?new e(i).toRgb():null},"name"])}},{}],15:[(e,t,r)=>{var s={}.hasOwnProperty,i=/[ -,\.\/:-@\[-\^`\{-~]/,n=/[ -,\.\/:-@\[\]\^`\{-~]/,o=/(^|\\+)?(\\[A-F0-9]{1,6})\x20(?![a-fA-F0-9\x20])/g,a=function e(t,r){"single"!=(r=((e,t)=>{if(!e)return t;var r={};for(var i in t)r[i]=s.call(e,i)?e[i]:t[i];return r})(r,e.options)).quotes&&"double"!=r.quotes&&(r.quotes="single");for(var a="double"==r.quotes?'"':"'",l=r.isIdentifier,u=t.charAt(0),c="",p=0,d=t.length;p126){if(h>=55296&&h<=56319&&pt&&t.length%2?e:(t||"")+r),!l&&r.wrap?a+c+a:c};a.options={escapeEverything:!1,isIdentifier:!1,quotes:"single",wrap:!1},a.version="3.0.0",t.exports=a},{}],16:[(e,t,r)=>{var s,i=SyntaxError,n=Function,o=TypeError,a=e=>{try{return Function('"use strict"; return ('+e+").constructor;")()}catch(e){}},l=Object.getOwnPropertyDescriptor;if(l)try{l({},"")}catch(e){l=null}var u=()=>{throw new o},c=l?function(){try{return arguments.callee,u}catch(e){try{return l(arguments,"callee").get}catch(e){return u}}}():u,p=e("has-symbols")(),d=Object.getPrototypeOf||(e=>e.__proto__),f=a("async function* () {}"),h=f?f.prototype:s,m=h?h.prototype:s,g="undefined"==typeof Uint8Array?s:d(Uint8Array),y={"%AggregateError%":"undefined"==typeof AggregateError?s:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?s:ArrayBuffer,"%ArrayIteratorPrototype%":p?d([][Symbol.iterator]()):s,"%AsyncFromSyncIteratorPrototype%":s,"%AsyncFunction%":a("async function () {}"),"%AsyncGenerator%":h,"%AsyncGeneratorFunction%":f,"%AsyncIteratorPrototype%":m?d(m):s,"%Atomics%":"undefined"==typeof Atomics?s:Atomics,"%BigInt%":"undefined"==typeof BigInt?s:BigInt,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?s:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?s:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?s:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?s:FinalizationRegistry,"%Function%":n,"%GeneratorFunction%":a("function* () {}"),"%Int8Array%":"undefined"==typeof Int8Array?s:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?s:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?s:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":p?d(d([][Symbol.iterator]())):s,"%JSON%":"object"==typeof JSON?JSON:s,"%Map%":"undefined"==typeof Map?s:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&p?d((new Map)[Symbol.iterator]()):s,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?s:Promise,"%Proxy%":"undefined"==typeof Proxy?s:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?s:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?s:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&p?d((new Set)[Symbol.iterator]()):s,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?s:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":p?d(""[Symbol.iterator]()):s,"%Symbol%":p?Symbol:s,"%SyntaxError%":i,"%ThrowTypeError%":c,"%TypedArray%":g,"%TypeError%":o,"%Uint8Array%":"undefined"==typeof Uint8Array?s:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?s:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?s:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?s:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?s:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?s:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?s:WeakSet},w={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},b=e("function-bind"),x=e("has"),v=b.call(Function.call,Array.prototype.concat),k=b.call(Function.apply,Array.prototype.splice),S=b.call(Function.call,String.prototype.replace),O=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,C=/\\(\\)?/g;t.exports=function(e,t){if("string"!=typeof e||0===e.length)throw new o("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof t)throw new o('"allowMissing" argument must be a boolean');var r,s=(r=[],S(e,O,(e,t,s,i)=>{r[r.length]=s?S(i,C,"$1"):t||e}),r),n=s.length>0?s[0]:"",a=((e,t)=>{var r,s=e;if(x(w,s)&&(s="%"+(r=w[s])[0]+"%"),x(y,s)){var n=y[s];if(void 0===n&&!t)throw new o("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:r,name:s,value:n}}throw new i("intrinsic "+e+" does not exist!")})("%"+n+"%",t),u=a.name,c=a.value,p=!1,d=a.alias;d&&(n=d[0],k(s,v([0,1],d)));for(var f=1,h=!0;f=s.length){var g=l(c,m);if(h=!!g,!(t||m in c))throw new o("base intrinsic for "+e+" exists, but the property is not available.");c=h&&"get"in g&&!("originalValue"in g.get)?g.get:c[m]}else h=x(c,m),c=c[m];h&&!p&&(y[u]=c)}}return c}},{"function-bind":22,has:26,"has-symbols":24}],17:[(e,t,r)=>{var s=e("../GetIntrinsic")("%Object.getOwnPropertyDescriptor%");if(s)try{s([],"length")}catch(e){s=null}t.exports=s},{"../GetIntrinsic":16}],18:[(e,t,r)=>{const s=e("clone-regexp");t.exports=((e,t)=>{let r;const i=[],n=s(e,{lastIndex:0}),o=n.global;for(;(r=n.exec(t))&&(i.push({match:r[0],subMatches:r.slice(1),index:r.index}),o););return i})},{"clone-regexp":9}],19:[(e,t,r)=>{const s=new Uint32Array(65536),i=(e,t)=>{if(e.length>t.length){const r=t;t=e,e=r}return 0===e.length?t.length:e.length<=32?((e,t)=>{const r=e.length,i=t.length,n=1<{const r=e.length,i=t.length,n=[],o=[],a=Math.ceil(r/32),l=Math.ceil(i/32);let u=i;for(let e=0;e>>t&1,u=n[t/32|0]>>>t&1,c=r|a,p=((r|u)&l)+l^l|r|u;let d=a|~(p|l),f=l&p;d>>>31^i&&(o[t/32|0]^=1<>>31^u&&(n[t/32|0]^=1<>>t&1,l=n[t/32|0]>>>t&1,c=r|p,f=((r|l)&d)+d^d|r|l;let h=p|~(f|d),m=d&f;u+=h>>>i-1&1,u-=m>>>i-1&1,h>>>31^a&&(o[t/32|0]^=1<>>31^l&&(n[t/32|0]^=1<{var s=Object.prototype.hasOwnProperty,i=Object.prototype.toString;t.exports=((e,t,r)=>{if("[object Function]"!==i.call(t))throw new TypeError("iterator must be a function");var n=e.length;if(n===+n)for(var o=0;o{};u.prototype=t.prototype,r.prototype=new u,u.prototype=null}return r}},{}],22:[(e,t,r)=>{var s=e("./implementation");t.exports=Function.prototype.bind||s},{"./implementation":21}],23:[(e,t,r)=>{var s,i=SyntaxError,n=Function,o=TypeError,a=e=>{try{return Function('"use strict"; return ('+e+").constructor;")()}catch(e){}},l=Object.getOwnPropertyDescriptor;if(l)try{l({},"")}catch(e){l=null}var u=()=>{throw new o},c=l?function(){try{return arguments.callee,u}catch(e){try{return l(arguments,"callee").get}catch(e){return u}}}():u,p=e("has-symbols")(),d=Object.getPrototypeOf||(e=>e.__proto__),f=a("async function* () {}"),h=f?f.prototype:s,m=h?h.prototype:s,g="undefined"==typeof Uint8Array?s:d(Uint8Array),y={"%AggregateError%":"undefined"==typeof AggregateError?s:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?s:ArrayBuffer,"%ArrayIteratorPrototype%":p?d([][Symbol.iterator]()):s,"%AsyncFromSyncIteratorPrototype%":s,"%AsyncFunction%":a("async function () {}"),"%AsyncGenerator%":h,"%AsyncGeneratorFunction%":f,"%AsyncIteratorPrototype%":m?d(m):s,"%Atomics%":"undefined"==typeof Atomics?s:Atomics,"%BigInt%":"undefined"==typeof BigInt?s:BigInt,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?s:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?s:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?s:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?s:FinalizationRegistry,"%Function%":n,"%GeneratorFunction%":a("function* () {}"),"%Int8Array%":"undefined"==typeof Int8Array?s:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?s:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?s:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":p?d(d([][Symbol.iterator]())):s,"%JSON%":"object"==typeof JSON?JSON:s,"%Map%":"undefined"==typeof Map?s:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&p?d((new Map)[Symbol.iterator]()):s,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?s:Promise,"%Proxy%":"undefined"==typeof Proxy?s:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?s:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?s:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&p?d((new Set)[Symbol.iterator]()):s,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?s:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":p?d(""[Symbol.iterator]()):s,"%Symbol%":p?Symbol:s,"%SyntaxError%":i,"%ThrowTypeError%":c,"%TypedArray%":g,"%TypeError%":o,"%Uint8Array%":"undefined"==typeof Uint8Array?s:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?s:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?s:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?s:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?s:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?s:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?s:WeakSet},w={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},b=e("function-bind"),x=e("has"),v=b.call(Function.call,Array.prototype.concat),k=b.call(Function.apply,Array.prototype.splice),S=b.call(Function.call,String.prototype.replace),O=b.call(Function.call,String.prototype.slice),C=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,A=/\\(\\)?/g;t.exports=function(e,t){if("string"!=typeof e||0===e.length)throw new o("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof t)throw new o('"allowMissing" argument must be a boolean');var r=(e=>{var t=O(e,0,1),r=O(e,-1);if("%"===t&&"%"!==r)throw new i("invalid intrinsic syntax, expected closing `%`");if("%"===r&&"%"!==t)throw new i("invalid intrinsic syntax, expected opening `%`");var s=[];return S(e,C,(e,t,r,i)=>{s[s.length]=r?S(i,A,"$1"):t||e}),s})(e),s=r.length>0?r[0]:"",n=((e,t)=>{var r,s=e;if(x(w,s)&&(s="%"+(r=w[s])[0]+"%"),x(y,s)){var n=y[s];if(void 0===n&&!t)throw new o("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:r,name:s,value:n}}throw new i("intrinsic "+e+" does not exist!")})("%"+s+"%",t),a=n.name,u=n.value,c=!1,p=n.alias;p&&(s=p[0],k(r,v([0,1],p)));for(var d=1,f=!0;d=r.length){var b=l(u,h);u=(f=!!b)&&"get"in b&&!("originalValue"in b.get)?b.get:u[h]}else f=x(u,h),u=u[h];f&&!c&&(y[a]=u)}}return u}},{"function-bind":22,has:26,"has-symbols":24}],24:[function(e,t,r){(function(r){(()=>{var s=r.Symbol,i=e("./shams");t.exports=(()=>"function"==typeof s&&"function"==typeof Symbol&&"symbol"==typeof s("foo")&&"symbol"==typeof Symbol("bar")&&i())}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./shams":25}],25:[(e,t,r)=>{t.exports=(()=>{if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),r=Object(t);if("string"==typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(r))return!1;e[t]=42;for(t in e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var s=Object.getOwnPropertySymbols(e);if(1!==s.length||s[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(e,t);if(42!==i.value||!0!==i.enumerable)return!1}return!0})},{}],26:[(e,t,r)=>{var s=e("function-bind");t.exports=s.call(Function.call,Object.prototype.hasOwnProperty)},{"function-bind":22}],27:[(e,t,r)=>{t.exports=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","math","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rb","rp","rt","rtc","ruby","s","samp","script","section","select","slot","small","source","span","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"]},{}],28:[(e,t,r)=>{t.exports=e("./html-tags.json")},{"./html-tags.json":27}],29:[(e,t,r)=>{r.read=((e,t,r,s,i)=>{var n,o,a=8*i-s-1,l=(1<>1,c=-7,p=r?i-1:0,d=r?-1:1,f=e[t+p];for(p+=d,n=f&(1<<-c)-1,f>>=-c,c+=a;c>0;n=256*n+e[t+p],p+=d,c-=8);for(o=n&(1<<-c)-1,n>>=-c,c+=s;c>0;o=256*o+e[t+p],p+=d,c-=8);if(0===n)n=1-u;else{if(n===l)return o?NaN:1/0*(f?-1:1);o+=Math.pow(2,s),n-=u}return(f?-1:1)*o*Math.pow(2,n-s)}),r.write=((e,t,r,s,i,n)=>{var o,a,l,u=8*n-i-1,c=(1<>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=s?0:n-1,h=s?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=c):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+p>=1?d/l:d*Math.pow(2,1-p))*l>=2&&(o++,l/=2),o+p>=c?(a=0,o=c):o+p>=1?(a=(t*l-1)*Math.pow(2,i),o+=p):(a=t*Math.pow(2,p-1)*Math.pow(2,i),o=0));i>=8;e[r+f]=255&a,f+=h,a/=256,i-=8);for(o=o<0;e[r+f]=255&o,f+=h,o/=256,u-=8);e[r+f-h]|=128*m})},{}],30:[function(e,t,r){(function(e){(function(){function r(e){return Array.isArray(e)?e:[e]}const s=/^\s+$/,i=/^\\!/,n=/^\\#/,o=/\r?\n/g,a=/^\.*\/|^\.+$/,l="undefined"!=typeof Symbol?Symbol.for("node-ignore"):"node-ignore",u=/([0-z])-([0-z])/g,c=()=>!1,p=[[/\\?\s+$/,e=>0===e.indexOf("\\")?" ":""],[/\\\s/g,()=>" "],[/[\\$.|*+(){^]/g,e=>`\\${e}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(e,t,r)=>t+6`${t}[^\\/]*`],[/\\\\\\(?=[$.|*+(){^])/g,()=>"\\"],[/\\\\/g,()=>"\\"],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(e,t,r,s,i)=>"\\"===t?`\\[${r}${(e=>{const{length:t}=e;return e.slice(0,t-t%2)})(s)}${i}`:"]"===i&&s.length%2==0?`[${(e=>e.replace(u,(e,t,r)=>t.charCodeAt(0)<=r.charCodeAt(0)?e:""))(r)}${s}]`:"[]"],[/(?:[^*])$/,e=>/\/$/.test(e)?`${e}$`:`${e}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(e,t)=>`${t?`${t}[^/]+`:"[^/]*"}(?=$|\\/$)`]],d=Object.create(null),f=e=>"string"==typeof e,h=(e,t)=>{const r=e;let s=!1;return 0===e.indexOf("!")&&(s=!0,e=e.substr(1)),new class{constructor(e,t,r,s){this.origin=e,this.pattern=t,this.negative=r,this.regex=s}}(r,e=e.replace(i,"!").replace(n,"#"),s,((e,t)=>{let r=d[e];return r||(r=p.reduce((t,r)=>t.replace(r[0],r[1].bind(e)),e),d[e]=r),t?new RegExp(r,"i"):new RegExp(r)})(e,t))},m=(e,t)=>{throw new t(e)},g=(e,t,r)=>f(e)?e?!g.isNotRelative(e)||r(`path should be a \`path.relative()\`d string, but got "${t}"`,RangeError):r("path must not be empty",TypeError):r(`path must be a string, but got \`${t}\``,TypeError),y=e=>a.test(e);g.isNotRelative=y,g.convert=(e=>e);const w=e=>new class{constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:r=!1}={}){((e,t,r)=>Object.defineProperty(e,t,{value:r}))(this,l,!0),this._rules=[],this._ignoreCase=t,this._allowRelativePaths=r,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[l])return this._rules=this._rules.concat(e._rules),void(this._added=!0);if((e=>e&&f(e)&&!s.test(e)&&0!==e.indexOf("#"))(e)){const t=h(e,this._ignoreCase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,r(f(e)?(e=>e.split(o))(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,t){let r=!1,s=!1;return this._rules.forEach(i=>{const{negative:n}=i;s===n&&r!==s||n&&!r&&!s&&!t||i.regex.test(e)&&(r=!n,s=n)}),{ignored:r,unignored:s}}_test(e,t,r,s){const i=e&&g.convert(e);return g(i,e,this._allowRelativePaths?c:m),this._t(i,t,r,s)}_t(e,t,r,s){if(e in t)return t[e];if(s||(s=e.split("/")),s.pop(),!s.length)return t[e]=this._testOne(e,r);const i=this._t(s.join("/")+"/",t,r,s);return t[e]=i.ignored?i:this._testOne(e,r)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return r(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}}(e);if(w.isPathValid=(e=>g(e&&g.convert(e),e,c)),w.default=w,t.exports=w,void 0!==e&&(e.env&&e.env.IGNORE_TEST_WIN32||"win32"===e.platform)){const e=e=>/^\\\\\?\\/.test(e)||/["<>|\u0000-\u001F]+/u.test(e)?e:e.replace(/\\/g,"/");g.convert=e;const t=/^[a-z]:\//i;g.isNotRelative=(e=>t.test(e)||y(e))}}).call(this)}).call(this,e("_process"))},{_process:115}],31:[(e,t,r)=>{const s=(e,t,r)=>void 0===e?t(r):e;t.exports=(e=>t=>{let r;return new Proxy(()=>{},{get:(i,n)=>(r=s(r,e,t),Reflect.get(r,n)),apply:(i,n,o)=>(r=s(r,e,t),Reflect.apply(r,n,o)),construct:(i,n)=>(r=s(r,e,t),Reflect.construct(r,n))})})},{}],32:[(e,t,r)=>{"function"==typeof Object.create?t.exports=((e,t)=>{t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}):t.exports=((e,t)=>{if(t){e.super_=t;var r=()=>{};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}})},{}],33:[(e,t,r)=>{var s="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag,i=e("call-bind/callBound")("Object.prototype.toString"),n=e=>!(s&&e&&"object"==typeof e&&Symbol.toStringTag in e)&&"[object Arguments]"===i(e),o=e=>!!n(e)||null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Array]"!==i(e)&&"[object Function]"===i(e.callee),a=function(){return n(arguments)}();n.isLegacyArguments=o,t.exports=a?n:o},{"call-bind/callBound":7}],34:[(e,t,r)=>{var s=Object.prototype.toString,i=Function.prototype.toString,n=/^\s*(?:function)?\*/,o="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag,a=Object.getPrototypeOf,l=(()=>{if(!o)return!1;try{return Function("return function*() {}")()}catch(e){}})(),u=!(!a||!l)&&a(l);t.exports=(e=>"function"==typeof e&&(!!n.test(i.call(e))||(o?a&&a(e)===u:"[object GeneratorFunction]"===s.call(e))))},{}],35:[(e,t,r)=>{function s(e){return"[object Object]"===Object.prototype.toString.call(e)}Object.defineProperty(r,"__esModule",{value:!0}),r.isPlainObject=(e=>{var t,r;return!1!==s(e)&&(void 0===(t=e.constructor)||!1!==s(r=t.prototype)&&!1!==r.hasOwnProperty("isPrototypeOf"))})},{}],36:[(e,t,r)=>{t.exports=(e=>"[object RegExp]"===Object.prototype.toString.call(e))},{}],37:[function(e,t,r){(function(r){(()=>{var s=e("foreach"),i=e("available-typed-arrays"),n=e("call-bind/callBound"),o=n("Object.prototype.toString"),a=e("has-symbols")()&&"symbol"==typeof Symbol.toStringTag,l=i(),u=n("Array.prototype.indexOf",!0)||((e,t)=>{for(var r=0;r{var t=new r[e];if(!(Symbol.toStringTag in t))throw new EvalError("this engine has support for Symbol.toStringTag, but "+e+" does not have the property! Please report this.");var s=f(t),i=d(s,Symbol.toStringTag);if(!i){var n=f(s);i=d(n,Symbol.toStringTag)}p[e]=i.get}),t.exports=(e=>{if(!e||"object"!=typeof e)return!1;if(!a){var t=c(o(e),8,-1);return u(l,t)>-1}return!!d&&(r=e,i=!1,s(p,(e,t)=>{if(!i)try{i=e.call(r)===t}catch(e){}}),i);var r,i})}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"available-typed-arrays":2,"call-bind/callBound":7,"es-abstract/helpers/getOwnPropertyDescriptor":17,foreach:20,"has-symbols":24}],38:[(e,t,r)=>{t.exports={properties:["-epub-caption-side","-epub-hyphens","-epub-text-combine","-epub-text-emphasis","-epub-text-emphasis-color","-epub-text-emphasis-style","-epub-text-orientation","-epub-text-transform","-epub-word-break","-epub-writing-mode","-internal-text-autosizing-status","accelerator","accent-color","-wap-accesskey","additive-symbols","align-content","-webkit-align-content","align-items","-webkit-align-items","align-self","-webkit-align-self","alignment-baseline","all","alt","-webkit-alt","animation","animation-delay","-moz-animation-delay","-ms-animation-delay","-webkit-animation-delay","animation-direction","-moz-animation-direction","-ms-animation-direction","-webkit-animation-direction","animation-duration","-moz-animation-duration","-ms-animation-duration","-webkit-animation-duration","animation-fill-mode","-moz-animation-fill-mode","-ms-animation-fill-mode","-webkit-animation-fill-mode","animation-iteration-count","-moz-animation-iteration-count","-ms-animation-iteration-count","-webkit-animation-iteration-count","-moz-animation","-ms-animation","animation-name","-moz-animation-name","-ms-animation-name","-webkit-animation-name","animation-play-state","-moz-animation-play-state","-ms-animation-play-state","-webkit-animation-play-state","animation-timing-function","-moz-animation-timing-function","-ms-animation-timing-function","-webkit-animation-timing-function","-webkit-animation-trigger","-webkit-animation","app-region","-webkit-app-region","appearance","-moz-appearance","-webkit-appearance","ascent-override","aspect-ratio","-webkit-aspect-ratio","audio-level","azimuth","backdrop-filter","-webkit-backdrop-filter","backface-visibility","-moz-backface-visibility","-ms-backface-visibility","-webkit-backface-visibility","background","background-attachment","-webkit-background-attachment","background-blend-mode","background-clip","-moz-background-clip","-webkit-background-clip","background-color","-webkit-background-color","-webkit-background-composite","background-image","-webkit-background-image","-moz-background-inline-policy","background-origin","-moz-background-origin","-webkit-background-origin","background-position","-webkit-background-position","background-position-x","-webkit-background-position-x","background-position-y","-webkit-background-position-y","background-repeat","-webkit-background-repeat","background-repeat-x","background-repeat-y","background-size","-moz-background-size","-webkit-background-size","-webkit-background","baseline-shift","baseline-source","behavior","-moz-binding","block-ellipsis","-ms-block-progression","block-size","block-step","block-step-align","block-step-insert","block-step-round","block-step-size","bookmark-label","bookmark-level","bookmark-state","border","-webkit-border-after-color","-webkit-border-after-style","-webkit-border-after","-webkit-border-after-width","-webkit-border-before-color","-webkit-border-before-style","-webkit-border-before","-webkit-border-before-width","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","-moz-border-bottom-colors","border-bottom-left-radius","-webkit-border-bottom-left-radius","border-bottom-right-radius","-webkit-border-bottom-right-radius","border-bottom-style","border-bottom-width","border-boundary","border-collapse","border-color","-moz-border-end-color","-webkit-border-end-color","border-end-end-radius","-moz-border-end","border-end-start-radius","-moz-border-end-style","-webkit-border-end-style","-webkit-border-end","-moz-border-end-width","-webkit-border-end-width","-webkit-border-fit","-webkit-border-horizontal-spacing","border-image","-moz-border-image","-o-border-image","border-image-outset","-webkit-border-image-outset","border-image-repeat","-webkit-border-image-repeat","border-image-slice","-webkit-border-image-slice","border-image-source","-webkit-border-image-source","-webkit-border-image","border-image-width","-webkit-border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","-moz-border-left-colors","border-left-style","border-left-width","border-radius","-moz-border-radius-bottomleft","-moz-border-radius-bottomright","-moz-border-radius","-moz-border-radius-topleft","-moz-border-radius-topright","-webkit-border-radius","border-right","border-right-color","-moz-border-right-colors","border-right-style","border-right-width","border-spacing","-moz-border-start-color","-webkit-border-start-color","border-start-end-radius","-moz-border-start","border-start-start-radius","-moz-border-start-style","-webkit-border-start-style","-webkit-border-start","-moz-border-start-width","-webkit-border-start-width","border-style","border-top","border-top-color","-moz-border-top-colors","border-top-left-radius","-webkit-border-top-left-radius","border-top-right-radius","-webkit-border-top-right-radius","border-top-style","border-top-width","-webkit-border-vertical-spacing","border-width","bottom","-moz-box-align","-webkit-box-align","box-decoration-break","-webkit-box-decoration-break","-moz-box-direction","-webkit-box-direction","-webkit-box-flex-group","-moz-box-flex","-webkit-box-flex","-webkit-box-lines","-moz-box-ordinal-group","-webkit-box-ordinal-group","-moz-box-orient","-webkit-box-orient","-moz-box-pack","-webkit-box-pack","-webkit-box-reflect","box-shadow","-moz-box-shadow","-webkit-box-shadow","box-sizing","-moz-box-sizing","-webkit-box-sizing","box-snap","break-after","break-before","break-inside","buffered-rendering","caption-side","caret","caret-color","caret-shape","chains","clear","clip","clip-path","-webkit-clip-path","clip-rule","color","color-adjust","-webkit-color-correction","-apple-color-filter","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","-webkit-column-axis","-webkit-column-break-after","-webkit-column-break-before","-webkit-column-break-inside","column-count","-moz-column-count","-webkit-column-count","column-fill","-moz-column-fill","-webkit-column-fill","column-gap","-moz-column-gap","-webkit-column-gap","column-progression","-webkit-column-progression","column-rule","column-rule-color","-moz-column-rule-color","-webkit-column-rule-color","-moz-column-rule","column-rule-style","-moz-column-rule-style","-webkit-column-rule-style","-webkit-column-rule","column-rule-width","-moz-column-rule-width","-webkit-column-rule-width","column-span","-moz-column-span","-webkit-column-span","column-width","-moz-column-width","-webkit-column-width","columns","-moz-columns","-webkit-columns","-webkit-composition-fill-color","-webkit-composition-frame-color","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","content","content-visibility","-ms-content-zoom-chaining","-ms-content-zoom-limit-max","-ms-content-zoom-limit-min","-ms-content-zoom-limit","-ms-content-zoom-snap","-ms-content-zoom-snap-points","-ms-content-zoom-snap-type","-ms-content-zooming","continue","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","-webkit-cursor-visibility","cx","cy","d","-apple-dashboard-region","-webkit-dashboard-region","descent-override","direction","display","display-align","dominant-baseline","elevation","empty-cells","enable-background","epub-caption-side","epub-hyphens","epub-text-combine","epub-text-emphasis","epub-text-emphasis-color","epub-text-emphasis-style","epub-text-orientation","epub-text-transform","epub-word-break","epub-writing-mode","fallback","fill","fill-break","fill-color","fill-image","fill-opacity","fill-origin","fill-position","fill-repeat","fill-rule","fill-size","filter","-ms-filter","-webkit-filter","flex","-ms-flex-align","-webkit-flex-align","flex-basis","-webkit-flex-basis","flex-direction","-ms-flex-direction","-webkit-flex-direction","flex-flow","-ms-flex-flow","-webkit-flex-flow","flex-grow","-webkit-flex-grow","-ms-flex-item-align","-webkit-flex-item-align","-ms-flex-line-pack","-webkit-flex-line-pack","-ms-flex","-ms-flex-negative","-ms-flex-order","-webkit-flex-order","-ms-flex-pack","-webkit-flex-pack","-ms-flex-positive","-ms-flex-preferred-size","flex-shrink","-webkit-flex-shrink","-webkit-flex","flex-wrap","-ms-flex-wrap","-webkit-flex-wrap","float","float-defer","-moz-float-edge","float-offset","float-reference","flood-color","flood-opacity","flow","flow-from","-ms-flow-from","-webkit-flow-from","flow-into","-ms-flow-into","-webkit-flow-into","font","font-display","font-family","font-feature-settings","-moz-font-feature-settings","-ms-font-feature-settings","-webkit-font-feature-settings","font-kerning","-webkit-font-kerning","font-language-override","-moz-font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","-webkit-font-size-delta","-webkit-font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","-webkit-font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","footnote-display","footnote-policy","-moz-force-broken-image-icon","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","-webkit-grid-after","grid-area","grid-auto-columns","-webkit-grid-auto-columns","grid-auto-flow","-webkit-grid-auto-flow","grid-auto-rows","-webkit-grid-auto-rows","-webkit-grid-before","grid-column","-ms-grid-column-align","grid-column-end","grid-column-gap","-ms-grid-column","-ms-grid-column-span","grid-column-start","-webkit-grid-column","-ms-grid-columns","-webkit-grid-columns","-webkit-grid-end","grid-gap","grid-row","-ms-grid-row-align","grid-row-end","grid-row-gap","-ms-grid-row","-ms-grid-row-span","grid-row-start","-webkit-grid-row","-ms-grid-rows","-webkit-grid-rows","-webkit-grid-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","-ms-high-contrast-adjust","-webkit-highlight","hyphenate-character","-webkit-hyphenate-character","-webkit-hyphenate-limit-after","-webkit-hyphenate-limit-before","hyphenate-limit-chars","-ms-hyphenate-limit-chars","hyphenate-limit-last","hyphenate-limit-lines","-ms-hyphenate-limit-lines","-webkit-hyphenate-limit-lines","hyphenate-limit-zone","-ms-hyphenate-limit-zone","hyphens","-moz-hyphens","-ms-hyphens","-webkit-hyphens","image-orientation","-moz-image-region","image-rendering","image-resolution","-ms-ime-align","ime-mode","inherits","initial-letter","initial-letter-align","-webkit-initial-letter","initial-letter-wrap","initial-value","inline-size","inline-sizing","input-format","-wap-input-format","-wap-input-required","input-security","inset","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","-ms-interpolation-mode","isolation","justify-content","-webkit-justify-content","justify-items","-webkit-justify-items","justify-self","-webkit-justify-self","kerning","layout-flow","layout-grid","layout-grid-char","layout-grid-line","layout-grid-mode","layout-grid-type","leading-trim","left","letter-spacing","lighting-color","-webkit-line-align","-webkit-line-box-contain","line-break","-webkit-line-break","line-clamp","-webkit-line-clamp","line-gap-override","line-grid","-webkit-line-grid-snap","-webkit-line-grid","line-height","line-height-step","line-increment","line-padding","line-snap","-webkit-line-snap","-o-link","-o-link-source","list-style","list-style-image","list-style-position","list-style-type","-webkit-locale","-webkit-logical-height","-webkit-logical-width","margin","-webkit-margin-after-collapse","-webkit-margin-after","-webkit-margin-before-collapse","-webkit-margin-before","margin-block","margin-block-end","margin-block-start","margin-bottom","-webkit-margin-bottom-collapse","margin-break","-webkit-margin-collapse","-moz-margin-end","-webkit-margin-end","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","-moz-margin-start","-webkit-margin-start","margin-top","-webkit-margin-top-collapse","margin-trim","marker","marker-end","marker-knockout-left","marker-knockout-right","marker-mid","marker-offset","marker-pattern","marker-segment","marker-side","marker-start","marks","-wap-marquee-dir","-webkit-marquee-direction","-webkit-marquee-increment","-wap-marquee-loop","-webkit-marquee-repetition","-wap-marquee-speed","-webkit-marquee-speed","-wap-marquee-style","-webkit-marquee-style","-webkit-marquee","mask","-webkit-mask-attachment","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","-webkit-mask-box-image-outset","-webkit-mask-box-image-repeat","-webkit-mask-box-image-slice","-webkit-mask-box-image-source","-webkit-mask-box-image","-webkit-mask-box-image-width","mask-clip","-webkit-mask-clip","mask-composite","-webkit-mask-composite","mask-image","-webkit-mask-image","mask-mode","mask-origin","-webkit-mask-origin","mask-position","-webkit-mask-position","mask-position-x","-webkit-mask-position-x","mask-position-y","-webkit-mask-position-y","mask-repeat","-webkit-mask-repeat","-webkit-mask-repeat-x","-webkit-mask-repeat-y","mask-size","-webkit-mask-size","mask-source-type","-webkit-mask-source-type","mask-type","-webkit-mask","-webkit-match-nearest-mail-blockquote-color","math-style","max-block-size","max-height","max-inline-size","max-lines","-webkit-max-logical-height","-webkit-max-logical-width","max-width","max-zoom","min-block-size","min-height","min-inline-size","min-intrinsic-sizing","-webkit-min-logical-height","-webkit-min-logical-width","min-width","min-zoom","mix-blend-mode","motion","motion-offset","motion-path","motion-rotation","nav-down","nav-index","nav-left","nav-right","nav-up","-webkit-nbsp-mode","negative","object-fit","-o-object-fit","object-position","-o-object-position","offset","offset-anchor","offset-block-end","offset-block-start","offset-distance","offset-inline-end","offset-inline-start","offset-path","offset-position","offset-rotate","offset-rotation","opacity","-moz-opacity","-webkit-opacity","order","-webkit-order","-moz-orient","orientation","orphans","-moz-osx-font-smoothing","outline","outline-color","-moz-outline-color","-moz-outline","outline-offset","-moz-outline-offset","-moz-outline-radius-bottomleft","-moz-outline-radius-bottomright","-moz-outline-radius","-moz-outline-radius-topleft","-moz-outline-radius-topright","outline-style","-moz-outline-style","outline-width","-moz-outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","-webkit-overflow-scrolling","-ms-overflow-style","overflow-wrap","overflow-x","overflow-y","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","pad","padding","-webkit-padding-after","-webkit-padding-before","padding-block","padding-block-end","padding-block-start","padding-bottom","-moz-padding-end","-webkit-padding-end","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","-moz-padding-start","-webkit-padding-start","padding-top","page","page-break-after","page-break-before","page-break-inside","page-orientation","paint-order","pause","pause-after","pause-before","-apple-pay-button-style","-apple-pay-button-type","pen-action","perspective","-moz-perspective","-ms-perspective","perspective-origin","-moz-perspective-origin","-ms-perspective-origin","-webkit-perspective-origin","perspective-origin-x","-webkit-perspective-origin-x","perspective-origin-y","-webkit-perspective-origin-y","-webkit-perspective","pitch","pitch-range","place-content","place-items","place-self","play-during","pointer-events","position","prefix","print-color-adjust","-webkit-print-color-adjust","property-name","quotes","r","range","-webkit-region-break-after","-webkit-region-break-before","-webkit-region-break-inside","region-fragment","-webkit-region-fragment","-webkit-region-overflow","resize","rest","rest-after","rest-before","richness","right","rotate","row-gap","-webkit-rtl-ordering","ruby-align","ruby-merge","ruby-overhang","ruby-position","-webkit-ruby-position","running","rx","ry","scale","scroll-behavior","-ms-scroll-chaining","-ms-scroll-limit","-ms-scroll-limit-x-max","-ms-scroll-limit-x-min","-ms-scroll-limit-y-max","-ms-scroll-limit-y-min","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","-ms-scroll-rails","scroll-snap-align","scroll-snap-coordinate","-webkit-scroll-snap-coordinate","scroll-snap-destination","-webkit-scroll-snap-destination","scroll-snap-margin","scroll-snap-margin-bottom","scroll-snap-margin-left","scroll-snap-margin-right","scroll-snap-margin-top","scroll-snap-points-x","-ms-scroll-snap-points-x","-webkit-scroll-snap-points-x","scroll-snap-points-y","-ms-scroll-snap-points-y","-webkit-scroll-snap-points-y","scroll-snap-stop","scroll-snap-type","-ms-scroll-snap-type","-webkit-scroll-snap-type","scroll-snap-type-x","scroll-snap-type-y","-ms-scroll-snap-x","-ms-scroll-snap-y","-ms-scroll-translation","scrollbar-arrow-color","scrollbar-base-color","scrollbar-color","scrollbar-dark-shadow-color","scrollbar-darkshadow-color","scrollbar-face-color","scrollbar-gutter","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-track-color","scrollbar-width","scrollbar3d-light-color","scrollbar3dlight-color","shape-image-threshold","-webkit-shape-image-threshold","shape-inside","-webkit-shape-inside","shape-margin","-webkit-shape-margin","shape-outside","-webkit-shape-outside","-webkit-shape-padding","shape-rendering","size","size-adjust","snap-height","solid-color","solid-opacity","spatial-navigation-action","spatial-navigation-contain","spatial-navigation-function","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","src","-moz-stack-sizing","stop-color","stop-opacity","stress","string-set","stroke","stroke-align","stroke-alignment","stroke-break","stroke-color","stroke-dash-corner","stroke-dash-justify","stroke-dashadjust","stroke-dasharray","stroke-dashcorner","stroke-dashoffset","stroke-image","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-origin","stroke-position","stroke-repeat","stroke-size","stroke-width","suffix","supported-color-schemes","-webkit-svg-shadow","symbols","syntax","system","tab-size","-moz-tab-size","-o-tab-size","-o-table-baseline","table-layout","-webkit-tap-highlight-color","text-align","text-align-all","text-align-last","-moz-text-align-last","text-anchor","text-autospace","-moz-text-blink","-ms-text-combine-horizontal","text-combine-upright","-webkit-text-combine","text-decoration","text-decoration-blink","text-decoration-color","-moz-text-decoration-color","-webkit-text-decoration-color","text-decoration-line","-moz-text-decoration-line","text-decoration-line-through","-webkit-text-decoration-line","text-decoration-none","text-decoration-overline","text-decoration-skip","text-decoration-skip-box","text-decoration-skip-ink","text-decoration-skip-inset","text-decoration-skip-self","text-decoration-skip-spaces","-webkit-text-decoration-skip","text-decoration-style","-moz-text-decoration-style","-webkit-text-decoration-style","text-decoration-thickness","text-decoration-underline","-webkit-text-decoration","-webkit-text-decorations-in-effect","text-edge","text-emphasis","text-emphasis-color","-webkit-text-emphasis-color","text-emphasis-position","-webkit-text-emphasis-position","text-emphasis-skip","text-emphasis-style","-webkit-text-emphasis-style","-webkit-text-emphasis","-webkit-text-fill-color","text-group-align","text-indent","text-justify","text-justify-trim","text-kashida","text-kashida-space","text-line-through","text-line-through-color","text-line-through-mode","text-line-through-style","text-line-through-width","text-orientation","-webkit-text-orientation","text-overflow","text-overline","text-overline-color","text-overline-mode","text-overline-style","text-overline-width","text-rendering","-webkit-text-security","text-shadow","text-size-adjust","-moz-text-size-adjust","-ms-text-size-adjust","-webkit-text-size-adjust","text-space-collapse","text-space-trim","text-spacing","-webkit-text-stroke-color","-webkit-text-stroke","-webkit-text-stroke-width","text-transform","text-underline","text-underline-color","text-underline-mode","text-underline-offset","text-underline-position","-webkit-text-underline-position","text-underline-style","text-underline-width","text-wrap","-webkit-text-zoom","top","touch-action","touch-action-delay","-ms-touch-action","-webkit-touch-callout","-ms-touch-select","-apple-trailing-word","transform","transform-box","-moz-transform","-ms-transform","-o-transform","transform-origin","-moz-transform-origin","-ms-transform-origin","-o-transform-origin","-webkit-transform-origin","transform-origin-x","-webkit-transform-origin-x","transform-origin-y","-webkit-transform-origin-y","transform-origin-z","-webkit-transform-origin-z","transform-style","-moz-transform-style","-ms-transform-style","-webkit-transform-style","-webkit-transform","transition","transition-delay","-moz-transition-delay","-ms-transition-delay","-o-transition-delay","-webkit-transition-delay","transition-duration","-moz-transition-duration","-ms-transition-duration","-o-transition-duration","-webkit-transition-duration","-moz-transition","-ms-transition","-o-transition","transition-property","-moz-transition-property","-ms-transition-property","-o-transition-property","-webkit-transition-property","transition-timing-function","-moz-transition-timing-function","-ms-transition-timing-function","-o-transition-timing-function","-webkit-transition-timing-function","-webkit-transition","translate","uc-alt-skin","uc-skin","unicode-bidi","unicode-range","-webkit-user-drag","-moz-user-focus","-moz-user-input","-moz-user-modify","-webkit-user-modify","user-select","-moz-user-select","-ms-user-select","-webkit-user-select","user-zoom","vector-effect","vertical-align","viewport-fill","viewport-fill-opacity","viewport-fit","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","-webkit-widget-region","widows","width","will-change","-moz-window-dragging","-moz-window-shadow","word-boundary-detection","word-boundary-expansion","word-break","word-spacing","word-wrap","wrap-after","wrap-before","wrap-flow","-ms-wrap-flow","-webkit-wrap-flow","wrap-inside","-ms-wrap-margin","-webkit-wrap-margin","-webkit-wrap-padding","-webkit-wrap-shape-inside","-webkit-wrap-shape-outside","wrap-through","-ms-wrap-through","-webkit-wrap-through","-webkit-wrap","writing-mode","-webkit-writing-mode","x","y","z-index","zoom"]}},{}],39:[(e,t,r)=>{t.exports.all=e("./data/all.json").properties},{"./data/all.json":38}],40:[(e,t,r)=>{t.exports=["abs","and","annotation","annotation-xml","apply","approx","arccos","arccosh","arccot","arccoth","arccsc","arccsch","arcsec","arcsech","arcsin","arcsinh","arctan","arctanh","arg","bind","bvar","card","cartesianproduct","cbytes","ceiling","cerror","ci","cn","codomain","complexes","compose","condition","conjugate","cos","cosh","cot","coth","cs","csc","csch","csymbol","curl","declare","degree","determinant","diff","divergence","divide","domain","domainofapplication","emptyset","encoding","eq","equivalent","eulergamma","exists","exp","exponentiale","factorial","factorof","false","floor","fn","forall","function","gcd","geq","grad","gt","ident","image","imaginary","imaginaryi","implies","in","infinity","int","integers","intersect","interval","inverse","lambda","laplacian","lcm","leq","limit","list","ln","log","logbase","lowlimit","lt","maction","malign","maligngroup","malignmark","malignscope","math","matrix","matrixrow","max","mean","median","menclose","merror","mfenced","mfrac","mfraction","mglyph","mi","min","minus","mlabeledtr","mlongdiv","mmultiscripts","mn","mo","mode","moment","momentabout","mover","mpadded","mphantom","mprescripts","mroot","mrow","ms","mscarries","mscarry","msgroup","msline","mspace","msqrt","msrow","mstack","mstyle","msub","msubsup","msup","mtable","mtd","mtext","mtr","munder","munderover","naturalnumbers","neq","none","not","notanumber","notin","notprsubset","notsubset","or","otherwise","outerproduct","partialdiff","pi","piece","piecewice","piecewise","plus","power","primes","product","prsubset","quotient","rationals","real","reals","reln","rem","root","scalarproduct","sdev","sec","sech","select","selector","semantics","sep","set","setdiff","share","sin","sinh","span","subset","sum","tan","tanh","tendsto","times","transpose","true","union","uplimit","var","variance","vector","vectorproduct","xor"]},{}],41:[(e,t,r)=>{t.exports={nanoid(e=21){let t="",r=e;for(;r--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*Math.random()|0];return t},customAlphabet:(e,t)=>()=>{let r="",s=t;for(;s--;)r+=e[Math.random()*e.length|0];return r}}},{}],42:[function(e,t,r){var s,i;s="normalizeSelector",i=((e,t)=>e=>{function t(){s&&(o.length>0&&/^[~+>]$/.test(o[o.length-1])&&o.push(" "),o.push(s))}var r,s,i,n,o=[],a=[0],l=0,u=/(?:[^\\]|(?:^|[^\\])(?:\\\\)+)$/,c=/^\s+$/,p=/[^\s=~!^|$*\[\]\(\)]{2}/,d=[/\s+|\/\*|["'>~+\[\(]/g,/\s+|\/\*|["'\[\]\(\)]/g,/\s+|\/\*|["'\[\]\(\)]/g,null,/\*\//g];for(e=e.trim();;){if(s="",(i=d[a[a.length-1]]).lastIndex=l,!(r=i.exec(e))){s=e.substr(l),t();break}if((n=l)<(l=i.lastIndex)-r[0].length&&(s=e.substring(n,l-r[0].length)),1===a[a.length-1]&&p.test(o[o.length-1].substr(-1)+s.charAt(0))&&o.push(" "),a[a.length-1]<3){if(t(),"["===r[0])a.push(1);else if("("===r[0])a.push(2);else if(/^["']$/.test(r[0]))a.push(3),d[3]=new RegExp(r[0],"g");else if("/*"===r[0])a.push(4);else if(/^[\]\)]$/.test(r[0])&&a.length>0)a.pop();else if(/^(?:\s+|[~+>])$/.test(r[0])&&(o.length>0&&!c.test(o[o.length-1])&&0===a[a.length-1]&&o.push(" "),c.test(r[0])))continue;o.push(r[0])}else o[o.length-1]+=s,u.test(o[o.length-1])&&(4===a[a.length-1]&&(o.length<2||c.test(o[o.length-2])?o.pop():o[o.length-1]=" ",r[0]=""),a.pop()),o[o.length-1]+=r[0]}return o.join("").trim()}),void 0!==t&&t.exports?t.exports=i():this[s]=i()},{}],43:[(e,t,r)=>{r.endianness=(()=>"LE"),r.hostname=(()=>"undefined"!=typeof location?location.hostname:""),r.loadavg=(()=>[]),r.uptime=(()=>0),r.freemem=(()=>Number.MAX_VALUE),r.totalmem=(()=>Number.MAX_VALUE),r.cpus=(()=>[]),r.type=(()=>"Browser"),r.release=(()=>"undefined"!=typeof navigator?navigator.appVersion:""),r.networkInterfaces=r.getNetworkInterfaces=(()=>({})),r.arch=(()=>"javascript"),r.platform=(()=>"browser"),r.tmpdir=r.tmpDir=(()=>"/tmp"),r.EOL="\n",r.homedir=(()=>"/")},{}],44:[function(e,t,r){(function(e){(()=>{function r(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function s(e,t){for(var r,s="",i=0,n=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=s.lastIndexOf("/");if(l!==s.length-1){-1===l?(s="",i=0):i=(s=s.slice(0,l)).length-1-s.lastIndexOf("/"),n=a,o=0;continue}}else if(2===s.length||1===s.length){s="",i=0,n=a,o=0;continue}t&&(s.length>0?s+="/..":s="..",i=2)}else s.length>0?s+="/"+e.slice(n+1,a):s=e.slice(n+1,a),i=a-n-1;n=a,o=0}else 46===r&&-1!==o?++o:o=-1}return s}var i={resolve(){for(var t,i="",n=!1,o=arguments.length-1;o>=-1&&!n;o--){var a;o>=0?a=arguments[o]:(void 0===t&&(t=e.cwd()),a=t),r(a),0!==a.length&&(i=a+"/"+i,n=47===a.charCodeAt(0))}return i=s(i,!n),n?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize(e){if(r(e),0===e.length)return".";var t=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1);return 0!==(e=s(e,!t)).length||t||(e="."),e.length>0&&i&&(e+="/"),t?"/"+e:e},isAbsolute:e=>(r(e),e.length>0&&47===e.charCodeAt(0)),join(){if(0===arguments.length)return".";for(var e,t=0;t0&&(void 0===e?e=s:e+="/"+s)}return void 0===e?".":i.normalize(e)},relative(e,t){if(r(e),r(t),e===t)return"";if((e=i.resolve(e))===(t=i.resolve(t)))return"";for(var s=1;su){if(47===t.charCodeAt(a+p))return t.slice(a+p+1);if(0===p)return t.slice(a+p)}else o>u&&(47===e.charCodeAt(s+p)?c=p:0===p&&(c=0));break}var d=e.charCodeAt(s+p);if(d!==t.charCodeAt(a+p))break;47===d&&(c=p)}var f="";for(p=s+c+1;p<=n;++p)p!==n&&47!==e.charCodeAt(p)||(0===f.length?f+="..":f+="/..");return f.length>0?f+t.slice(a+c):(a+=c,47===t.charCodeAt(a)&&++a,t.slice(a))},_makeLong:e=>e,dirname(e){if(r(e),0===e.length)return".";for(var t=e.charCodeAt(0),s=47===t,i=-1,n=!0,o=e.length-1;o>=1;--o)if(47===(t=e.charCodeAt(o))){if(!n){i=o;break}}else n=!1;return-1===i?s?"/":".":s&&1===i?"//":e.slice(0,i)},basename(e,t){if(void 0!==t&&"string"!=typeof t)throw new TypeError('"ext" argument must be a string');r(e);var s,i=0,n=-1,o=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var a=t.length-1,l=-1;for(s=e.length-1;s>=0;--s){var u=e.charCodeAt(s);if(47===u){if(!o){i=s+1;break}}else-1===l&&(o=!1,l=s+1),a>=0&&(u===t.charCodeAt(a)?-1==--a&&(n=s):(a=-1,n=l))}return i===n?n=l:-1===n&&(n=e.length),e.slice(i,n)}for(s=e.length-1;s>=0;--s)if(47===e.charCodeAt(s)){if(!o){i=s+1;break}}else-1===n&&(o=!1,n=s+1);return-1===n?"":e.slice(i,n)},extname(e){r(e);for(var t=-1,s=0,i=-1,n=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===i&&(n=!1,i=a+1),46===l?-1===t?t=a:1!==o&&(o=1):-1!==t&&(o=-1);else if(!n){s=a+1;break}}return-1===t||-1===i||0===o||1===o&&t===i-1&&t===s+1?"":e.slice(t,i)},format(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return"/",r=(t=e).dir||t.root,s=t.base||(t.name||"")+(t.ext||""),r?r===t.root?r+s:r+"/"+s:s;var t,r,s},parse(e){r(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var s,i=e.charCodeAt(0),n=47===i;n?(t.root="/",s=1):s=0;for(var o=-1,a=0,l=-1,u=!0,c=e.length-1,p=0;c>=s;--c)if(47!==(i=e.charCodeAt(c)))-1===l&&(u=!1,l=c+1),46===i?-1===o?o=c:1!==p&&(p=1):-1!==o&&(p=-1);else if(!u){a=c+1;break}return-1===o||-1===l||0===p||1===p&&o===l-1&&o===a+1?-1!==l&&(t.base=t.name=0===a&&n?e.slice(1,l):e.slice(a,l)):(0===a&&n?(t.name=e.slice(1,o),t.base=e.slice(1,l)):(t.name=e.slice(a,o),t.base=e.slice(a,l)),t.ext=e.slice(o,l)),a>0?t.dir=e.slice(0,a-1):n&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,t.exports=i}).call(this)}).call(this,e("_process"))},{_process:115}],45:[(e,t,r)=>{var s=String,i=()=>({isColorSupported:!1,reset:s,bold:s,dim:s,italic:s,underline:s,inverse:s,hidden:s,strikethrough:s,black:s,red:s,green:s,yellow:s,blue:s,magenta:s,cyan:s,white:s,gray:s,bgBlack:s,bgRed:s,bgGreen:s,bgYellow:s,bgBlue:s,bgMagenta:s,bgCyan:s,bgWhite:s});t.exports=i(),t.exports.createColors=i},{}],46:[(e,t,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.default=(e=>new i.default({nodes:(0,n.parseMediaList)(e),type:"media-query-list",value:e.trim()}));var s,i=(s=e("./nodes/Container"))&&s.__esModule?s:{default:s},n=e("./parsers")},{"./nodes/Container":47,"./parsers":49}],47:[function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0});var s,i=(s=e("./Node"))&&s.__esModule?s:{default:s};function n(e){var t=this;this.constructor(e),this.nodes=e.nodes,void 0===this.after&&(this.after=this.nodes.length>0?this.nodes[this.nodes.length-1].after:""),void 0===this.before&&(this.before=this.nodes.length>0?this.nodes[0].before:""),void 0===this.sourceIndex&&(this.sourceIndex=this.before.length),this.nodes.forEach(e=>{e.parent=t})}n.prototype=Object.create(i.default.prototype),n.constructor=i.default,n.prototype.walk=function(e,t){for(var r="string"==typeof e||e instanceof RegExp,s=r?t:e,i="string"==typeof e?new RegExp(e):e,n=0;n{}:arguments[0],t=0;t{Object.defineProperty(r,"__esModule",{value:!0}),r.parseMediaFeature=o,r.parseMediaQuery=a,r.parseMediaList=(e=>{var t=[],r=0,n=0,o=/^(\s*)url\s*\(/.exec(e);if(null!==o){for(var l=o[0].length,u=1;u>0;){var c=e[l];"("===c&&u++,")"===c&&u--,l++}t.unshift(new s.default({type:"url",value:e.substring(0,l).trim(),sourceIndex:o[1].length,before:o[1],after:/^(\s*)/.exec(e.substring(l))[1]})),r=l}for(var p=r;p0&&(r[p-1].after=l.before),void 0===l.type){if(p>0){if("media-feature-expression"===r[p-1].type){l.type="keyword";continue}if("not"===r[p-1].value||"only"===r[p-1].value){l.type="media-type";continue}if("and"===r[p-1].value){l.type="media-feature-expression";continue}"media-type"===r[p-1].type&&(r[p+1]?l.type="media-feature-expression"===r[p+1].type?"keyword":"media-feature-expression":l.type="media-feature-expression")}if(0===p){if(!r[p+1]){l.type="media-type";continue}if(r[p+1]&&("media-feature-expression"===r[p+1].type||"keyword"===r[p+1].type)){l.type="media-type";continue}if(r[p+2]){if("media-feature-expression"===r[p+2].type){l.type="media-type",r[p+1].type="keyword";continue}if("keyword"===r[p+2].type){l.type="keyword",r[p+1].type="media-type";continue}}if(r[p+3]&&"media-feature-expression"===r[p+3].type){l.type="keyword",r[p+1].type="media-type",r[p+2].type="keyword";continue}}}return r}},{"./nodes/Container":47,"./nodes/Node":48}],50:[(e,t,r)=>{t.exports=function e(t,r){var s=r.parent,i="atrule"===s.type&&"nest"===s.name;return"root"===s.type?[t]:"rule"===s.type||i?(i?s.params.split(",").map(e=>e.trim()):s.selectors).reduce((r,i)=>{if(-1!==t.indexOf("&")){var n=e(i,s).map(e=>t.replace(/&/g,e));return r.concat(n)}var o=[i,t].join(" ");return r.concat(e(o,s))},[]):e(t,s)}},{}],51:[(e,t,r)=>{let{Input:s}=e("postcss"),i=e("./safe-parser");t.exports=((e,t)=>{let r=new s(e,t),n=new i(r);return n.parse(),n.root})},{"./safe-parser":52,postcss:103}],52:[function(e,t,r){let s=e("postcss/lib/tokenize"),i=e("postcss/lib/comment"),n=e("postcss/lib/parser");t.exports=class extends n{createTokenizer(){this.tokenizer=s(this.input,{ignoreErrors:!0})}comment(e){let t=new i;this.init(t,e[2]);let r=this.input.fromOffset(e[3])||this.input.fromOffset(this.input.css.length-1);t.source.end={offset:e[3],line:r.line,column:r.col};let s=e[1].slice(2);if("*/"===s.slice(-2)&&(s=s.slice(0,-2)),/^\s*$/.test(s))t.text="",t.raws.left=s,t.raws.right="";else{let e=s.match(/^(\s*)([^]*\S)(\s*)$/);t.text=e[2],t.raws.left=e[1],t.raws.right=e[3]}}decl(e){e.length>1&&e.some(e=>"word"===e[0])&&super.decl(e)}unclosedBracket(){}unknownWord(e){this.spaces+=e.map(e=>e[1]).join("")}unexpectedClose(){this.current.raws.after+="}"}doubleColon(){}unnamedAtrule(e){e.name=""}precheckMissedSemicolon(e){let t,r,s=this.colon(e);if(!1===s)return;for(t=s-1;t>=0&&"word"!==e[t][0];t--);if(0===t)return;for(r=t-1;r>=0;r--)if("space"!==e[r][0]){r+=1;break}let i=e.slice(t),n=e.slice(r,t);e.splice(r,e.length-r),this.spaces=n.map(e=>e[1]).join(""),this.decl(i)}checkMissedSemicolon(){}endFile(){for(this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces;this.current.parent;)this.current=this.current.parent,this.current.raws.after=""}}},{"postcss/lib/comment":89,"postcss/lib/parser":102,"postcss/lib/tokenize":112}],53:[(e,t,r)=>{r.__esModule=!0,r.default=void 0;var s,i=(s=e("./processor"))&&s.__esModule?s:{default:s},n=(e=>{if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=function(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return()=>e,e}();if(t&&t.has(e))return t.get(e);var r={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var n=s?Object.getOwnPropertyDescriptor(e,i):null;n&&(n.get||n.set)?Object.defineProperty(r,i,n):r[i]=e[i]}return r.default=e,t&&t.set(e,r),r})(e("./selectors"));var o=e=>new i.default(e);Object.assign(o,n),delete o.__esModule;var a=o;r.default=a,t.exports=r.default},{"./processor":55,"./selectors":64}],54:[function(e,t,r){r.__esModule=!0,r.default=void 0;var s,i,n=O(e("./selectors/root")),o=O(e("./selectors/selector")),a=O(e("./selectors/className")),l=O(e("./selectors/comment")),u=O(e("./selectors/id")),c=O(e("./selectors/tag")),p=O(e("./selectors/string")),d=O(e("./selectors/pseudo")),f=S(e("./selectors/attribute")),h=O(e("./selectors/universal")),m=O(e("./selectors/combinator")),g=O(e("./selectors/nesting")),y=O(e("./sortAscending")),w=S(e("./tokenize")),b=S(e("./tokenTypes")),x=S(e("./selectors/types")),v=e("./util");function k(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return k=(()=>e),e}function S(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=k();if(t&&t.has(e))return t.get(e);var r={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var n=s?Object.getOwnPropertyDescriptor(e,i):null;n&&(n.get||n.set)?Object.defineProperty(r,i,n):r[i]=e[i]}return r.default=e,t&&t.set(e,r),r}function O(e){return e&&e.__esModule?e:{default:e}}function C(e,t){for(var r=0;r"string"==typeof e.rule?new Error(t):e.rule.error(t,r)},s.attribute=function(){var e=[],t=this.currToken;for(this.position++;this.position{var n=r.lossySpace(e.spaces.before,t),o=r.lossySpace(e.rawSpaceBefore,t);s+=n+r.lossySpace(e.spaces.after,t&&0===n.length),i+=n+e.value+r.lossySpace(e.rawSpaceAfter,t&&0===o.length)}),i===s&&(i=void 0),{space:s,rawSpace:i}},s.isNamedCombinator=function(e){return void 0===e&&(e=this.position),this.tokens[e+0]&&this.tokens[e+0][w.FIELDS.TYPE]===b.slash&&this.tokens[e+1]&&this.tokens[e+1][w.FIELDS.TYPE]===b.word&&this.tokens[e+2]&&this.tokens[e+2][w.FIELDS.TYPE]===b.slash},s.namedCombinator=function(){if(this.isNamedCombinator()){var e=this.content(this.tokens[this.position+1]),t=(0,v.unesc)(e).toLowerCase(),r={};t!==e&&(r.value="/"+e+"/");var s=new m.default({value:"/"+t+"/",source:N(this.currToken[w.FIELDS.START_LINE],this.currToken[w.FIELDS.START_COL],this.tokens[this.position+2][w.FIELDS.END_LINE],this.tokens[this.position+2][w.FIELDS.END_COL]),sourceIndex:this.currToken[w.FIELDS.START_POS],raws:r});return this.position=this.position+3,s}this.unexpected()},s.combinator=function(){var e=this;if("|"===this.content())return this.namespace();var t=this.locateNextMeaningfulToken(this.position);if(!(t<0||this.tokens[t][w.FIELDS.TYPE]===b.comma)){var r,s=this.currToken,i=void 0;if(t>this.position&&(i=this.parseWhitespaceEquivalentTokens(t)),this.isNamedCombinator()?r=this.namedCombinator():this.currToken[w.FIELDS.TYPE]===b.combinator?(r=new m.default({value:this.content(),source:I(this.currToken),sourceIndex:this.currToken[w.FIELDS.START_POS]}),this.position++):A[this.currToken[w.FIELDS.TYPE]]||i||this.unexpected(),r){if(i){var n=this.convertWhitespaceNodesToSpace(i),o=n.space,a=n.rawSpace;r.spaces.before=o,r.rawSpaceBefore=a}}else{var l=this.convertWhitespaceNodesToSpace(i,!0),u=l.space,c=l.rawSpace;c||(c=u);var p={},d={spaces:{}};u.endsWith(" ")&&c.endsWith(" ")?(p.before=u.slice(0,u.length-1),d.spaces.before=c.slice(0,c.length-1)):u.startsWith(" ")&&c.startsWith(" ")?(p.after=u.slice(1),d.spaces.after=c.slice(1)):d.value=c,r=new m.default({value:" ",source:P(s,this.tokens[this.position-1]),sourceIndex:s[w.FIELDS.START_POS],spaces:p,raws:d})}return this.currToken&&this.currToken[w.FIELDS.TYPE]===b.space&&(r.spaces.after=this.optionalSpace(this.content()),this.position++),this.newNode(r)}var f=this.parseWhitespaceEquivalentTokens(t);if(f.length>0){var h=this.current.last;if(h){var g=this.convertWhitespaceNodesToSpace(f),y=g.space,x=g.rawSpace;void 0!==x&&(h.rawSpaceAfter+=x),h.spaces.after+=y}else f.forEach(t=>e.newNode(t))}},s.comma=function(){if(this.position===this.tokens.length-1)return this.root.trailingComma=!0,void this.position++;this.current._inferEndPosition();var e=new o.default({source:{start:M(this.tokens[this.position+1])}});this.current.parent.append(e),this.current=e,this.position++},s.comment=function(){var e=this.currToken;this.newNode(new l.default({value:this.content(),source:I(e),sourceIndex:e[w.FIELDS.START_POS]})),this.position++},s.error=function(e,t){throw this.root.error(e,t)},s.missingBackslash=function(){return this.error("Expected a backslash preceding the semicolon.",{index:this.currToken[w.FIELDS.START_POS]})},s.missingParenthesis=function(){return this.expected("opening parenthesis",this.currToken[w.FIELDS.START_POS])},s.missingSquareBracket=function(){return this.expected("opening square bracket",this.currToken[w.FIELDS.START_POS])},s.unexpected=function(){return this.error("Unexpected '"+this.content()+"'. Escaping special characters with \\ may help.",this.currToken[w.FIELDS.START_POS])},s.namespace=function(){var e=this.prevToken&&this.content(this.prevToken)||!0;return this.nextToken[w.FIELDS.TYPE]===b.word?(this.position++,this.word(e)):this.nextToken[w.FIELDS.TYPE]===b.asterisk?(this.position++,this.universal(e)):void 0},s.nesting=function(){if(this.nextToken&&"|"===this.content(this.nextToken))this.position++;else{var e=this.currToken;this.newNode(new g.default({value:this.content(),source:I(e),sourceIndex:e[w.FIELDS.START_POS]})),this.position++}},s.parentheses=function(){var e=this.current.last,t=1;if(this.position++,e&&e.type===x.PSEUDO){var r=new o.default({source:{start:M(this.tokens[this.position-1])}}),s=this.current;for(e.append(r),this.current=r;this.position{t+=s,e.newNode(new d.default({value:t,source:P(r,e.currToken),sourceIndex:r[w.FIELDS.START_POS]})),i>1&&e.nextToken&&e.nextToken[w.FIELDS.TYPE]===b.openParenthesis&&e.error("Misplaced parenthesis.",{index:e.nextToken[w.FIELDS.START_POS]})}):this.expected(["pseudo-class","pseudo-element"],this.position-1)},s.space=function(){var e=this.content();0===this.position||this.prevToken[w.FIELDS.TYPE]===b.comma||this.prevToken[w.FIELDS.TYPE]===b.openParenthesis||this.current.nodes.every(e=>"comment"===e.type)?(this.spaces=this.optionalSpace(e),this.position++):this.position===this.tokens.length-1||this.nextToken[w.FIELDS.TYPE]===b.comma||this.nextToken[w.FIELDS.TYPE]===b.closeParenthesis?(this.current.last.spaces.after=this.optionalSpace(e),this.position++):this.combinator()},s.string=function(){var e=this.currToken;this.newNode(new p.default({value:this.content(),source:I(e),sourceIndex:e[w.FIELDS.START_POS]})),this.position++},s.universal=function(e){var t=this.nextToken;if(t&&"|"===this.content(t))return this.position++,this.namespace();var r=this.currToken;this.newNode(new h.default({value:this.content(),source:I(r),sourceIndex:r[w.FIELDS.START_POS]}),e),this.position++},s.splitWord=function(e,t){for(var r=this,s=this.nextToken,i=this.content();s&&~[b.dollar,b.caret,b.equals,b.word].indexOf(s[w.FIELDS.TYPE]);){this.position++;var n=this.content();if(i+=n,n.lastIndexOf("\\")===n.length-1){var o=this.nextToken;o&&o[w.FIELDS.TYPE]===b.space&&(i+=this.requiredSpace(this.content(o)),this.position++)}s=this.nextToken}var l=T(i,".").filter(e=>{var t="\\"===i[e-1],r=/^\d+\.\d+%$/.test(i);return!t&&!r}),p=T(i,"#").filter(e=>"\\"!==i[e-1]),d=T(i,"#{");d.length&&(p=p.filter(e=>!~d.indexOf(e)));var f=(0,y.default)(function(){var e=Array.prototype.concat.apply([],arguments);return e.filter((t,r)=>r===e.indexOf(t))}([0].concat(l,p)));f.forEach((s,n)=>{var o,d=f[n+1]||i.length,h=i.slice(s,d);if(0===n&&t)return t.call(r,h,f.length);var m=r.currToken,g=m[w.FIELDS.START_POS]+f[n],y=N(m[1],m[2]+s,m[3],m[2]+(d-1));if(~l.indexOf(s)){var b={value:h.slice(1),source:y,sourceIndex:g};o=new a.default(j(b,"value"))}else if(~p.indexOf(s)){var x={value:h.slice(1),source:y,sourceIndex:g};o=new u.default(j(x,"value"))}else{var v={value:h,source:y,sourceIndex:g};j(v,"value"),o=new c.default(v)}r.newNode(o,e),e=null}),this.position++},s.word=function(e){var t=this.nextToken;return t&&"|"===this.content(t)?(this.position++,this.namespace()):this.splitWord(e)},s.loop=function(){for(;this.position{}),this.funcRes=null,this.options=t}var t=e.prototype;return t._shouldUpdateSelector=function(e,t){return void 0===t&&(t={}),!1!==Object.assign({},this.options,t).updateSelector&&"string"!=typeof e},t._isLossy=function(e){return void 0===e&&(e={}),!1===Object.assign({},this.options,e).lossless},t._root=function(e,t){return void 0===t&&(t={}),new i.default(e,this._parseOptions(t)).root},t._parseOptions=function(e){return{lossy:this._isLossy(e)}},t._run=function(e,t){var r=this;return void 0===t&&(t={}),new Promise((s,i)=>{try{var n=r._root(e,t);Promise.resolve(r.func(n)).then(s=>{var i=void 0;return r._shouldUpdateSelector(e,t)&&(i=n.toString(),e.selector=i),{transform:s,root:n,string:i}}).then(s,i)}catch(e){return void i(e)}})},t._runSync=function(e,t){void 0===t&&(t={});var r=this._root(e,t),s=this.func(r);if(s&&"function"==typeof s.then)throw new Error("Selector processor returned a promise to a synchronous call.");var i=void 0;return t.updateSelector&&"string"!=typeof e&&(i=r.toString(),e.selector=i),{transform:s,root:r,string:i}},t.ast=function(e,t){return this._run(e,t).then(e=>e.root)},t.astSync=function(e,t){return this._runSync(e,t).root},t.transform=function(e,t){return this._run(e,t).then(e=>e.transform)},t.transformSync=function(e,t){return this._runSync(e,t).transform},t.process=function(e,t){return this._run(e,t).then(e=>e.string||e.root.toString())},t.processSync=function(e,t){var r=this._runSync(e,t);return r.string||r.root.toString()},e}();r.default=n,t.exports=r.default},{"./parser":54}],56:[function(e,t,r){r.__esModule=!0,r.unescapeValue=g,r.default=void 0;var s,i=l(e("cssesc")),n=l(e("../util/unesc")),o=l(e("./namespace")),a=e("./types");function l(e){return e&&e.__esModule?e:{default:e}}function u(e,t){for(var r=0;r(e.__proto__=t,e)))(e,t)}var p=e("util-deprecate"),d=/^('|")([^]*)\1$/,f=p(()=>{},"Assigning an attribute a value containing characters that might need to be escaped is deprecated. Call attribute.setValue() instead."),h=p(()=>{},"Assigning attr.quoted is deprecated and has no effect. Assign to attr.quoteMark instead."),m=p(()=>{},"Constructing an Attribute selector with a value without specifying quoteMark is deprecated. Note: The value should be unescaped now.");function g(e){var t=!1,r=null,s=e,i=s.match(d);return i&&(r=i[1],s=i[2]),(s=(0,n.default)(s))!==e&&(t=!0),{deprecatedUsage:t,unescaped:s,quoteMark:r}}var y=function(e){var t,r;function s(t){var r;return void 0===t&&(t={}),(r=e.call(this,(e=>{if(void 0!==e.quoteMark)return e;if(void 0===e.value)return e;m();var t=g(e.value),r=t.quoteMark,s=t.unescaped;return e.raws||(e.raws={}),void 0===e.raws.value&&(e.raws.value=e.value),e.value=s,e.quoteMark=r,e})(t))||this).type=a.ATTRIBUTE,r.raws=r.raws||{},Object.defineProperty(r.raws,"unquoted",{get:p(()=>r.value,"attr.raws.unquoted is deprecated. Call attr.value instead."),set:p(()=>r.value,"Setting attr.raws.unquoted is deprecated and has no effect. attr.value is unescaped by default now.")}),r._constructed=!0,r}r=e,(t=s).prototype=Object.create(r.prototype),t.prototype.constructor=t,c(t,r);var n,o,l=s.prototype;return l.getQuotedValue=function(e){void 0===e&&(e={});var t=this._determineQuoteMark(e),r=w[t];return(0,i.default)(this._value,r)},l._determineQuoteMark=function(e){return e.smart?this.smartQuoteMark(e):this.preferredQuoteMark(e)},l.setValue=function(e,t){void 0===t&&(t={}),this._value=e,this._quoteMark=this._determineQuoteMark(t),this._syncRawValue()},l.smartQuoteMark=function(e){var t=this.value,r=t.replace(/[^']/g,"").length,n=t.replace(/[^"]/g,"").length;if(r+n===0){var o=(0,i.default)(t,{isIdentifier:!0});if(o===t)return s.NO_QUOTE;var a=this.preferredQuoteMark(e);if(a===s.NO_QUOTE){var l=this.quoteMark||e.quoteMark||s.DOUBLE_QUOTE,u=w[l];if((0,i.default)(t,u).length(!(t.length>0)||e.quoted||0!==r.before.length||e.spaces.value&&e.spaces.value.after||(r.before=" "),b(t,r))))),t.push("]"),t.push(this.rawSpaceAfter),t.join("")},n=s,(o=[{key:"quoted",get(){var e=this.quoteMark;return"'"===e||'"'===e},set(e){h()}},{key:"quoteMark",get(){return this._quoteMark},set(e){this._constructed?this._quoteMark!==e&&(this._quoteMark=e,this._syncRawValue()):this._quoteMark=e}},{key:"qualifiedAttribute",get(){return this.qualifiedName(this.raws.attribute||this.attribute)}},{key:"insensitiveFlag",get(){return this.insensitive?"i":""}},{key:"value",get(){return this._value},set(e){if(this._constructed){var t=g(e),r=t.deprecatedUsage,s=t.unescaped,i=t.quoteMark;if(r&&f(),s===this._value&&i===this._quoteMark)return;this._value=s,this._quoteMark=i,this._syncRawValue()}else this._value=e}},{key:"attribute",get(){return this._attribute},set(e){this._handleEscapes("attribute",e),this._attribute=e}}])&&u(n.prototype,o),s}(o.default);r.default=y,y.NO_QUOTE=null,y.SINGLE_QUOTE="'",y.DOUBLE_QUOTE='"';var w=((s={"'":{quotes:"single",wrap:!0},'"':{quotes:"double",wrap:!0}}).null={isIdentifier:!0},s);function b(e,t){return""+t.before+e+t.after}},{"../util/unesc":82,"./namespace":65,"./types":73,cssesc:15,"util-deprecate":452}],57:[function(e,t,r){r.__esModule=!0,r.default=void 0;var s=a(e("cssesc")),i=e("../util"),n=a(e("./node")),o=e("./types");function a(e){return e&&e.__esModule?e:{default:e}}function l(e,t){for(var r=0;r(e.__proto__=t,e)))(e,t)}var c=function(e){var t,r,n,a;function c(t){var r;return(r=e.call(this,t)||this).type=o.CLASS,r._constructed=!0,r}return r=e,(t=c).prototype=Object.create(r.prototype),t.prototype.constructor=t,u(t,r),c.prototype.valueToString=function(){return"."+e.prototype.valueToString.call(this)},n=c,(a=[{key:"value",get(){return this._value},set(e){if(this._constructed){var t=(0,s.default)(e,{isIdentifier:!0});t!==e?((0,i.ensureObject)(this,"raws"),this.raws.value=t):this.raws&&delete this.raws.value}this._value=e}}])&&l(n.prototype,a),c}(n.default);r.default=c,t.exports=r.default},{"../util":80,"./node":67,"./types":73,cssesc:15}],58:[function(e,t,r){r.__esModule=!0,r.default=void 0;var s,i=(s=e("./node"))&&s.__esModule?s:{default:s},n=e("./types");function o(e,t){return(o=Object.setPrototypeOf||((e,t)=>(e.__proto__=t,e)))(e,t)}var a=function(e){var t,r;function s(t){var r;return(r=e.call(this,t)||this).type=n.COMBINATOR,r}return r=e,(t=s).prototype=Object.create(r.prototype),t.prototype.constructor=t,o(t,r),s}(i.default);r.default=a,t.exports=r.default},{"./node":67,"./types":73}],59:[function(e,t,r){r.__esModule=!0,r.default=void 0;var s,i=(s=e("./node"))&&s.__esModule?s:{default:s},n=e("./types");function o(e,t){return(o=Object.setPrototypeOf||((e,t)=>(e.__proto__=t,e)))(e,t)}var a=function(e){var t,r;function s(t){var r;return(r=e.call(this,t)||this).type=n.COMMENT,r}return r=e,(t=s).prototype=Object.create(r.prototype),t.prototype.constructor=t,o(t,r),s}(i.default);r.default=a,t.exports=r.default},{"./node":67,"./types":73}],60:[(e,t,r)=>{r.__esModule=!0,r.universal=r.tag=r.string=r.selector=r.root=r.pseudo=r.nesting=r.id=r.comment=r.combinator=r.className=r.attribute=void 0;var s=m(e("./attribute")),i=m(e("./className")),n=m(e("./combinator")),o=m(e("./comment")),a=m(e("./id")),l=m(e("./nesting")),u=m(e("./pseudo")),c=m(e("./root")),p=m(e("./selector")),d=m(e("./string")),f=m(e("./tag")),h=m(e("./universal"));function m(e){return e&&e.__esModule?e:{default:e}}r.attribute=(e=>new s.default(e)),r.className=(e=>new i.default(e)),r.combinator=(e=>new n.default(e)),r.comment=(e=>new o.default(e)),r.id=(e=>new a.default(e)),r.nesting=(e=>new l.default(e)),r.pseudo=(e=>new u.default(e)),r.root=(e=>new c.default(e)),r.selector=(e=>new p.default(e)),r.string=(e=>new d.default(e)),r.tag=(e=>new f.default(e)),r.universal=(e=>new h.default(e))},{"./attribute":56,"./className":57,"./combinator":58,"./comment":59,"./id":63,"./nesting":66,"./pseudo":68,"./root":69,"./selector":70,"./string":71,"./tag":72,"./universal":74}],61:[function(e,t,r){r.__esModule=!0,r.default=void 0;var s,i=(s=e("./node"))&&s.__esModule?s:{default:s},n=(e=>{if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=function(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return()=>e,e}();if(t&&t.has(e))return t.get(e);var r={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var n=s?Object.getOwnPropertyDescriptor(e,i):null;n&&(n.get||n.set)?Object.defineProperty(r,i,n):r[i]=e[i]}return r.default=e,t&&t.set(e,r),r})(e("./types"));function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,s=new Array(t);r(e.__proto__=t,e)))(e,t)}var u=function(e){var t,r;function s(t){var r;return(r=e.call(this,t)||this).nodes||(r.nodes=[]),r}r=e,(t=s).prototype=Object.create(r.prototype),t.prototype.constructor=t,l(t,r);var i,u,c=s.prototype;return c.append=function(e){return e.parent=this,this.nodes.push(e),this},c.prepend=function(e){return e.parent=this,this.nodes.unshift(e),this},c.at=function(e){return this.nodes[e]},c.index=function(e){return"number"==typeof e?e:this.nodes.indexOf(e)},c.removeChild=function(e){var t;e=this.index(e),this.at(e).parent=void 0,this.nodes.splice(e,1);for(var r in this.indexes)(t=this.indexes[r])>=e&&(this.indexes[r]=t-1);return this},c.removeAll=function(){for(var e,t=function(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=((e,t)=>{if(e){if("string"==typeof e)return o(e,void 0);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(e,void 0):void 0}})(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var s=0;return()=>s>=e.length?{done:!0}:{done:!1,value:e[s++]}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(r=e[Symbol.iterator]()).next.bind(r)}(this.nodes);!(e=t()).done;)e.value.parent=void 0;return this.nodes=[],this},c.empty=function(){return this.removeAll()},c.insertAfter=function(e,t){t.parent=this;var r,s=this.index(e);this.nodes.splice(s+1,0,t),t.parent=this;for(var i in this.indexes)s<=(r=this.indexes[i])&&(this.indexes[i]=r+1);return this},c.insertBefore=function(e,t){t.parent=this;var r,s=this.index(e);this.nodes.splice(s,0,t),t.parent=this;for(var i in this.indexes)(r=this.indexes[i])<=s&&(this.indexes[i]=r+1);return this},c._findChildAtPosition=function(e,t){var r=void 0;return this.each(s=>{if(s.atPosition){var i=s.atPosition(e,t);if(i)return r=i,!1}else if(s.isAtPosition(e,t))return r=s,!1}),r},c.atPosition=function(e,t){return this.isAtPosition(e,t)?this._findChildAtPosition(e,t)||this:void 0},c._inferEndPosition=function(){this.last&&this.last.source&&this.last.source.end&&(this.source=this.source||{},this.source.end=this.source.end||{},Object.assign(this.source.end,this.last.source.end))},c.each=function(e){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach++;var t=this.lastEach;if(this.indexes[t]=0,this.length){for(var r,s;this.indexes[t]{var s=e(t,r);if(!1!==s&&t.length&&(s=t.walk(e)),!1===s)return!1})},c.walkAttributes=function(e){var t=this;return this.walk(r=>{if(r.type===n.ATTRIBUTE)return e.call(t,r)})},c.walkClasses=function(e){var t=this;return this.walk(r=>{if(r.type===n.CLASS)return e.call(t,r)})},c.walkCombinators=function(e){var t=this;return this.walk(r=>{if(r.type===n.COMBINATOR)return e.call(t,r)})},c.walkComments=function(e){var t=this;return this.walk(r=>{if(r.type===n.COMMENT)return e.call(t,r)})},c.walkIds=function(e){var t=this;return this.walk(r=>{if(r.type===n.ID)return e.call(t,r)})},c.walkNesting=function(e){var t=this;return this.walk(r=>{if(r.type===n.NESTING)return e.call(t,r)})},c.walkPseudos=function(e){var t=this;return this.walk(r=>{if(r.type===n.PSEUDO)return e.call(t,r)})},c.walkTags=function(e){var t=this;return this.walk(r=>{if(r.type===n.TAG)return e.call(t,r)})},c.walkUniversals=function(e){var t=this;return this.walk(r=>{if(r.type===n.UNIVERSAL)return e.call(t,r)})},c.split=function(e){var t=this,r=[];return this.reduce((s,i,n)=>{var o=e.call(t,i);return r.push(i),o?(s.push(r),r=[]):n===t.length-1&&s.push(r),s},[])},c.map=function(e){return this.nodes.map(e)},c.reduce=function(e,t){return this.nodes.reduce(e,t)},c.every=function(e){return this.nodes.every(e)},c.some=function(e){return this.nodes.some(e)},c.filter=function(e){return this.nodes.filter(e)},c.sort=function(e){return this.nodes.sort(e)},c.toString=function(){return this.map(String).join("")},i=s,(u=[{key:"first",get(){return this.at(0)}},{key:"last",get(){return this.at(this.length-1)}},{key:"length",get(){return this.nodes.length}}])&&a(i.prototype,u),s}(i.default);r.default=u,t.exports=r.default},{"./node":67,"./types":73}],62:[(e,t,r)=>{r.__esModule=!0,r.isNode=o,r.isPseudoElement=x,r.isPseudoClass=(e=>h(e)&&!x(e)),r.isContainer=(e=>!(!o(e)||!e.walk)),r.isNamespace=(e=>l(e)||w(e)),r.isUniversal=r.isTag=r.isString=r.isSelector=r.isRoot=r.isPseudo=r.isNesting=r.isIdentifier=r.isComment=r.isCombinator=r.isClassName=r.isAttribute=void 0;var s,i=e("./types"),n=((s={})[i.ATTRIBUTE]=!0,s[i.CLASS]=!0,s[i.COMBINATOR]=!0,s[i.COMMENT]=!0,s[i.ID]=!0,s[i.NESTING]=!0,s[i.PSEUDO]=!0,s[i.ROOT]=!0,s[i.SELECTOR]=!0,s[i.STRING]=!0,s[i.TAG]=!0,s[i.UNIVERSAL]=!0,s);function o(e){return"object"==typeof e&&n[e.type]}function a(e,t){return o(t)&&t.type===e}var l=a.bind(null,i.ATTRIBUTE);r.isAttribute=l;var u=a.bind(null,i.CLASS);r.isClassName=u;var c=a.bind(null,i.COMBINATOR);r.isCombinator=c;var p=a.bind(null,i.COMMENT);r.isComment=p;var d=a.bind(null,i.ID);r.isIdentifier=d;var f=a.bind(null,i.NESTING);r.isNesting=f;var h=a.bind(null,i.PSEUDO);r.isPseudo=h;var m=a.bind(null,i.ROOT);r.isRoot=m;var g=a.bind(null,i.SELECTOR);r.isSelector=g;var y=a.bind(null,i.STRING);r.isString=y;var w=a.bind(null,i.TAG);r.isTag=w;var b=a.bind(null,i.UNIVERSAL);function x(e){return h(e)&&e.value&&(e.value.startsWith("::")||":before"===e.value.toLowerCase()||":after"===e.value.toLowerCase())}r.isUniversal=b},{"./types":73}],63:[function(e,t,r){r.__esModule=!0,r.default=void 0;var s,i=(s=e("./node"))&&s.__esModule?s:{default:s},n=e("./types");function o(e,t){return(o=Object.setPrototypeOf||((e,t)=>(e.__proto__=t,e)))(e,t)}var a=function(e){var t,r;function s(t){var r;return(r=e.call(this,t)||this).type=n.ID,r}return r=e,(t=s).prototype=Object.create(r.prototype),t.prototype.constructor=t,o(t,r),s.prototype.valueToString=function(){return"#"+e.prototype.valueToString.call(this)},s}(i.default);r.default=a,t.exports=r.default},{"./node":67,"./types":73}],64:[(e,t,r)=>{r.__esModule=!0;var s=e("./types");Object.keys(s).forEach(e=>{"default"!==e&&"__esModule"!==e&&(e in r&&r[e]===s[e]||(r[e]=s[e]))});var i=e("./constructors");Object.keys(i).forEach(e=>{"default"!==e&&"__esModule"!==e&&(e in r&&r[e]===i[e]||(r[e]=i[e]))});var n=e("./guards");Object.keys(n).forEach(e=>{"default"!==e&&"__esModule"!==e&&(e in r&&r[e]===n[e]||(r[e]=n[e]))})},{"./constructors":60,"./guards":62,"./types":73}],65:[function(e,t,r){r.__esModule=!0,r.default=void 0;var s=n(e("cssesc")),i=e("../util");function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t){for(var r=0;r(e.__proto__=t,e)))(e,t)}var l=function(e){var t,r;function n(){return e.apply(this,arguments)||this}r=e,(t=n).prototype=Object.create(r.prototype),t.prototype.constructor=t,a(t,r);var l,u,c=n.prototype;return c.qualifiedName=function(e){return this.namespace?this.namespaceString+"|"+e:e},c.valueToString=function(){return this.qualifiedName(e.prototype.valueToString.call(this))},l=n,(u=[{key:"namespace",get(){return this._namespace},set(e){if(!0===e||"*"===e||"&"===e)return this._namespace=e,void(this.raws&&delete this.raws.namespace);var t=(0,s.default)(e,{isIdentifier:!0});this._namespace=e,t!==e?((0,i.ensureObject)(this,"raws"),this.raws.namespace=t):this.raws&&delete this.raws.namespace}},{key:"ns",get(){return this._namespace},set(e){this.namespace=e}},{key:"namespaceString",get(){if(this.namespace){var e=this.stringifyProperty("namespace");return!0===e?"":e}return""}}])&&o(l.prototype,u),n}(n(e("./node")).default);r.default=l,t.exports=r.default},{"../util":80,"./node":67,cssesc:15}],66:[function(e,t,r){r.__esModule=!0,r.default=void 0;var s,i=(s=e("./node"))&&s.__esModule?s:{default:s},n=e("./types");function o(e,t){return(o=Object.setPrototypeOf||((e,t)=>(e.__proto__=t,e)))(e,t)}var a=function(e){var t,r;function s(t){var r;return(r=e.call(this,t)||this).type=n.NESTING,r.value="&",r}return r=e,(t=s).prototype=Object.create(r.prototype),t.prototype.constructor=t,o(t,r),s}(i.default);r.default=a,t.exports=r.default},{"./node":67,"./types":73}],67:[function(e,t,r){r.__esModule=!0,r.default=void 0;var s=e("../util");function i(e,t){for(var r=0;re(t,s)):s[i]=e(n,s)}return s}(this);for(var r in e)t[r]=e[r];return t},n.appendToPropertyAndEscape=function(e,t,r){this.raws||(this.raws={});var s=this[e],i=this.raws[e];this[e]=s+t,i||r!==t?this.raws[e]=(i||s)+r:delete this.raws[e]},n.setPropertyAndEscape=function(e,t,r){this.raws||(this.raws={}),this[e]=t,this.raws[e]=r},n.setPropertyWithoutEscape=function(e,t){this[e]=t,this.raws&&delete this.raws[e]},n.isAtPosition=function(e,t){if(this.source&&this.source.start&&this.source.end)return!(this.source.start.line>e||this.source.end.linet||this.source.end.line===e&&this.source.end.column(e.__proto__=t,e)))(e,t)}var a=function(e){var t,r;function s(t){var r;return(r=e.call(this,t)||this).type=n.PSEUDO,r}return r=e,(t=s).prototype=Object.create(r.prototype),t.prototype.constructor=t,o(t,r),s.prototype.toString=function(){var e=this.length?"("+this.map(String).join(",")+")":"";return[this.rawSpaceBefore,this.stringifyProperty("value"),e,this.rawSpaceAfter].join("")},s}(i.default);r.default=a,t.exports=r.default},{"./container":61,"./types":73}],69:[function(e,t,r){r.__esModule=!0,r.default=void 0;var s,i=(s=e("./container"))&&s.__esModule?s:{default:s},n=e("./types");function o(e,t){for(var r=0;r(e.__proto__=t,e)))(e,t)}var l=function(e){var t,r;function s(t){var r;return(r=e.call(this,t)||this).type=n.ROOT,r}r=e,(t=s).prototype=Object.create(r.prototype),t.prototype.constructor=t,a(t,r);var i,l,u=s.prototype;return u.toString=function(){var e=this.reduce((e,t)=>(e.push(String(t)),e),[]).join(",");return this.trailingComma?e+",":e},u.error=function(e,t){return this._error?this._error(e,t):new Error(e)},i=s,(l=[{key:"errorGenerator",set(e){this._error=e}}])&&o(i.prototype,l),s}(i.default);r.default=l,t.exports=r.default},{"./container":61,"./types":73}],70:[function(e,t,r){r.__esModule=!0,r.default=void 0;var s,i=(s=e("./container"))&&s.__esModule?s:{default:s},n=e("./types");function o(e,t){return(o=Object.setPrototypeOf||((e,t)=>(e.__proto__=t,e)))(e,t)}var a=function(e){var t,r;function s(t){var r;return(r=e.call(this,t)||this).type=n.SELECTOR,r}return r=e,(t=s).prototype=Object.create(r.prototype),t.prototype.constructor=t,o(t,r),s}(i.default);r.default=a,t.exports=r.default},{"./container":61,"./types":73}],71:[function(e,t,r){r.__esModule=!0,r.default=void 0;var s,i=(s=e("./node"))&&s.__esModule?s:{default:s},n=e("./types");function o(e,t){return(o=Object.setPrototypeOf||((e,t)=>(e.__proto__=t,e)))(e,t)}var a=function(e){var t,r;function s(t){var r;return(r=e.call(this,t)||this).type=n.STRING,r}return r=e,(t=s).prototype=Object.create(r.prototype),t.prototype.constructor=t,o(t,r),s}(i.default);r.default=a,t.exports=r.default},{"./node":67,"./types":73}],72:[function(e,t,r){r.__esModule=!0,r.default=void 0;var s,i=(s=e("./namespace"))&&s.__esModule?s:{default:s},n=e("./types");function o(e,t){return(o=Object.setPrototypeOf||((e,t)=>(e.__proto__=t,e)))(e,t)}var a=function(e){var t,r;function s(t){var r;return(r=e.call(this,t)||this).type=n.TAG,r}return r=e,(t=s).prototype=Object.create(r.prototype),t.prototype.constructor=t,o(t,r),s}(i.default);r.default=a,t.exports=r.default},{"./namespace":65,"./types":73}],73:[(e,t,r)=>{r.__esModule=!0,r.UNIVERSAL=r.ATTRIBUTE=r.CLASS=r.COMBINATOR=r.COMMENT=r.ID=r.NESTING=r.PSEUDO=r.ROOT=r.SELECTOR=r.STRING=r.TAG=void 0,r.TAG="tag",r.STRING="string",r.SELECTOR="selector",r.ROOT="root",r.PSEUDO="pseudo",r.NESTING="nesting",r.ID="id",r.COMMENT="comment",r.COMBINATOR="combinator",r.CLASS="class",r.ATTRIBUTE="attribute",r.UNIVERSAL="universal"},{}],74:[function(e,t,r){r.__esModule=!0,r.default=void 0;var s,i=(s=e("./namespace"))&&s.__esModule?s:{default:s},n=e("./types");function o(e,t){return(o=Object.setPrototypeOf||((e,t)=>(e.__proto__=t,e)))(e,t)}var a=function(e){var t,r;function s(t){var r;return(r=e.call(this,t)||this).type=n.UNIVERSAL,r.value="*",r}return r=e,(t=s).prototype=Object.create(r.prototype),t.prototype.constructor=t,o(t,r),s}(i.default);r.default=a,t.exports=r.default},{"./namespace":65,"./types":73}],75:[(e,t,r)=>{r.__esModule=!0,r.default=(e=>e.sort((e,t)=>e-t)),t.exports=r.default},{}],76:[(e,t,r)=>{r.__esModule=!0,r.combinator=r.word=r.comment=r.str=r.tab=r.newline=r.feed=r.cr=r.backslash=r.bang=r.slash=r.doubleQuote=r.singleQuote=r.space=r.greaterThan=r.pipe=r.equals=r.plus=r.caret=r.tilde=r.dollar=r.closeSquare=r.openSquare=r.closeParenthesis=r.openParenthesis=r.semicolon=r.colon=r.comma=r.at=r.asterisk=r.ampersand=void 0,r.ampersand=38,r.asterisk=42,r.at=64,r.comma=44,r.colon=58,r.semicolon=59,r.openParenthesis=40,r.closeParenthesis=41,r.openSquare=91,r.closeSquare=93,r.dollar=36,r.tilde=126,r.caret=94,r.plus=43,r.equals=61,r.pipe=124,r.greaterThan=62,r.space=32,r.singleQuote=39,r.doubleQuote=34,r.slash=47,r.bang=33,r.backslash=92,r.cr=13,r.feed=12,r.newline=10,r.tab=9,r.str=39,r.comment=-1,r.word=-2,r.combinator=-3},{}],77:[(e,t,r)=>{r.__esModule=!0,r.default=(e=>{var t,r,s,i,o,a,l,u,c,d,f,h,m=[],g=e.css.valueOf(),y=g.length,w=-1,b=1,x=0,v=0;function k(t,r){if(!e.safe)throw e.error("Unclosed "+t,b,x-w,x);u=(g+=r).length-1}for(;x0?(c=b+a,d=u-l[a].length):(c=b,d=w),h=n.comment,b=c,s=c,r=u-d):t===n.slash?(h=t,s=b,r=x-w,v=(u=x)+1):(u=p(g,x),h=n.word,s=b,r=u-w),v=u+1}m.push([h,b,x-w,s,r,x,v]),d&&(w=d,d=null),x=v}return m}),r.FIELDS=void 0;var s,i,n=(e=>{if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=function(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return()=>e,e}();if(t&&t.has(e))return t.get(e);var r={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var n=s?Object.getOwnPropertyDescriptor(e,i):null;n&&(n.get||n.set)?Object.defineProperty(r,i,n):r[i]=e[i]}return r.default=e,t&&t.set(e,r),r})(e("./tokenTypes"));for(var o=((s={})[n.tab]=!0,s[n.newline]=!0,s[n.cr]=!0,s[n.feed]=!0,s),a=((i={})[n.space]=!0,i[n.tab]=!0,i[n.newline]=!0,i[n.cr]=!0,i[n.feed]=!0,i[n.ampersand]=!0,i[n.asterisk]=!0,i[n.bang]=!0,i[n.comma]=!0,i[n.colon]=!0,i[n.semicolon]=!0,i[n.openParenthesis]=!0,i[n.closeParenthesis]=!0,i[n.openSquare]=!0,i[n.closeSquare]=!0,i[n.singleQuote]=!0,i[n.doubleQuote]=!0,i[n.plus]=!0,i[n.pipe]=!0,i[n.tilde]=!0,i[n.greaterThan]=!0,i[n.equals]=!0,i[n.dollar]=!0,i[n.caret]=!0,i[n.slash]=!0,i),l={},u="0123456789abcdefABCDEF",c=0;c{r.__esModule=!0,r.default=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),s=1;s0;){var i=r.shift();e[i]||(e[i]={}),e=e[i]}},t.exports=r.default},{}],79:[(e,t,r)=>{r.__esModule=!0,r.default=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),s=1;s0;){var i=r.shift();if(!e[i])return;e=e[i]}return e},t.exports=r.default},{}],80:[(e,t,r)=>{r.__esModule=!0,r.stripComments=r.ensureObject=r.getProp=r.unesc=void 0;var s=a(e("./unesc"));r.unesc=s.default;var i=a(e("./getProp"));r.getProp=i.default;var n=a(e("./ensureObject"));r.ensureObject=n.default;var o=a(e("./stripComments"));function a(e){return e&&e.__esModule?e:{default:e}}r.stripComments=o.default},{"./ensureObject":78,"./getProp":79,"./stripComments":81,"./unesc":82}],81:[(e,t,r)=>{r.__esModule=!0,r.default=(e=>{for(var t="",r=e.indexOf("/*"),s=0;r>=0;){t+=e.slice(s,r);var i=e.indexOf("*/",r+2);if(i<0)return t;s=i+2,r=e.indexOf("/*",s)}return t+e.slice(s)}),t.exports=r.default},{}],82:[(e,t,r)=>{function s(e){for(var t=e.toLowerCase(),r="",s=!1,i=0;i<6&&void 0!==t[i];i++){var n=t.charCodeAt(i);if(s=32===n,!(n>=97&&n<=102||n>=48&&n<=57))break;r+=t[i]}if(0!==r.length){var o=parseInt(r,16);return o>=55296&&o<=57343||0===o||o>1114111?["�",r.length+(s?1:0)]:[String.fromCodePoint(o),r.length+(s?1:0)]}}r.__esModule=!0,r.default=(e=>{if(!i.test(e))return e;for(var t="",r=0;r{var s="(".charCodeAt(0),i=")".charCodeAt(0),n="'".charCodeAt(0),o='"'.charCodeAt(0),a="\\".charCodeAt(0),l="/".charCodeAt(0),u=",".charCodeAt(0),c=":".charCodeAt(0),p="*".charCodeAt(0),d="u".charCodeAt(0),f="U".charCodeAt(0),h="+".charCodeAt(0),m=/^[a-f0-9?-]+$/i;t.exports=(e=>{for(var t,r,g,y,w,b,x,v,k,S=[],O=e,C=0,A=O.charCodeAt(C),E=O.length,M=[{nodes:S}],R=0,N="",I="",P="";C{function s(e,t){var r,s,n=e.type,o=e.value;return t&&void 0!==(s=t(e))?s:"word"===n||"space"===n?o:"string"===n?(r=e.quote||"")+o+(e.unclosed?"":r):"comment"===n?"/*"+o+(e.unclosed?"":"*/"):"div"===n?(e.before||"")+o+(e.after||""):Array.isArray(e.nodes)?(r=i(e.nodes,t),"function"!==n?r:o+"("+(e.before||"")+r+(e.after||"")+(e.unclosed?"":")")):o}function i(e,t){var r,i;if(Array.isArray(e)){for(r="",i=e.length-1;~i;i-=1)r=s(e[i],t)+r;return r}return s(e,t)}t.exports=i},{}],86:[(e,t,r)=>{var s="-".charCodeAt(0),i="+".charCodeAt(0),n=".".charCodeAt(0),o="e".charCodeAt(0),a="E".charCodeAt(0);t.exports=(e=>{var t,r,l,u=0,c=e.length;if(0===c||!(e=>{var t,r=e.charCodeAt(0);if(r===i||r===s){if((t=e.charCodeAt(1))>=48&&t<=57)return!0;var o=e.charCodeAt(2);return t===n&&o>=48&&o<=57}return r===n?(t=e.charCodeAt(1))>=48&&t<=57:r>=48&&r<=57})(e))return!1;for((t=e.charCodeAt(u))!==i&&t!==s||u++;u57);)u+=1;if(t=e.charCodeAt(u),r=e.charCodeAt(u+1),t===n&&r>=48&&r<=57)for(u+=2;u57);)u+=1;if(t=e.charCodeAt(u),r=e.charCodeAt(u+1),l=e.charCodeAt(u+2),(t===o||t===a)&&(r>=48&&r<=57||(r===i||r===s)&&l>=48&&l<=57))for(u+=r===i||r===s?3:2;u57);)u+=1;return{number:e.slice(0,u),unit:e.slice(u)}})},{}],87:[(e,t,r)=>{t.exports=function e(t,r,s){var i,n,o,a;for(i=0,n=t.length;i{let s;try{s=e(t,r)}catch(e){throw t.addToError(e)}return!1!==s&&t.walk&&(s=t.walk(e)),s})}walkDecls(e,t){return t?e instanceof RegExp?this.walk((r,s)=>{if("decl"===r.type&&e.test(r.prop))return t(r,s)}):this.walk((r,s)=>{if("decl"===r.type&&r.prop===e)return t(r,s)}):(t=e,this.walk((e,r)=>{if("decl"===e.type)return t(e,r)}))}walkRules(e,t){return t?e instanceof RegExp?this.walk((r,s)=>{if("rule"===r.type&&e.test(r.selector))return t(r,s)}):this.walk((r,s)=>{if("rule"===r.type&&r.selector===e)return t(r,s)}):(t=e,this.walk((e,r)=>{if("rule"===e.type)return t(e,r)}))}walkAtRules(e,t){return t?e instanceof RegExp?this.walk((r,s)=>{if("atrule"===r.type&&e.test(r.name))return t(r,s)}):this.walk((r,s)=>{if("atrule"===r.type&&r.name===e)return t(r,s)}):(t=e,this.walk((e,r)=>{if("atrule"===e.type)return t(e,r)}))}walkComments(e){return this.walk((t,r)=>{if("comment"===t.type)return e(t,r)})}append(...e){for(let t of e){let e=this.normalize(t,this.last);for(let t of e)this.proxyOf.nodes.push(t)}return this.markDirty(),this}prepend(...e){e=e.reverse();for(let t of e){let e=this.normalize(t,this.first,"prepend").reverse();for(let t of e)this.proxyOf.nodes.unshift(t);for(let t in this.indexes)this.indexes[t]=this.indexes[t]+e.length}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}insertBefore(e,t){let r,s=0===(e=this.index(e))&&"prepend",i=this.normalize(t,this.proxyOf.nodes[e],s).reverse();for(let t of i)this.proxyOf.nodes.splice(e,0,t);for(let t in this.indexes)e<=(r=this.indexes[t])&&(this.indexes[t]=r+i.length);return this.markDirty(),this}insertAfter(e,t){e=this.index(e);let r,s=this.normalize(t,this.proxyOf.nodes[e]).reverse();for(let t of s)this.proxyOf.nodes.splice(e+1,0,t);for(let t in this.indexes)e<(r=this.indexes[t])&&(this.indexes[t]=r+s.length);return this.markDirty(),this}removeChild(e){let t;e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);for(let r in this.indexes)(t=this.indexes[r])>=e&&(this.indexes[r]=t-1);return this.markDirty(),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}replaceValues(e,t,r){return r||(r=t,t={}),this.walkDecls(s=>{t.props&&!t.props.includes(s.prop)||t.fast&&!s.value.includes(t.fast)||(s.value=s.value.replace(e,r))}),this.markDirty(),this}every(e){return this.nodes.every(e)}some(e){return this.nodes.some(e)}index(e){return"number"==typeof e?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}normalize(e,t){if("string"==typeof e)e=function e(t){return t.map(t=>(t.nodes&&(t.nodes=e(t.nodes)),delete t.source,t))}(s(e).nodes);else if(Array.isArray(e)){e=e.slice(0);for(let t of e)t.parent&&t.parent.removeChild(t,"ignore")}else if("root"===e.type&&"document"!==this.type){e=e.nodes.slice(0);for(let t of e)t.parent&&t.parent.removeChild(t,"ignore")}else if(e.type)e=[e];else if(e.prop){if(void 0===e.value)throw new Error("Value field is missed in node creation");"string"!=typeof e.value&&(e.value=String(e.value)),e=[new l(e)]}else if(e.selector)e=[new i(e)];else if(e.name)e=[new n(e)];else{if(!e.text)throw new Error("Unknown node type in node creation");e=[new u(e)]}return e.map(e=>(e[a]||p.rebuild(e),(e=e.proxyOf).parent&&e.parent.removeChild(e),e[o]&&function e(t){if(t[o]=!1,t.proxyOf.nodes)for(let r of t.proxyOf.nodes)e(r)}(e),void 0===e.raws.before&&t&&void 0!==t.raws.before&&(e.raws.before=t.raws.before.replace(/\S/g,"")),e.parent=this,e))}getProxyProcessor(){return{set:(e,t,r)=>e[t]===r||(e[t]=r,"name"!==t&&"params"!==t&&"selector"!==t||e.markDirty(),!0),get:(e,t)=>"proxyOf"===t?e:e[t]?"each"===t||"string"==typeof t&&t.startsWith("walk")?(...r)=>e[t](...r.map(e=>"function"==typeof e?(t,r)=>e(t.toProxy(),r):e)):"every"===t||"some"===t?r=>e[t]((e,...t)=>r(e.toProxy(),...t)):"root"===t?()=>e.root().toProxy():"nodes"===t?e.nodes.map(e=>e.toProxy()):"first"===t||"last"===t?e[t].toProxy():e[t]:e[t]}}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}}p.registerParse=(e=>{s=e}),p.registerRule=(e=>{i=e}),p.registerAtRule=(e=>{n=e}),t.exports=p,p.default=p,p.rebuild=(e=>{"atrule"===e.type?Object.setPrototypeOf(e,n.prototype):"rule"===e.type?Object.setPrototypeOf(e,i.prototype):"decl"===e.type?Object.setPrototypeOf(e,l.prototype):"comment"===e.type&&Object.setPrototypeOf(e,u.prototype),e[a]=!0,e.nodes&&e.nodes.forEach(e=>{p.rebuild(e)})})},{"./comment":89,"./declaration":92,"./node":100,"./symbols":111}],91:[function(e,t,r){let s=e("picocolors"),i=e("./terminal-highlight");class n extends Error{constructor(e,t,r,s,i,o){super(e),this.name="CssSyntaxError",this.reason=e,i&&(this.file=i),s&&(this.source=s),o&&(this.plugin=o),void 0!==t&&void 0!==r&&("number"==typeof t?(this.line=t,this.column=r):(this.line=t.line,this.column=t.column,this.endLine=r.line,this.endColumn=r.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,n)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"",void 0!==this.line&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let t=this.source;null==e&&(e=s.isColorSupported),i&&e&&(t=i(t));let r,n,o=t.split(/\r?\n/),a=Math.max(this.line-3,0),l=Math.min(this.line+2,o.length),u=String(l).length;if(e){let{bold:e,red:t,gray:i}=s.createColors(!0);r=(r=>e(t(r))),n=(e=>i(e))}else r=n=(e=>e);return o.slice(a,l).map((e,t)=>{let s=a+1+t,i=" "+(" "+s).slice(-u)+" | ";if(s===this.line){let t=n(i.replace(/\d/g," "))+e.slice(0,this.column-1).replace(/[^\t]/g," ");return r(">")+n(i)+e+"\n "+t+r("^")}return" "+n(i)+e}).join("\n")}toString(){let e=this.showSourceCode();return e&&(e="\n\n"+e+"\n"),this.name+": "+this.message+e}}t.exports=n,n.default=n},{"./terminal-highlight":4,picocolors:45}],92:[function(e,r,s){let i=e("./node");class n extends i{constructor(e){e&&void 0!==e.value&&"string"!=typeof e.value&&(e=t({},e,{value:String(e.value)})),super(e),this.type="decl"}get variable(){return this.prop.startsWith("--")||"$"===this.prop[0]}}r.exports=n,n.default=n},{"./node":100}],93:[function(e,r,s){let i,n,o=e("./container");class a extends o{constructor(e){super(t({type:"document"},e)),this.nodes||(this.nodes=[])}toResult(e={}){return new i(new n,this,e).stringify()}}a.registerLazyResult=(e=>{i=e}),a.registerProcessor=(e=>{n=e}),r.exports=a,a.default=a},{"./container":90}],94:[(r,s,i)=>{let n=r("./declaration"),o=r("./previous-map"),a=r("./comment"),l=r("./at-rule"),u=r("./input"),c=r("./root"),p=r("./rule");function d(r,s){if(Array.isArray(r))return r.map(e=>d(e));let{inputs:i}=r,f=e(r,["inputs"]);if(i){s=[];for(let e of i){let r=t({},e,{__proto__:u.prototype});r.map&&(r.map=t({},r.map,{__proto__:o.prototype})),s.push(r)}}if(f.nodes&&(f.nodes=r.nodes.map(e=>d(e,s))),f.source){let t=f.source,{inputId:r}=t,i=e(t,["inputId"]);f.source=i,null!=r&&(f.source.input=s[r])}if("root"===f.type)return new c(f);if("decl"===f.type)return new n(f);if("rule"===f.type)return new p(f);if("comment"===f.type)return new a(f);if("atrule"===f.type)return new l(f);throw new Error("Unknown node type: "+r.type)}s.exports=d,d.default=d},{"./at-rule":88,"./comment":89,"./declaration":92,"./input":95,"./previous-map":104,"./root":107,"./rule":108}],95:[function(e,r,s){let{SourceMapConsumer:i,SourceMapGenerator:n}=e("source-map-js"),{fileURLToPath:o,pathToFileURL:a}=e("url"),{resolve:l,isAbsolute:u}=e("path"),{nanoid:c}=e("nanoid/non-secure"),p=e("./terminal-highlight"),d=e("./css-syntax-error"),f=e("./previous-map"),h=Symbol("fromOffsetCache"),m=Boolean(i&&n),g=Boolean(l&&u);class y{constructor(e,t={}){if(null===e||void 0===e||"object"==typeof e&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),"\ufeff"===this.css[0]||"￾"===this.css[0]?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,t.from&&(!g||/^\w+:\/\//.test(t.from)||u(t.from)?this.file=t.from:this.file=l(t.from)),g&&m){let e=new f(this.css,t);if(e.text){this.map=e;let t=e.consumer().file;!this.file&&t&&(this.file=this.mapResolve(t))}}this.file||(this.id=""),this.map&&(this.map.file=this.from)}fromOffset(e){let t,r;if(this[h])r=this[h];else{let e=this.css.split("\n");r=new Array(e.length);let t=0;for(let s=0,i=e.length;s=(t=r[r.length-1]))s=r.length-1;else{let t,i=r.length-2;for(;s>1)])i=t-1;else{if(!(e>=r[t+1])){s=t;break}s=t+1}}return{line:s+1,col:e-r[s]+1}}error(e,t,r,s={}){let i,n,o;if(t&&"object"==typeof t){let e=t,s=r;if("number"==typeof t.offset){let s=this.fromOffset(e.offset);t=s.line,r=s.col}else t=e.line,r=e.column;if("number"==typeof s.offset){let e=this.fromOffset(s.offset);n=e.line,o=e.col}else n=s.line,o=s.column}else if(!r){let e=this.fromOffset(t);t=e.line,r=e.col}let l=this.origin(t,r,n,o);return(i=l?new d(e,void 0===l.endLine?l.line:{line:l.line,column:l.column},void 0===l.endLine?l.column:{line:l.endLine,column:l.endColumn},l.source,l.file,s.plugin):new d(e,void 0===n?t:{line:t,column:r},void 0===n?r:{line:n,column:o},this.css,this.file,s.plugin)).input={line:t,column:r,endLine:n,endColumn:o,source:this.css},this.file&&(a&&(i.input.url=a(this.file).toString()),i.input.file=this.file),i}origin(e,t,r,s){if(!this.map)return!1;let i,n,l=this.map.consumer(),c=l.originalPositionFor({line:e,column:t});if(!c.source)return!1;"number"==typeof r&&(i=l.originalPositionFor({line:r,column:s}));let p={url:(n=u(c.source)?a(c.source):new URL(c.source,this.map.consumer().sourceRoot||a(this.map.mapFile))).toString(),line:c.line,column:c.column,endLine:i&&i.line,endColumn:i&&i.column};if("file:"===n.protocol){if(!o)throw new Error("file: protocol is not available in this PostCSS build");p.file=o(n)}let d=l.sourceContentFor(c.source);return d&&(p.source=d),p}mapResolve(e){return/^\w+:\/\//.test(e)?e:l(this.map.consumer().sourceRoot||this.map.root||".",e)}get from(){return this.file||this.id}toJSON(){let e={};for(let t of["hasBOM","css","file","id"])null!=this[t]&&(e[t]=this[t]);return this.map&&(e.map=t({},this.map),e.map.consumerCache&&(e.map.consumerCache=void 0)),e}}r.exports=y,y.default=y,p&&p.registerInput&&p.registerInput(y)},{"./css-syntax-error":91,"./previous-map":104,"./terminal-highlight":4,"nanoid/non-secure":41,path:4,"source-map-js":4,url:4}],96:[function(e,r,s){(function(s){(function(){let{isClean:i,my:n}=e("./symbols"),o=e("./map-generator"),a=e("./stringify"),l=e("./container"),u=e("./document"),c=e("./warn-once"),p=e("./result"),d=e("./parse"),f=e("./root");const h={document:"Document",root:"Root",atrule:"AtRule",rule:"Rule",decl:"Declaration",comment:"Comment"},m={postcssPlugin:!0,prepare:!0,Once:!0,Document:!0,Root:!0,Declaration:!0,Rule:!0,AtRule:!0,Comment:!0,DeclarationExit:!0,RuleExit:!0,AtRuleExit:!0,CommentExit:!0,RootExit:!0,DocumentExit:!0,OnceExit:!0},g={postcssPlugin:!0,prepare:!0,Once:!0},y=0;function w(e){return"object"==typeof e&&"function"==typeof e.then}function b(e){let t=!1,r=h[e.type];return"decl"===e.type?t=e.prop.toLowerCase():"atrule"===e.type&&(t=e.name.toLowerCase()),t&&e.append?[r,r+"-"+t,y,r+"Exit",r+"Exit-"+t]:t?[r,r+"-"+t,r+"Exit",r+"Exit-"+t]:e.append?[r,y,r+"Exit"]:[r,r+"Exit"]}function x(e){let t;return{node:e,events:t="document"===e.type?["Document",y,"DocumentExit"]:"root"===e.type?["Root",y,"RootExit"]:b(e),eventIndex:0,visitors:[],visitorIndex:0,iterator:0}}function v(e){return e[i]=!1,e.nodes&&e.nodes.forEach(e=>v(e)),e}let k={};class S{constructor(e,r,s){let i;if(this.stringified=!1,this.processed=!1,"object"!=typeof r||null===r||"root"!==r.type&&"document"!==r.type)if(r instanceof S||r instanceof p)i=v(r.root),r.map&&(void 0===s.map&&(s.map={}),s.map.inline||(s.map.inline=!1),s.map.prev=r.map);else{let e=d;s.syntax&&(e=s.syntax.parse),s.parser&&(e=s.parser),e.parse&&(e=e.parse);try{i=e(r,s)}catch(e){this.processed=!0,this.error=e}i&&!i[n]&&l.rebuild(i)}else i=v(r);this.result=new p(e,i,s),this.helpers=t({},k,{result:this.result,postcss:k}),this.plugins=this.processor.plugins.map(e=>"object"==typeof e&&e.prepare?t({},e,e.prepare(this.result)):e)}get[Symbol.toStringTag](){return"LazyResult"}get processor(){return this.result.processor}get opts(){return this.result.opts}get css(){return this.stringify().css}get content(){return this.stringify().content}get map(){return this.stringify().map}get root(){return this.sync().root}get messages(){return this.sync().messages}warnings(){return this.sync().warnings()}toString(){return this.css}then(e,t){return"production"!==s.env.NODE_ENV&&("from"in this.opts||c("Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.")),this.async().then(e,t)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins)if(w(this.runOnRoot(e)))throw this.getAsyncError();if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[i];)e[i]=!0,this.walkSync(e);if(this.listeners.OnceExit)if("document"===e.type)for(let t of e.nodes)this.visitSync(this.listeners.OnceExit,t);else this.visitSync(this.listeners.OnceExit,e)}return this.result}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,t=a;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let r=new o(t,this.result.root,this.result.opts).generate();return this.result.css=r[0],this.result.map=r[1],this.result}walkSync(e){e[i]=!0;let t=b(e);for(let r of t)if(r===y)e.nodes&&e.each(e=>{e[i]||this.walkSync(e)});else{let t=this.listeners[r];if(t&&this.visitSync(t,e.toProxy()))return}}visitSync(e,t){for(let[r,s]of e){let e;this.result.lastPlugin=r;try{e=s(t,this.helpers)}catch(e){throw this.handleError(e,t.proxyOf)}if("root"!==t.type&&"document"!==t.type&&!t.parent)return!0;if(w(e))throw this.getAsyncError()}}runOnRoot(e){this.result.lastPlugin=e;try{if("object"==typeof e&&e.Once){if("document"===this.result.root.type){let t=this.result.root.nodes.map(t=>e.Once(t,this.helpers));return w(t[0])?Promise.all(t):t}return e.Once(this.result.root,this.helpers)}if("function"==typeof e)return e(this.result.root,this.result)}catch(e){throw this.handleError(e)}}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,t){let r=this.result.lastPlugin;try{if(t&&t.addToError(e),this.error=e,"CssSyntaxError"!==e.name||e.plugin){if(r.postcssVersion&&"production"!==s.env.NODE_ENV){let e=r.postcssPlugin,t=r.postcssVersion,s=this.result.processor.version,i=t.split("."),n=s.split(".");(i[0]!==n[0]||parseInt(i[1])>parseInt(n[1]))&&console.error("Unknown error from PostCSS plugin. Your current PostCSS version is "+s+", but "+e+" uses "+t+". Perhaps this is the source of the error below.")}}else e.plugin=r.postcssPlugin,e.setMessage()}catch(e){console&&console.error&&console.error(e)}return e}async runAsync(){this.plugin=0;for(let e=0;e0;){let e=this.visitTick(t);if(w(e))try{await e}catch(e){let r=t[t.length-1].node;throw this.handleError(e,r)}}}if(this.listeners.OnceExit)for(let[t,r]of this.listeners.OnceExit){this.result.lastPlugin=t;try{if("document"===e.type){let t=e.nodes.map(e=>r(e,this.helpers));await Promise.all(t)}else await r(e,this.helpers)}catch(e){throw this.handleError(e)}}}return this.processed=!0,this.stringify()}prepareVisitors(){this.listeners={};let e=(e,t,r)=>{this.listeners[t]||(this.listeners[t]=[]),this.listeners[t].push([e,r])};for(let t of this.plugins)if("object"==typeof t)for(let r in t){if(!m[r]&&/^[A-Z]/.test(r))throw new Error(`Unknown event ${r} in ${t.postcssPlugin}. `+`Try to update PostCSS (${this.processor.version} now).`);if(!g[r])if("object"==typeof t[r])for(let s in t[r])e(t,"*"===s?r:r+"-"+s.toLowerCase(),t[r][s]);else"function"==typeof t[r]&&e(t,r,t[r])}this.hasListener=Object.keys(this.listeners).length>0}visitTick(e){let t=e[e.length-1],{node:r,visitors:s}=t;if("root"!==r.type&&"document"!==r.type&&!r.parent)return void e.pop();if(s.length>0&&t.visitorIndex{k=e}),r.exports=S,S.default=S,f.registerLazyResult(S),u.registerLazyResult(S)}).call(this)}).call(this,e("_process"))},{"./container":90,"./document":93,"./map-generator":98,"./parse":101,"./result":106,"./root":107,"./stringify":110,"./symbols":111,"./warn-once":113,_process:115}],97:[(e,t,r)=>{let s={split(e,t,r){let s=[],i="",n=!1,o=0,a=!1,l=!1;for(let r of e)l?l=!1:"\\"===r?l=!0:a?r===a&&(a=!1):'"'===r||"'"===r?a=r:"("===r?o+=1:")"===r?o>0&&(o-=1):0===o&&t.includes(r)&&(n=!0),n?(""!==i&&s.push(i.trim()),i="",n=!1):i+=r;return(r||""!==i)&&s.push(i.trim()),s},space:e=>s.split(e,[" ","\n","\t"]),comma:e=>s.split(e,[","],!0)};t.exports=s,s.default=s},{}],98:[function(e,t,r){(function(r){(function(){let{SourceMapConsumer:s,SourceMapGenerator:i}=e("source-map-js"),{dirname:n,resolve:o,relative:a,sep:l}=e("path"),{pathToFileURL:u}=e("url"),c=e("./input"),p=Boolean(s&&i),d=Boolean(n&&o&&a&&l);t.exports=class{constructor(e,t,r,s){this.stringify=e,this.mapOpts=r.map||{},this.root=t,this.opts=r,this.css=s}isMap(){return void 0!==this.opts.map?!!this.opts.map:this.previous().length>0}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(e=>{if(e.source&&e.source.input.map){let t=e.source.input.map;this.previousMaps.includes(t)||this.previousMaps.push(t)}});else{let e=new c(this.css,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}isInline(){if(void 0!==this.mapOpts.inline)return this.mapOpts.inline;let e=this.mapOpts.annotation;return(void 0===e||!0===e)&&(!this.previous().length||this.previous().some(e=>e.inline))}isSourcesContent(){return void 0!==this.mapOpts.sourcesContent?this.mapOpts.sourcesContent:!this.previous().length||this.previous().some(e=>e.withContent())}clearAnnotation(){let e;if(!1!==this.mapOpts.annotation)if(this.root)for(let t=this.root.nodes.length-1;t>=0;t--)"comment"===(e=this.root.nodes[t]).type&&0===e.text.indexOf("# sourceMappingURL=")&&this.root.removeChild(t);else this.css&&(this.css=this.css.replace(/(\n)?\/\*#[\S\s]*?\*\/$/gm,""))}setSourcesContent(){let e={};if(this.root)this.root.walk(t=>{if(t.source){let r=t.source.input.from;r&&!e[r]&&(e[r]=!0,this.map.setSourceContent(this.toUrl(this.path(r)),t.source.input.css))}});else if(this.css){let e=this.opts.from?this.toUrl(this.path(this.opts.from)):"";this.map.setSourceContent(e,this.css)}}applyPrevMaps(){for(let e of this.previous()){let t,r=this.toUrl(this.path(e.file)),i=e.root||n(e.file);!1===this.mapOpts.sourcesContent?(t=new s(e.text)).sourcesContent&&(t.sourcesContent=t.sourcesContent.map(()=>null)):t=e.consumer(),this.map.applySourceMap(t,r,this.toUrl(this.path(i)))}}isAnnotation(){return!!this.isInline()||(void 0!==this.mapOpts.annotation?this.mapOpts.annotation:!this.previous().length||this.previous().some(e=>e.annotation))}toBase64(e){return r?r.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))}addAnnotation(){let e;e=this.isInline()?"data:application/json;base64,"+this.toBase64(this.map.toString()):"string"==typeof this.mapOpts.annotation?this.mapOpts.annotation:"function"==typeof this.mapOpts.annotation?this.mapOpts.annotation(this.opts.to,this.root):this.outputFile()+".map";let t="\n";this.css.includes("\r\n")&&(t="\r\n"),this.css+=t+"/*# sourceMappingURL="+e+" */"}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}generateMap(){if(this.root)this.generateString();else if(1===this.previous().length){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=i.fromSourceMap(e)}else this.map=new i({file:this.outputFile()}),this.map.addMapping({source:this.opts.from?this.toUrl(this.path(this.opts.from)):"",generated:{line:1,column:0},original:{line:1,column:0}});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}path(e){if(0===e.indexOf("<"))return e;if(/^\w+:\/\//.test(e))return e;if(this.mapOpts.absolute)return e;let t=this.opts.to?n(this.opts.to):".";return"string"==typeof this.mapOpts.annotation&&(t=n(o(t,this.mapOpts.annotation))),a(t,e)}toUrl(e){return"\\"===l&&(e=e.replace(/\\/g,"/")),encodeURI(e).replace(/[#?]/g,encodeURIComponent)}sourcePath(e){if(this.mapOpts.from)return this.toUrl(this.mapOpts.from);if(this.mapOpts.absolute){if(u)return u(e.source.input.from).toString();throw new Error("`map.absolute` option is not available in this PostCSS build")}return this.toUrl(this.path(e.source.input.from))}generateString(){this.css="",this.map=new i({file:this.outputFile()});let e,t,r=1,s=1,n="",o={source:"",generated:{line:0,column:0},original:{line:0,column:0}};this.stringify(this.root,(i,a,l)=>{if(this.css+=i,a&&"end"!==l&&(o.generated.line=r,o.generated.column=s-1,a.source&&a.source.start?(o.source=this.sourcePath(a),o.original.line=a.source.start.line,o.original.column=a.source.start.column-1,this.map.addMapping(o)):(o.source=n,o.original.line=1,o.original.column=0,this.map.addMapping(o))),(e=i.match(/\n/g))?(r+=e.length,t=i.lastIndexOf("\n"),s=i.length-t):s+=i.length,a&&"start"!==l){let e=a.parent||{raws:{}};("decl"!==a.type||a!==e.last||e.raws.semicolon)&&(a.source&&a.source.end?(o.source=this.sourcePath(a),o.original.line=a.source.end.line,o.original.column=a.source.end.column-1,o.generated.line=r,o.generated.column=s-2,this.map.addMapping(o)):(o.source=n,o.original.line=1,o.original.column=0,o.generated.line=r,o.generated.column=s-1,this.map.addMapping(o)))}})}generate(){if(this.clearAnnotation(),d&&p&&this.isMap())return this.generateMap();{let e="";return this.stringify(this.root,t=>{e+=t}),[e]}}}}).call(this)}).call(this,e("buffer").Buffer)},{"./input":95,buffer:6,path:4,"source-map-js":4,url:4}],99:[function(e,t,r){(function(r){(function(){let s=e("./map-generator"),i=e("./stringify"),n=e("./warn-once"),o=e("./parse");const a=e("./result");class l{constructor(e,t,r){t=t.toString(),this.stringified=!1,this._processor=e,this._css=t,this._opts=r,this._map=void 0;let n=i;this.result=new a(this._processor,void 0,this._opts),this.result.css=t;let o=this;Object.defineProperty(this.result,"root",{get:()=>o.root});let l=new s(n,void 0,this._opts,t);if(l.isMap()){let[e,t]=l.generate();e&&(this.result.css=e),t&&(this.result.map=t)}}get[Symbol.toStringTag](){return"NoWorkResult"}get processor(){return this.result.processor}get opts(){return this.result.opts}get css(){return this.result.css}get content(){return this.result.css}get map(){return this.result.map}get root(){if(this._root)return this._root;let e,t=o;try{e=t(this._css,this._opts)}catch(e){this.error=e}return this._root=e,e}get messages(){return[]}warnings(){return[]}toString(){return this._css}then(e,t){return"production"!==r.env.NODE_ENV&&("from"in this._opts||n("Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.")),this.async().then(e,t)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}sync(){if(this.error)throw this.error;return this.result}}t.exports=l,l.default=l}).call(this)}).call(this,e("_process"))},{"./map-generator":98,"./parse":101,"./result":106,"./stringify":110,"./warn-once":113,_process:115}],100:[function(e,t,r){let{isClean:s,my:i}=e("./symbols"),n=e("./css-syntax-error"),o=e("./stringifier"),a=e("./stringify");class l{constructor(e={}){this.raws={},this[s]=!1,this[i]=!0;for(let t in e)if("nodes"===t){this.nodes=[];for(let r of e[t])"function"==typeof r.clone?this.append(r.clone()):this.append(r)}else this[t]=e[t]}error(e,t={}){if(this.source){let{start:r,end:s}=this.rangeBy(t);return this.source.input.error(e,{line:r.line,column:r.column},{line:s.line,column:s.column},t)}return new n(e)}warn(e,t,r){let s={node:this};for(let e in r)s[e]=r[e];return e.warn(t,s)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}toString(e=a){e.stringify&&(e=e.stringify);let t="";return e(this,e=>{t+=e}),t}assign(e={}){for(let t in e)this[t]=e[t];return this}clone(e={}){let t=function e(t,r){let s=new t.constructor;for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i))continue;if("proxyCache"===i)continue;let n=t[i],o=typeof n;"parent"===i&&"object"===o?r&&(s[i]=r):"source"===i?s[i]=n:Array.isArray(n)?s[i]=n.map(t=>e(t,s)):("object"===o&&null!==n&&(n=e(n)),s[i]=n)}return s}(this);for(let r in e)t[r]=e[r];return t}cloneBefore(e={}){let t=this.clone(e);return this.parent.insertBefore(this,t),t}cloneAfter(e={}){let t=this.clone(e);return this.parent.insertAfter(this,t),t}replaceWith(...e){if(this.parent){let t=this,r=!1;for(let s of e)s===this?r=!0:r?(this.parent.insertAfter(t,s),t=s):this.parent.insertBefore(t,s);r||this.remove()}return this}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}before(e){return this.parent.insertBefore(this,e),this}after(e){return this.parent.insertAfter(this,e),this}root(){let e=this;for(;e.parent&&"document"!==e.parent.type;)e=e.parent;return e}raw(e,t){return(new o).raw(this,e,t)}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}toJSON(e,t){let r={},s=null==t;t=t||new Map;let i=0;for(let e in this){if(!Object.prototype.hasOwnProperty.call(this,e))continue;if("parent"===e||"proxyCache"===e)continue;let s=this[e];if(Array.isArray(s))r[e]=s.map(e=>"object"==typeof e&&e.toJSON?e.toJSON(null,t):e);else if("object"==typeof s&&s.toJSON)r[e]=s.toJSON(null,t);else if("source"===e){let n=t.get(s.input);null==n&&(n=i,t.set(s.input,i),i++),r[e]={inputId:n,start:s.start,end:s.end}}else r[e]=s}return s&&(r.inputs=[...t.keys()].map(e=>e.toJSON())),r}positionInside(e){let t=this.toString(),r=this.source.start.column,s=this.source.start.line;for(let i=0;ie[t]===r||(e[t]=r,"prop"!==t&&"value"!==t&&"name"!==t&&"params"!==t&&"important"!==t&&"text"!==t||e.markDirty(),!0),get:(e,t)=>"proxyOf"===t?e:"root"===t?()=>e.root().toProxy():e[t]}}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\n\s{4}at /.test(e.stack)){let t=this.source;e.stack=e.stack.replace(/\n\s{4}at /,`$&${t.input.from}:${t.start.line}:${t.start.column}$&`)}return e}markDirty(){if(this[s]){this[s]=!1;let e=this;for(;e=e.parent;)e[s]=!1}}get proxyOf(){return this}}t.exports=l,l.default=l},{"./css-syntax-error":91,"./stringifier":109,"./stringify":110,"./symbols":111}],101:[function(e,t,r){(function(r){(()=>{let s=e("./container"),i=e("./parser"),n=e("./input");function o(e,t){let s=new n(e,t),o=new i(s);try{o.parse()}catch(e){throw"production"!==r.env.NODE_ENV&&"CssSyntaxError"===e.name&&t&&t.from&&(/\.scss$/i.test(t.from)?e.message+="\nYou tried to parse SCSS with the standard CSS parser; try again with the postcss-scss parser":/\.sass/i.test(t.from)?e.message+="\nYou tried to parse Sass with the standard CSS parser; try again with the postcss-sass parser":/\.less$/i.test(t.from)&&(e.message+="\nYou tried to parse Less with the standard CSS parser; try again with the postcss-less parser")),e}return o.root}t.exports=o,o.default=o,s.registerParse(o)}).call(this)}).call(this,e("_process"))},{"./container":90,"./input":95,"./parser":102,_process:115}],102:[function(e,t,r){let s=e("./declaration"),i=e("./tokenize"),n=e("./comment"),o=e("./at-rule"),a=e("./root"),l=e("./rule");t.exports=class{constructor(e){this.input=e,this.root=new a,this.current=this.root,this.spaces="",this.semicolon=!1,this.customProperty=!1,this.createTokenizer(),this.root.source={input:e,start:{offset:0,line:1,column:1}}}createTokenizer(){this.tokenizer=i(this.input)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch((e=this.tokenizer.nextToken())[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e)}this.endFile()}comment(e){let t=new n;this.init(t,e[2]),t.source.end=this.getPosition(e[3]||e[2]);let r=e[1].slice(2,-2);if(/^\s*$/.test(r))t.text="",t.raws.left=r,t.raws.right="";else{let e=r.match(/^(\s*)([^]*\S)(\s*)$/);t.text=e[2],t.raws.left=e[1],t.raws.right=e[3]}}emptyRule(e){let t=new l;this.init(t,e[2]),t.selector="",t.raws.between="",this.current=t}other(e){let t=!1,r=null,s=!1,i=null,n=[],o=e[1].startsWith("--"),a=[],l=e;for(;l;){if(r=l[0],a.push(l),"("===r||"["===r)i||(i=l),n.push("("===r?")":"]");else if(o&&s&&"{"===r)i||(i=l),n.push("}");else if(0===n.length){if(";"===r){if(s)return void this.decl(a,o);break}if("{"===r)return void this.rule(a);if("}"===r){this.tokenizer.back(a.pop()),t=!0;break}":"===r&&(s=!0)}else r===n[n.length-1]&&(n.pop(),0===n.length&&(i=null));l=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),n.length>0&&this.unclosedBracket(i),t&&s){for(;a.length&&("space"===(l=a[a.length-1][0])||"comment"===l);)this.tokenizer.back(a.pop());this.decl(a,o)}else this.unknownWord(a)}rule(e){e.pop();let t=new l;this.init(t,e[0][2]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,"selector",e),this.current=t}decl(e,t){let r=new s;this.init(r,e[0][2]);let i,n=e[e.length-1];for(";"===n[0]&&(this.semicolon=!0,e.pop()),r.source.end=this.getPosition(n[3]||n[2]);"word"!==e[0][0];)1===e.length&&this.unknownWord(e),r.raws.before+=e.shift()[1];for(r.source.start=this.getPosition(e[0][2]),r.prop="";e.length;){let t=e[0][0];if(":"===t||"space"===t||"comment"===t)break;r.prop+=e.shift()[1]}for(r.raws.between="";e.length;){if(":"===(i=e.shift())[0]){r.raws.between+=i[1];break}"word"===i[0]&&/\w/.test(i[1])&&this.unknownWord([i]),r.raws.between+=i[1]}"_"!==r.prop[0]&&"*"!==r.prop[0]||(r.raws.before+=r.prop[0],r.prop=r.prop.slice(1));let o=this.spacesAndCommentsFromStart(e);this.precheckMissedSemicolon(e);for(let t=e.length-1;t>=0;t--){if("!important"===(i=e[t])[1].toLowerCase()){r.important=!0;let s=this.stringFrom(e,t);" !important"!==(s=this.spacesFromEnd(e)+s)&&(r.raws.important=s);break}if("important"===i[1].toLowerCase()){let s=e.slice(0),i="";for(let e=t;e>0;e--){let t=s[e][0];if(0===i.trim().indexOf("!")&&"space"!==t)break;i=s.pop()[1]+i}0===i.trim().indexOf("!")&&(r.important=!0,r.raws.important=i,e=s)}if("space"!==i[0]&&"comment"!==i[0])break}let a=e.some(e=>"space"!==e[0]&&"comment"!==e[0]);this.raw(r,"value",e),a?r.raws.between+=o:r.value=o+r.value,r.value.includes(":")&&!t&&this.checkMissedSemicolon(e)}atrule(e){let t,r,s,i=new o;i.name=e[1].slice(1),""===i.name&&this.unnamedAtrule(i,e),this.init(i,e[2]);let n=!1,a=!1,l=[],u=[];for(;!this.tokenizer.endOfFile();){if("("===(t=(e=this.tokenizer.nextToken())[0])||"["===t?u.push("("===t?")":"]"):"{"===t&&u.length>0?u.push("}"):t===u[u.length-1]&&u.pop(),0===u.length){if(";"===t){i.source.end=this.getPosition(e[2]),this.semicolon=!0;break}if("{"===t){a=!0;break}if("}"===t){if(l.length>0){for(r=l[s=l.length-1];r&&"space"===r[0];)r=l[--s];r&&(i.source.end=this.getPosition(r[3]||r[2]))}this.end(e);break}l.push(e)}else l.push(e);if(this.tokenizer.endOfFile()){n=!0;break}}i.raws.between=this.spacesAndCommentsFromEnd(l),l.length?(i.raws.afterName=this.spacesAndCommentsFromStart(l),this.raw(i,"params",l),n&&(e=l[l.length-1],i.source.end=this.getPosition(e[3]||e[2]),this.spaces=i.raws.between,i.raws.between="")):(i.raws.afterName="",i.params=""),a&&(i.nodes=[],this.current=i)}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let e=this.current.nodes[this.current.nodes.length-1];e&&"rule"===e.type&&!e.raws.ownSemicolon&&(e.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(e){let t=this.input.fromOffset(e);return{offset:e,line:t.line,column:t.col}}init(e,t){this.current.push(e),e.source={start:this.getPosition(t),input:this.input},e.raws.before=this.spaces,this.spaces="","comment"!==e.type&&(this.semicolon=!1)}raw(e,t,r){let s,i,n,o,a=r.length,l="",u=!0,c=/^([#.|])?(\w)+/i;for(let t=0;te+t[1],"");e.raws[t]={value:l,raw:s}}e[t]=l}spacesAndCommentsFromEnd(e){let t,r="";for(;e.length&&("space"===(t=e[e.length-1][0])||"comment"===t);)r=e.pop()[1]+r;return r}spacesAndCommentsFromStart(e){let t,r="";for(;e.length&&("space"===(t=e[0][0])||"comment"===t);)r+=e.shift()[1];return r}spacesFromEnd(e){let t,r="";for(;e.length&&"space"===(t=e[e.length-1][0]);)r=e.pop()[1]+r;return r}stringFrom(e,t){let r="";for(let s=t;s=0&&("space"===(r=e[i])[0]||2!==(s+=1));i--);throw this.input.error("Missed semicolon","word"===r[0]?r[3]+1:r[2])}}},{"./at-rule":88,"./comment":89,"./declaration":92,"./root":107,"./rule":108,"./tokenize":112}],103:[function(e,t,r){(function(r){(()=>{let s=e("./css-syntax-error"),i=e("./declaration"),n=e("./lazy-result"),o=e("./container"),a=e("./processor"),l=e("./stringify"),u=e("./fromJSON"),c=e("./document"),p=e("./warning"),d=e("./comment"),f=e("./at-rule"),h=e("./result.js"),m=e("./input"),g=e("./parse"),y=e("./list"),w=e("./rule"),b=e("./root"),x=e("./node");function v(...e){return 1===e.length&&Array.isArray(e[0])&&(e=e[0]),new a(e)}v.plugin=((e,t)=>{function s(...r){let s=t(...r);return s.postcssPlugin=e,s.postcssVersion=(new a).version,s}let i;return console&&console.warn&&(console.warn(e+": postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration"),r.env.LANG&&r.env.LANG.startsWith("cn")&&console.warn(e+": 里面 postcss.plugin 被弃用. 迁移指南:\nhttps://www.w3ctech.com/topic/2226")),Object.defineProperty(s,"postcss",{get:()=>(i||(i=s()),i)}),s.process=((e,t,r)=>v([s(r)]).process(e,t)),s}),v.stringify=l,v.parse=g,v.fromJSON=u,v.list=y,v.comment=(e=>new d(e)),v.atRule=(e=>new f(e)),v.decl=(e=>new i(e)),v.rule=(e=>new w(e)),v.root=(e=>new b(e)),v.document=(e=>new c(e)),v.CssSyntaxError=s,v.Declaration=i,v.Container=o,v.Processor=a,v.Document=c,v.Comment=d,v.Warning=p,v.AtRule=f,v.Result=h,v.Input=m,v.Rule=w,v.Root=b,v.Node=x,n.registerPostcss(v),t.exports=v,v.default=v}).call(this)}).call(this,e("_process"))},{"./at-rule":88,"./comment":89,"./container":90,"./css-syntax-error":91,"./declaration":92,"./document":93,"./fromJSON":94,"./input":95,"./lazy-result":96,"./list":97,"./node":100,"./parse":101,"./processor":105,"./result.js":106,"./root":107,"./rule":108,"./stringify":110,"./warning":114,_process:115}],104:[function(e,t,r){(function(r){(function(){let{SourceMapConsumer:s,SourceMapGenerator:i}=e("source-map-js"),{existsSync:n,readFileSync:o}=e("fs"),{dirname:a,join:l}=e("path");class u{constructor(e,t){if(!1===t.map)return;this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");let r=t.map?t.map.prev:void 0,s=this.loadMap(t.from,r);!this.mapFile&&t.from&&(this.mapFile=t.from),this.mapFile&&(this.root=a(this.mapFile)),s&&(this.text=s)}consumer(){return this.consumerCache||(this.consumerCache=new s(this.text)),this.consumerCache}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}startWith(e,t){return!!e&&e.substr(0,t.length)===t}getAnnotationURL(e){return e.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}loadAnnotation(e){let t=e.match(/\/\*\s*# sourceMappingURL=/gm);if(!t)return;let r=e.lastIndexOf(t.pop()),s=e.indexOf("*/",r);r>-1&&s>-1&&(this.annotation=this.getAnnotationURL(e.substring(r,s)))}decodeInline(e){if(/^data:application\/json;charset=utf-?8,/.test(e)||/^data:application\/json,/.test(e))return decodeURIComponent(e.substr(RegExp.lastMatch.length));if(/^data:application\/json;charset=utf-?8;base64,/.test(e)||/^data:application\/json;base64,/.test(e))return t=e.substr(RegExp.lastMatch.length),r?r.from(t,"base64").toString():window.atob(t);var t;let s=e.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+s)}loadFile(e){if(this.root=a(e),n(e))return this.mapFile=e,o(e,"utf-8").toString().trim()}loadMap(e,t){if(!1===t)return!1;if(t){if("string"==typeof t)return t;if("function"!=typeof t){if(t instanceof s)return i.fromSourceMap(t).toString();if(t instanceof i)return t.toString();if(this.isMap(t))return JSON.stringify(t);throw new Error("Unsupported previous source map format: "+t.toString())}{let r=t(e);if(r){let e=this.loadFile(r);if(!e)throw new Error("Unable to load previous source map: "+r.toString());return e}}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let t=this.annotation;return e&&(t=l(a(e),t)),this.loadFile(t)}}}isMap(e){return"object"==typeof e&&("string"==typeof e.mappings||"string"==typeof e._mappings||Array.isArray(e.sections))}}t.exports=u,u.default=u}).call(this)}).call(this,e("buffer").Buffer)},{buffer:6,fs:4,path:4,"source-map-js":4}],105:[function(e,t,r){(function(r){(function(){let s=e("./no-work-result"),i=e("./lazy-result"),n=e("./document"),o=e("./root");class a{constructor(e=[]){this.version="8.4.5",this.plugins=this.normalize(e)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}process(e,t={}){return 0===this.plugins.length&&void 0===t.parser&&void 0===t.stringifier&&void 0===t.syntax?new s(this,e,t):new i(this,e,t)}normalize(e){let t=[];for(let s of e)if(!0===s.postcss?s=s():s.postcss&&(s=s.postcss),"object"==typeof s&&Array.isArray(s.plugins))t=t.concat(s.plugins);else if("object"==typeof s&&s.postcssPlugin)t.push(s);else if("function"==typeof s)t.push(s);else{if("object"!=typeof s||!s.parse&&!s.stringify)throw new Error(s+" is not a PostCSS plugin");if("production"!==r.env.NODE_ENV)throw new Error("PostCSS syntaxes cannot be used as plugins. Instead, please use one of the syntax/parser/stringifier options as outlined in your PostCSS runner documentation.")}return t}}t.exports=a,a.default=a,o.registerProcessor(a),n.registerProcessor(a)}).call(this)}).call(this,e("_process"))},{"./document":93,"./lazy-result":96,"./no-work-result":99,"./root":107,_process:115}],106:[function(e,t,r){let s=e("./warning");class i{constructor(e,t,r){this.processor=e,this.messages=[],this.root=t,this.opts=r,this.css=void 0,this.map=void 0}toString(){return this.css}warn(e,t={}){t.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(t.plugin=this.lastPlugin.postcssPlugin);let r=new s(e,t);return this.messages.push(r),r}warnings(){return this.messages.filter(e=>"warning"===e.type)}get content(){return this.css}}t.exports=i,i.default=i},{"./warning":114}],107:[function(e,t,r){let s,i,n=e("./container");class o extends n{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}removeChild(e,t){let r=this.index(e);return!t&&0===r&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[r].raws.before),super.removeChild(e)}normalize(e,t,r){let s=super.normalize(e);if(t)if("prepend"===r)this.nodes.length>1?t.raws.before=this.nodes[1].raws.before:delete t.raws.before;else if(this.first!==t)for(let e of s)e.raws.before=t.raws.before;return s}toResult(e={}){return new s(new i,this,e).stringify()}}o.registerLazyResult=(e=>{s=e}),o.registerProcessor=(e=>{i=e}),t.exports=o,o.default=o},{"./container":90}],108:[function(e,t,r){let s=e("./container"),i=e("./list");class n extends s{constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return i.comma(this.selector)}set selectors(e){let t=this.selector?this.selector.match(/,\s*/):null,r=t?t[0]:","+this.raw("between","beforeOpen");this.selector=e.join(r)}}t.exports=n,n.default=n,s.registerRule(n)},{"./container":90,"./list":97}],109:[function(e,t,r){const s={colon:": ",indent:" ",beforeDecl:"\n",beforeRule:"\n",beforeOpen:" ",beforeClose:"\n",beforeComment:"\n",after:"\n",emptyBody:"",commentLeft:" ",commentRight:" ",semicolon:!1};class i{constructor(e){this.builder=e}stringify(e,t){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,t)}document(e){this.body(e)}root(e){this.body(e),e.raws.after&&this.builder(e.raws.after)}comment(e){let t=this.raw(e,"left","commentLeft"),r=this.raw(e,"right","commentRight");this.builder("/*"+t+e.text+r+"*/",e)}decl(e,t){let r=this.raw(e,"between","colon"),s=e.prop+r+this.rawValue(e,"value");e.important&&(s+=e.raws.important||" !important"),t&&(s+=";"),this.builder(s,e)}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(e.raws.ownSemicolon,e,"end")}atrule(e,t){let r="@"+e.name,s=e.params?this.rawValue(e,"params"):"";if(void 0!==e.raws.afterName?r+=e.raws.afterName:s&&(r+=" "),e.nodes)this.block(e,r+s);else{let i=(e.raws.between||"")+(t?";":"");this.builder(r+s+i,e)}}body(e){let t=e.nodes.length-1;for(;t>0&&"comment"===e.nodes[t].type;)t-=1;let r=this.raw(e,"semicolon");for(let s=0;s{if(void 0!==(i=e.raws[t]))return!1})}var a;return void 0===i&&(i=s[r]),o.rawCache[r]=i,i}rawSemicolon(e){let t;return e.walk(e=>{if(e.nodes&&e.nodes.length&&"decl"===e.last.type&&void 0!==(t=e.raws.semicolon))return!1}),t}rawEmptyBody(e){let t;return e.walk(e=>{if(e.nodes&&0===e.nodes.length&&void 0!==(t=e.raws.after))return!1}),t}rawIndent(e){if(e.raws.indent)return e.raws.indent;let t;return e.walk(r=>{let s=r.parent;if(s&&s!==e&&s.parent&&s.parent===e&&void 0!==r.raws.before){let e=r.raws.before.split("\n");return t=(t=e[e.length-1]).replace(/\S/g,""),!1}}),t}rawBeforeComment(e,t){let r;return e.walkComments(e=>{if(void 0!==e.raws.before)return(r=e.raws.before).includes("\n")&&(r=r.replace(/[^\n]+$/,"")),!1}),void 0===r?r=this.raw(t,null,"beforeDecl"):r&&(r=r.replace(/\S/g,"")),r}rawBeforeDecl(e,t){let r;return e.walkDecls(e=>{if(void 0!==e.raws.before)return(r=e.raws.before).includes("\n")&&(r=r.replace(/[^\n]+$/,"")),!1}),void 0===r?r=this.raw(t,null,"beforeRule"):r&&(r=r.replace(/\S/g,"")),r}rawBeforeRule(e){let t;return e.walk(r=>{if(r.nodes&&(r.parent!==e||e.first!==r)&&void 0!==r.raws.before)return(t=r.raws.before).includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawBeforeClose(e){let t;return e.walk(e=>{if(e.nodes&&e.nodes.length>0&&void 0!==e.raws.after)return(t=e.raws.after).includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawBeforeOpen(e){let t;return e.walk(e=>{if("decl"!==e.type&&void 0!==(t=e.raws.between))return!1}),t}rawColon(e){let t;return e.walkDecls(e=>{if(void 0!==e.raws.between)return t=e.raws.between.replace(/[^\s:]/g,""),!1}),t}beforeAfter(e,t){let r;r="decl"===e.type?this.raw(e,null,"beforeDecl"):"comment"===e.type?this.raw(e,null,"beforeComment"):"before"===t?this.raw(e,null,"beforeRule"):this.raw(e,null,"beforeClose");let s=e.parent,i=0;for(;s&&"root"!==s.type;)i+=1,s=s.parent;if(r.includes("\n")){let t=this.raw(e,null,"indent");if(t.length)for(let e=0;e{let s=e("./stringifier");function i(e,t){new s(t).stringify(e)}t.exports=i,i.default=i},{"./stringifier":109}],111:[(e,t,r)=>{t.exports.isClean=Symbol("isClean"),t.exports.my=Symbol("my")},{}],112:[(e,t,r)=>{const s="'".charCodeAt(0),i='"'.charCodeAt(0),n="\\".charCodeAt(0),o="/".charCodeAt(0),a="\n".charCodeAt(0),l=" ".charCodeAt(0),u="\f".charCodeAt(0),c="\t".charCodeAt(0),p="\r".charCodeAt(0),d="[".charCodeAt(0),f="]".charCodeAt(0),h="(".charCodeAt(0),m=")".charCodeAt(0),g="{".charCodeAt(0),y="}".charCodeAt(0),w=";".charCodeAt(0),b="*".charCodeAt(0),x=":".charCodeAt(0),v="@".charCodeAt(0),k=/[\t\n\f\r "#'()/;[\\\]{}]/g,S=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,O=/.[\n"'(/\\]/,C=/[\da-f]/i;t.exports=((e,t={})=>{let r,A,E,M,R,N,I,P,j,T,L=e.css.valueOf(),_=t.ignoreErrors,F=L.length,$=0,B=[],D=[];function U(t){throw e.error("Unclosed "+t,$)}return{back(e){D.push(e)},nextToken(e){if(D.length)return D.pop();if($>=F)return;let t=!!e&&e.ignoreUnclosed;switch(r=L.charCodeAt($)){case a:case l:case c:case p:case u:A=$;do{A+=1,r=L.charCodeAt(A)}while(r===l||r===a||r===c||r===p||r===u);T=["space",L.slice($,A)],$=A-1;break;case d:case f:case g:case y:case x:case w:case m:{let e=String.fromCharCode(r);T=[e,e,$];break}case h:if(P=B.length?B.pop()[1]:"",j=L.charCodeAt($+1),"url"===P&&j!==s&&j!==i&&j!==l&&j!==a&&j!==c&&j!==u&&j!==p){A=$;do{if(N=!1,-1===(A=L.indexOf(")",A+1))){if(_||t){A=$;break}U("bracket")}for(I=A;L.charCodeAt(I-1)===n;)I-=1,N=!N}while(N);T=["brackets",L.slice($,A+1),$,A],$=A}else A=L.indexOf(")",$+1),M=L.slice($,A+1),-1===A||O.test(M)?T=["(","(",$]:(T=["brackets",M,$,A],$=A);break;case s:case i:E=r===s?"'":'"',A=$;do{if(N=!1,-1===(A=L.indexOf(E,A+1))){if(_||t){A=$+1;break}U("string")}for(I=A;L.charCodeAt(I-1)===n;)I-=1,N=!N}while(N);T=["string",L.slice($,A+1),$,A],$=A;break;case v:k.lastIndex=$+1,k.test(L),A=0===k.lastIndex?L.length-1:k.lastIndex-2,T=["at-word",L.slice($,A+1),$,A],$=A;break;case n:for(A=$,R=!0;L.charCodeAt(A+1)===n;)A+=1,R=!R;if(r=L.charCodeAt(A+1),R&&r!==o&&r!==l&&r!==a&&r!==c&&r!==p&&r!==u&&(A+=1,C.test(L.charAt(A)))){for(;C.test(L.charAt(A+1));)A+=1;L.charCodeAt(A+1)===l&&(A+=1)}T=["word",L.slice($,A+1),$,A],$=A;break;default:r===o&&L.charCodeAt($+1)===b?(0===(A=L.indexOf("*/",$+2)+1)&&(_||t?A=L.length:U("comment")),T=["comment",L.slice($,A+1),$,A],$=A):(S.lastIndex=$+1,S.test(L),A=0===S.lastIndex?L.length-1:S.lastIndex-2,T=["word",L.slice($,A+1),$,A],B.push(T),$=A)}return $++,T},endOfFile:()=>0===D.length&&$>=F,position:()=>$}})},{}],113:[(e,t,r)=>{let s={};t.exports=(e=>{s[e]||(s[e]=!0,"undefined"!=typeof console&&console.warn&&console.warn(e))})},{}],114:[function(e,t,r){class s{constructor(e,t={}){if(this.type="warning",this.text=e,t.node&&t.node.source){let e=t.node.rangeBy(t);this.line=e.start.line,this.column=e.start.column,this.endLine=e.end.line,this.endColumn=e.end.column}for(let e in t)this[e]=t[e]}toString(){return this.node?this.node.error(this.text,{plugin:this.plugin,index:this.index,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}t.exports=s,s.default=s},{}],115:[function(e,t,r){var s,i,n=t.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function l(e){if(s===setTimeout)return setTimeout(e,0);if((s===o||!s)&&setTimeout)return s=setTimeout,setTimeout(e,0);try{return s(e,0)}catch(t){try{return s.call(null,e,0)}catch(t){return s.call(this,e,0)}}}(()=>{try{s="function"==typeof setTimeout?setTimeout:o}catch(e){s=o}try{i="function"==typeof clearTimeout?clearTimeout:a}catch(e){i=a}})();var u,c=[],p=!1,d=-1;function f(){p&&u&&(p=!1,u.length?c=u.concat(c):d=-1,c.length&&h())}function h(){if(!p){var e=l(f);p=!0;for(var t=c.length;t;){for(u=c,c=[];++d1)for(var r=1;r[]),n.binding=(e=>{throw new Error("process.binding is not supported")}),n.cwd=(()=>"/"),n.chdir=(e=>{throw new Error("process.chdir is not supported")}),n.umask=(()=>0)},{}],116:[function(e,t,r){(function(e){(function(){(s=>{var i="object"==typeof r&&r&&!r.nodeType&&r,n="object"==typeof t&&t&&!t.nodeType&&t,o="object"==typeof e&&e;o.global!==o&&o.window!==o&&o.self!==o||(s=o);var a,l,u=2147483647,c=36,p=1,d=26,f=38,h=700,m=72,g=128,y="-",w=/^xn--/,b=/[^\x20-\x7E]/,x=/[\x2E\u3002\uFF0E\uFF61]/g,v={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},k=c-p,S=Math.floor,O=String.fromCharCode;function C(e){throw new RangeError(v[e])}function A(e,t){for(var r=e.length,s=[];r--;)s[r]=t(e[r]);return s}function E(e,t){var r=e.split("@"),s="";return r.length>1&&(s=r[0]+"@",e=r[1]),s+A((e=e.replace(x,".")).split("."),t).join(".")}function M(e){for(var t,r,s=[],i=0,n=e.length;i=55296&&t<=56319&&i{var t="";return e>65535&&(t+=O((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+O(e)}).join("")}function N(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function I(e,t,r){var s=0;for(e=r?S(e/h):e>>1,e+=S(e/t);e>k*d>>1;s+=c)e=S(e/k);return S(s+(k+1)*e/(e+f))}function P(e){var t,r,s,i,n,o,a,l,f,h,w,b=[],x=e.length,v=0,k=g,O=m;for((r=e.lastIndexOf(y))<0&&(r=0),s=0;s=128&&C("not-basic"),b.push(e.charCodeAt(s));for(i=r>0?r+1:0;i=x&&C("invalid-input"),((l=(w=e.charCodeAt(i++))-48<10?w-22:w-65<26?w-65:w-97<26?w-97:c)>=c||l>S((u-v)/o))&&C("overflow"),v+=l*o,!(l<(f=a<=O?p:a>=O+d?d:a-O));a+=c)o>S(u/(h=c-f))&&C("overflow"),o*=h;O=I(v-n,t=b.length+1,0==n),S(v/t)>u-k&&C("overflow"),k+=S(v/t),v%=t,b.splice(v++,0,k)}return R(b)}function j(e){var t,r,s,i,n,o,a,l,f,h,w,b,x,v,k,A=[];for(b=(e=M(e)).length,t=g,r=0,n=m,o=0;o=t&&wS((u-r)/(x=s+1))&&C("overflow"),r+=(a-t)*x,t=a,o=0;ou&&C("overflow"),w==t){for(l=r,f=c;!(l<(h=f<=n?p:f>=n+d?d:f-n));f+=c)k=l-h,v=c-h,A.push(O(N(h+k%v,0))),l=S(k/v);A.push(O(N(l,0))),n=I(r,x,s==i),r=0,++s}++r,++t}return A.join("")}if(a={version:"1.4.1",ucs2:{decode:M,encode:R},decode:P,encode:j,toASCII:e=>E(e,e=>b.test(e)?"xn--"+j(e):e),toUnicode:e=>E(e,e=>w.test(e)?P(e.slice(4).toLowerCase()):e)},i&&n)if(t.exports==i)n.exports=a;else for(l in a)a.hasOwnProperty(l)&&(i[l]=a[l]);else s.punycode=a})(this)}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],117:[(e,t,r)=>{t.exports=((e,t,r,i)=>{t=t||"&",r=r||"=";var n={};if("string"!=typeof e||0===e.length)return n;var o=/\+/g;e=e.split(t);var a=1e3;i&&"number"==typeof i.maxKeys&&(a=i.maxKeys);var l,u,c=e.length;a>0&&c>a&&(c=a);for(var p=0;p=0?(d=g.substr(0,y),f=g.substr(y+1)):(d=g,f=""),h=decodeURIComponent(d),m=decodeURIComponent(f),l=n,u=h,Object.prototype.hasOwnProperty.call(l,u)?s(n[h])?n[h].push(m):n[h]=[n[h],m]:n[h]=m}return n});var s=Array.isArray||(e=>"[object Array]"===Object.prototype.toString.call(e))},{}],118:[(e,t,r)=>{var s=e=>{switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};t.exports=((e,t,r,a)=>(t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?n(o(e),o=>{var a=encodeURIComponent(s(o))+r;return i(e[o])?n(e[o],e=>a+encodeURIComponent(s(e))).join(t):a+encodeURIComponent(s(e[o]))}).join(t):a?encodeURIComponent(s(a))+r+encodeURIComponent(s(e)):""));var i=Array.isArray||(e=>"[object Array]"===Object.prototype.toString.call(e));function n(e,t){if(e.map)return e.map(t);for(var r=[],s=0;s{var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.push(r);return t})},{}],119:[(e,t,r)=>{r.decode=r.parse=e("./decode"),r.encode=r.stringify=e("./encode")},{"./decode":117,"./encode":118}],120:[function(e,t,r){var s,i;s="object"==typeof r&&void 0!==t?r:this.SPECIFICITY={},i=(e=>{var t,r,s=e,i={a:0,b:0,c:0},n=[];return t=((t,r)=>{var o,a,l,u,c,p;if(t.test(s))for(a=0,l=(o=s.match(t)).length;a{var t,r,i,n;if(e.test(s))for(r=0,i=(t=s.match(e)).length;r{var e,t,r,i,n=/{[^]*/gm;if(n.test(s))for(t=0,r=(e=s.match(n)).length;t~\.\[:\)]+)/g,"a"),t(/(\.[^\s\+>~\.\[:\)]+)/g,"b"),t(/(::[^\s\+>~\.\[:]+|:first-line|:first-letter|:before|:after)/gi,"c"),t(/(:(?!not|global|local)[\w-]+\([^\)]*\))/gi,"b"),t(/(:(?!not|global|local)[^\s\+>~\.\[:]+)/g,"b"),s=(s=(s=(s=(s=(s=s.replace(/[\*\s\+>~]/g," ")).replace(/[#\.]/g," ")).replace(/:not/g," ")).replace(/:local/g," ")).replace(/:global/g," ")).replace(/[\(\)]/g," "),t(/([^\s\+>~\.\[:]+)/g,"c"),n.sort((e,t)=>e.index-t.index),{selector:e,specificity:"0,"+i.a.toString()+","+i.b.toString()+","+i.c.toString(),specificityArray:[0,i.a,i.b,i.c],parts:n}}),s.calculate=(e=>{var t,r,s,n,o=[];for(s=0,n=(t=e.split(",")).length;s0&&o.push(i(r));return o}),s.compare=((e,t)=>{var r,s,n;if("string"==typeof e){if(-1!==e.indexOf(","))throw"Invalid CSS selector";r=i(e).specificityArray}else{if(!Array.isArray(e))throw"Invalid CSS selector or specificity array";if(4!==e.filter(e=>"number"==typeof e).length)throw"Invalid specificity array";r=e}if("string"==typeof t){if(-1!==t.indexOf(","))throw"Invalid CSS selector";s=i(t).specificityArray}else{if(!Array.isArray(t))throw"Invalid CSS selector or specificity array";if(4!==t.filter(e=>"number"==typeof e).length)throw"Invalid specificity array";s=t}for(n=0;n<4;n+=1){if(r[n]s[n])return 1}return 0}),Object.defineProperty(s,"__esModule",{value:!0})},{}],121:[(e,t,r)=>{var s="skip",i="only";t.exports=((e,t)=>{var r=e.source,n=e.target,o=!e.comments||e.comments===s,a=!e.strings||e.strings===s,l=!e.functionNames||e.functionNames===s,u=e.functionArguments===s,c=e.parentheticals===s,p=!1;Object.keys(e).forEach(t=>{if(e[t]===i){if(p)throw new Error('Only one syntax feature option can be the "only" one to check');p=!0}});var d,f=e.comments===i,h=e.strings===i,m=e.functionNames===i,g=e.functionArguments===i,y=e.parentheticals===i,w=!1,b=!1,x=!1,v=!1,k=!1,S=0,O=0,C=Array.isArray(n),A=(()=>C?e=>{for(var t=0,r=n.length;t{const i=e("./utils/isStandardSyntaxComment"),n="stylelint-",o=`${n}disable`,a=`${n}enable`,l=`${n}disable-line`,u=`${n}disable-next-line`,c="all";function p(e,t,r,s,i,n){return{comment:e,start:t,end:i||void 0,strictStart:r,strictEnd:"boolean"==typeof n?n:void 0,description:s}}r.exports=((e,r)=>{r.stylelint=r.stylelint||{disabledRanges:{},ruleSeverities:{},customMessages:{}};const s={all:[]};let d;return r.stylelint.disabledRanges=s,e.walkComments(e=>{if(d)return void(d===e&&(d=null));const t=e.next();if(i(e)||!f(e)||!t||"comment"!==t.type||!e.text.includes("--")&&!t.text.startsWith("--"))return void m(e);let r=e.source&&e.source.end&&e.source.end.line||0;const s=e.clone();let n=t;for(;!i(n)&&!f(n);){const e=n.source&&n.source.end&&n.source.end.line||0;if(r+1!==e)break;s.text+=`\n${n.text}`,s.source&&n.source&&(s.source.end=n.source.end),d=n;const t=n.next();if(!t||"comment"!==t.type)break;n=t,r=e}m(s)}),r;function f(e){return e.text.startsWith(o)||e.text.startsWith(a)}function h(e,t,r,i){if(x(c))throw e.error("All rules have already been disabled",{plugin:"stylelint"});if(r===c)for(const r of Object.keys(s)){if(x(r))continue;const s=r===c;w(e,t,r,s,i),b(t,r,s)}else{if(x(r))throw e.error(`"${r}" has already been disabled`,{plugin:"stylelint"});w(e,t,r,!0,i),b(t,r,!0)}}function m(e){const i=e.text;if(0!==i.indexOf(n))return r;i.startsWith(l)?(e=>{if(e.source&&e.source.start){const t=e.source.start.line,r=y(e.text);for(const s of g(l,e.text))h(e,t,s,r)}})(e):i.startsWith(u)?(e=>{if(e.source&&e.source.end){const t=e.source.end.line,r=y(e.text);for(const s of g(u,e.text))h(e,t+1,s,r)}})(e):i.startsWith(o)?(e=>{const t=y(e.text);for(const r of g(o,e.text)){const i=r===c;if(x(r))throw e.error(i?"All rules have already been disabled":`"${r}" has already been disabled`,{plugin:"stylelint"});if(e.source&&e.source.start){const n=e.source.start.line;if(i)for(const r of Object.keys(s))w(e,n,r,r===c,t);else w(e,n,r,!0,t)}}})(e):i.startsWith(a)&&(e=>{for(const r of g(a,e.text)){const i=e.source&&e.source.end&&e.source.end.line;if(r!==c)if(x(c)&&void 0===s[r]){if(s[r]){const e=s[c],i=e?e[e.length-1]:null;i&&s[r].push(t({},i))}else s[r]=s.all.map(({start:t,end:r,description:s})=>p(e,t,!1,s,r,!1));b(i,r,!0)}else{if(!x(r))throw e.error(`"${r}" has not been disabled`,{plugin:"stylelint"});b(i,r,!0)}else{if(Object.values(s).every(e=>0===e.length||"number"==typeof e[e.length-1].end))throw e.error("No rules have been disabled",{plugin:"stylelint"});for(const[e,t]of Object.entries(s)){const r=t[t.length-1];r&&r.end||b(i,e,e===c)}}}})(e)}function g(e,t){const r=t.slice(e.length).split(/\s-{2,}\s/u)[0].trim().split(",").filter(Boolean).map(e=>e.trim());return 0===r.length?[c]:r}function y(e){const t=e.indexOf("--");if(-1!==t)return e.slice(t+2).trim()}function w(e,t,r,i,n){const o=p(e,t,i,n);var a;s[a=r]||(s[a]=s.all.map(({comment:e,start:t,end:r,description:s})=>p(e,t,!1,s,r,!1))),s[r].push(o)}function b(e,t,r){const i=s[t],n=i?i[i.length-1]:null;n&&(n.end=e,n.strictEnd=r)}function x(e){const t=s[e];if(!t)return!1;const r=t[t.length-1];return!!r&&!r.end}})},{"./utils/isStandardSyntaxComment":411}],123:[(e,t,r)=>{t.exports=((e,t)=>{let r,s;if(e&&e.root){e.root.source&&!(s=e.root.source.input.file)&&"id"in e.root.source.input&&(s=e.root.source.input.id);const t=e.messages.filter(e=>"deprecation"===e.stylelintType).map(e=>({text:e.text,reference:e.stylelintReference})),i=e.messages.filter(e=>"invalidOption"===e.stylelintType).map(e=>({text:e.text})),n=e.messages.filter(e=>"parseError"===e.stylelintType);e.messages=e.messages.filter(e=>"deprecation"!==e.stylelintType&&"invalidOption"!==e.stylelintType&&"parseError"!==e.stylelintType),r={source:s,deprecations:t,invalidOptionWarnings:i,parseErrors:n,errored:e.stylelint.stylelintError,warnings:e.messages.map(e=>({line:e.line,column:e.column,rule:e.rule,severity:e.severity,text:e.text})),ignored:e.stylelint.ignored,_postcssResult:e}}else{if(!t)throw new Error("createPartialStylelintResult must be called with either postcssResult or CssSyntaxError");if("CssSyntaxError"!==t.name)throw t;r={source:t.file||"",deprecations:[],invalidOptionWarnings:[],parseErrors:[],errored:!0,warnings:[{line:t.line,column:t.column,rule:t.name,severity:"error",text:`${t.reason} (${t.name})`}]}}return r})},{}],124:[(e,t,r)=>{t.exports=((e,t)=>({ruleName:e,rule:t}))},{}],125:[function(e,r,s){(function(s){(()=>{const i=e("./createStylelintResult"),n=e("./getPostcssResult"),o=e("./lintSource");"test"===s.env.NODE_ENV&&s.cwd(),r.exports=((r={})=>{const a={_options:t({},r,{cwd:r.cwd||s.cwd()})};return a._specifiedConfigCache=new Map,a._postcssResultCache=new Map,a._createStylelintResult=i.bind(null,a),a._getPostcssResult=n.bind(null,a),a._lintSource=o.bind(null,a),a.getConfigForFile=(async t=>({config:e("./normalizeAllRuleSettings")(t._options.config)})).bind(null,a),a.isPathIgnored=(async()=>!1).bind(null,a),a})}).call(this)}).call(this,e("_process"))},{"./createStylelintResult":126,"./getPostcssResult":133,"./lintSource":136,"./normalizeAllRuleSettings":138,_process:115}],126:[(e,t,r)=>{const s=e("./createPartialStylelintResult");t.exports=(async(e,t,r,i)=>{let n=s(t,i);const o=await e.getConfigForFile(r,r),a=null===o?{}:o.config,l=n.source||i&&i.file;if(a.resultProcessors)for(const e of a.resultProcessors){const t=e(n,l);t&&(n=t)}return n})},{"./createPartialStylelintResult":123}],127:[(e,t,r)=>{const s=e("./utils/optionsMatches"),i=e("./validateDisableSettings");t.exports=(e=>{for(const t of e){const e=i(t._postcssResult,"reportDescriptionlessDisables");if(!e)continue;const[r,n,o]=e,a=o.disabledRanges,l=new Set;for(const e of Object.keys(a))for(const i of a[e])i.description||l.has(i.comment)||(r!==s(n,"except",e)?(l.add(i.comment),i.comment.source&&i.comment.source.start&&t.warnings.push({text:`Disable for "${e}" is missing a description`,rule:"--report-descriptionless-disables",line:i.comment.source.start.line,column:i.comment.source.start.column,severity:n.severity})):r||"all"!==e||l.add(i.comment))}})},{"./utils/optionsMatches":429,"./validateDisableSettings":446}],128:[(e,t,r)=>{t.exports=(e=>e.flatMap(e=>e.warnings.map(t=>`${e.source}: `+`line ${t.line}, `+`col ${t.column}, `+`${t.severity} - `+`${t.text}`)).join("\n"))},{}],129:[(e,t,r)=>{const s=e("import-lazy"),i={compact:s(()=>e("./compactFormatter"))("compactFormatter"),json:s(()=>e("./jsonFormatter"))("jsonFormatter"),string(){},tap:s(()=>e("./tapFormatter"))("tapFormatter"),unix:s(()=>e("./unixFormatter"))("unixFormatter"),verbose(){}};t.exports=i},{"./compactFormatter":128,"./jsonFormatter":130,"./tapFormatter":131,"./unixFormatter":132,"import-lazy":31}],130:[(e,t,r)=>{t.exports=(e=>{const t=e.map(e=>Object.entries(e).filter(([e])=>!e.startsWith("_")).reduce((e,[t,r])=>(e[t]=r,e),{}));return JSON.stringify(t)})},{}],131:[(e,t,r)=>{t.exports=(e=>{const t=[`TAP version 13\n1..${e.length}`];for(const[r,s]of e.entries())if(t.push(`${s.errored?"not ok":"ok"} ${r+1} - ${s.ignored?"ignored ":""}${s.source}`),s.warnings.length>0){t.push("---","messages:");for(const e of s.warnings)t.push(` - message: "${e.text}"`,` severity: ${e.severity}`," data:",` line: ${e.line}`,` column: ${e.column}`,` ruleId: ${e.rule}`);t.push("---")}return t.push(""),t.join("\n")})},{}],132:[(e,t,r)=>{t.exports=(e=>{const t=e.flatMap(e=>e.warnings.map(t=>`${e.source}:${t.line}:${t.column}: `+`${t.text} [${t.severity}]\n`)),r=t.length;let s=t.join("");return r>0&&(s+=`\n${r} problem${1!==r?"s":""}\n`),s})},{}],133:[(e,r,s)=>{const i=e("postcss/lib/lazy-result").default,n=e("path"),{default:o}=e("postcss"),a=o();r.exports=(async(r,s={})=>{const u=s.filePath?r._postcssResultCache.get(s.filePath):void 0;if(u)return u;if(r._options.syntax){let e='The "syntax" option is no longer available. ';return e+="css"===r._options.syntax?'You can remove the "--syntax" CLI flag as stylelint will now parse files as CSS by default':'You should install an appropriate syntax, e.g. postcss-scss, and use the "customSyntax" option',Promise.reject(new Error(e))}const c=s.customSyntax?(r=>{let s;if("string"==typeof r){try{s=e(r)}catch(e){if(e&&"object"==typeof e&&"MODULE_NOT_FOUND"===e.code&&e.message.includes(r))throw new Error(`Cannot resolve custom syntax module "${r}". Check that module "${r}" is available and spelled correctly.\n\nCaused by: ${e}`);throw e}return s.parse||(s={parse:s,stringify:o.stringify}),s}if("object"==typeof r){if("function"!=typeof r.parse)throw new TypeError('An object provided to the "customSyntax" option must have a "parse" property. Ensure the "parse" property exists and its value is a function.');return t({},r)}throw new Error("Custom syntax must be a string or a Syntax object")})(s.customSyntax):((t,r)=>{const s=r?n.extname(r).slice(1).toLowerCase():"";return l[s]&&console.warn(`${r}: When linting something other than CSS, you should install an appropriate syntax, e.g. "${l[s]}", and use the "customSyntax" option`),{parse:t._options.fix&&["css","pcss","postcss"].includes(s)?e("postcss-safe-parser"):o.parse,stringify:o.stringify}})(r,s.filePath),p={from:s.filePath,syntax:c};let d;if(void 0!==s.code?d=s.code:s.filePath,void 0===d)return Promise.reject(new Error("code or filePath required"));if(s.codeProcessors&&s.codeProcessors.length){r._options.fix&&(console.warn("Autofix is incompatible with processors and will be disabled. Are you sure you need a processor?"),r._options.fix=!1);const e=s.code?s.codeFilename:s.filePath;for(const t of s.codeProcessors)d=t(d,e)}const f=await new i(a,d,p);return s.filePath&&r._postcssResultCache.set(s.filePath,f),f});const l={html:"postcss-html",js:"@stylelint/postcss-css-in-js",jsx:"@stylelint/postcss-css-in-js",less:"postcss-less",md:"postcss-markdown",sass:"postcss-sass",sss:"sugarss",scss:"postcss-scss",svelte:"postcss-html",ts:"@stylelint/postcss-css-in-js",tsx:"@stylelint/postcss-css-in-js",vue:"postcss-html",xml:"postcss-html",xst:"postcss-html"}},{path:44,postcss:103,"postcss-safe-parser":51,"postcss/lib/lazy-result":96}],134:[(e,t,r)=>{const s=e("./utils/optionsMatches"),i=e("./validateDisableSettings");t.exports=(e=>{for(const t of e){const e=i(t._postcssResult,"reportInvalidScopeDisables");if(!e)continue;const[r,n,o]=e,a=(o.config||{}).rules||{},l=new Set(Object.keys(a));l.add("all");const u=o.disabledRanges,c=Object.keys(u);for(const e of c)if(!l.has(e)&&r!==s(n,"except",e))for(const r of u[e])(r.strictStart||r.strictEnd)&&r.comment.source&&r.comment.source.start&&t.warnings.push({text:`Rule "${e}" isn't enabled`,rule:"--report-invalid-scope-disables",line:r.comment.source.start.line,column:r.comment.source.start.column,severity:n.severity})}})},{"./utils/optionsMatches":429,"./validateDisableSettings":446}],135:[(e,t,r)=>{const s=e("./assignDisabledRanges"),i=e("./utils/getOsEol"),n=e("./reportUnknownRuleNames"),o=e("./rules");t.exports=((e,t,r)=>{let a;t.stylelint.ruleSeverities={},t.stylelint.customMessages={},t.stylelint.stylelintError=!1,t.stylelint.quiet=r.quiet,t.stylelint.config=r;const l=t.root;if(l){if(!("type"in l))throw new Error("Unexpected Postcss root object!");const e=l.source&&l.source.input.css.match(/\r?\n/);a=e?e[0]:i(),s(l,t)}const u=(({stylelint:e})=>!e.disabledRanges.all.length)(t);u||(t.stylelint.disableWritingFix=!0);const c=l&&"Document"===l.constructor.name?l.nodes:[l],p=[],d=r.rules?Object.keys(r.rules).sort((e,t)=>Object.keys(o).indexOf(e)-Object.keys(o).indexOf(t)):[];for(const s of d){const i=o[s]||r.pluginFunctions&&r.pluginFunctions[s];if(void 0===i){p.push(Promise.all(c.map(e=>n(s,e,t))));continue}const l=r.rules&&r.rules[s];if(null===l||null===l[0])continue;const d=l[0],f=l[1],h=r.defaultSeverity||"error",m=f&&!0===f.disableFix||!1;m&&(t.stylelint.ruleDisableFix=!0),t.stylelint.ruleSeverities[s]=f&&f.severity||h,t.stylelint.customMessages[s]=f&&f.message,p.push(Promise.all(c.map(r=>i(d,f,{fix:!m&&e.fix&&u&&!t.stylelint.disabledRanges[s],newline:a})(r,t))))}return Promise.all(p)})},{"./assignDisabledRanges":122,"./reportUnknownRuleNames":147,"./rules":237,"./utils/getOsEol":370}],136:[(e,t,r)=>{const s=e("./utils/isPathNotFoundError"),i=e("./lintPostcssResult"),n=e("path");t.exports=(async(e,t={})=>{if(!t.filePath&&void 0===t.code&&!t.existingPostcssResult)return Promise.reject(new Error("You must provide filePath, code, or existingPostcssResult"));const r=void 0!==t.code,o=r?t.codeFilename:t.filePath;if(void 0!==o&&!n.isAbsolute(o))return r?Promise.reject(new Error("codeFilename must be an absolute path")):Promise.reject(new Error("filePath must be an absolute path"));if(await e.isPathIgnored(o).catch(e=>{if(r&&s(e))return!1;throw e}))return t.existingPostcssResult?Object.assign(t.existingPostcssResult,{stylelint:{ruleSeverities:{},customMessages:{},disabledRanges:{},ignored:!0,stylelintError:!1}}):{root:{source:{input:{file:o}}},messages:[],opts:void 0,stylelint:{ruleSeverities:{},customMessages:{},disabledRanges:{},ignored:!0,stylelintError:!1},warn(){}};const a=e._options.configFile||o,l=e._options.cwd,u=await e.getConfigForFile(a,o).catch(t=>{if(r&&s(t))return e.getConfigForFile(l);throw t});if(!u)return Promise.reject(new Error("Config file not found"));const c=u.config,p=t.existingPostcssResult||await e._getPostcssResult({code:t.code,codeFilename:t.codeFilename,filePath:o,codeProcessors:c.codeProcessors,customSyntax:c.customSyntax}),d=Object.assign(p,{stylelint:{ruleSeverities:{},customMessages:{},disabledRanges:{}}});return await i(e._options,d,c),d})},{"./lintPostcssResult":135,"./utils/isPathNotFoundError":403,path:44}],137:[(e,t,r)=>{const s=e("./utils/optionsMatches"),i=e("./utils/putIfAbsent"),n=e("./validateDisableSettings");function o(e,t){const r=e.line;return t.start<=r&&(void 0!==t.end&&t.end>=r||void 0===t.end)}t.exports=(e=>{for(const t of e){const e=n(t._postcssResult,"reportNeedlessDisables");if(!e)continue;const[r,a,l]=e,u=l.disabledRanges;if(!u)continue;const c=l.disabledWarnings||[],p=new Map;for(const e of c){const t=e.rule,r=u[t];if(r)for(const s of r)o(e,s)&&i(p,s.comment,()=>new Set).add(t);for(const r of u.all)o(e,r)&&i(p,r.comment,()=>new Set).add(t)}const d=new Set(u.all.map(e=>e.comment));for(const[e,i]of Object.entries(u))for(const n of i){if("all"!==e&&d.has(n.comment))continue;if(r===s(a,"except",e))continue;const i=p.get(n.comment)||new Set;("all"===e?0!==i.size:i.has(e))||n.comment.source&&n.comment.source.start&&t.warnings.push({text:`Needless disable for "${e}"`,rule:"--report-needless-disables",line:n.comment.source.start.line,column:n.comment.source.start.column,severity:a.severity})}}})},{"./utils/optionsMatches":429,"./utils/putIfAbsent":431,"./validateDisableSettings":446}],138:[(e,t,r)=>{const s=e("./normalizeRuleSettings"),i=e("./rules");t.exports=(e=>{if(!e.rules)return e;const t={};for(const[r,n]of Object.entries(e.rules)){const o=i[r]||e.pluginFunctions&&e.pluginFunctions[r];t[r]=o?s(n,r,o.primaryOptionArray):[]}return e.rules=t,e})},{"./normalizeRuleSettings":139,"./rules":237}],139:[(e,t,r)=>{const s=e("./rules"),{isPlainObject:i}=e("is-plain-object");t.exports=((e,t,r)=>{if(null===e||void 0===e)return null;if(!Array.isArray(e))return[e];if(e.length>0&&(null===e[0]||void 0===e[0]))return null;if(void 0===r){const e=s[t];e&&"primaryOptionArray"in e&&(r=e.primaryOptionArray)}return r?1===e.length&&Array.isArray(e[0])?e:2===e.length&&!i(e[0])&&i(e[1])?e:[e]:e})},{"./rules":237,"is-plain-object":35}],140:[function(e,t,r){(function(r){(()=>{const s=e("./createStylelint"),i=e("path");t.exports=((e={})=>{const[t,n]="rules"in e?[r.cwd(),{config:e}]:[e.cwd||r.cwd(),e],o=s(n);return{postcssPlugin:"stylelint",Once(e,{result:r}){let s=e.source&&e.source.input.file;return s&&!i.isAbsolute(s)&&(s=i.join(t,s)),o._lintSource({filePath:s,existingPostcssResult:r})}}}),t.exports.postcss=!0}).call(this)}).call(this,e("_process"))},{"./createStylelint":125,_process:115,path:44}],141:[(e,t,r)=>{const s=e("./descriptionlessDisables"),i=e("./invalidScopeDisables"),n=e("./needlessDisables"),o=e("./reportDisables");t.exports=((e,t,r,a)=>{o(e),n(e),i(e),s(e);const l={cwd:a,errored:e.some(e=>e.errored||e.parseErrors.length>0||e.warnings.some(e=>"error"===e.severity)),results:[],output:"",reportedDisables:[]};if(void 0!==t){const r=e.reduce((e,t)=>e+t.warnings.length,0);r>t&&(l.maxWarningsExceeded={maxWarnings:t,foundWarnings:r})}return l.output=r(e,l),l.results=e,l})},{"./descriptionlessDisables":127,"./invalidScopeDisables":134,"./needlessDisables":137,"./reportDisables":146}],142:[(e,t,r)=>{const s={};function i(...e){return new Set([...e].reduce((e,t)=>[...e,...t],[]))}s.nonLengthUnits=new Set(["%","s","ms","deg","grad","turn","rad","Hz","kHz","dpi","dpcm","dppx"]),s.lengthUnits=new Set(["em","ex","ch","rem","rlh","lh","vh","vw","vmin","vmax","vm","px","mm","cm","in","pt","pc","q","mozmm","fr"]),s.units=i(s.nonLengthUnits,s.lengthUnits),s.camelCaseFunctionNames=new Set(["translateX","translateY","translateZ","scaleX","scaleY","scaleZ","rotateX","rotateY","rotateZ","skewX","skewY"]),s.basicKeywords=new Set(["initial","inherit","unset"]),s.systemFontValues=i(s.basicKeywords,["caption","icon","menu","message-box","small-caption","status-bar"]),s.fontFamilyKeywords=i(s.basicKeywords,["serif","sans-serif","cursive","fantasy","monospace","system-ui"]),s.fontWeightRelativeKeywords=new Set(["bolder","lighter"]),s.fontWeightAbsoluteKeywords=new Set(["bold"]),s.fontWeightNumericKeywords=new Set(["100","200","300","400","500","600","700","800","900"]),s.fontWeightKeywords=i(s.basicKeywords,s.fontWeightRelativeKeywords,s.fontWeightAbsoluteKeywords,s.fontWeightNumericKeywords),s.animationNameKeywords=i(s.basicKeywords,["none"]),s.animationTimingFunctionKeywords=i(s.basicKeywords,["linear","ease","ease-in","ease-in-out","ease-out","step-start","step-end","steps","cubic-bezier"]),s.animationIterationCountKeywords=new Set(["infinite"]),s.animationDirectionKeywords=i(s.basicKeywords,["normal","reverse","alternate","alternate-reverse"]),s.animationFillModeKeywords=new Set(["none","forwards","backwards","both"]),s.animationPlayStateKeywords=i(s.basicKeywords,["running","paused"]),s.animationShorthandKeywords=i(s.basicKeywords,s.animationNameKeywords,s.animationTimingFunctionKeywords,s.animationIterationCountKeywords,s.animationDirectionKeywords,s.animationFillModeKeywords,s.animationPlayStateKeywords),s.levelOneAndTwoPseudoElements=new Set(["before","after","first-line","first-letter"]),s.levelThreeAndUpPseudoElements=new Set(["before","after","first-line","first-letter","selection","spelling-error","grammar-error","backdrop","marker","placeholder","shadow","slotted","content","file-selector-button"]),s.shadowTreePseudoElements=new Set(["part"]),s.vendorSpecificPseudoElements=new Set(["-moz-progress-bar","-moz-range-progress","-moz-range-thumb","-moz-range-track","-ms-browse","-ms-check","-ms-clear","-ms-expand","-ms-fill","-ms-fill-lower","-ms-fill-upper","-ms-reveal","-ms-thumb","-ms-ticks-after","-ms-ticks-before","-ms-tooltip","-ms-track","-ms-value","-webkit-progress-bar","-webkit-progress-value","-webkit-slider-runnable-track","-webkit-slider-thumb"]),s.pseudoElements=i(s.levelOneAndTwoPseudoElements,s.levelThreeAndUpPseudoElements,s.vendorSpecificPseudoElements,s.shadowTreePseudoElements),s.aNPlusBNotationPseudoClasses=new Set(["nth-column","nth-last-column","nth-last-of-type","nth-of-type"]),s.linguisticPseudoClasses=new Set(["dir","lang"]),s.atRulePagePseudoClasses=new Set(["first","right","left","blank"]),s.logicalCombinationsPseudoClasses=new Set(["has","is","matches","not","where"]),s.aNPlusBOfSNotationPseudoClasses=new Set(["nth-child","nth-last-child"]),s.otherPseudoClasses=new Set(["active","any-link","autofill","blank","checked","contains","current","default","defined","disabled","drop","empty","enabled","first-child","first-of-type","focus","focus-ring","focus-within","focus-visible","fullscreen","future","host","host-context","hover","indeterminate","in-range","invalid","last-child","last-of-type","link","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","playing","paused","read-only","read-write","required","root","scope","state","target","user-error","user-invalid","valid","visited"]),s.webkitProprietaryPseudoElements=new Set(["scrollbar","scrollbar-button","scrollbar-track","scrollbar-track-piece","scrollbar-thumb","scrollbar-corner","resize"]),s.webkitProprietaryPseudoClasses=new Set(["horizontal","vertical","decrement","increment","start","end","double-button","single-button","no-button","corner-present","window-inactive"]),s.pseudoClasses=i(s.aNPlusBNotationPseudoClasses,s.linguisticPseudoClasses,s.logicalCombinationsPseudoClasses,s.aNPlusBOfSNotationPseudoClasses,s.otherPseudoClasses),s.shorthandTimeProperties=new Set(["transition","animation"]),s.longhandTimeProperties=new Set(["transition-duration","transition-delay","animation-duration","animation-delay"]),s.timeProperties=i(s.shorthandTimeProperties,s.longhandTimeProperties),s.camelCaseKeywords=new Set(["optimizeSpeed","optimizeQuality","optimizeLegibility","geometricPrecision","currentColor","crispEdges","visiblePainted","visibleFill","visibleStroke","sRGB","linearRGB"]),s.counterIncrementKeywords=i(s.basicKeywords,["none"]),s.counterResetKeywords=i(s.basicKeywords,["none"]),s.gridRowKeywords=i(s.basicKeywords,["auto","span"]),s.gridColumnKeywords=i(s.basicKeywords,["auto","span"]),s.gridAreaKeywords=i(s.basicKeywords,["auto","span"]),s.listStyleTypeKeywords=i(s.basicKeywords,["none","disc","circle","square","decimal","cjk-decimal","decimal-leading-zero","lower-roman","upper-roman","lower-greek","lower-alpha","lower-latin","upper-alpha","upper-latin","arabic-indic","armenian","bengali","cambodian","cjk-earthly-branch","cjk-ideographic","devanagari","ethiopic-numeric","georgian","gujarati","gurmukhi","hebrew","hiragana","hiragana-iroha","japanese-formal","japanese-informal","kannada","katakana","katakana-iroha","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","lao","lower-armenian","malayalam","mongolian","myanmar","oriya","persian","simp-chinese-formal","simp-chinese-informal","tamil","telugu","thai","tibetan","trad-chinese-formal","trad-chinese-informal","upper-armenian","disclosure-open","disclosure-closed","ethiopic-halehame","ethiopic-halehame-am","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","hangul","hangul-consonant","urdu"]),s.listStylePositionKeywords=i(s.basicKeywords,["inside","outside"]),s.listStyleImageKeywords=i(s.basicKeywords,["none"]),s.listStyleShorthandKeywords=i(s.basicKeywords,s.listStyleTypeKeywords,s.listStylePositionKeywords,s.listStyleImageKeywords),s.fontStyleKeywords=i(s.basicKeywords,["normal","italic","oblique"]),s.fontVariantKeywords=i(s.basicKeywords,["normal","none","historical-forms","none","common-ligatures","no-common-ligatures","discretionary-ligatures","no-discretionary-ligatures","historical-ligatures","no-historical-ligatures","contextual","no-contextual","small-caps","small-caps","all-small-caps","petite-caps","all-petite-caps","unicase","titling-caps","lining-nums","oldstyle-nums","proportional-nums","tabular-nums","diagonal-fractions","stacked-fractions","ordinal","slashed-zero","jis78","jis83","jis90","jis04","simplified","traditional","full-width","proportional-width","ruby"]),s.fontStretchKeywords=i(s.basicKeywords,["semi-condensed","condensed","extra-condensed","ultra-condensed","semi-expanded","expanded","extra-expanded","ultra-expanded"]),s.fontSizeKeywords=i(s.basicKeywords,["xx-small","x-small","small","medium","large","x-large","xx-large","larger","smaller"]),s.lineHeightKeywords=i(s.basicKeywords,["normal"]),s.fontShorthandKeywords=i(s.basicKeywords,s.fontStyleKeywords,s.fontVariantKeywords,s.fontWeightKeywords,s.fontStretchKeywords,s.fontSizeKeywords,s.lineHeightKeywords,s.fontFamilyKeywords),s.keyframeSelectorKeywords=new Set(["from","to"]),s.pageMarginAtRules=new Set(["top-left-corner","top-left","top-center","top-right","top-right-corner","bottom-left-corner","bottom-left","bottom-center","bottom-right","bottom-right-corner","left-top","left-middle","left-bottom","right-top","right-middle","right-bottom"]),s.atRules=i(s.pageMarginAtRules,["annotation","apply","character-variant","charset","counter-style","custom-media","custom-selector","document","font-face","font-feature-values","import","keyframes","media","namespace","nest","ornaments","page","property","styleset","stylistic","supports","swash","viewport"]),s.deprecatedMediaFeatureNames=new Set(["device-aspect-ratio","device-height","device-width","max-device-aspect-ratio","max-device-height","max-device-width","min-device-aspect-ratio","min-device-height","min-device-width"]),s.mediaFeatureNames=i(s.deprecatedMediaFeatureNames,["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","dynamic-range","forced-colors","grid","height","hover","inverted-colors","light-level","max-aspect-ratio","max-color","max-color-index","max-height","max-monochrome","max-resolution","max-width","min-aspect-ratio","min-color","min-color-index","min-height","min-monochrome","min-resolution","min-width","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","video-dynamic-range","width"]),s.systemColors=new Set(["activeborder","activecaption","appworkspace","background","buttonface","buttonhighlight","buttonshadow","buttontext","captiontext","graytext","highlight","highlighttext","inactiveborder","inactivecaption","inactivecaptiontext","infobackground","infotext","menu","menutext","scrollbar","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","window","windowframe","windowtext"]),s.nonStandardHtmlTags=new Set(["acronym","applet","basefont","big","blink","center","content","dir","font","frame","frameset","hgroup","isindex","keygen","listing","marquee","nobr","noembed","plaintext","spacer","strike","tt","xmp"]),s.validMixedCaseSvgElements=new Set(["animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","linearGradient","radialGradient","textPath"]),t.exports=s},{}],143:[(e,t,r)=>{t.exports=["calc","clamp","max","min"]},{}],144:[(e,t,r)=>{const s={};s.acceptCustomIdents=new Set(["animation","animation-name","font","font-family","counter-increment","grid-row","grid-column","grid-area","list-style","list-style-type"]),t.exports=s},{}],145:[(e,t,r)=>{t.exports={margin:["margin-top","margin-bottom","margin-left","margin-right"],padding:["padding-top","padding-bottom","padding-left","padding-right"],background:["background-image","background-size","background-position","background-repeat","background-origin","background-clip","background-attachment","background-color"],font:["font-style","font-variant","font-weight","font-stretch","font-size","font-family","line-height"],border:["border-top-width","border-bottom-width","border-left-width","border-right-width","border-top-style","border-bottom-style","border-left-style","border-right-style","border-top-color","border-bottom-color","border-left-color","border-right-color"],"border-top":["border-top-width","border-top-style","border-top-color"],"border-bottom":["border-bottom-width","border-bottom-style","border-bottom-color"],"border-left":["border-left-width","border-left-style","border-left-color"],"border-right":["border-right-width","border-right-style","border-right-color"],"border-width":["border-top-width","border-bottom-width","border-left-width","border-right-width"],"border-style":["border-top-style","border-bottom-style","border-left-style","border-right-style"],"border-color":["border-top-color","border-bottom-color","border-left-color","border-right-color"],"list-style":["list-style-type","list-style-position","list-style-image"],"border-radius":["border-top-right-radius","border-top-left-radius","border-bottom-right-radius","border-bottom-left-radius"],transition:["transition-delay","transition-duration","transition-property","transition-timing-function"],animation:["animation-name","animation-duration","animation-timing-function","animation-delay","animation-iteration-count","animation-direction","animation-fill-mode","animation-play-state"],"border-block-end":["border-block-end-width","border-block-end-style","border-block-end-color"],"border-block-start":["border-block-start-width","border-block-start-style","border-block-start-color"],"border-image":["border-image-source","border-image-slice","border-image-width","border-image-outset","border-image-repeat"],"border-inline-end":["border-inline-end-width","border-inline-end-style","border-inline-end-color"],"border-inline-start":["border-inline-start-width","border-inline-start-style","border-inline-start-color"],"column-rule":["column-rule-width","column-rule-style","column-rule-color"],columns:["column-width","column-count"],flex:["flex-grow","flex-shrink","flex-basis"],"flex-flow":["flex-direction","flex-wrap"],grid:["grid-template-rows","grid-template-columns","grid-template-areas","grid-auto-rows","grid-auto-columns","grid-auto-flow","grid-column-gap","grid-row-gap"],"grid-area":["grid-row-start","grid-column-start","grid-row-end","grid-column-end"],"grid-column":["grid-column-start","grid-column-end"],"grid-gap":["grid-row-gap","grid-column-gap"],"grid-row":["grid-row-start","grid-row-end"],"grid-template":["grid-template-columns","grid-template-rows","grid-template-areas"],outline:["outline-color","outline-style","outline-width"],"text-decoration":["text-decoration-color","text-decoration-style","text-decoration-line"],"text-emphasis":["text-emphasis-style","text-emphasis-color"],mask:["mask-image","mask-mode","mask-position","mask-size","mask-repeat","mask-origin","mask-clip","mask-composite"]}},{}],146:[(e,t,r)=>{function s(e){return!(!e||!e[1])&&Boolean(e[1].reportDisables)}t.exports=(e=>{for(const t of e){if(!t._postcssResult)continue;const e=t._postcssResult.stylelint.disabledRanges;if(!e)continue;const r=t._postcssResult.stylelint.config;if(r&&r.rules&&Object.values(r.rules).some(e=>s(e)))for(const[i,n]of Object.entries(e))for(const e of n)s(r.rules[i]||[])&&e.comment.source&&e.comment.source.start&&t.warnings.push({text:`Rule "${i}" may not be disabled`,rule:"reportDisables",line:e.comment.source.start.line,column:e.comment.source.start.column,severity:"error"})}})},{}],147:[(e,t,r)=>{const s=e("fastest-levenshtein"),i=e("./rules"),n=new Map;t.exports=((e,t,r)=>{const o=n.has(e)?n.get(e):(e=>{const t=Array.from({length:6});for(let e=0;e0){if(e<3)return s.slice(0,3);r=r.concat(s)}return r.slice(0,3)})(e);n.set(e,o),r.warn(((t,r=[])=>`Unknown rule ${e}.${r.length>0?` Did you mean ${r.join(", ")}?`:""}`)(0,o),{severity:"error",rule:e,node:t,index:0})})},{"./rules":237,"fastest-levenshtein":19}],148:[function(e,t,r){(function(r){(()=>{const s=e("./createStylelint"),i=e("path");t.exports=(async(e,{cwd:t=r.cwd(),config:n,configBasedir:o,configFile:a}={})=>{if(!e)return;const l=s({config:n,configFile:a,configBasedir:o,cwd:t}),u=i.isAbsolute(e)?i.normalize(e):i.join(t,e),c=l._options.configFile||u,p=await l.getConfigForFile(c,u);return p?p.config:void 0})}).call(this)}).call(this,e("_process"))},{"./createStylelint":125,_process:115,path:44}],149:[(e,t,r)=>{const s=e("postcss-value-parser"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getDeclarationValue"),o=e("../../utils/isStandardSyntaxValue"),a=e("../../utils/optionsMatches"),l=e("../../utils/report"),u=e("../../utils/ruleMessages"),c=e("../../utils/setDeclarationValue"),p=e("../../utils/validateOptions"),{isRegExp:d,isString:f}=e("../../utils/validateTypes"),h="alpha-value-notation",m=u(h,{expected:(e,t)=>`Expected "${e}" to be "${t}"`}),g=new Set(["opacity","shape-image-threshold"]),y=new Set(["hsl","hsla","hwb","lab","lch","rgb","rgba"]),w=(e,t,r)=>(u,w)=>{if(!p(w,h,{actual:e,possible:["number","percentage"]},{actual:t,possible:{exceptProperties:[f,d]},optional:!0}))return;const O=Object.freeze({number:{expFunc:S,fixFunc:v},percentage:{expFunc:k,fixFunc:x}});u.walkDecls(u=>{let p=!1;const d=s(n(u));d.walk(s=>{let n;if(g.has(u.prop.toLowerCase()))n="word"===(b=s).type||"function"===b.type?b:void 0;else{if("function"!==s.type)return;if(!y.has(s.value.toLowerCase()))return;n=(e=>{const t=e.nodes.filter(({type:e})=>"word"===e||"function"===e);if(4===t.length)return t[3];const r=e.nodes.findIndex(({type:e,value:t})=>"div"===e&&"/"===t);return-1!==r?e.nodes.slice(r+1,e.nodes.length).find(({type:e})=>"word"===e):void 0})(s)}if(!n)return;const{value:c}=n;if(!o(c))return;if(!S(c)&&!k(c))return;let d=e;if(a(t,"exceptProperties",u.prop)&&("number"===d?d="percentage":"percentage"===d&&(d="number")),O[d].expFunc(c))return;const f=O[d].fixFunc(c),x=c;if(r.fix)return n.value=String(f),void(p=!0);l({message:m.expected(x,f),node:u,index:i(u)+n.sourceIndex,result:w,ruleName:h})}),p&&c(u,d.toString())})};var b;function x(e){const t=Number(e);return`${Number((100*t).toPrecision(3))}%`}function v(e){const t=s.unit(e);if(!t)return;const r=Number(t.number);return Number((r/100).toPrecision(3)).toString()}function k(e){const t=s.unit(e);return t&&"%"===t.unit}function S(e){const t=s.unit(e);return t&&""===t.unit}w.ruleName=h,w.messages=m,t.exports=w},{"../../utils/declarationValueIndex":359,"../../utils/getDeclarationValue":366,"../../utils/isStandardSyntaxValue":421,"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/setDeclarationValue":438,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"postcss-value-parser":83}],150:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxAtRule"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/vendor"),{isString:l}=e("../../utils/validateTypes"),u="at-rule-allowed-list",c=n(u,{rejected:e=>`Unexpected at-rule "${e}"`}),p=e=>{const t=[e].flat();return(e,r)=>{if(!o(r,u,{actual:t,possible:[l]}))return;const n=t;e.walkAtRules(e=>{const t=e.name;s(e)&&(n.includes(a.unprefixed(t).toLowerCase())||i({message:c.rejected(t),node:e,result:r,ruleName:u}))})}};p.primaryOptionArray=!0,p.ruleName=u,p.messages=c,t.exports=p},{"../../utils/isStandardSyntaxAtRule":408,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"../../utils/vendor":444}],151:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxAtRule"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/vendor"),{isString:l}=e("../../utils/validateTypes"),u="at-rule-disallowed-list",c=n(u,{rejected:e=>`Unexpected at-rule "${e}"`}),p=e=>{const t=[e].flat();return(e,r)=>{if(!o(r,u,{actual:t,possible:[l]}))return;const n=t;e.walkAtRules(e=>{const t=e.name;s(e)&&n.includes(a.unprefixed(t).toLowerCase())&&i({message:c.rejected(t),node:e,result:r,ruleName:u})})}};p.primaryOptionArray=!0,p.ruleName=u,p.messages=c,t.exports=p},{"../../utils/isStandardSyntaxAtRule":408,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"../../utils/vendor":444}],152:[(e,t,r)=>{const s=e("../../utils/addEmptyLineBefore"),i=e("../../utils/getPreviousNonSharedLineCommentNode"),n=e("../../utils/hasEmptyLine"),o=e("../../utils/isAfterComment"),a=e("../../utils/isBlocklessAtRuleAfterBlocklessAtRule"),l=e("../../utils/isBlocklessAtRuleAfterSameNameBlocklessAtRule"),u=e("../../utils/isFirstNested"),c=e("../../utils/isFirstNodeOfRoot"),p=e("../../utils/isStandardSyntaxAtRule"),d=e("../../utils/optionsMatches"),f=e("../../utils/removeEmptyLinesBefore"),h=e("../../utils/report"),m=e("../../utils/ruleMessages"),g=e("../../utils/validateOptions"),{isString:y}=e("../../utils/validateTypes"),w="at-rule-empty-line-before",b=m(w,{expected:"Expected empty line before at-rule",rejected:"Unexpected empty line before at-rule"}),x=(e,t,r)=>(m,x)=>{if(!g(x,w,{actual:e,possible:["always","never"]},{actual:t,possible:{except:["after-same-name","inside-block","blockless-after-same-name-blockless","blockless-after-blockless","first-nested"],ignore:["after-comment","first-nested","inside-block","blockless-after-same-name-blockless","blockless-after-blockless"],ignoreAtRules:[y]},optional:!0}))return;const v=e;m.walkAtRules(e=>{const m=e.parent&&"root"!==e.parent.type;if(c(e))return;if(!p(e))return;if(d(t,"ignoreAtRules",e.name))return;if(d(t,"ignore","blockless-after-blockless")&&a(e))return;if(d(t,"ignore","first-nested")&&u(e))return;if(d(t,"ignore","blockless-after-same-name-blockless")&&l(e))return;if(d(t,"ignore","inside-block")&&m)return;if(d(t,"ignore","after-comment")&&o(e))return;const g=n(e.raws.before);let y="always"===v;if((d(t,"except","after-same-name")&&(e=>{const t=i(e);return t&&"atrule"===t.type&&t.name===e.name})(e)||d(t,"except","inside-block")&&m||d(t,"except","first-nested")&&u(e)||d(t,"except","blockless-after-blockless")&&a(e)||d(t,"except","blockless-after-same-name-blockless")&&l(e))&&(y=!y),y===g)return;if(r.fix&&r.newline)return void(y?s(e,r.newline):f(e,r.newline));const k=y?b.expected:b.rejected;h({message:k,node:e,result:x,ruleName:w})})};x.ruleName=w,x.messages=b,t.exports=x},{"../../utils/addEmptyLineBefore":350,"../../utils/getPreviousNonSharedLineCommentNode":371,"../../utils/hasEmptyLine":377,"../../utils/isAfterComment":383,"../../utils/isBlocklessAtRuleAfterBlocklessAtRule":386,"../../utils/isBlocklessAtRuleAfterSameNameBlocklessAtRule":387,"../../utils/isFirstNested":395,"../../utils/isFirstNodeOfRoot":396,"../../utils/isStandardSyntaxAtRule":408,"../../utils/optionsMatches":429,"../../utils/removeEmptyLinesBefore":434,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443}],153:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxAtRule"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a="at-rule-name-case",l=n(a,{expected:(e,t)=>`Expected "${e}" to be "${t}"`}),u=(e,t,r)=>(t,n)=>{if(!o(n,a,{actual:e,possible:["lower","upper"]}))return;const u=e;t.walkAtRules(e=>{if(!s(e))return;const t=e.name,o="lower"===u?t.toLowerCase():t.toUpperCase();t!==o&&(r.fix?e.name=o:i({message:l.expected(t,o),node:e,ruleName:a,result:n}))})};u.ruleName=a,u.messages=l,t.exports=u},{"../../utils/isStandardSyntaxAtRule":408,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442}],154:[(e,t,r)=>{const s=e("../atRuleNameSpaceChecker"),i=e("../../utils/ruleMessages"),n=e("../../utils/validateOptions"),o=e("../../utils/whitespaceChecker"),a="at-rule-name-newline-after",l=i(a,{expectedAfter:e=>`Expected newline after at-rule name "${e}"`}),u=e=>{const t=o("newline",e,l);return(r,i)=>{n(i,a,{actual:e,possible:["always","always-multi-line"]})&&s({root:r,result:i,locationChecker:t.afterOneOnly,checkedRuleName:a})}};u.ruleName=a,u.messages=l,t.exports=u},{"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../atRuleNameSpaceChecker":160}],155:[(e,t,r)=>{const s=e("../atRuleNameSpaceChecker"),i=e("../../utils/ruleMessages"),n=e("../../utils/validateOptions"),o=e("../../utils/whitespaceChecker"),a="at-rule-name-space-after",l=i(a,{expectedAfter:e=>`Expected single space after at-rule name "${e}"`}),u=(e,t,r)=>{const i=o("space",e,l);return(t,o)=>{n(o,a,{actual:e,possible:["always","always-single-line"]})&&s({root:t,result:o,locationChecker:i.after,checkedRuleName:a,fix:r.fix?e=>{"string"==typeof e.raws.afterName&&(e.raws.afterName=e.raws.afterName.replace(/^\s*/," "))}:null})}};u.ruleName=a,u.messages=l,t.exports=u},{"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../atRuleNameSpaceChecker":160}],156:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxAtRule"),i=e("../../reference/keywordSets"),n=e("../../utils/optionsMatches"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("../../utils/vendor"),{isRegExp:c,isString:p}=e("../../utils/validateTypes"),d="at-rule-no-unknown",f=a(d,{rejected:e=>`Unexpected unknown at-rule "${e}"`}),h=(e,t)=>(r,a)=>{l(a,d,{actual:e},{actual:t,possible:{ignoreAtRules:[p,c]},optional:!0})&&r.walkAtRules(e=>{if(!s(e))return;const r=e.name;n(t,"ignoreAtRules",e.name)||u.prefix(r)||i.atRules.has(r.toLowerCase())||o({message:f.rejected(`@${r}`),node:e,ruleName:d,result:a})})};h.ruleName=d,h.messages=f,t.exports=h},{"../../reference/keywordSets":142,"../../utils/isStandardSyntaxAtRule":408,"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"../../utils/vendor":444}],157:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxAtRule"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),{isPlainObject:a}=e("is-plain-object"),l="at-rule-property-required-list",u=n(l,{expected:(e,t)=>`Expected property "${e}" for at-rule "${t}"`}),c=e=>(t,r)=>{if(!o(r,l,{actual:e,possible:[a]}))return;const n=e;t.walkAtRules(e=>{if(!s(e))return;const{name:t,nodes:o}=e,a=t.toLowerCase();if(n[a])for(const t of n[a]){const s=t.toLowerCase();o.find(e=>"decl"===e.type&&e.prop.toLowerCase()===s)||i({message:u.expected(s,a),node:e,result:r,ruleName:l})}})};c.ruleName=l,c.messages=u,t.exports=c},{"../../utils/isStandardSyntaxAtRule":408,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"is-plain-object":35}],158:[(e,t,r)=>{const s=e("../../utils/hasBlock"),i=e("../../utils/isStandardSyntaxAtRule"),n=e("../../utils/nextNonCommentNode"),o=e("../../utils/rawNodeString"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),c=e("../../utils/whitespaceChecker"),p="at-rule-semicolon-newline-after",d=l(p,{expectedAfter:()=>'Expected newline after ";"'}),f=(e,t,r)=>{const l=c("newline",e,d);return(t,c)=>{u(c,p,{actual:e,possible:["always"]})&&t.walkAtRules(e=>{const t=e.next();if(!t)return;if(s(e))return;if(!i(e))return;const u=n(t);u&&l.afterOneOnly({source:o(u),index:-1,err(t){r.fix?u.raws.before=r.newline+u.raws.before:a({message:t,node:e,index:e.toString().length+1,result:c,ruleName:p})}})})}};f.ruleName=p,f.messages=d,t.exports=f},{"../../utils/hasBlock":375,"../../utils/isStandardSyntaxAtRule":408,"../../utils/nextNonCommentNode":427,"../../utils/rawNodeString":432,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445}],159:[(e,t,r)=>{const s=e("../../utils/hasBlock"),i=e("../../utils/isStandardSyntaxAtRule"),n=e("../../utils/rawNodeString"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("../../utils/whitespaceChecker"),c="at-rule-semicolon-space-before",p=a(c,{expectedBefore:()=>'Expected single space before ";"',rejectedBefore:()=>'Unexpected whitespace before ";"'}),d=e=>{const t=u("space",e,p);return(r,a)=>{l(a,c,{actual:e,possible:["always","never"]})&&r.walkAtRules(e=>{if(s(e))return;if(!i(e))return;const r=n(e);t.before({source:r,index:r.length,err(t){o({message:t,node:e,index:r.length-1,result:a,ruleName:c})}})})}};d.ruleName=c,d.messages=p,t.exports=d},{"../../utils/hasBlock":375,"../../utils/isStandardSyntaxAtRule":408,"../../utils/rawNodeString":432,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445}],160:[(e,t,r)=>{const s=e("../utils/isStandardSyntaxAtRule"),i=e("../utils/report");t.exports=(e=>{var t,r,n;e.root.walkAtRules(o=>{s(o)&&(t=`@${o.name}${o.raws.afterName||""}${o.params}`,r=o.name.length,n=o,e.locationChecker({source:t,index:r,err(t){e.fix?e.fix(n):i({message:t,node:n,index:r,result:e.result,ruleName:e.checkedRuleName})},errTarget:`@${n.name}`}))})})},{"../utils/isStandardSyntaxAtRule":408,"../utils/report":435}],161:[(e,t,r)=>{const s=e("../../utils/addEmptyLineAfter"),i=e("../../utils/blockString"),n=e("../../utils/hasBlock"),o=e("../../utils/hasEmptyBlock"),a=e("../../utils/hasEmptyLine"),l=e("../../utils/isSingleLineString"),u=e("../../utils/optionsMatches"),c=e("../../utils/removeEmptyLinesAfter"),p=e("../../utils/report"),d=e("../../utils/ruleMessages"),f=e("../../utils/validateOptions"),h="block-closing-brace-empty-line-before",m=d(h,{expected:"Expected empty line before closing brace",rejected:"Unexpected empty line before closing brace"}),g=(e,t,r)=>(d,g)=>{function y(d){if(!n(d)||o(d))return;const f=(d.raws.after||"").replace(/;+/,""),y=d.toString();let w=y.length-1;"\r"===y[w-1]&&(w-=1);const b=(()=>{const r=d.nodes.map(e=>e.type);return u(t,"except","after-closing-brace")&&"atrule"===d.type&&!r.includes("decl")?"never"===e:"always-multi-line"===e&&!l(i(d))})();if(b===a(f))return;if(r.fix){const{newline:e}=r;if("string"!=typeof e)return;return void(b?s(d,e):c(d,e))}const x=b?m.expected:m.rejected;p({message:x,result:g,ruleName:h,node:d,index:w})}f(g,h,{actual:e,possible:["always-multi-line","never"]},{actual:t,possible:{except:["after-closing-brace"]},optional:!0})&&(d.walkRules(y),d.walkAtRules(y))};g.ruleName=h,g.messages=m,t.exports=g},{"../../utils/addEmptyLineAfter":349,"../../utils/blockString":354,"../../utils/hasBlock":375,"../../utils/hasEmptyBlock":376,"../../utils/hasEmptyLine":377,"../../utils/isSingleLineString":407,"../../utils/optionsMatches":429,"../../utils/removeEmptyLinesAfter":433,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442}],162:[(e,t,r)=>{const s=e("../../utils/blockString"),i=e("../../utils/hasBlock"),n=e("../../utils/optionsMatches"),o=e("../../utils/rawNodeString"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),c=e("../../utils/whitespaceChecker"),{isString:p}=e("../../utils/validateTypes"),d="block-closing-brace-newline-after",f=l(d,{expectedAfter:()=>'Expected newline after "}"',expectedAfterSingleLine:()=>'Expected newline after "}" of a single-line block',rejectedAfterSingleLine:()=>'Unexpected whitespace after "}" of a single-line block',expectedAfterMultiLine:()=>'Expected newline after "}" of a multi-line block',rejectedAfterMultiLine:()=>'Unexpected whitespace after "}" of a multi-line block'}),h=(e,t,r)=>{const l=c("newline",e,f);return(c,f)=>{function h(u){if(!i(u))return;if("atrule"===u.type&&n(t,"ignoreAtRules",u.name))return;const c=u.next();if(!c)return;const p="comment"!==c.type||/[^ ]/.test(c.raws.before||"")||c.toString().includes("\n")?c:c.next();if(!p)return;let h=u.toString().length,m=o(p);m&&m.startsWith(";")&&(m=m.slice(1),h++),l.afterOneOnly({source:m,index:-1,lineCheckStr:s(u),err(t){if(r.fix){const t=p.raws;if("string"!=typeof t.before)return;if(e.startsWith("always")){const e=t.before.search(/\r?\n/);return void(t.before=e>=0?t.before.slice(e):r.newline+t.before)}if(e.startsWith("never"))return void(t.before="")}a({message:t,node:u,index:h,result:f,ruleName:d})}})}u(f,d,{actual:e,possible:["always","always-single-line","never-single-line","always-multi-line","never-multi-line"]},{actual:t,possible:{ignoreAtRules:[p]},optional:!0})&&(c.walkRules(h),c.walkAtRules(h))}};h.ruleName=d,h.messages=f,t.exports=h},{"../../utils/blockString":354,"../../utils/hasBlock":375,"../../utils/optionsMatches":429,"../../utils/rawNodeString":432,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"../../utils/whitespaceChecker":445}],163:[(e,t,r)=>{const s=e("../../utils/blockString"),i=e("../../utils/hasBlock"),n=e("../../utils/hasEmptyBlock"),o=e("../../utils/isSingleLineString"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),c="block-closing-brace-newline-before",p=l(c,{expectedBefore:'Expected newline before "}"',expectedBeforeMultiLine:'Expected newline before "}" of a multi-line block',rejectedBeforeMultiLine:'Unexpected whitespace before "}" of a multi-line block'}),d=(e,t,r)=>(t,l)=>{function d(t){if(!i(t)||n(t))return;const u=(t.raws.after||"").replace(/;+/,"");if(void 0===u)return;const d=!o(s(t)),f=t.toString();let h=f.length-2;function m(s){if(r.fix){const s=t.raws;if("string"!=typeof s.after)return;if(e.startsWith("always")){const e=s.after.search(/\s/),t=e>=0?s.after.slice(0,e):s.after,i=e>=0?s.after.slice(e):"",n=i.search(/\r?\n/);return void(s.after=n>=0?t+i.slice(n):t+r.newline+i)}if("never-multi-line"===e)return void(s.after=s.after.replace(/\s/g,""))}a({message:s,result:l,ruleName:c,node:t,index:h})}"\r"===f[h-1]&&(h-=1),u.startsWith("\n")||u.startsWith("\r\n")||("always"===e?m(p.expectedBefore):d&&"always-multi-line"===e&&m(p.expectedBeforeMultiLine)),""!==u&&d&&"never-multi-line"===e&&m(p.rejectedBeforeMultiLine)}u(l,c,{actual:e,possible:["always","always-multi-line","never-multi-line"]})&&(t.walkRules(d),t.walkAtRules(d))};d.ruleName=c,d.messages=p,t.exports=d},{"../../utils/blockString":354,"../../utils/hasBlock":375,"../../utils/hasEmptyBlock":376,"../../utils/isSingleLineString":407,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442}],164:[(e,t,r)=>{const s=e("../../utils/blockString"),i=e("../../utils/hasBlock"),n=e("../../utils/rawNodeString"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("../../utils/whitespaceChecker"),c="block-closing-brace-space-after",p=a(c,{expectedAfter:()=>'Expected single space after "}"',rejectedAfter:()=>'Unexpected whitespace after "}"',expectedAfterSingleLine:()=>'Expected single space after "}" of a single-line block',rejectedAfterSingleLine:()=>'Unexpected whitespace after "}" of a single-line block',expectedAfterMultiLine:()=>'Expected single space after "}" of a multi-line block',rejectedAfterMultiLine:()=>'Unexpected whitespace after "}" of a multi-line block'}),d=e=>{const t=u("space",e,p);return(r,a)=>{function u(e){const r=e.next();if(!r)return;if(!i(e))return;let l=e.toString().length,u=n(r);u&&u.startsWith(";")&&(u=u.slice(1),l++),t.after({source:u,index:-1,lineCheckStr:s(e),err(t){o({message:t,node:e,index:l,result:a,ruleName:c})}})}l(a,c,{actual:e,possible:["always","never","always-single-line","never-single-line","always-multi-line","never-multi-line"]})&&(r.walkRules(u),r.walkAtRules(u))}};d.ruleName=c,d.messages=p,t.exports=d},{"../../utils/blockString":354,"../../utils/hasBlock":375,"../../utils/rawNodeString":432,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445}],165:[(e,t,r)=>{const s=e("../../utils/blockString"),i=e("../../utils/hasBlock"),n=e("../../utils/hasEmptyBlock"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("../../utils/whitespaceChecker"),c="block-closing-brace-space-before",p=a(c,{expectedBefore:()=>'Expected single space before "}"',rejectedBefore:()=>'Unexpected whitespace before "}"',expectedBeforeSingleLine:()=>'Expected single space before "}" of a single-line block',rejectedBeforeSingleLine:()=>'Unexpected whitespace before "}" of a single-line block',expectedBeforeMultiLine:()=>'Expected single space before "}" of a multi-line block',rejectedBeforeMultiLine:()=>'Unexpected whitespace before "}" of a multi-line block'}),d=(e,t,r)=>{const a=u("space",e,p);return(t,u)=>{function p(t){if(!i(t)||n(t))return;const l=s(t),p=t.toString();let d=p.length-2;"\r"===p[d-1]&&(d-=1),a.before({source:l,index:l.length-1,err(s){if(r.fix){const r=t.raws;if("string"!=typeof r.after)return;if(e.startsWith("always"))return void(r.after=r.after.replace(/\s*$/," "));if(e.startsWith("never"))return void(r.after=r.after.replace(/\s*$/,""))}o({message:s,node:t,index:d,result:u,ruleName:c})}})}l(u,c,{actual:e,possible:["always","never","always-single-line","never-single-line","always-multi-line","never-multi-line"]})&&(t.walkRules(p),t.walkAtRules(p))}};d.ruleName=c,d.messages=p,t.exports=d},{"../../utils/blockString":354,"../../utils/hasBlock":375,"../../utils/hasEmptyBlock":376,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445}],166:[(e,t,r)=>{const s=e("../../utils/beforeBlockString"),i=e("../../utils/hasBlock"),n=e("../../utils/hasEmptyBlock"),o=e("../../utils/optionsMatches"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),{isBoolean:c}=e("../../utils/validateTypes"),p="block-no-empty",d=l(p,{rejected:"Unexpected empty block"}),f=(e,t)=>(r,l)=>{if(!u(l,p,{actual:e,possible:c},{actual:t,possible:{ignore:["comments"]},optional:!0}))return;const f=o(t,"ignore","comments");function h(e){if(!n(e)&&!f)return;if(!i(e))return;if(!e.nodes.every(e=>"comment"===e.type))return;let t=s(e,{noRawBefore:!0}).length;void 0===e.raws.between&&t--,a({message:d.rejected,node:e,index:t,result:l,ruleName:p})}r.walkRules(h),r.walkAtRules(h)};f.ruleName=p,f.messages=d,t.exports=f},{"../../utils/beforeBlockString":353,"../../utils/hasBlock":375,"../../utils/hasEmptyBlock":376,"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443}],167:[(e,t,r)=>{const s=e("../../utils/beforeBlockString"),i=e("../../utils/blockString"),n=e("../../utils/hasBlock"),o=e("../../utils/hasEmptyBlock"),a=e("../../utils/rawNodeString"),l=e("../../utils/report"),u=e("../../utils/ruleMessages"),c=e("../../utils/validateOptions"),p=e("../../utils/whitespaceChecker"),d="block-opening-brace-newline-after",f=u(d,{expectedAfter:()=>'Expected newline after "{"',expectedAfterMultiLine:()=>'Expected newline after "{" of a multi-line block',rejectedAfterMultiLine:()=>'Unexpected whitespace after "{" of a multi-line block'}),h=(e,t,r)=>{const u=p("newline",e,f);return(t,p)=>{function f(t){if(!n(t)||o(t))return;const c=new Map,f=function e(t){if(t&&t.next){if("comment"===t.type){const r=/\r?\n/,s=r.test(t.raws.before||""),i=t.next();return i&&s&&!r.test(i.raws.before||"")&&(c.set(i,i.raws.before),i.raws.before=t.raws.before),e(i)}return t}}(t.first);if(f){u.afterOneOnly({source:a(f),index:-1,lineCheckStr:i(t),err(i){if(r.fix){const s=f.raws;if("string"!=typeof s.before)return;if(e.startsWith("always")){const e=s.before.search(/\r?\n/);return s.before=e>=0?s.before.slice(e):r.newline+s.before,void c.delete(f)}if("never-multi-line"===e){for(const[e,t]of c.entries())e.raws.before=t;c.clear();const e=/\r?\n/;let r=t.first;for(;r;){const t=r.raws;if("string"==typeof t.before){if(e.test(t.before||"")&&(t.before=t.before.replace(/\r?\n/g,"")),"comment"!==r.type)break;r=r.next()}}return void(s.before="")}}l({message:i,node:t,index:s(t,{noRawBefore:!0}).length+1,result:p,ruleName:d})}});for(const[e,t]of c.entries())e.raws.before=t}}c(p,d,{actual:e,possible:["always","always-multi-line","never-multi-line"]})&&(t.walkRules(f),t.walkAtRules(f))}};h.ruleName=d,h.messages=f,t.exports=h},{"../../utils/beforeBlockString":353,"../../utils/blockString":354,"../../utils/hasBlock":375,"../../utils/hasEmptyBlock":376,"../../utils/rawNodeString":432,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445}],168:[(e,t,r)=>{const s=e("../../utils/beforeBlockString"),i=e("../../utils/blockString"),n=e("../../utils/hasBlock"),o=e("../../utils/hasEmptyBlock"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),c=e("../../utils/whitespaceChecker"),p="block-opening-brace-newline-before",d=l(p,{expectedBefore:()=>'Expected newline before "{"',expectedBeforeSingleLine:()=>'Expected newline before "{" of a single-line block',rejectedBeforeSingleLine:()=>'Unexpected whitespace before "{" of a single-line block',expectedBeforeMultiLine:()=>'Expected newline before "{" of a multi-line block',rejectedBeforeMultiLine:()=>'Unexpected whitespace before "{" of a multi-line block'}),f=(e,t,r)=>{const l=c("newline",e,d);return(t,c)=>{function d(t){if(!n(t)||o(t))return;const u=s(t),d=s(t,{noRawBefore:!0});let f=d.length-1;"\r"===d[f-1]&&(f-=1),l.beforeAllowingIndentation({lineCheckStr:i(t),source:u,index:u.length,err(s){if(r.fix){const s=t.raws;if("string"!=typeof s.between)return;if(e.startsWith("always")){const e=s.between.search(/\s+$/);return void(e>=0?t.raws.between=s.between.slice(0,e)+r.newline+s.between.slice(e):s.between+=r.newline)}if(e.startsWith("never"))return void(s.between=s.between.replace(/\s*$/,""))}a({message:s,node:t,index:f,result:c,ruleName:p})}})}u(c,p,{actual:e,possible:["always","always-single-line","never-single-line","always-multi-line","never-multi-line"]})&&(t.walkRules(d),t.walkAtRules(d))}};f.ruleName=p,f.messages=d,t.exports=f},{"../../utils/beforeBlockString":353,"../../utils/blockString":354,"../../utils/hasBlock":375,"../../utils/hasEmptyBlock":376,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445}],169:[(e,t,r)=>{const s=e("../../utils/beforeBlockString"),i=e("../../utils/blockString"),n=e("../../utils/hasBlock"),o=e("../../utils/hasEmptyBlock"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),c=e("../../utils/whitespaceChecker"),p="block-opening-brace-space-after",d=l(p,{expectedAfter:()=>'Expected single space after "{"',rejectedAfter:()=>'Unexpected whitespace after "{"',expectedAfterSingleLine:()=>'Expected single space after "{" of a single-line block',rejectedAfterSingleLine:()=>'Unexpected whitespace after "{" of a single-line block',expectedAfterMultiLine:()=>'Expected single space after "{" of a multi-line block',rejectedAfterMultiLine:()=>'Unexpected whitespace after "{" of a multi-line block'}),f=(e,t,r)=>{const l=c("space",e,d);return(t,c)=>{function d(t){n(t)&&!o(t)&&l.after({source:i(t),index:0,err(i){if(r.fix){const r=t.first;if(null==r)return;if(e.startsWith("always"))return void(r.raws.before=" ");if(e.startsWith("never"))return void(r.raws.before="")}a({message:i,node:t,index:s(t,{noRawBefore:!0}).length+1,result:c,ruleName:p})}})}u(c,p,{actual:e,possible:["always","never","always-single-line","never-single-line","always-multi-line","never-multi-line"]})&&(t.walkRules(d),t.walkAtRules(d))}};f.ruleName=p,f.messages=d,t.exports=f},{"../../utils/beforeBlockString":353,"../../utils/blockString":354,"../../utils/hasBlock":375,"../../utils/hasEmptyBlock":376,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445}],170:[(e,t,r)=>{const s=e("../../utils/beforeBlockString"),i=e("../../utils/blockString"),n=e("../../utils/hasBlock"),o=e("../../utils/hasEmptyBlock"),a=e("../../utils/optionsMatches"),l=e("../../utils/report"),u=e("../../utils/ruleMessages"),c=e("../../utils/validateOptions"),p=e("../../utils/whitespaceChecker"),{isRegExp:d,isString:f}=e("../../utils/validateTypes"),h="block-opening-brace-space-before",m=u(h,{expectedBefore:()=>'Expected single space before "{"',rejectedBefore:()=>'Unexpected whitespace before "{"',expectedBeforeSingleLine:()=>'Expected single space before "{" of a single-line block',rejectedBeforeSingleLine:()=>'Unexpected whitespace before "{" of a single-line block',expectedBeforeMultiLine:()=>'Expected single space before "{" of a multi-line block',rejectedBeforeMultiLine:()=>'Unexpected whitespace before "{" of a multi-line block'}),g=(e,t,r)=>{const u=p("space",e,m);return(p,m)=>{function g(c){if(!n(c)||o(c))return;if("atrule"===c.type&&a(t,"ignoreAtRules",c.name))return;if("rule"===c.type&&a(t,"ignoreSelectors",c.selector))return;const p=s(c),d=s(c,{noRawBefore:!0});let f=d.length-1;"\r"===d[f-1]&&(f-=1),u.before({source:p,index:p.length,lineCheckStr:i(c),err(t){if(r.fix){if(e.startsWith("always"))return void(c.raws.between=" ");if(e.startsWith("never"))return void(c.raws.between="")}l({message:t,node:c,index:f,result:m,ruleName:h})}})}c(m,h,{actual:e,possible:["always","never","always-single-line","never-single-line","always-multi-line","never-multi-line"]},{actual:t,possible:{ignoreAtRules:[f,d],ignoreSelectors:[f,d]},optional:!0})&&(p.walkRules(g),p.walkAtRules(g))}};g.ruleName=h,g.messages=m,t.exports=g},{"../../utils/beforeBlockString":353,"../../utils/blockString":354,"../../utils/hasBlock":375,"../../utils/hasEmptyBlock":376,"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"../../utils/whitespaceChecker":445}],171:[(e,t,r)=>{const s=e("postcss-value-parser"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getDeclarationValue"),o=e("../../utils/isStandardSyntaxColorFunction"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/setDeclarationValue"),{isValueFunction:c}=e("../../utils/typeGuards"),p=e("../../utils/validateOptions"),d="color-function-notation",f=l(d,{expected:e=>`Expected ${e} color-function notation`}),h=new Set(["rgba","hsla"]),m=new Set(["rgb","rgba","hsl","hsla"]),g=(e,t,r)=>(t,l)=>{p(l,d,{actual:e,possible:["modern","legacy"]})&&t.walkDecls(t=>{let p=!1;const g=s(n(t));g.walk(s=>{if(!c(s))return;if(!o(s))return;const{value:n,sourceIndex:u,nodes:g}=s;if(m.has(n.toLowerCase())&&("modern"!==e||b(s))&&("legacy"!==e||!b(s))){if(r.fix&&"modern"===e){let e=0;return s.nodes=g.map(t=>(w(t)&&(e<2?(t.type="space",t.value=y(t.after),e++):(t.value="/",t.before=y(t.before),t.after=y(t.after))),t)),h.has(s.value.toLowerCase())&&(s.value=s.value.slice(0,-1)),void(p=!0)}a({message:f.expected(e),node:t,index:i(t)+u,result:l,ruleName:d})}}),p&&u(t,g.toString())})};function y(e){return""!==e?e:" "}function w(e){return"div"===e.type&&","===e.value}function b(e){return e.nodes&&e.nodes.some(e=>w(e))}g.ruleName=d,g.messages=f,t.exports=g},{"../../utils/declarationValueIndex":359,"../../utils/getDeclarationValue":366,"../../utils/isStandardSyntaxColorFunction":409,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/setDeclarationValue":438,"../../utils/typeGuards":440,"../../utils/validateOptions":442,"postcss-value-parser":83}],172:[(e,t,r)=>{const s=e("../../utils/declarationValueIndex"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("postcss-value-parser"),l="color-hex-alpha",u=n(l,{expected:e=>`Expected alpha channel in "${e}"`,unexpected:e=>`Unexpected alpha channel in "${e}"`}),c=/^#(?:[\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$/i,p=e=>(t,r)=>{o(r,l,{actual:e,possible:["always","never"]})&&t.walkDecls(t=>{a(t.value).walk(n=>{if((({type:e,value:t})=>"function"===e&&"url"===t)(n))return!1;if(!(({type:e,value:t})=>"word"===e&&c.test(t))(n))return;const{value:o}=n;"always"===e&&d(o)||("never"!==e||d(o))&&i({message:"never"===e?u.unexpected(o):u.expected(o),node:t,index:s(t)+n.sourceIndex,result:r,ruleName:l})})})};function d(e){return 5===e.length||9===e.length}p.ruleName=l,p.messages=u,t.exports=p},{"../../utils/declarationValueIndex":359,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"postcss-value-parser":83}],173:[(e,t,r)=>{const s=e("postcss-value-parser"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getDeclarationValue"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/setDeclarationValue"),u=e("../../utils/validateOptions"),c="color-hex-case",p=a(c,{expected:(e,t)=>`Expected "${e}" to be "${t}"`}),d=/^#[0-9A-Za-z]+/,f=new Set(["url"]),h=(e,t,r)=>(t,a)=>{u(a,c,{actual:e,possible:["lower","upper"]})&&t.walkDecls(t=>{const u=s(n(t));let h=!1;u.walk(s=>{const{value:n}=s;if((({type:e,value:t})=>"function"===e&&f.has(t.toLowerCase()))(s))return!1;if(!(({type:e,value:t})=>"word"===e&&d.test(t))(s))return;const l="lower"===e?n.toLowerCase():n.toUpperCase();return n!==l?r.fix?(s.value=l,void(h=!0)):void o({message:p.expected(n,l),node:t,index:i(t)+s.sourceIndex,result:a,ruleName:c}):void 0}),h&&l(t,u.toString())})};h.ruleName=c,h.messages=p,t.exports=h},{"../../utils/declarationValueIndex":359,"../../utils/getDeclarationValue":366,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/setDeclarationValue":438,"../../utils/validateOptions":442,"postcss-value-parser":83}],174:[(e,t,r)=>{const s=e("postcss-value-parser"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getDeclarationValue"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/setDeclarationValue"),u=e("../../utils/validateOptions"),c="color-hex-length",p=a(c,{expected:(e,t)=>`Expected "${e}" to be "${t}"`}),d=/^#[0-9A-Za-z]+/,f=new Set(["url"]),h=(e,t,r)=>(t,a)=>{u(a,c,{actual:e,possible:["short","long"]})&&t.walkDecls(t=>{const u=s(n(t));let h=!1;u.walk(s=>{const{value:n}=s;if((({type:e,value:t})=>"function"===e&&f.has(t.toLowerCase()))(s))return!1;if(!(({type:e,value:t})=>"word"===e&&d.test(t))(s))return;if("long"===e&&4!==n.length&&5!==n.length)return;if("short"===e&&(n.length<6||(m=(m=n).toLowerCase())[1]!==m[2]||m[3]!==m[4]||m[5]!==m[6]||7!==m.length&&(9!==m.length||m[7]!==m[8])))return;const l=("long"===e?function(e){let t="#";for(let r=1;r{const{colord:i,extend:n}=e("colord"),o=e("postcss-value-parser");function a(e){if(!(e=e.toLowerCase()).startsWith("hwb(")||!e.endsWith(")")||e.includes("/"))return null;const[t,r="",s="",n,...o]=e.slice(4,-1).split(",");if(!t.trim()||!r.trim()||!s.trim()||o.length>0)return null;const a=i(`hwb(${t} ${r} ${s}${n?` / ${n}`:""})`);return a.isValid()?a.rgba:null}function l(e){if(!(e=e.toLowerCase()).startsWith("gray(")||!e.endsWith(")"))return null;const[r,s,...n]=e.slice(5,-1).split(",");if(n.length>0)return null;const a=o.unit(r.trim());if(!a||!["","%"].includes(a.unit))return null;let l={l:Number(a.number),a:0,b:0};if(s){const e=o.unit(s.trim());if(!e||!["","%"].includes(e.unit))return null;l=t({},l,{alpha:Number(e.number)/(e.unit?100:1)})}return i(l).rgba}n([e("colord/plugins/names"),e("colord/plugins/hwb"),e("colord/plugins/lab"),e("colord/plugins/lch"),(e,t)=>{t.string.push([a,"hwb-with-comma"])},(e,t)=>{t.string.push([l,"gray"])}]),r.exports={colord:i}},{colord:10,"colord/plugins/hwb":11,"colord/plugins/lab":12,"colord/plugins/lch":13,"colord/plugins/names":14,"postcss-value-parser":83}],176:[(e,t,r)=>{const s=e("../../utils/declarationValueIndex"),i=e("../../utils/isStandardSyntaxFunction"),n=e("../../utils/isStandardSyntaxValue"),o=e("../../utils/optionsMatches"),a=e("../../reference/propertySets"),l=e("../../utils/report"),u=e("../../utils/ruleMessages"),c=e("../../utils/validateOptions"),p=e("postcss-value-parser"),{isRegExp:d,isString:f}=e("../../utils/validateTypes"),{colord:h}=e("./colordUtils"),m="color-named",g=u(m,{expected:(e,t)=>`Expected "${t}" to be "${e}"`,rejected:e=>`Unexpected named color "${e}"`}),y=new Set(["word","function"]),w=(e,t)=>(r,u)=>{function w(e,t,r){l({result:u,ruleName:m,message:e,node:t,index:r})}c(u,m,{actual:e,possible:["never","always-where-possible"]},{actual:t,possible:{ignoreProperties:[f,d],ignore:["inside-function"]},optional:!0})&&r.walkDecls(r=>{a.acceptCustomIdents.has(r.prop)||o(t,"ignoreProperties",r.prop)||p(r.value).walk(a=>{const l=a.value,u=a.type,c=a.sourceIndex;if(o(t,"ignore","inside-function")&&"function"===u)return!1;if(!i(a))return!1;if(!n(l))return;if(!y.has(u))return;if("never"===e&&"word"===u&&/^[a-z]+$/iu.test(l)&&"transparent"!==l.toLowerCase()&&h(l).isValid())return void w(g.rejected(l),r,s(r)+c);if("always-where-possible"!==e)return;let d=null;if("function"===u)d=p.stringify(a).replace(/\s*([,/()])\s*/g,"$1").replace(/\s{2,}/g," ");else{if("word"!==u||!l.startsWith("#"))return;d=l}const f=h(d);if(!f.isValid())return;const m=f.toName();m&&"transparent"!==m.toLowerCase()&&w(g.expected(m,d),r,s(r)+c)})})};w.ruleName=m,w.messages=g,t.exports=w},{"../../reference/propertySets":144,"../../utils/declarationValueIndex":359,"../../utils/isStandardSyntaxFunction":413,"../../utils/isStandardSyntaxValue":421,"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"./colordUtils":175,"postcss-value-parser":83}],177:[(e,t,r)=>{const s=e("postcss-value-parser"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getDeclarationValue"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u="color-no-hex",c=a(u,{rejected:e=>`Unexpected hex color "${e}"`}),p=/^#[0-9A-Za-z]+/,d=new Set(["url"]),f=e=>(t,r)=>{l(r,u,{actual:e})&&t.walkDecls(e=>{s(n(e)).walk(t=>{if((({type:e,value:t})=>"function"===e&&d.has(t.toLowerCase()))(t))return!1;(({type:e,value:t})=>"word"===e&&p.test(t))(t)&&o({message:c.rejected(t.value),node:e,index:i(e)+t.sourceIndex,result:r,ruleName:u})})})};f.ruleName=u,f.messages=c,t.exports=f},{"../../utils/declarationValueIndex":359,"../../utils/getDeclarationValue":366,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"postcss-value-parser":83}],178:[(e,t,r)=>{const s=e("../../utils/declarationValueIndex"),i=e("../../utils/isStandardSyntaxHexColor"),n=e("../../utils/isValidHex"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("postcss-value-parser"),c="color-no-invalid-hex",p=a(c,{rejected:e=>`Unexpected invalid hex color "${e}"`}),d=e=>(t,r)=>{l(r,c,{actual:e})&&t.walkDecls(e=>{i(e.value)&&u(e.value).walk(({value:t,type:i,sourceIndex:a})=>{if("function"===i&&t.endsWith("url"))return!1;if("word"!==i)return;const l=/^#[0-9A-Za-z]+/.exec(t);if(!l)return;const u=l[0];n(u)||o({message:p.rejected(u),node:e,index:s(e)+a,result:r,ruleName:c})})})};d.ruleName=c,d.messages=p,t.exports=d},{"../../utils/declarationValueIndex":359,"../../utils/isStandardSyntaxHexColor":414,"../../utils/isValidHex":423,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"postcss-value-parser":83}],179:[(e,t,r)=>{const s=e("../../utils/addEmptyLineBefore"),i=e("../../utils/hasEmptyLine"),n=e("../../utils/isAfterComment"),o=e("../../utils/isFirstNested"),a=e("../../utils/isFirstNodeOfRoot"),l=e("../../utils/isSharedLineComment"),u=e("../../utils/isStandardSyntaxComment"),c=e("../../utils/optionsMatches"),p=e("../../utils/removeEmptyLinesBefore"),d=e("../../utils/report"),f=e("../../utils/ruleMessages"),h=e("../../utils/validateOptions"),{isRegExp:m,isString:g}=e("../../utils/validateTypes"),y="comment-empty-line-before",w=f(y,{expected:"Expected empty line before comment",rejected:"Unexpected empty line before comment"}),b=(e,t,r)=>(f,b)=>{h(b,y,{actual:e,possible:["always","never"]},{actual:t,possible:{except:["first-nested"],ignore:["stylelint-commands","after-comment"],ignoreComments:[g,m]},optional:!0})&&f.walkComments(f=>{if(a(f))return;if(f.text.startsWith("stylelint-")&&c(t,"ignore","stylelint-commands"))return;if(c(t,"ignore","after-comment")&&n(f))return;if(c(t,"ignoreComments",f.text))return;if(l(f))return;if(!u(f))return;const h=(()=>!(c(t,"except","first-nested")&&o(f)||"always"!==e))(),m=f.raws.before||"";if(h===i(m))return;if(r.fix){if("string"!=typeof r.newline)return;return void(h?s(f,r.newline):p(f,r.newline))}const g=h?w.expected:w.rejected;d({message:g,node:f,result:b,ruleName:y})})};b.ruleName=y,b.messages=w,t.exports=b},{"../../utils/addEmptyLineBefore":350,"../../utils/hasEmptyLine":377,"../../utils/isAfterComment":383,"../../utils/isFirstNested":395,"../../utils/isFirstNodeOfRoot":396,"../../utils/isSharedLineComment":406,"../../utils/isStandardSyntaxComment":411,"../../utils/optionsMatches":429,"../../utils/removeEmptyLinesBefore":434,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443}],180:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxComment"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a="comment-no-empty",l=n(a,{rejected:"Unexpected empty comment"}),u=e=>(t,r)=>{o(r,a,{actual:e})&&t.walkComments(e=>{s(e)&&(e.text&&0!==e.text.length||i({message:l.rejected,node:e,result:r,ruleName:a}))})};u.ruleName=a,u.messages=l,t.exports=u},{"../../utils/isStandardSyntaxComment":411,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442}],181:[(e,t,r)=>{const s=e("../../utils/report"),i=e("../../utils/ruleMessages"),n=e("../../utils/validateOptions"),{isRegExp:o,isString:a}=e("../../utils/validateTypes"),l="comment-pattern",u=i(l,{expected:e=>`Expected comment to match pattern "${e}"`}),c=e=>(t,r)=>{if(!n(r,l,{actual:e,possible:[o,a]}))return;const i=a(e)?new RegExp(e):e;t.walkComments(t=>{const n=t.text;i.test(n)||s({message:u.expected(e),node:t,result:r,ruleName:l})})};c.ruleName=l,c.messages=u,t.exports=c},{"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443}],182:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxComment"),i=e("../../utils/isWhitespace"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),l="comment-whitespace-inside",u=o(l,{expectedOpening:'Expected whitespace after "/*"',rejectedOpening:'Unexpected whitespace after "/*"',expectedClosing:'Expected whitespace before "*/"',rejectedClosing:'Unexpected whitespace before "*/"'}),c=(e,t,r)=>(t,o)=>{a(o,l,{actual:e,possible:["always","never"]})&&t.walkComments(t=>{if(!s(t))return;const a=t.toString(),c=a.substr(0,4);if(/^\/\*[#!]\s/.test(c))return;const p=a.match(/(^\/\*+)(\s)?/);if(null==p)throw new Error(`Invalid comment: "${a}"`);const d=a.match(/(\s)?(\*+\/)$/);if(null==d)throw new Error(`Invalid comment: "${a}"`);const f=p[1],h=p[2]||"",m=d[1]||"",g=d[2];function y(s,i){var a,u;r.fix?"never"===e?(t.raws.left="",t.raws.right="",t.text=t.text.replace(/^(\*+)(\s+)?/,"$1").replace(/(\s+)?(\*+)$/,"$2")):(h||((u=t).text.startsWith("*")?u.text=u.text.replace(/^(\*+)/,"$1 "):u.raws.left=" "),m||("*"===(a=t).text[a.text.length-1]?a.text=a.text.replace(/(\*+)$/," $1"):a.raws.right=" ")):n({message:s,index:i,result:o,ruleName:l,node:t})}"never"===e&&""!==h&&y(u.rejectedOpening,f.length),"always"!==e||i(h)||y(u.expectedOpening,f.length),"never"===e&&""!==m&&y(u.rejectedClosing,t.toString().length-g.length-1),"always"!==e||i(m)||y(u.expectedClosing,t.toString().length-g.length-1)})};c.ruleName=l,c.messages=u,t.exports=c},{"../../utils/isStandardSyntaxComment":411,"../../utils/isWhitespace":425,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442}],183:[(e,t,r)=>{const s=e("../../utils/containsString"),i=e("../../utils/matchesStringOrRegExp"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),{isRegExp:l,isString:u}=e("../../utils/validateTypes"),c="comment-word-disallowed-list",p=o(c,{rejected:e=>`Unexpected word matching pattern "${e}"`}),d=e=>(t,r)=>{a(r,c,{actual:e,possible:[u,l]})&&t.walkComments(t=>{const o=t.text;if("/*# "===t.toString().substr(0,4))return;const a=i(o,e)||s(o,e);a&&n({message:p.rejected(a.pattern),node:t,result:r,ruleName:c})})};d.primaryOptionArray=!0,d.ruleName=c,d.messages=p,t.exports=d},{"../../utils/containsString":358,"../../utils/matchesStringOrRegExp":426,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443}],184:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),{isRegExp:a,isString:l}=e("../../utils/validateTypes"),u="custom-media-pattern",c=n(u,{expected:e=>`Expected custom media query name to match pattern "${e}"`}),p=e=>(t,r)=>{if(!o(r,u,{actual:e,possible:[a,l]}))return;const n=l(e)?new RegExp(e):e;t.walkAtRules(t=>{if("custom-media"!==t.name.toLowerCase())return;const o=t.params.match(/^--(\S+)\b/);if(null==o)throw new Error(`Unexpected at-rule params: "${t.params}"`);const a=o[1];n.test(a)||i({message:c.expected(e),node:t,index:s(t),result:r,ruleName:u})})};p.ruleName=u,p.messages=c,t.exports=p},{"../../utils/atRuleParamIndex":352,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443}],185:[(e,t,r)=>{const s=e("../../utils/addEmptyLineBefore"),i=e("../../utils/blockString"),n=e("../../utils/getPreviousNonSharedLineCommentNode"),o=e("../../utils/hasEmptyLine"),a=e("../../utils/isAfterComment"),l=e("../../utils/isCustomProperty"),u=e("../../utils/isFirstNested"),c=e("../../utils/isSingleLineString"),p=e("../../utils/isStandardSyntaxDeclaration"),d=e("../../utils/optionsMatches"),f=e("../../utils/removeEmptyLinesBefore"),h=e("../../utils/report"),m=e("../../utils/ruleMessages"),g=e("../../utils/validateOptions"),{isAtRule:y,isDeclaration:w,isRule:b}=e("../../utils/typeGuards"),x="custom-property-empty-line-before",v=m(x,{expected:"Expected empty line before custom property",rejected:"Unexpected empty line before custom property"}),k=(e,t,r)=>(m,k)=>{g(k,x,{actual:e,possible:["always","never"]},{actual:t,possible:{except:["first-nested","after-comment","after-custom-property"],ignore:["after-comment","first-nested","inside-single-line-block"]},optional:!0})&&m.walkDecls(m=>{const g=m.prop,S=m.parent;if(!p(m))return;if(!l(g))return;if(d(t,"ignore","after-comment")&&a(m))return;if(d(t,"ignore","first-nested")&&u(m))return;if(d(t,"ignore","inside-single-line-block")&&null!=S&&(y(S)||b(S))&&c(i(S)))return;let O="always"===e;if((d(t,"except","first-nested")&&u(m)||d(t,"except","after-comment")&&a(m)||d(t,"except","after-custom-property")&&(e=>{const t=n(m);return null!=t&&w(t)&&l(t.prop)})())&&(O=!O),O===o(m.raws.before))return;if(r.fix){if(null==r.newline)return;return void(O?s(m,r.newline):f(m,r.newline))}const C=O?v.expected:v.rejected;h({message:C,node:m,result:k,ruleName:x})})};k.ruleName=x,k.messages=v,t.exports=k},{"../../utils/addEmptyLineBefore":350,"../../utils/blockString":354,"../../utils/getPreviousNonSharedLineCommentNode":371,"../../utils/hasEmptyLine":377,"../../utils/isAfterComment":383,"../../utils/isCustomProperty":393,"../../utils/isFirstNested":395,"../../utils/isSingleLineString":407,"../../utils/isStandardSyntaxDeclaration":412,"../../utils/optionsMatches":429,"../../utils/removeEmptyLinesBefore":434,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/typeGuards":440,"../../utils/validateOptions":442}],186:[(e,t,r)=>{const s=e("postcss-value-parser"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/isCustomProperty"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u="custom-property-no-missing-var-function",c=a(u,{rejected:e=>`Unexpected missing var function for "${e}"`}),p=e=>(t,r)=>{if(!l(r,u,{actual:e}))return;const a=new Set;t.walkAtRules(/^property$/i,e=>{a.add(e.params)}),t.walkDecls(({prop:e})=>{n(e)&&a.add(e)}),t.walkDecls(e=>{const{value:t}=e;s(t).walk(t=>!(({type:e,value:t})=>"function"===e&&"var"===t)(t)&&((({type:e,value:t})=>"word"===e&&t.startsWith("--"))(t)&&a.has(t.value)?(o({message:c.rejected(t.value),node:e,index:i(e)+t.sourceIndex,result:r,ruleName:u}),!1):void 0))})};p.ruleName=u,p.messages=c,t.exports=p},{"../../utils/declarationValueIndex":359,"../../utils/isCustomProperty":393,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"postcss-value-parser":83}],187:[(e,t,r)=>{const s=e("../../utils/isCustomProperty"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),{isRegExp:a,isString:l}=e("../../utils/validateTypes"),u="custom-property-pattern",c=n(u,{expected:e=>`Expected custom property name to match pattern "${e}"`}),p=e=>(t,r)=>{if(!o(r,u,{actual:e,possible:[a,l]}))return;const n=l(e)?new RegExp(e):e;t.walkDecls(t=>{const o=t.prop;s(o)&&(n.test(o.slice(2))||i({message:c.expected(e),node:t,result:r,ruleName:u}))})};p.ruleName=u,p.messages=c,t.exports=p},{"../../utils/isCustomProperty":393,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443}],188:[(e,t,r)=>{const s=e("../declarationBangSpaceChecker"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getDeclarationValue"),o=e("../../utils/ruleMessages"),a=e("../../utils/setDeclarationValue"),l=e("../../utils/validateOptions"),u=e("../../utils/whitespaceChecker"),c="declaration-bang-space-after",p=o(c,{expectedAfter:()=>'Expected single space after "!"',rejectedAfter:()=>'Unexpected whitespace after "!"'}),d=(e,t,r)=>{const o=u("space",e,p);return(t,u)=>{l(u,c,{actual:e,possible:["always","never"]})&&s({root:t,result:u,locationChecker:o.after,checkedRuleName:c,fix:r.fix?(t,r)=>{let s=r-i(t);const o=n(t);let l,u;if(s{a(t,e)});else{if(!t.important)return!1;l=t.raws.important||" !important",s-=o.length,u=(e=>{t.raws.important=e})}const c=l.slice(0,s+1),p=l.slice(s+1);return"always"===e?(u(c+p.replace(/^\s*/," ")),!0):"never"===e&&(u(c+p.replace(/^\s*/,"")),!0)}:null})}};d.ruleName=c,d.messages=p,t.exports=d},{"../../utils/declarationValueIndex":359,"../../utils/getDeclarationValue":366,"../../utils/ruleMessages":436,"../../utils/setDeclarationValue":438,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../declarationBangSpaceChecker":209}],189:[(e,t,r)=>{const s=e("../declarationBangSpaceChecker"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getDeclarationValue"),o=e("../../utils/ruleMessages"),a=e("../../utils/setDeclarationValue"),l=e("../../utils/validateOptions"),u=e("../../utils/whitespaceChecker"),c="declaration-bang-space-before",p=o(c,{expectedBefore:()=>'Expected single space before "!"',rejectedBefore:()=>'Unexpected whitespace before "!"'}),d=(e,t,r)=>{const o=u("space",e,p);return(t,u)=>{l(u,c,{actual:e,possible:["always","never"]})&&s({root:t,result:u,locationChecker:o.before,checkedRuleName:c,fix:r.fix?(t,r)=>{let s=r-i(t);const o=n(t);let l,u;if(s{a(t,e)});else{if(!t.important)return!1;l=t.raws.important||" !important",s-=o.length,u=(e=>{t.raws.important=e})}const c=l.slice(0,s),p=l.slice(s);return"always"===e?(u(c.replace(/\s*$/,"")+" "+p),!0):"never"===e&&(u(c.replace(/\s*$/,"")+p),!0)}:null})}};d.ruleName=c,d.messages=p,t.exports=d},{"../../utils/declarationValueIndex":359,"../../utils/getDeclarationValue":366,"../../utils/ruleMessages":436,"../../utils/setDeclarationValue":438,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../declarationBangSpaceChecker":209}],190:[(e,t,r)=>{const s=e("../../utils/eachDeclarationBlock"),i=e("../../utils/isCustomProperty"),n=e("../../utils/isStandardSyntaxProperty"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u="declaration-block-no-duplicate-custom-properties",c=a(u,{rejected:e=>`Unexpected duplicate "${e}"`}),p=e=>(t,r)=>{l(r,u,{actual:e})&&s(t,e=>{const t=new Set;e(e=>{const s=e.prop;n(s)&&i(s)&&(t.has(s)?o({message:c.rejected(s),node:e,result:r,ruleName:u}):t.add(s))})})};p.ruleName=u,p.messages=c,t.exports=p},{"../../utils/eachDeclarationBlock":360,"../../utils/isCustomProperty":393,"../../utils/isStandardSyntaxProperty":416,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442}],191:[(e,t,r)=>{const s=e("../../utils/eachDeclarationBlock"),i=e("../../utils/isCustomProperty"),n=e("../../utils/isStandardSyntaxProperty"),o=e("../../utils/optionsMatches"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),{isString:c}=e("../../utils/validateTypes"),p=e("../../utils/vendor"),d="declaration-block-no-duplicate-properties",f=l(d,{rejected:e=>`Unexpected duplicate "${e}"`}),h=(e,t)=>(r,l)=>{if(!u(l,d,{actual:e},{actual:t,possible:{ignore:["consecutive-duplicates","consecutive-duplicates-with-different-values","consecutive-duplicates-with-same-prefixless-values"],ignoreProperties:[c]},optional:!0}))return;const h=o(t,"ignore","consecutive-duplicates"),m=o(t,"ignore","consecutive-duplicates-with-different-values"),g=o(t,"ignore","consecutive-duplicates-with-same-prefixless-values");s(r,e=>{const r=[],s=[];e(e=>{const u=e.prop,c=e.value;if(!n(u))return;if(i(u))return;if(o(t,"ignoreProperties",u))return;if("src"===u.toLowerCase())return;const y=r.indexOf(u.toLowerCase());if(-1!==y){if(m||g){if(y!==r.length-1)return void a({message:f.rejected(u),node:e,result:l,ruleName:d});const t=s[y];return g&&p.unprefixed(c)!==p.unprefixed(t)?void a({message:f.rejected(u),node:e,result:l,ruleName:d}):c===t?void a({message:f.rejected(u),node:e,result:l,ruleName:d}):void 0}if(h&&y===r.length-1)return;a({message:f.rejected(u),node:e,result:l,ruleName:d})}r.push(u.toLowerCase()),s.push(c.toLowerCase())})})};h.ruleName=d,h.messages=f,t.exports=h},{"../../utils/eachDeclarationBlock":360,"../../utils/isCustomProperty":393,"../../utils/isStandardSyntaxProperty":416,"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"../../utils/vendor":444}],192:[(e,t,r)=>{const s=e("../../utils/arrayEqual"),i=e("../../utils/eachDeclarationBlock"),n=e("../../utils/optionsMatches"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../reference/shorthandData"),u=e("../../utils/validateOptions"),c=e("../../utils/vendor"),{isRegExp:p,isString:d}=e("../../utils/validateTypes"),f="declaration-block-no-redundant-longhand-properties",h=a(f,{expected:e=>`Expected shorthand property "${e}"`}),m=(e,t)=>(r,a)=>{if(!u(a,f,{actual:e},{actual:t,possible:{ignoreShorthands:[d,p]},optional:!0}))return;const m=Object.entries(l).reduce((e,[r,s])=>{if(n(t,"ignoreShorthands",r))return e;for(const t of s)(e[t]||(e[t]=[])).push(r);return e},{});i(r,e=>{const t={};e(e=>{const r=e.prop.toLowerCase(),i=c.unprefixed(r),n=c.prefix(r),u=m[i];if(u)for(const i of u){const u=n+i;t[u]||(t[u]=[]),t[u].push(r);const c=l[i].map(e=>n+e);s(c.sort(),t[u].sort())&&o({ruleName:f,result:a,node:e,message:h.expected(u)})}})})};m.ruleName=f,m.messages=h,t.exports=m},{"../../reference/shorthandData":145,"../../utils/arrayEqual":351,"../../utils/eachDeclarationBlock":360,"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"../../utils/vendor":444}],193:[(e,t,r)=>{const s=e("../../utils/eachDeclarationBlock"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../reference/shorthandData"),a=e("../../utils/validateOptions"),l=e("../../utils/vendor"),u="declaration-block-no-shorthand-property-overrides",c=n(u,{rejected:(e,t)=>`Unexpected shorthand "${e}" after "${t}"`}),p=e=>(t,r)=>{a(r,u,{actual:e})&&s(t,e=>{const t={};e(e=>{const s=e.prop,n=l.unprefixed(s),a=l.prefix(s).toLowerCase(),p=o[n.toLowerCase()];if(p)for(const n of p)Object.prototype.hasOwnProperty.call(t,a+n)&&i({ruleName:u,result:r,node:e,message:c.rejected(s,t[a+n])});else t[s.toLowerCase()]=s})})};p.ruleName=u,p.messages=c,t.exports=p},{"../../reference/shorthandData":145,"../../utils/eachDeclarationBlock":360,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/vendor":444}],194:[(e,t,r)=>{const s=e("../../utils/blockString"),i=e("../../utils/nextNonCommentNode"),n=e("../../utils/rawNodeString"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("../../utils/whitespaceChecker"),{isAtRule:c,isRule:p}=e("../../utils/typeGuards"),d="declaration-block-semicolon-newline-after",f=a(d,{expectedAfter:()=>'Expected newline after ";"',expectedAfterMultiLine:()=>'Expected newline after ";" in a multi-line declaration block',rejectedAfterMultiLine:()=>'Unexpected newline after ";" in a multi-line declaration block'}),h=(e,t,r)=>{const a=u("newline",e,f);return(t,u)=>{l(u,d,{actual:e,possible:["always","always-multi-line","never-multi-line"]})&&t.walkDecls(t=>{const l=t.parent;if(!l)throw new Error("A parent node must be present");if(!c(l)&&!p(l))return;if(!l.raws.semicolon&&l.last===t)return;const f=t.next();if(!f)return;const h=i(f);h&&a.afterOneOnly({source:n(h),index:-1,lineCheckStr:s(l),err(s){if(r.fix){if(e.startsWith("always")){const e=h.raws.before.search(/\r?\n/);return void(h.raws.before=e>=0?h.raws.before.slice(e):r.newline+h.raws.before)}if("never-multi-line"===e)return void(h.raws.before="")}o({message:s,node:t,index:t.toString().length+1,result:u,ruleName:d})}})})}};h.ruleName=d,h.messages=f,t.exports=h},{"../../utils/blockString":354,"../../utils/nextNonCommentNode":427,"../../utils/rawNodeString":432,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/typeGuards":440,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445}],195:[(e,t,r)=>{const s=e("../../utils/blockString"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/whitespaceChecker"),{isAtRule:l,isRule:u}=e("../../utils/typeGuards"),c="declaration-block-semicolon-newline-before",p=n(c,{expectedBefore:()=>'Expected newline before ";"',expectedBeforeMultiLine:()=>'Expected newline before ";" in a multi-line declaration block',rejectedBeforeMultiLine:()=>'Unexpected whitespace before ";" in a multi-line declaration block'}),d=e=>{const t=a("newline",e,p);return(r,n)=>{o(n,c,{actual:e,possible:["always","always-multi-line","never-multi-line"]})&&r.walkDecls(e=>{const r=e.parent;if(!r)throw new Error("A parent node must be present");if(!l(r)&&!u(r))return;if(!r.raws.semicolon&&r.last===e)return;const o=e.toString();t.beforeAllowingIndentation({source:o,index:o.length,lineCheckStr:s(r),err(t){i({message:t,node:e,index:e.toString().length-1,result:n,ruleName:c})}})})}};d.ruleName=c,d.messages=p,t.exports=d},{"../../utils/blockString":354,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/typeGuards":440,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445}],196:[(e,t,r)=>{const s=e("../../utils/blockString"),i=e("../../utils/rawNodeString"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),l=e("../../utils/whitespaceChecker"),{isAtRule:u,isRule:c}=e("../../utils/typeGuards"),p="declaration-block-semicolon-space-after",d=o(p,{expectedAfter:()=>'Expected single space after ";"',rejectedAfter:()=>'Unexpected whitespace after ";"',expectedAfterSingleLine:()=>'Expected single space after ";" in a single-line declaration block',rejectedAfterSingleLine:()=>'Unexpected whitespace after ";" in a single-line declaration block'}),f=(e,t,r)=>{const o=l("space",e,d);return(t,l)=>{a(l,p,{actual:e,possible:["always","never","always-single-line","never-single-line"]})&&t.walkDecls(t=>{const a=t.parent;if(!a)throw new Error("A parent node must be present");if(!u(a)&&!c(a))return;if(!a.raws.semicolon&&a.last===t)return;const d=t.next();d&&o.after({source:i(d),index:-1,lineCheckStr:s(a),err(s){if(r.fix){if(e.startsWith("always"))return void(d.raws.before=" ");if(e.startsWith("never"))return void(d.raws.before="")}n({message:s,node:t,index:t.toString().length+1,result:l,ruleName:p})}})})}};f.ruleName=p,f.messages=d,t.exports=f},{"../../utils/blockString":354,"../../utils/rawNodeString":432,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/typeGuards":440,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445}],197:[(e,t,r)=>{const s=e("../../utils/blockString"),i=e("../../utils/getDeclarationValue"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/setDeclarationValue"),l=e("../../utils/validateOptions"),u=e("../../utils/whitespaceChecker"),{isAtRule:c,isRule:p}=e("../../utils/typeGuards"),d="declaration-block-semicolon-space-before",f=o(d,{expectedBefore:()=>'Expected single space before ";"',rejectedBefore:()=>'Unexpected whitespace before ";"',expectedBeforeSingleLine:()=>'Expected single space before ";" in a single-line declaration block',rejectedBeforeSingleLine:()=>'Unexpected whitespace before ";" in a single-line declaration block'}),h=(e,t,r)=>{const o=u("space",e,f);return(t,u)=>{l(u,d,{actual:e,possible:["always","never","always-single-line","never-single-line"]})&&t.walkDecls(t=>{const l=t.parent;if(!l)throw new Error("A parent node must be present");if(!c(l)&&!p(l))return;if(!l.raws.semicolon&&l.last===t)return;const f=t.toString();o.before({source:f,index:f.length,lineCheckStr:s(l),err(s){if(r.fix){const r=i(t);if(e.startsWith("always"))return void(t.important?t.raws.important=" !important ":a(t,r.replace(/\s*$/," ")));if(e.startsWith("never"))return void(t.raws.important?t.raws.important=t.raws.important.replace(/\s*$/,""):a(t,r.replace(/\s*$/,"")))}n({message:s,node:t,index:t.toString().length-1,result:u,ruleName:d})}})})}};h.ruleName=d,h.messages=f,t.exports=h},{"../../utils/blockString":354,"../../utils/getDeclarationValue":366,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/setDeclarationValue":438,"../../utils/typeGuards":440,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445}],198:[(e,t,r)=>{const s=e("../../utils/beforeBlockString"),i=e("../../utils/blockString"),n=e("../../utils/isSingleLineString"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),{isNumber:u}=e("../../utils/validateTypes"),c="declaration-block-single-line-max-declarations",p=a(c,{expected:e=>`Expected no more than ${e} ${1===e?"declaration":"declarations"}`}),d=e=>(t,r)=>{l(r,c,{actual:e,possible:[u]})&&t.walkRules(t=>{n(i(t))&&t.nodes&&(t.nodes.filter(e=>"decl"===e.type).length<=e||o({message:p.expected(e),node:t,index:s(t,{noRawBefore:!0}).length,result:r,ruleName:c}))})};d.ruleName=c,d.messages=p,t.exports=d},{"../../utils/beforeBlockString":353,"../../utils/blockString":354,"../../utils/isSingleLineString":407,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443}],199:[(e,t,r)=>{const s=e("../../utils/hasBlock"),i=e("../../utils/optionsMatches"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),l="declaration-block-trailing-semicolon",u=o(l,{expected:"Expected a trailing semicolon",rejected:"Unexpected trailing semicolon"}),c=(e,t,r)=>(o,c)=>{function p(s){if(!s.parent)throw new Error("A parent node must be present");const o=s.parent.raws.semicolon;if(i(t,"ignore","single-declaration")&&s.parent.first===s)return;let a;if("always"===e){if(o)return;if(r.fix)return s.parent.raws.semicolon=!0,void("atrule"===s.type&&(s.raws.between="",s.parent.raws.after=" "));a=u.expected}else{if("never"!==e)throw new Error(`Unexpected primary option: "${e}"`);if(!o)return;if(r.fix)return void(s.parent.raws.semicolon=!1);a=u.rejected}n({message:a,node:s,index:s.toString().trim().length-1,result:c,ruleName:l})}a(c,l,{actual:e,possible:["always","never"]},{actual:t,possible:{ignore:["single-declaration"]},optional:!0})&&(o.walkAtRules(e=>{if(!e.parent)throw new Error("A parent node must be present");e.parent!==o&&e===e.parent.last&&(s(e)||p(e))}),o.walkDecls(e=>{if(!e.parent)throw new Error("A parent node must be present");"object"!==e.parent.type&&e===e.parent.last&&p(e)}))};c.ruleName=l,c.messages=u,t.exports=c},{"../../utils/hasBlock":375,"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442}],200:[(e,t,r)=>{const s=e("../../utils/declarationValueIndex"),i=e("../../utils/isStandardSyntaxDeclaration"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),l=e("../../utils/whitespaceChecker"),u="declaration-colon-newline-after",c=o(u,{expectedAfter:()=>'Expected newline after ":"',expectedAfterMultiLine:()=>'Expected newline after ":" with a multi-line declaration'}),p=(e,t,r)=>{const o=l("newline",e,c);return(t,l)=>{a(l,u,{actual:e,possible:["always","always-multi-line"]})&&t.walkDecls(e=>{if(!i(e))return;const t=s(e)+(e.raws.between||"").length-1,a=`${e.toString().slice(0,t)}xxx`;for(let t=0,i=a.length;t{const s=e("../declarationColonSpaceChecker"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/whitespaceChecker"),l="declaration-colon-space-after",u=n(l,{expectedAfter:()=>'Expected single space after ":"',rejectedAfter:()=>'Unexpected whitespace after ":"',expectedAfterSingleLine:()=>'Expected single space after ":" with a single-line declaration'}),c=(e,t,r)=>{const n=a("space",e,u);return(t,a)=>{o(a,l,{actual:e,possible:["always","never","always-single-line"]})&&s({root:t,result:a,locationChecker:n.after,checkedRuleName:l,fix:r.fix?(t,r)=>{const s=r-i(t),n=t.raws.between;if(null==n)throw new Error("`between` must be present");return e.startsWith("always")?(t.raws.between=n.slice(0,s)+n.slice(s).replace(/^:\s*/,": "),!0):"never"===e&&(t.raws.between=n.slice(0,s)+n.slice(s).replace(/^:\s*/,":"),!0)}:null})}};c.ruleName=l,c.messages=u,t.exports=c},{"../../utils/declarationValueIndex":359,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../declarationColonSpaceChecker":210}],202:[(e,t,r)=>{const s=e("../declarationColonSpaceChecker"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/whitespaceChecker"),l="declaration-colon-space-before",u=n(l,{expectedBefore:()=>'Expected single space before ":"',rejectedBefore:()=>'Unexpected whitespace before ":"'}),c=(e,t,r)=>{const n=a("space",e,u);return(t,a)=>{o(a,l,{actual:e,possible:["always","never"]})&&s({root:t,result:a,locationChecker:n.before,checkedRuleName:l,fix:r.fix?(t,r)=>{const s=r-i(t),n=t.raws.between;if(null==n)throw new Error("`between` must be present");return"always"===e?(t.raws.between=n.slice(0,s).replace(/\s*$/," ")+n.slice(s),!0):"never"===e&&(t.raws.between=n.slice(0,s).replace(/\s*$/,"")+n.slice(s),!0)}:null})}};c.ruleName=l,c.messages=u,t.exports=c},{"../../utils/declarationValueIndex":359,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../declarationColonSpaceChecker":210}],203:[(e,t,r)=>{const s=e("../../utils/addEmptyLineBefore"),i=e("../../utils/blockString"),n=e("../../utils/hasEmptyLine"),o=e("../../utils/isAfterComment"),a=e("../../utils/isAfterStandardPropertyDeclaration"),l=e("../../utils/isCustomProperty"),u=e("../../utils/isFirstNested"),c=e("../../utils/isFirstNodeOfRoot"),p=e("../../utils/isSingleLineString"),d=e("../../utils/isStandardSyntaxDeclaration"),f=e("../../utils/optionsMatches"),h=e("../../utils/removeEmptyLinesBefore"),m=e("../../utils/report"),g=e("../../utils/ruleMessages"),y=e("../../utils/validateOptions"),{isAtRule:w,isRule:b,isRoot:x}=e("../../utils/typeGuards"),v="declaration-empty-line-before",k=g(v,{expected:"Expected empty line before declaration",rejected:"Unexpected empty line before declaration"}),S=(e,t,r)=>(g,S)=>{y(S,v,{actual:e,possible:["always","never"]},{actual:t,possible:{except:["first-nested","after-comment","after-declaration"],ignore:["after-comment","after-declaration","first-nested","inside-single-line-block"]},optional:!0})&&g.walkDecls(g=>{const y=g.prop,O=g.parent;if(null==O)return;if(c(g))return;if(!w(O)&&!b(O)&&!x(O))return;if(!d(g))return;if(l(y))return;if(f(t,"ignore","after-comment")&&o(g))return;if(f(t,"ignore","after-declaration")&&a(g))return;if(f(t,"ignore","first-nested")&&u(g))return;if(f(t,"ignore","inside-single-line-block")&&p(i(O)))return;let C="always"===e;if((f(t,"except","first-nested")&&u(g)||f(t,"except","after-comment")&&o(g)||f(t,"except","after-declaration")&&a(g))&&(C=!C),C===n(g.raws.before))return;if(r.fix){if(null==r.newline)return;return void(C?s(g,r.newline):h(g,r.newline))}const A=C?k.expected:k.rejected;m({message:A,node:g,result:S,ruleName:v})})};S.ruleName=v,S.messages=k,t.exports=S},{"../../utils/addEmptyLineBefore":350,"../../utils/blockString":354,"../../utils/hasEmptyLine":377,"../../utils/isAfterComment":383,"../../utils/isAfterStandardPropertyDeclaration":385,"../../utils/isCustomProperty":393,"../../utils/isFirstNested":395,"../../utils/isFirstNodeOfRoot":396,"../../utils/isSingleLineString":407,"../../utils/isStandardSyntaxDeclaration":412,"../../utils/optionsMatches":429,"../../utils/removeEmptyLinesBefore":434,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/typeGuards":440,"../../utils/validateOptions":442}],204:[(e,t,r)=>{const s=e("../../utils/report"),i=e("../../utils/ruleMessages"),n=e("../../utils/validateOptions"),o="declaration-no-important",a=i(o,{rejected:"Unexpected !important"}),l=e=>(t,r)=>{n(r,o,{actual:e})&&t.walkDecls(e=>{e.important&&s({message:a.rejected,node:e,word:"important",result:r,ruleName:o})})};l.ruleName=o,l.messages=a,t.exports=l},{"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442}],205:[(e,t,r)=>{const s=e("../../utils/declarationValueIndex"),i=e("../../utils/getUnitFromValueNode"),n=e("../../utils/matchesStringOrRegExp"),o=e("../../utils/optionsMatches"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),c=e("postcss-value-parser"),p=e("../../utils/vendor"),{isPlainObject:d}=e("is-plain-object"),f="declaration-property-unit-allowed-list",h=l(f,{rejected:(e,t)=>`Unexpected unit "${t}" for property "${e}"`}),m=(e,t)=>(r,l)=>{u(l,f,{actual:e,possible:[d]},{actual:t,possible:{ignore:["inside-function"]},optional:!0})&&r.walkDecls(r=>{const u=r.prop,d=r.value,m=p.unprefixed(u),g=Object.keys(e).find(e=>n(m,e));if(!g)return;const y=e[g];y&&c(d).walk(e=>{if("function"===e.type){if("url"===e.value.toLowerCase())return!1;if(o(t,"ignore","inside-function"))return!1}if("string"===e.type)return;const n=i(e);n&&-1===(n&&y.indexOf(n.toLowerCase()))&&a({message:h.rejected(u,n),node:r,index:s(r)+e.sourceIndex,result:l,ruleName:f})})})};m.ruleName=f,m.messages=h,t.exports=m},{"../../utils/declarationValueIndex":359,"../../utils/getUnitFromValueNode":374,"../../utils/matchesStringOrRegExp":426,"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/vendor":444,"is-plain-object":35,"postcss-value-parser":83}],206:[(e,t,r)=>{const s=e("../../utils/declarationValueIndex"),i=e("../../utils/getUnitFromValueNode"),n=e("../../utils/matchesStringOrRegExp"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("postcss-value-parser"),c=e("../../utils/vendor"),{isPlainObject:p}=e("is-plain-object"),d="declaration-property-unit-disallowed-list",f=a(d,{rejected:(e,t)=>`Unexpected unit "${t}" for property "${e}"`}),h=e=>(t,r)=>{l(r,d,{actual:e,possible:[p]})&&t.walkDecls(t=>{const a=t.prop,l=t.value,p=c.unprefixed(a),h=Object.keys(e).find(e=>n(p,e));if(!h)return;const m=e[h];m&&u(l).walk(e=>{if("function"===e.type&&"url"===e.value.toLowerCase())return!1;if("string"===e.type)return;const n=i(e);!n||n&&!m.includes(n.toLowerCase())||o({message:f.rejected(a,n),node:t,index:s(t)+e.sourceIndex,result:r,ruleName:d})})})};h.ruleName=d,h.messages=f,t.exports=h},{"../../utils/declarationValueIndex":359,"../../utils/getUnitFromValueNode":374,"../../utils/matchesStringOrRegExp":426,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/vendor":444,"is-plain-object":35,"postcss-value-parser":83}],207:[(e,t,r)=>{const s=e("../../utils/matchesStringOrRegExp"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/vendor"),{isPlainObject:l}=e("is-plain-object"),u="declaration-property-value-allowed-list",c=n(u,{rejected:(e,t)=>`Unexpected value "${t}" for property "${e}"`}),p=e=>(t,r)=>{o(r,u,{actual:e,possible:[l]})&&t.walkDecls(t=>{const n=t.prop,o=t.value,l=a.unprefixed(n),p=Object.keys(e).find(e=>s(l,e));if(!p)return;const d=e[p];d&&0!==d.length&&(s(o,d)||i({message:c.rejected(n,o),node:t,result:r,ruleName:u}))})};p.ruleName=u,p.messages=c,t.exports=p},{"../../utils/matchesStringOrRegExp":426,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/vendor":444,"is-plain-object":35}],208:[(e,t,r)=>{const s=e("../../utils/matchesStringOrRegExp"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/vendor"),{isPlainObject:l}=e("is-plain-object"),u="declaration-property-value-disallowed-list",c=n(u,{rejected:(e,t)=>`Unexpected value "${t}" for property "${e}"`}),p=e=>(t,r)=>{o(r,u,{actual:e,possible:[l]})&&t.walkDecls(t=>{const n=t.prop,o=t.value,l=a.unprefixed(n),p=Object.keys(e).find(e=>s(l,e));if(!p)return;const d=e[p];d&&0!==d.length&&s(o,d)&&i({message:c.rejected(n,o),node:t,result:r,ruleName:u})})};p.ruleName=u,p.messages=c,t.exports=p},{"../../utils/matchesStringOrRegExp":426,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/vendor":444,"is-plain-object":35}],209:[(e,t,r)=>{const s=e("../utils/declarationValueIndex"),i=e("../utils/report"),n=e("style-search");t.exports=(e=>{var t,r,o;e.root.walkDecls(a=>{const l=s(a),u=a.toString(),c=a.toString().slice(l);c.includes("!")&&n({source:c,target:"!"},s=>{t=u,r=s.startIndex+l,o=a,e.locationChecker({source:t,index:r,err(t){e.fix&&e.fix(o,r)||i({message:t,node:o,index:r,result:e.result,ruleName:e.checkedRuleName})}})})})})},{"../utils/declarationValueIndex":359,"../utils/report":435,"style-search":121}],210:[(e,t,r)=>{const s=e("../utils/declarationValueIndex"),i=e("../utils/isStandardSyntaxDeclaration"),n=e("../utils/report");t.exports=(e=>{e.root.walkDecls(t=>{if(!i(t))return;const r=s(t)+(t.raws.between||"").length-1,o=`${t.toString().slice(0,r)}xxx`;for(let r=0,s=o.length;r{const s=e("style-search"),i=[">=","<=",">","<","="];t.exports=((e,t)=>{if("media"!==e.name.toLowerCase())return;const r=e.raws.params?e.raws.params.raw:e.params;s({source:r,target:i},s=>{const i=r[s.startIndex-1];">"!==i&&"<"!==i&&t(s,r,e)})})},{"style-search":121}],212:[(e,t,r)=>{const s=e("../../utils/findFontFamily"),i=e("../../utils/isStandardSyntaxValue"),n=e("../../utils/isVariable"),o=e("../../reference/keywordSets"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),c="font-family-name-quotes",p=l(c,{expected:e=>`Expected quotes around "${e}"`,rejected:e=>`Unexpected quotes around "${e}"`}),d=e=>(t,r)=>{function l(t,r){if(!i(t))return;if(n(t))return;const s=t.startsWith("'")||t.startsWith('"'),a=t.replace(/^['"]|['"]$/g,"");if(o.fontFamilyKeywords.has(a.toLowerCase())||(l=a).startsWith("-apple-")||"BlinkMacSystemFont"===l)return s?d(p.rejected(a),a,r):void 0;var l;const u=a.split(/\s+/).some(e=>/^(?:-?\d|--)/.test(e)||!/^[-\w\u{00A0}-\u{10FFFF}]+$/u.test(e)),c=!/^[-a-zA-Z]+$/.test(a);switch(e){case"always-unless-keyword":return s?void 0:d(p.expected(a),a,r);case"always-where-recommended":return!c&&s?d(p.rejected(a),a,r):c&&!s?d(p.expected(a),a,r):void 0;case"always-where-required":if(!u&&s)return d(p.rejected(a),a,r);if(u&&!s)return d(p.expected(a),a,r)}}function d(e,t,s){a({result:r,ruleName:c,message:e,node:s,word:t})}u(r,c,{actual:e,possible:["always-where-required","always-where-recommended","always-unless-keyword"]})&&t.walkDecls(/^font(-family)?$/i,e=>{const t=s(e.value);if(0!==t.length)for(const r of t){let t=r.value;"quote"in r&&(t=r.quote+t+r.quote),l(t,e)}})};d.ruleName=c,d.messages=p,t.exports=d},{"../../reference/keywordSets":142,"../../utils/findFontFamily":363,"../../utils/isStandardSyntaxValue":421,"../../utils/isVariable":424,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442}],213:[(e,t,r)=>{const s=e("../../utils/declarationValueIndex"),i=e("../../utils/findFontFamily"),n=e("../../reference/keywordSets"),o=e("../../utils/optionsMatches"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),{isRegExp:c,isString:p}=e("../../utils/validateTypes"),d="font-family-no-duplicate-names",f=l(d,{rejected:e=>`Unexpected duplicate name ${e}`}),h=e=>!("quote"in e)&&n.fontFamilyKeywords.has(e.value.toLowerCase()),m=(e,t)=>(r,n)=>{function l(e,t,r){a({result:n,ruleName:d,message:e,node:r,index:t})}u(n,d,{actual:e},{actual:t,possible:{ignoreFontFamilyNames:[p,c]},optional:!0})&&r.walkDecls(/^font(-family)?$/i,e=>{const r=new Set,n=new Set,a=i(e.value);if(0!==a.length)for(const i of a){const a=i.value.trim();if(!o(t,"ignoreFontFamilyNames",a))if(h(i)){if(r.has(a.toLowerCase())){l(f.rejected(a),s(e)+i.sourceIndex,e);continue}r.add(a)}else n.has(a)?l(f.rejected(a),s(e)+i.sourceIndex,e):n.add(a)}})};m.ruleName=d,m.messages=f,t.exports=m},{"../../reference/keywordSets":142,"../../utils/declarationValueIndex":359,"../../utils/findFontFamily":363,"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443}],214:[(e,t,r)=>{const s=e("../../utils/declarationValueIndex"),i=e("../../utils/findFontFamily"),n=e("../../utils/isStandardSyntaxValue"),o=e("../../utils/isVariable"),a=e("../../reference/keywordSets"),l=e("../../utils/optionsMatches"),u=e("postcss"),c=e("../../utils/report"),p=e("../../utils/ruleMessages"),d=e("../../utils/validateOptions"),{isAtRule:f}=e("../../utils/typeGuards"),{isRegExp:h,isString:m}=e("../../utils/validateTypes"),g="font-family-no-missing-generic-family-keyword",y=p(g,{rejected:"Unexpected missing generic font family"}),w=(e,t)=>(r,p)=>{d(p,g,{actual:e},{actual:t,possible:{ignoreFontFamilies:[m,h]},optional:!0})&&r.walkDecls(/^font(-family)?$/i,e=>{const r=e.parent;if(r&&f(r)&&"font-face"===r.name.toLowerCase())return;if("font"===e.prop&&a.systemFontValues.has(e.value.toLowerCase()))return;if((e=>{const t=u.list.comma(e).pop();return null!=t&&(o(t)||!n(t))})(e.value))return;const d=i(e.value);0!==d.length&&(d.some(e=>(e=>!("quote"in e)&&a.fontFamilyKeywords.has(e.value.toLowerCase()))(e))||d.some(e=>l(t,"ignoreFontFamilies",e.value))||c({result:p,ruleName:g,message:y.rejected,node:e,index:s(e)+d[d.length-1].sourceIndex}))})};w.ruleName=g,w.messages=y,t.exports=w},{"../../reference/keywordSets":142,"../../utils/declarationValueIndex":359,"../../utils/findFontFamily":363,"../../utils/isStandardSyntaxValue":421,"../../utils/isVariable":424,"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/typeGuards":440,"../../utils/validateOptions":442,"../../utils/validateTypes":443,postcss:103}],215:[(e,t,r)=>{const s=e("../../utils/declarationValueIndex"),i=e("../../utils/isNumbery"),n=e("../../utils/isStandardSyntaxValue"),o=e("../../utils/isVariable"),a=e("../../reference/keywordSets"),l=e("../../utils/optionsMatches"),u=e("postcss"),c=e("../../utils/report"),p=e("../../utils/ruleMessages"),d=e("../../utils/validateOptions"),{isAtRule:f}=e("../../utils/typeGuards"),h="font-weight-notation",m=p(h,{expected:e=>`Expected ${e} font-weight notation`,invalidNamed:e=>`Unexpected invalid font-weight name "${e}"`}),g="inherit",y="initial",w="normal",b=new Set(["400","700"]),x=(e,t)=>(r,p)=>{function x(r,d){if(!n(r))return;if(o(r))return;if(r.toLowerCase()===g||r.toLowerCase()===y)return;if(l(t,"ignore","relative")&&a.fontWeightRelativeKeywords.has(r.toLowerCase()))return;const x=d.value.indexOf(r);if("numeric"===e){const e=d.parent;if(e&&f(e)&&"font-face"===e.name.toLowerCase())return u.list.space(r).every(e=>i(e))?void 0:v(m.expected("numeric"));if(!i(r))return v(m.expected("numeric"))}if("named-where-possible"===e){if(i(r))return void(b.has(r)&&v(m.expected("named")));if(!a.fontWeightKeywords.has(r.toLowerCase())&&r.toLowerCase()!==w)return v(m.invalidNamed(r))}function v(e){c({ruleName:h,result:p,message:e,node:d,index:s(d)+x})}}d(p,h,{actual:e,possible:["numeric","named-where-possible"]},{actual:t,possible:{ignore:["relative"]},optional:!0})&&r.walkDecls(e=>{"font-weight"===e.prop.toLowerCase()&&x(e.value,e),"font"===e.prop.toLowerCase()&&(e=>{const t=u.list.space(e.value).some(e=>i(e));for(const r of u.list.space(e.value))if(r.toLowerCase()===w&&!t||i(r)||r.toLowerCase()!==w&&a.fontWeightKeywords.has(r.toLowerCase()))return void x(r,e)})(e)})};x.ruleName=h,x.messages=m,t.exports=x},{"../../reference/keywordSets":142,"../../utils/declarationValueIndex":359,"../../utils/isNumbery":401,"../../utils/isStandardSyntaxValue":421,"../../utils/isVariable":424,"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/typeGuards":440,"../../utils/validateOptions":442,postcss:103}],216:[(e,t,r)=>{const s=e("../../utils/declarationValueIndex"),i=e("../../utils/isStandardSyntaxFunction"),n=e("../../utils/matchesStringOrRegExp"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("postcss-value-parser"),c=e("../../utils/vendor"),{isRegExp:p,isString:d}=e("../../utils/validateTypes"),f="function-allowed-list",h=a(f,{rejected:e=>`Unexpected function "${e}"`}),m=e=>{const t=[e].flat();return(e,r)=>{l(r,f,{actual:t,possible:[d,p]})&&e.walkDecls(e=>{const a=e.value;u(a).walk(a=>{"function"===a.type&&i(a)&&(n(c.unprefixed(a.value),t)||o({message:h.rejected(a.value),node:e,index:s(e)+a.sourceIndex,result:r,ruleName:f}))})})}};m.primaryOptionArray=!0,m.ruleName=f,m.messages=h,t.exports=m},{"../../utils/declarationValueIndex":359,"../../utils/isStandardSyntaxFunction":413,"../../utils/matchesStringOrRegExp":426,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"../../utils/vendor":444,"postcss-value-parser":83}],217:[(e,t,r)=>{const s=e("postcss-value-parser"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getDeclarationValue"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/setDeclarationValue"),u=e("../../utils/validateOptions"),c="function-calc-no-unspaced-operator",p=a(c,{expectedBefore:e=>`Expected single space before "${e}" operator`,expectedAfter:e=>`Expected single space after "${e}" operator`,expectedOperatorBeforeSign:e=>`Expected an operator before sign "${e}"`}),d=new Set(["*","/","+","-"]),f=/[*/+-]/,h=(e,t,r)=>(t,a)=>{function h(e,t,r){o({message:e,node:t,index:r,result:a,ruleName:c})}u(a,c,{actual:e})&&t.walkDecls(e=>{let t=!1;const o=i(e),a=s(n(e));function u(s,i,n){const a=-1===n,l=s[i+n],u=s[i].value,c=s[i].sourceIndex;if(l&&!g(l)){if("word"===l.type){if(a){const t=l.value.slice(-1);if(d.has(t))return r.fix?(l.value=`${l.value.slice(0,-1)} ${t}`,!0):(h(p.expectedOperatorBeforeSign(u),e,c),!0)}else{const t=l.value.slice(0,1);if(d.has(t))return r.fix?(l.value=`${t} ${l.value.slice(1)}`,!0):(h(p.expectedAfter(u),e,c),!0)}return r.fix?(t=!0,l.value=a?`${l.value} `:` ${l.value}`,!0):(h(a?p.expectedBefore(u):p.expectedAfter(u),e,o+c),!0)}if("space"===l.type){const s=l.value.search(/(\n|\r\n)/);if(0===s)return;return r.fix?(t=!0,l.value=-1===s?" ":l.value.slice(s),!0):(h(a?p.expectedBefore(u):p.expectedAfter(u),e,o+c),!0)}if("function"===l.type)return r.fix?(t=!0,s.splice(i,0,{type:"space",value:" ",sourceIndex:0}),!0):(h(a?p.expectedBefore(u):p.expectedAfter(u),e,o+c),!0)}return!1}a.walk(s=>{if("function"!==s.type||"calc"!==s.value.toLowerCase())return;let i=!1;for(const[e,t]of s.nodes.entries()){if("word"!==t.type||!d.has(t.value))continue;i=!0;const r=s.nodes[e-1],n=s.nodes[e+1];g(r)&&g(n)||u(s.nodes,e,1)||u(s.nodes,e,-1)}i||function(s){if(!(i=>{const n=s[0],a=(n.type,n.value.search(f)),l=n.value.slice(a,a+1);if(a<=0)return!1;const u=n.value.charAt(a-1),c=n.value.charAt(a+1);return u&&" "!==u&&c&&" "!==c?r.fix?(t=!0,n.value=m(n.value,a+1," "),n.value=m(n.value,a," ")):(h(p.expectedBefore(l),e,o+n.sourceIndex+a),h(p.expectedAfter(l),e,o+n.sourceIndex+a+1)):u&&" "!==u?r.fix?(t=!0,n.value=m(n.value,a," ")):h(p.expectedBefore(l),e,o+n.sourceIndex+a):c&&" "!==c&&(r.fix?(t=!0,n.value=m(n.value,a," ")):h(p.expectedAfter(l),e,o+n.sourceIndex+a+1)),!0})()&&!(s=>{if(1===s.length)return!1;const i=s[s.length-1],n=(i.type,i.value.search(f));return" "!==i.value[n-1]&&(r.fix?(t=!0,i.value=m(i.value,n+1," ").trim(),i.value=m(i.value,n," ").trim(),!0):(h(p.expectedOperatorBeforeSign(i.value[n]),e,o+i.sourceIndex+n),!0))})(s))for(const[t,i]of s.entries()){const n=i.value.slice(-1),o=i.value.slice(0,1);if("word"===i.type)if(0===t&&d.has(n)){if(r.fix){i.value=`${i.value.slice(0,-1)} ${n}`;continue}h(p.expectedBefore(n),e,i.sourceIndex)}else if(t===s.length&&d.has(o)){if(r.fix){i.value=`${o} ${i.value.slice(1)}`;continue}h(p.expectedOperatorBeforeSign(o),e,i.sourceIndex)}}}(s.nodes)}),t&&l(e,a.toString())})};function m(e,t,r){return e.slice(0,t)+r+e.slice(t,e.length)}function g(e){return e&&"space"===e.type&&" "===e.value}h.ruleName=c,h.messages=p,t.exports=h},{"../../utils/declarationValueIndex":359,"../../utils/getDeclarationValue":366,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/setDeclarationValue":438,"../../utils/validateOptions":442,"postcss-value-parser":83}],218:[(e,t,r)=>{const s=e("../functionCommaSpaceFix"),i=e("../functionCommaSpaceChecker"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/whitespaceChecker"),l="function-comma-newline-after",u=n(l,{expectedAfter:()=>'Expected newline after ","',expectedAfterMultiLine:()=>'Expected newline after "," in a multi-line function',rejectedAfterMultiLine:()=>'Unexpected whitespace after "," in a multi-line function'}),c=(e,t,r)=>{const n=a("newline",e,u);return(t,a)=>{o(a,l,{actual:e,possible:["always","always-multi-line","never-multi-line"]})&&i({root:t,result:a,locationChecker:n.afterOneOnly,checkedRuleName:l,fix:r.fix?(t,i,n)=>s({div:t,index:i,nodes:n,expectation:e,position:"after",symb:r.newline||""}):null})}};c.ruleName=l,c.messages=u,t.exports=c},{"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../functionCommaSpaceChecker":233,"../functionCommaSpaceFix":234}],219:[(e,t,r)=>{const s=e("../functionCommaSpaceFix"),i=e("../functionCommaSpaceChecker"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/whitespaceChecker"),l="function-comma-newline-before",u=n(l,{expectedBefore:()=>'Expected newline before ","',expectedBeforeMultiLine:()=>'Expected newline before "," in a multi-line function',rejectedBeforeMultiLine:()=>'Unexpected whitespace before "," in a multi-line function'}),c=(e,t,r)=>{const n=a("newline",e,u);return(t,a)=>{o(a,l,{actual:e,possible:["always","always-multi-line","never-multi-line"]})&&i({root:t,result:a,locationChecker:n.beforeAllowingIndentation,checkedRuleName:l,fix:r.fix?(t,i,n)=>s({div:t,index:i,nodes:n,expectation:e,position:"before",symb:r.newline||""}):null})}};c.ruleName=l,c.messages=u,t.exports=c},{"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../functionCommaSpaceChecker":233,"../functionCommaSpaceFix":234}],220:[(e,t,r)=>{const s=e("../functionCommaSpaceFix"),i=e("../functionCommaSpaceChecker"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/whitespaceChecker"),l="function-comma-space-after",u=n(l,{expectedAfter:()=>'Expected single space after ","',rejectedAfter:()=>'Unexpected whitespace after ","',expectedAfterSingleLine:()=>'Expected single space after "," in a single-line function',rejectedAfterSingleLine:()=>'Unexpected whitespace after "," in a single-line function'}),c=(e,t,r)=>{const n=a("space",e,u);return(t,a)=>{o(a,l,{actual:e,possible:["always","never","always-single-line","never-single-line"]})&&i({root:t,result:a,locationChecker:n.after,checkedRuleName:l,fix:r.fix?(t,r,i)=>s({div:t,index:r,nodes:i,expectation:e,position:"after",symb:" "}):null})}};c.ruleName=l,c.messages=u,t.exports=c},{"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../functionCommaSpaceChecker":233,"../functionCommaSpaceFix":234}],221:[(e,t,r)=>{const s=e("../functionCommaSpaceFix"),i=e("../functionCommaSpaceChecker"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/whitespaceChecker"),l="function-comma-space-before",u=n(l,{expectedBefore:()=>'Expected single space before ","',rejectedBefore:()=>'Unexpected whitespace before ","',expectedBeforeSingleLine:()=>'Expected single space before "," in a single-line function',rejectedBeforeSingleLine:()=>'Unexpected whitespace before "," in a single-line function'}),c=(e,t,r)=>{const n=a("space",e,u);return(t,a)=>{o(a,l,{actual:e,possible:["always","never","always-single-line","never-single-line"]})&&i({root:t,result:a,locationChecker:n.before,checkedRuleName:l,fix:r.fix?(t,r,i)=>s({div:t,index:r,nodes:i,expectation:e,position:"before",symb:" "}):null})}};c.ruleName=l,c.messages=u,t.exports=c},{"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../functionCommaSpaceChecker":233,"../functionCommaSpaceFix":234}],222:[(e,t,r)=>{const s=e("../../utils/declarationValueIndex"),i=e("../../utils/isStandardSyntaxFunction"),n=e("../../utils/matchesStringOrRegExp"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("postcss-value-parser"),c=e("../../utils/vendor"),{isRegExp:p,isString:d}=e("../../utils/validateTypes"),f="function-disallowed-list",h=a(f,{rejected:e=>`Unexpected function "${e}"`}),m=e=>(t,r)=>{l(r,f,{actual:e,possible:[d,p]})&&t.walkDecls(t=>{const a=t.value;u(a).walk(a=>{"function"===a.type&&i(a)&&n(c.unprefixed(a.value),e)&&o({message:h.rejected(a.value),node:t,index:s(t)+a.sourceIndex,result:r,ruleName:f})})})};m.primaryOptionArray=!0,m.ruleName=f,m.messages=h,t.exports=m},{"../../utils/declarationValueIndex":359,"../../utils/isStandardSyntaxFunction":413,"../../utils/matchesStringOrRegExp":426,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"../../utils/vendor":444,"postcss-value-parser":83}],223:[(e,t,r)=>{const s=e("../../utils/declarationValueIndex"),i=e("../../utils/functionArgumentsSearch"),n=e("../../utils/isStandardSyntaxValue"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("postcss-value-parser"),c=e("../../utils/vendor"),p="function-linear-gradient-no-nonstandard-direction",d=a(p,{rejected:"Unexpected nonstandard direction"}),f=e=>(t,r)=>{l(r,p,{actual:e})&&t.walkDecls(e=>{u(e.value).walk(t=>{"function"===t.type&&i(u.stringify(t).toLowerCase(),"linear-gradient",(i,a)=>{const l=i.split(",")[0].trim();if(n(l))if(/[\d.]/.test(l[0])){if(/^[\d.]+(?:deg|grad|rad|turn)$/.test(l))return;u()}else/left|right|top|bottom/.test(l)&&(((e,r)=>{const s=!c.prefix(t.value)?/^to (top|left|bottom|right)(?: (top|left|bottom|right))?$/:/^(top|left|bottom|right)(?: (top|left|bottom|right))?$/,i=e.match(s);return!!i&&(2===i.length||3===i.length&&i[1]!==i[2])})(l)||u());function u(){o({message:d.rejected,node:e,index:s(e)+t.sourceIndex+a,result:r,ruleName:p})}})})})};f.ruleName=p,f.messages=d,t.exports=f},{"../../utils/declarationValueIndex":359,"../../utils/functionArgumentsSearch":364,"../../utils/isStandardSyntaxValue":421,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/vendor":444,"postcss-value-parser":83}],224:[(e,t,r)=>{const s=e("../../utils/getDeclarationValue"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/setDeclarationValue"),a=e("../../utils/validateOptions"),l=e("postcss-value-parser"),{isNumber:u}=e("../../utils/validateTypes"),c="function-max-empty-lines",p=n(c,{expected:e=>`Expected no more than ${e} empty ${1===e?"line":"lines"}`}),d=(e,t,r)=>{const n=e+1;return(t,d)=>{if(!a(d,c,{actual:e,possible:u}))return;const f=new RegExp(`(?:\r\n){${n+1},}`),h=new RegExp(`\n{${n+1},}`),m=r.fix?"\n".repeat(n):"",g=r.fix?"\r\n".repeat(n):"";t.walkDecls(t=>{if(!t.value.includes("("))return;const n=s(t),a=[];let u=0;if(l(n).walk(s=>{if("function"!==s.type||0===s.value.length)return;const o=l.stringify(s);if(h.test(o)||f.test(o))if(r.fix){const e=o.replace(new RegExp(h,"gm"),m).replace(new RegExp(f,"gm"),g);a.push([n.slice(u,s.sourceIndex),e]),u=s.sourceIndex+o.length}else i({message:p.expected(e),node:t,index:(e=>{if(null==e.raws.between)throw new Error("`between` must be present");return e.prop.length+e.raws.between.length-1})(t)+s.sourceIndex,result:d,ruleName:c})}),r.fix&&a.length>0){const e=a.reduce((e,t)=>e+t[0]+t[1],"")+n.slice(u);o(t,e)}})}};d.ruleName=c,d.messages=p,t.exports=d},{"../../utils/getDeclarationValue":366,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/setDeclarationValue":438,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"postcss-value-parser":83}],225:[(e,t,r)=>{const s=e("../../utils/declarationValueIndex"),i=e("../../utils/getDeclarationValue"),n=e("../../utils/isStandardSyntaxFunction"),o=e("../../reference/keywordSets"),a=e("../../utils/matchesStringOrRegExp"),l=e("../../utils/report"),u=e("../../utils/ruleMessages"),c=e("../../utils/setDeclarationValue"),p=e("../../utils/validateOptions"),d=e("postcss-value-parser"),{isRegExp:f,isString:h}=e("../../utils/validateTypes"),m="function-name-case",g=u(m,{expected:(e,t)=>`Expected "${e}" to be "${t}"`}),y=new Map;for(const e of o.camelCaseFunctionNames)y.set(e.toLowerCase(),e);const w=(e,t,r)=>(o,u)=>{p(u,m,{actual:e,possible:["lower","upper"]},{actual:t,possible:{ignoreFunctions:[h,f]},optional:!0})&&o.walkDecls(o=>{let p=!1;const f=d(i(o));f.walk(i=>{if("function"!==i.type||!n(i))return;const c=i.value,d=c.toLowerCase(),f=t&&t.ignoreFunctions||[];if(f.length>0&&a(c,f))return;let h=null;return c!==(h="lower"===e&&y.has(d)?y.get(d):"lower"===e?d:c.toUpperCase())?r.fix?(p=!0,void(i.value=h)):void l({message:g.expected(c,h),node:o,index:s(o)+i.sourceIndex,result:u,ruleName:m}):void 0}),r.fix&&p&&c(o,f.toString())})};w.ruleName=m,w.messages=g,t.exports=w},{"../../reference/keywordSets":142,"../../utils/declarationValueIndex":359,"../../utils/getDeclarationValue":366,"../../utils/isStandardSyntaxFunction":413,"../../utils/matchesStringOrRegExp":426,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/setDeclarationValue":438,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"postcss-value-parser":83}],226:[(e,t,r)=>{const s=e("../../utils/declarationValueIndex"),i=e("../../utils/getDeclarationValue"),n=e("../../utils/isSingleLineString"),o=e("../../utils/isStandardSyntaxFunction"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/setDeclarationValue"),c=e("../../utils/validateOptions"),p=e("postcss-value-parser"),d="function-parentheses-newline-inside",f=l(d,{expectedOpening:'Expected newline after "("',expectedClosing:'Expected newline before ")"',expectedOpeningMultiLine:'Expected newline after "(" in a multi-line function',rejectedOpeningMultiLine:'Unexpected whitespace after "(" in a multi-line function',expectedClosingMultiLine:'Expected newline before ")" in a multi-line function',rejectedClosingMultiLine:'Unexpected whitespace before ")" in a multi-line function'}),h=(e,t,r)=>(t,l)=>{c(l,d,{actual:e,possible:["always","always-multi-line","never-multi-line"]})&&t.walkDecls(t=>{if(!t.value.includes("("))return;let c=!1;const h=i(t),y=p(h);function w(e,r){a({ruleName:d,result:l,message:e,node:t,index:s(t)+r})}y.walk(t=>{if("function"!==t.type)return;if(!o(t))return;const s=p.stringify(t),i=!n(s),a=e=>e.includes("\n"),l=t.sourceIndex+t.value.length+1,u=(e=>{let t=e.before;for(const r of e.nodes)if("comment"!==r.type){if("space"!==r.type)break;t+=r.value}return t})(t);"always"!==e||a(u)||(r.fix?(c=!0,m(t,r.newline||"")):w(f.expectedOpening,l)),i&&"always-multi-line"===e&&!a(u)&&(r.fix?(c=!0,m(t,r.newline||"")):w(f.expectedOpeningMultiLine,l)),i&&"never-multi-line"===e&&""!==u&&(r.fix?(c=!0,(e=>{e.before="";for(const t of e.nodes)if("comment"!==t.type){if("space"!==t.type)break;t.value=""}})(t)):w(f.rejectedOpeningMultiLine,l));const d=t.sourceIndex+s.length-2,h=(e=>{let t="";for(const r of[...e.nodes].reverse())if("comment"!==r.type){if("space"!==r.type)break;t=r.value+t}return t+e.after})(t);"always"!==e||a(h)||(r.fix?(c=!0,g(t,r.newline||"")):w(f.expectedClosing,d)),i&&"always-multi-line"===e&&!a(h)&&(r.fix?(c=!0,g(t,r.newline||"")):w(f.expectedClosingMultiLine,d)),i&&"never-multi-line"===e&&""!==h&&(r.fix?(c=!0,(e=>{e.after="";for(const t of[...e.nodes].reverse())if("comment"!==t.type){if("space"!==t.type)break;t.value=""}})(t)):w(f.rejectedClosingMultiLine,d))}),c&&u(t,y.toString())})};function m(e,t){let r;for(const t of e.nodes)if("comment"!==t.type){if("space"!==t.type)break;r=t}r?r.value=t+r.value:e.before=t+e.before}function g(e,t){e.after=t+e.after}h.ruleName=d,h.messages=f,t.exports=h},{"../../utils/declarationValueIndex":359,"../../utils/getDeclarationValue":366,"../../utils/isSingleLineString":407,"../../utils/isStandardSyntaxFunction":413,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/setDeclarationValue":438,"../../utils/validateOptions":442,"postcss-value-parser":83}],227:[(e,t,r)=>{const s=e("../../utils/declarationValueIndex"),i=e("../../utils/getDeclarationValue"),n=e("../../utils/isSingleLineString"),o=e("../../utils/isStandardSyntaxFunction"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/setDeclarationValue"),c=e("../../utils/validateOptions"),p=e("postcss-value-parser"),d="function-parentheses-space-inside",f=l(d,{expectedOpening:'Expected single space after "("',rejectedOpening:'Unexpected whitespace after "("',expectedClosing:'Expected single space before ")"',rejectedClosing:'Unexpected whitespace before ")"',expectedOpeningSingleLine:'Expected single space after "(" in a single-line function',rejectedOpeningSingleLine:'Unexpected whitespace after "(" in a single-line function',expectedClosingSingleLine:'Expected single space before ")" in a single-line function',rejectedClosingSingleLine:'Unexpected whitespace before ")" in a single-line function'}),h=(e,t,r)=>(t,l)=>{c(l,d,{actual:e,possible:["always","never","always-single-line","never-single-line"]})&&t.walkDecls(t=>{if(!t.value.includes("("))return;let c=!1;const h=i(t),m=p(h);function g(e,r){a({ruleName:d,result:l,message:e,node:t,index:s(t)+r})}m.walk(t=>{if("function"!==t.type)return;if(!o(t))return;if(!t.nodes.length)return;const s=p.stringify(t),i=n(s),a=t.sourceIndex+t.value.length+1;"always"===e&&" "!==t.before&&(r.fix?(c=!0,t.before=" "):g(f.expectedOpening,a)),"never"===e&&""!==t.before&&(r.fix?(c=!0,t.before=""):g(f.rejectedOpening,a)),i&&"always-single-line"===e&&" "!==t.before&&(r.fix?(c=!0,t.before=" "):g(f.expectedOpeningSingleLine,a)),i&&"never-single-line"===e&&""!==t.before&&(r.fix?(c=!0,t.before=""):g(f.rejectedOpeningSingleLine,a));const l=t.sourceIndex+s.length-2;"always"===e&&" "!==t.after&&(r.fix?(c=!0,t.after=" "):g(f.expectedClosing,l)),"never"===e&&""!==t.after&&(r.fix?(c=!0,t.after=""):g(f.rejectedClosing,l)),i&&"always-single-line"===e&&" "!==t.after&&(r.fix?(c=!0,t.after=" "):g(f.expectedClosingSingleLine,l)),i&&"never-single-line"===e&&""!==t.after&&(r.fix?(c=!0,t.after=""):g(f.rejectedClosingSingleLine,l))}),c&&u(t,m.toString())})};h.ruleName=d,h.messages=f,t.exports=h},{"../../utils/declarationValueIndex":359,"../../utils/getDeclarationValue":366,"../../utils/isSingleLineString":407,"../../utils/isStandardSyntaxFunction":413,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/setDeclarationValue":438,"../../utils/validateOptions":442,"postcss-value-parser":83}],228:[(e,t,r)=>{const s=e("../../utils/functionArgumentsSearch"),i=e("../../utils/isStandardSyntaxUrl"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),l="function-url-no-scheme-relative",u=o(l,{rejected:"Unexpected scheme-relative url"}),c=e=>(t,r)=>{a(r,l,{actual:e})&&t.walkDecls(e=>{s(e.toString().toLowerCase(),"url",(t,s)=>{const o=t.trim().replace(/^['"]+|['"]+$/g,"");i(o)&&o.startsWith("//")&&n({message:u.rejected,node:e,index:s,result:r,ruleName:l})})})};c.ruleName=l,c.messages=u,t.exports=c},{"../../utils/functionArgumentsSearch":364,"../../utils/isStandardSyntaxUrl":420,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442}],229:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../../utils/functionArgumentsSearch"),n=e("../../utils/isStandardSyntaxUrl"),o=e("../../utils/optionsMatches"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),c="function-url-quotes",p=l(c,{expected:e=>`Expected quotes around "${e}" function argument`,rejected:e=>`Unexpected quotes around "${e}" function argument`}),d=(e,t)=>(r,l)=>{function d(r,s,i,a){let l="always"===e;const u=r.trimStart();if(!n(u))return;const c=i+r.length-u.length,d=u.startsWith("'")||u.startsWith('"'),h=r.trim(),m=["","''",'""'].includes(h);if(o(t,"except","empty")&&m&&(l=!l),l){if(d)return;f(p.expected(a),s,c)}else{if(!d)return;f(p.rejected(a),s,c)}}function f(e,t,r){a({message:e,node:t,index:r,result:l,ruleName:c})}u(l,c,{actual:e,possible:["always","never"]},{actual:t,possible:{except:["empty"]},optional:!0})&&(r.walkAtRules(e=>{const t=e.params.toLowerCase();i(t,"url",(t,r)=>{d(t,e,r+s(e),"url")}),i(t,"url-prefix",(t,r)=>{d(t,e,r+s(e),"url-prefix")}),i(t,"domain",(t,r)=>{d(t,e,r+s(e),"domain")})}),r.walkDecls(e=>{i(e.toString().toLowerCase(),"url",(t,r)=>{d(t,e,r,"url")})}))};d.ruleName=c,d.messages=p,t.exports=d},{"../../utils/atRuleParamIndex":352,"../../utils/functionArgumentsSearch":364,"../../utils/isStandardSyntaxUrl":420,"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442}],230:[(e,t,r)=>{const s=e("../../utils/functionArgumentsSearch"),i=e("../../utils/getSchemeFromUrl"),n=e("../../utils/isStandardSyntaxUrl"),o=e("../../utils/matchesStringOrRegExp"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),{isRegExp:c,isString:p}=e("../../utils/validateTypes"),d="function-url-scheme-allowed-list",f=l(d,{rejected:e=>`Unexpected URL scheme "${e}:"`}),h=e=>(t,r)=>{u(r,d,{actual:e,possible:[p,c]})&&t.walkDecls(t=>{s(t.toString().toLowerCase(),"url",(s,l)=>{const u=s.trim();if(!n(u))return;const c=u.replace(/^['"]+|['"]+$/g,""),p=i(c);null!==p&&(o(p,e)||a({message:f.rejected(p),node:t,index:l,result:r,ruleName:d}))})})};h.primaryOptionArray=!0,h.ruleName=d,h.messages=f,t.exports=h},{"../../utils/functionArgumentsSearch":364,"../../utils/getSchemeFromUrl":373,"../../utils/isStandardSyntaxUrl":420,"../../utils/matchesStringOrRegExp":426,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443}],231:[(e,t,r)=>{const s=e("../../utils/functionArgumentsSearch"),i=e("../../utils/getSchemeFromUrl"),n=e("../../utils/isStandardSyntaxUrl"),o=e("../../utils/matchesStringOrRegExp"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),{isRegExp:c,isString:p}=e("../../utils/validateTypes"),d="function-url-scheme-disallowed-list",f=l(d,{rejected:e=>`Unexpected URL scheme "${e}:"`}),h=e=>(t,r)=>{u(r,d,{actual:e,possible:[p,c]})&&t.walkDecls(t=>{s(t.toString().toLowerCase(),"url",(s,l)=>{const u=s.trim();if(!n(u))return;const c=u.replace(/^['"]+|['"]+$/g,""),p=i(c);null!==p&&o(p,e)&&a({message:f.rejected(p),node:t,index:l,result:r,ruleName:d})})})};h.primaryOptionArray=!0,h.ruleName=d,h.messages=f,t.exports=h},{"../../utils/functionArgumentsSearch":364,"../../utils/getSchemeFromUrl":373,"../../utils/isStandardSyntaxUrl":420,"../../utils/matchesStringOrRegExp":426,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443}],232:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getDeclarationValue"),o=e("../../utils/isWhitespace"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/setDeclarationValue"),c=e("style-search"),p=e("../../utils/validateOptions"),d="function-whitespace-after",f=l(d,{expected:'Expected whitespace after ")"',rejected:'Unexpected whitespace after ")"'}),h=new Set([")",",","}",":","/",void 0]),m=(e,t,r)=>(t,l)=>{function m(t,r,s,i){c({source:r,target:")",functionArguments:"only"},n=>{((t,r,s,i,n)=>{const u=t[r];if("always"===e){if(" "===u)return;if("\n"===u)return;if("\r\n"===t.substr(r,2))return;if(h.has(u))return;if(n)return void n(r);a({message:f.expected,node:s,index:i+r,result:l,ruleName:d})}else if("never"===e&&o(u)){if(n)return void n(r);a({message:f.rejected,node:s,index:i+r,result:l,ruleName:d})}})(r,n.startIndex+1,t,s,i)})}function g(t){let r,s="",i=0;if("always"===e)r=(e=>{s+=t.slice(i,e)+" ",i=e});else{if("never"!==e)throw new Error(`Unexpected option: "${e}"`);r=(e=>{let r=e+1;for(;r{const t=e.raws.params&&e.raws.params.raw||e.params,i=r.fix&&g(t);m(e,t,s(e),i?i.applyFix:void 0),i&&i.hasFixed&&(e.raws.params?e.raws.params.raw=i.fixed:e.params=i.fixed)}),t.walkDecls(e=>{const t=n(e),s=r.fix&&g(t);m(e,t,i(e),s?s.applyFix:void 0),s&&s.hasFixed&&u(e,s.fixed)}))};m.ruleName=d,m.messages=f,t.exports=m},{"../../utils/atRuleParamIndex":352,"../../utils/declarationValueIndex":359,"../../utils/getDeclarationValue":366,"../../utils/isWhitespace":425,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/setDeclarationValue":438,"../../utils/validateOptions":442,"style-search":121}],233:[(e,t,r)=>{const s=e("../utils/declarationValueIndex"),i=e("../utils/getDeclarationValue"),n=e("../utils/isStandardSyntaxFunction"),o=e("../utils/report"),a=e("../utils/setDeclarationValue"),l=e("postcss-value-parser");t.exports=(e=>{e.root.walkDecls(t=>{const r=i(t);let u;const c=l(r);c.walk(r=>{if("function"!==r.type)return;if(!n(r))return;if("url"===r.value.toLowerCase())return;const i=r.nodes.map(e=>l.stringify(e)),a=(()=>{let e=r.before+i.join("")+r.after;return e.replace(/( *\/(\*.*\*\/(?!\S)|\/.*)|(\/(\*.*\*\/|\/.*)))/,"")})(),c=(e,t)=>{let s=r.before+i.slice(0,t).join("")+e.before;return(s=s.replace(/( *\/(\*.*\*\/(?!\S)|\/.*)|(\/(\*.*\*\/|\/.*)))/,"")).length},p=[];for(const[e,t]of r.nodes.entries()){if("div"!==t.type||","!==t.value)continue;const r=c(t,e);p.push({commaNode:t,checkIndex:r,nodeIndex:e})}for(const{commaNode:i,checkIndex:n,nodeIndex:l}of p)e.locationChecker({source:a,index:n,err(n){const a=s(t)+i.sourceIndex+i.before.length;e.fix&&e.fix(i,l,r.nodes)?u=!0:o({index:a,message:n,node:t,result:e.result,ruleName:e.checkedRuleName})}})}),u&&a(t,c.toString())})})},{"../utils/declarationValueIndex":359,"../utils/getDeclarationValue":366,"../utils/isStandardSyntaxFunction":413,"../utils/report":435,"../utils/setDeclarationValue":438,"postcss-value-parser":83}],234:[(e,t,r)=>{t.exports=(e=>{const{div:t,index:r,nodes:s,expectation:i,position:n,symb:o}=e;if(i.startsWith("always"))return t[n]=o,!0;if(i.startsWith("never")){t[n]="";for(let e=r+1;e{const s=e("postcss-value-parser"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getDeclarationValue"),o=e("../../utils/isStandardSyntaxValue"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/setDeclarationValue"),c=e("../../utils/validateOptions"),p="hue-degree-notation",d=l(p,{expected:(e,t)=>`Expected "${e}" to be "${t}"`}),f=["hsl","hsla","hwb"],h=["lch"],m=new Set([...f,...h]),g=(e,t,r)=>(t,l)=>{c(l,p,{actual:e,possible:["angle","number"]})&&t.walkDecls(t=>{let c=!1;const g=s(n(t));g.walk(n=>{if("function"!==n.type)return;if(!m.has(n.value.toLowerCase()))return;const u=(e=>{const t=e.nodes.filter(({type:e})=>"word"===e||"function"===e),r=e.value.toLowerCase();return f.includes(r)?t[0]:h.includes(r)?t[2]:void 0})(n);if(!u)return;const{value:g}=u;if(!o(g))return;if(!y(g)&&!w(g))return;if("angle"===e&&y(g))return;if("number"===e&&w(g))return;const b="angle"===e?`${g}deg`:(e=>{const t=s.unit(e);if(t)return t.number;throw new TypeError(`The "${e}" value must have a unit`)})(g),x=g;if(r.fix)return u.value=b,void(c=!0);a({message:d.expected(x,b),node:t,index:i(t)+u.sourceIndex,result:l,ruleName:p})}),c&&u(t,g.toString())})};function y(e){const t=s.unit(e);return t&&"deg"===t.unit.toLowerCase()}function w(e){const t=s.unit(e);return t&&""===t.unit}g.ruleName=p,g.messages=d,t.exports=g},{"../../utils/declarationValueIndex":359,"../../utils/getDeclarationValue":366,"../../utils/isStandardSyntaxValue":421,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/setDeclarationValue":438,"../../utils/validateOptions":442,"postcss-value-parser":83}],236:[(e,t,r)=>{const s=e("../../utils/beforeBlockString"),i=e("../../utils/hasBlock"),n=e("../../utils/optionsMatches"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("style-search"),u=e("../../utils/validateOptions"),{isAtRule:c,isDeclaration:p,isRoot:d,isRule:f}=e("../../utils/typeGuards"),{isBoolean:h,isNumber:m,isString:g}=e("../../utils/validateTypes"),y="indentation",w=a(y,{expected:e=>`Expected indentation of ${e}`}),b=(e,t={},r)=>(a,b)=>{if(!u(b,y,{actual:e,possible:[m,"tab"]},{actual:t,possible:{baseIndentLevel:[m,"auto"],except:["block","value","param"],ignore:["value","param","inside-parens"],indentInsideParens:["twice","once-at-root-twice-in-block"],indentClosingBrace:[h]},optional:!0}))return;const S=m(e)?e:null,O=null==S?"\t":" ".repeat(S),C="tab"===e?"tab":"space",A=t.baseIndentLevel,E=t.indentClosingBrace,M=e=>{const t=null==S?e:e*S;return`${t} ${1===t?C:`${C}s`}`};function R(e,s,i){if(!e.includes("\n"))return;const a=[];let u=0;const d=n(t,"ignore","inside-parens");if(l({source:e,target:"\n",outsideParens:d},(n,l)=>{const c=/^[ \t]*\)/.test(e.slice(n.startIndex+1));if(d&&(c||n.insideParens))return;let p=s;if(!d&&n.insideParens){1===l&&(u-=1);let r=n.startIndex;switch("\r"===e[n.startIndex-1]&&r--,/\([ \t]*$/.test(e.slice(0,r))&&(u+=1),/\{[ \t]*$/.test(e.slice(0,r))&&(u+=1),/^[ \t]*\}/.test(e.slice(n.startIndex+1))&&(u-=1),p+=u,c&&(u-=1),t.indentInsideParens){case"twice":c&&!E||(p+=1);break;case"once-at-root-twice-in-block":if(i.parent===i.root()){c&&!E&&(p-=1);break}c&&!E||(p+=1);break;default:c&&!E&&(p-=1)}}const f=/^([ \t]*)\S/.exec(e.slice(n.startIndex+1));if(!f)return;const h=f[1],m=O.repeat(p>0?p:0);h!==m&&(r.fix?a.unshift({expectedIndentation:m,currentIndentation:h,startIndex:n.startIndex}):o({message:w.expected(M(p)),node:i,index:n.startIndex+h.length+1,result:b,ruleName:y}))}),a.length){if(f(i))for(const e of a)i.selector=k(i.selector,e.currentIndentation,e.expectedIndentation,e.startIndex);if(p(i)){const e=i.prop,t=i.raws.between;if(!g(t))throw new TypeError("The `between` property must be a string");for(const r of a)r.startIndex{if(d(a))return;const l=function r(s,o=0){if(!s.parent)throw new Error("A parent node must be present");if(d(s.parent))return o+((e,t,r)=>{const s=x(e);if(!s)return 0;if(!e.source)throw new Error("The root node must have a source");const i=e.source,n=i.baseIndentLevel;if(m(n)&&Number.isSafeInteger(n))return n;const o=((e,t,r)=>{function s(e){const t=e.match(/\t/g),s=t?t.length:0,i=e.match(/ /g);return s+(i?Math.round(i.length/r()):0)}let i=0;if(m(t)&&Number.isSafeInteger(t))i=t;else{if(!e.source)throw new Error("The root node must have a source");let t=e.source.input.css;const r=(t=t.replace(/^[^\r\n]+/,t=>{const r=e.raws.codeBefore&&/(?:^|\n)([ \t]*)$/.exec(e.raws.codeBefore);return r?r[1]+t:""})).match(/^[ \t]*(?=\S)/gm);if(r)return Math.min(...r.map(e=>s(e)));i=1}const n=[],o=e.raws.codeBefore&&/(?:^|\n)([ \t]*)\S/m.exec(e.raws.codeBefore);if(o){let e=Number.MAX_SAFE_INTEGER,t=0;for(;++ts(e)))+i:i})(e,t,()=>((e,t)=>{if(!e.source)throw new Error("The document node must have a source");const r=e.source;let s=r.indentSize;if(m(s)&&Number.isSafeInteger(s))return s;const i=e.source.input.css.match(/^ *(?=\S)/gm);if(i){const e=new Map;let t=0,r=0;const n=s=>{if(s){if((t=Math.abs(s-r)||t)>1){const r=e.get(t);r?e.set(t,r+1):e.set(t,1)}}else t=0;r=s};for(const e of i)n(e.length);let o=0;for(const[t,r]of e.entries())r>o&&(o=r,s=t)}return s=Number(s)||i&&i[0].length||Number(t)||2,r.indentSize=s,s})(s,r));return i.baseIndentLevel=o,o})(s.parent,A,e);let a;return a=r(s.parent,o+1),n(t,"except","block")&&(f(s)||c(s))&&i(s)&&a--,a}(a),u=(a.raws.before||"").replace(/[*_]$/,""),h="after"in a.raws&&a.raws.after||"",k=a.parent;if(!k)throw new Error("A parent node must be present");const S=O.repeat(l),C="root"===k.type&&k.first===a,N=u.lastIndexOf("\n");(-1!==N||C&&(!x(k)||k.raws.codeBefore&&k.raws.codeBefore.endsWith("\n")))&&u.slice(N+1)!==S&&(r.fix?(C&&g(a.raws.before)&&(a.raws.before=a.raws.before.replace(/^[ \t]*(?=\S|$)/,S)),a.raws.before=v(a.raws.before,S)):o({message:w.expected(M(l)),node:a,result:b,ruleName:y}));const I=E?l+1:l,P=O.repeat(I);(f(a)||c(a))&&i(a)&&h&&h.includes("\n")&&h.slice(h.lastIndexOf("\n")+1)!==P&&(r.fix?a.raws.after=v(a.raws.after,P):o({message:w.expected(M(I)),node:a,index:a.toString().length-1,result:b,ruleName:y})),p(a)&&((e,r)=>{if(!e.value.includes("\n"))return;if(n(t,"ignore","value"))return;R(e.toString(),n(t,"except","value")?r:r+1,e)})(a,l),f(a)&&((e,t)=>{const r=e.selector;e.params&&(t+=1),R(r,t,e)})(a,l),c(a)&&((e,r)=>{if(n(t,"ignore","param"))return;const i=n(t,"except","param")||"nest"===e.name||"at-root"===e.name?r:r+1;R(s(e).trim(),i,e)})(a,l)})};function x(e){const t=e.document;if(t)return t;const r=e.root();return r&&r.document}function v(e,t){return g(e)?e.replace(/\n[ \t]*(?=\S|$)/g,`\n${t}`):e}function k(e,t,r,s){const i=s+1;return e.slice(0,i)+r+e.slice(i+t.length)}b.ruleName=y,b.messages=w,t.exports=b},{"../../utils/beforeBlockString":353,"../../utils/hasBlock":375,"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/typeGuards":440,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"style-search":121}],237:[(e,t,r)=>{const s=e("import-lazy"),i={"alpha-value-notation":s(()=>e("./alpha-value-notation"))(),"at-rule-allowed-list":s(()=>e("./at-rule-allowed-list"))(),"at-rule-disallowed-list":s(()=>e("./at-rule-disallowed-list"))(),"at-rule-empty-line-before":s(()=>e("./at-rule-empty-line-before"))(),"at-rule-name-case":s(()=>e("./at-rule-name-case"))(),"at-rule-name-newline-after":s(()=>e("./at-rule-name-newline-after"))(),"at-rule-semicolon-space-before":s(()=>e("./at-rule-semicolon-space-before"))(),"at-rule-name-space-after":s(()=>e("./at-rule-name-space-after"))(),"at-rule-no-unknown":s(()=>e("./at-rule-no-unknown"))(),"at-rule-property-required-list":s(()=>e("./at-rule-property-required-list"))(),"at-rule-semicolon-newline-after":s(()=>e("./at-rule-semicolon-newline-after"))(),"block-closing-brace-empty-line-before":s(()=>e("./block-closing-brace-empty-line-before"))(),"block-closing-brace-newline-after":s(()=>e("./block-closing-brace-newline-after"))(),"block-closing-brace-newline-before":s(()=>e("./block-closing-brace-newline-before"))(),"block-closing-brace-space-after":s(()=>e("./block-closing-brace-space-after"))(),"block-closing-brace-space-before":s(()=>e("./block-closing-brace-space-before"))(),"block-no-empty":s(()=>e("./block-no-empty"))(),"block-opening-brace-newline-after":s(()=>e("./block-opening-brace-newline-after"))(),"block-opening-brace-newline-before":s(()=>e("./block-opening-brace-newline-before"))(),"block-opening-brace-space-after":s(()=>e("./block-opening-brace-space-after"))(),"block-opening-brace-space-before":s(()=>e("./block-opening-brace-space-before"))(),"color-function-notation":s(()=>e("./color-function-notation"))(),"color-hex-alpha":s(()=>e("./color-hex-alpha"))(),"color-hex-case":s(()=>e("./color-hex-case"))(),"color-hex-length":s(()=>e("./color-hex-length"))(),"color-named":s(()=>e("./color-named"))(),"color-no-hex":s(()=>e("./color-no-hex"))(),"color-no-invalid-hex":s(()=>e("./color-no-invalid-hex"))(),"comment-empty-line-before":s(()=>e("./comment-empty-line-before"))(),"comment-no-empty":s(()=>e("./comment-no-empty"))(),"comment-pattern":s(()=>e("./comment-pattern"))(),"comment-whitespace-inside":s(()=>e("./comment-whitespace-inside"))(),"comment-word-disallowed-list":s(()=>e("./comment-word-disallowed-list"))(),"custom-media-pattern":s(()=>e("./custom-media-pattern"))(),"custom-property-empty-line-before":s(()=>e("./custom-property-empty-line-before"))(),"custom-property-no-missing-var-function":s(()=>e("./custom-property-no-missing-var-function"))(),"custom-property-pattern":s(()=>e("./custom-property-pattern"))(),"declaration-bang-space-after":s(()=>e("./declaration-bang-space-after"))(),"declaration-bang-space-before":s(()=>e("./declaration-bang-space-before"))(),"declaration-block-no-duplicate-custom-properties":s(()=>e("./declaration-block-no-duplicate-custom-properties"))(),"declaration-block-no-duplicate-properties":s(()=>e("./declaration-block-no-duplicate-properties"))(),"declaration-block-no-redundant-longhand-properties":s(()=>e("./declaration-block-no-redundant-longhand-properties"))(),"declaration-block-no-shorthand-property-overrides":s(()=>e("./declaration-block-no-shorthand-property-overrides"))(),"declaration-block-semicolon-newline-after":s(()=>e("./declaration-block-semicolon-newline-after"))(),"declaration-block-semicolon-newline-before":s(()=>e("./declaration-block-semicolon-newline-before"))(),"declaration-block-semicolon-space-after":s(()=>e("./declaration-block-semicolon-space-after"))(),"declaration-block-semicolon-space-before":s(()=>e("./declaration-block-semicolon-space-before"))(),"declaration-block-single-line-max-declarations":s(()=>e("./declaration-block-single-line-max-declarations"))(),"declaration-block-trailing-semicolon":s(()=>e("./declaration-block-trailing-semicolon"))(),"declaration-colon-newline-after":s(()=>e("./declaration-colon-newline-after"))(),"declaration-colon-space-after":s(()=>e("./declaration-colon-space-after"))(),"declaration-colon-space-before":s(()=>e("./declaration-colon-space-before"))(),"declaration-empty-line-before":s(()=>e("./declaration-empty-line-before"))(),"declaration-no-important":s(()=>e("./declaration-no-important"))(),"declaration-property-unit-allowed-list":s(()=>e("./declaration-property-unit-allowed-list"))(),"declaration-property-unit-disallowed-list":s(()=>e("./declaration-property-unit-disallowed-list"))(),"declaration-property-value-allowed-list":s(()=>e("./declaration-property-value-allowed-list"))(),"declaration-property-value-disallowed-list":s(()=>e("./declaration-property-value-disallowed-list"))(),"font-family-no-missing-generic-family-keyword":s(()=>e("./font-family-no-missing-generic-family-keyword"))(),"font-family-name-quotes":s(()=>e("./font-family-name-quotes"))(),"font-family-no-duplicate-names":s(()=>e("./font-family-no-duplicate-names"))(),"font-weight-notation":s(()=>e("./font-weight-notation"))(),"function-allowed-list":s(()=>e("./function-allowed-list"))(),"function-calc-no-unspaced-operator":s(()=>e("./function-calc-no-unspaced-operator"))(),"function-comma-newline-after":s(()=>e("./function-comma-newline-after"))(),"function-comma-newline-before":s(()=>e("./function-comma-newline-before"))(),"function-comma-space-after":s(()=>e("./function-comma-space-after"))(),"function-comma-space-before":s(()=>e("./function-comma-space-before"))(),"function-disallowed-list":s(()=>e("./function-disallowed-list"))(),"function-linear-gradient-no-nonstandard-direction":s(()=>e("./function-linear-gradient-no-nonstandard-direction"))(),"function-max-empty-lines":s(()=>e("./function-max-empty-lines"))(),"function-name-case":s(()=>e("./function-name-case"))(),"function-parentheses-newline-inside":s(()=>e("./function-parentheses-newline-inside"))(),"function-parentheses-space-inside":s(()=>e("./function-parentheses-space-inside"))(),"function-url-no-scheme-relative":s(()=>e("./function-url-no-scheme-relative"))(),"function-url-quotes":s(()=>e("./function-url-quotes"))(),"function-url-scheme-allowed-list":s(()=>e("./function-url-scheme-allowed-list"))(),"function-url-scheme-disallowed-list":s(()=>e("./function-url-scheme-disallowed-list"))(),"function-whitespace-after":s(()=>e("./function-whitespace-after"))(),"hue-degree-notation":s(()=>e("./hue-degree-notation"))(),"keyframe-declaration-no-important":s(()=>e("./keyframe-declaration-no-important"))(),"keyframes-name-pattern":s(()=>e("./keyframes-name-pattern"))(),"length-zero-no-unit":s(()=>e("./length-zero-no-unit"))(),linebreaks:s(()=>e("./linebreaks"))(),"max-empty-lines":s(()=>e("./max-empty-lines"))(),"max-line-length":s(()=>e("./max-line-length"))(),"max-nesting-depth":s(()=>e("./max-nesting-depth"))(),"media-feature-colon-space-after":s(()=>e("./media-feature-colon-space-after"))(),"media-feature-colon-space-before":s(()=>e("./media-feature-colon-space-before"))(),"media-feature-name-allowed-list":s(()=>e("./media-feature-name-allowed-list"))(),"media-feature-name-case":s(()=>e("./media-feature-name-case"))(),"media-feature-name-disallowed-list":s(()=>e("./media-feature-name-disallowed-list"))(),"media-feature-name-no-unknown":s(()=>e("./media-feature-name-no-unknown"))(),"media-feature-name-value-allowed-list":s(()=>e("./media-feature-name-value-allowed-list"))(),"media-feature-parentheses-space-inside":s(()=>e("./media-feature-parentheses-space-inside"))(),"media-feature-range-operator-space-after":s(()=>e("./media-feature-range-operator-space-after"))(),"media-feature-range-operator-space-before":s(()=>e("./media-feature-range-operator-space-before"))(),"media-query-list-comma-newline-after":s(()=>e("./media-query-list-comma-newline-after"))(),"media-query-list-comma-newline-before":s(()=>e("./media-query-list-comma-newline-before"))(),"media-query-list-comma-space-after":s(()=>e("./media-query-list-comma-space-after"))(),"media-query-list-comma-space-before":s(()=>e("./media-query-list-comma-space-before"))(),"named-grid-areas-no-invalid":s(()=>e("./named-grid-areas-no-invalid"))(),"no-descending-specificity":s(()=>e("./no-descending-specificity"))(),"no-duplicate-at-import-rules":s(()=>e("./no-duplicate-at-import-rules"))(),"no-duplicate-selectors":s(()=>e("./no-duplicate-selectors"))(),"no-empty-source":s(()=>e("./no-empty-source"))(),"no-empty-first-line":s(()=>e("./no-empty-first-line"))(),"no-eol-whitespace":s(()=>e("./no-eol-whitespace"))(),"no-extra-semicolons":s(()=>e("./no-extra-semicolons"))(),"no-invalid-double-slash-comments":s(()=>e("./no-invalid-double-slash-comments"))(),"no-invalid-position-at-import-rule":s(()=>e("./no-invalid-position-at-import-rule"))(),"no-irregular-whitespace":s(()=>e("./no-irregular-whitespace"))(),"no-missing-end-of-source-newline":s(()=>e("./no-missing-end-of-source-newline"))(),"no-unknown-animations":s(()=>e("./no-unknown-animations"))(),"number-leading-zero":s(()=>e("./number-leading-zero"))(),"number-max-precision":s(()=>e("./number-max-precision"))(),"number-no-trailing-zeros":s(()=>e("./number-no-trailing-zeros"))(),"property-allowed-list":s(()=>e("./property-allowed-list"))(),"property-case":s(()=>e("./property-case"))(),"property-disallowed-list":s(()=>e("./property-disallowed-list"))(),"property-no-unknown":s(()=>e("./property-no-unknown"))(),"rule-empty-line-before":s(()=>e("./rule-empty-line-before"))(),"rule-selector-property-disallowed-list":s(()=>e("./rule-selector-property-disallowed-list"))(),"selector-attribute-brackets-space-inside":s(()=>e("./selector-attribute-brackets-space-inside"))(),"selector-attribute-name-disallowed-list":s(()=>e("./selector-attribute-name-disallowed-list"))(),"selector-attribute-operator-allowed-list":s(()=>e("./selector-attribute-operator-allowed-list"))(),"selector-attribute-operator-disallowed-list":s(()=>e("./selector-attribute-operator-disallowed-list"))(),"selector-attribute-operator-space-after":s(()=>e("./selector-attribute-operator-space-after"))(),"selector-attribute-operator-space-before":s(()=>e("./selector-attribute-operator-space-before"))(),"selector-attribute-quotes":s(()=>e("./selector-attribute-quotes"))(),"selector-class-pattern":s(()=>e("./selector-class-pattern"))(),"selector-combinator-allowed-list":s(()=>e("./selector-combinator-allowed-list"))(),"selector-combinator-disallowed-list":s(()=>e("./selector-combinator-disallowed-list"))(),"selector-combinator-space-after":s(()=>e("./selector-combinator-space-after"))(),"selector-combinator-space-before":s(()=>e("./selector-combinator-space-before"))(),"selector-descendant-combinator-no-non-space":s(()=>e("./selector-descendant-combinator-no-non-space"))(),"selector-disallowed-list":s(()=>e("./selector-disallowed-list"))(),"selector-id-pattern":s(()=>e("./selector-id-pattern"))(),"selector-list-comma-newline-after":s(()=>e("./selector-list-comma-newline-after"))(),"selector-list-comma-newline-before":s(()=>e("./selector-list-comma-newline-before"))(),"selector-list-comma-space-after":s(()=>e("./selector-list-comma-space-after"))(),"selector-list-comma-space-before":s(()=>e("./selector-list-comma-space-before"))(),"selector-max-attribute":s(()=>e("./selector-max-attribute"))(),"selector-max-class":s(()=>e("./selector-max-class"))(),"selector-max-combinators":s(()=>e("./selector-max-combinators"))(),"selector-max-compound-selectors":s(()=>e("./selector-max-compound-selectors"))(),"selector-max-empty-lines":s(()=>e("./selector-max-empty-lines"))(),"selector-max-id":s(()=>e("./selector-max-id"))(),"selector-max-pseudo-class":s(()=>e("./selector-max-pseudo-class"))(),"selector-max-specificity":s(()=>e("./selector-max-specificity"))(),"selector-max-type":s(()=>e("./selector-max-type"))(),"selector-max-universal":s(()=>e("./selector-max-universal"))(),"selector-nested-pattern":s(()=>e("./selector-nested-pattern"))(),"selector-no-qualifying-type":s(()=>e("./selector-no-qualifying-type"))(),"selector-pseudo-class-allowed-list":s(()=>e("./selector-pseudo-class-allowed-list"))(),"selector-pseudo-class-case":s(()=>e("./selector-pseudo-class-case"))(),"selector-pseudo-class-disallowed-list":s(()=>e("./selector-pseudo-class-disallowed-list"))(),"selector-pseudo-class-no-unknown":s(()=>e("./selector-pseudo-class-no-unknown"))(),"selector-pseudo-class-parentheses-space-inside":s(()=>e("./selector-pseudo-class-parentheses-space-inside"))(),"selector-pseudo-element-allowed-list":s(()=>e("./selector-pseudo-element-allowed-list"))(),"selector-pseudo-element-case":s(()=>e("./selector-pseudo-element-case"))(),"selector-pseudo-element-colon-notation":s(()=>e("./selector-pseudo-element-colon-notation"))(),"selector-pseudo-element-disallowed-list":s(()=>e("./selector-pseudo-element-disallowed-list"))(),"selector-pseudo-element-no-unknown":s(()=>e("./selector-pseudo-element-no-unknown"))(),"selector-type-case":s(()=>e("./selector-type-case"))(),"selector-type-no-unknown":s(()=>e("./selector-type-no-unknown"))(),"shorthand-property-no-redundant-values":s(()=>e("./shorthand-property-no-redundant-values"))(),"string-no-newline":s(()=>e("./string-no-newline"))(),"string-quotes":s(()=>e("./string-quotes"))(),"time-min-milliseconds":s(()=>e("./time-min-milliseconds"))(),"unicode-bom":s(()=>e("./unicode-bom"))(),"unit-allowed-list":s(()=>e("./unit-allowed-list"))(),"unit-case":s(()=>e("./unit-case"))(),"unit-disallowed-list":s(()=>e("./unit-disallowed-list"))(),"unit-no-unknown":s(()=>e("./unit-no-unknown"))(),"value-keyword-case":s(()=>e("./value-keyword-case"))(),"value-list-comma-newline-after":s(()=>e("./value-list-comma-newline-after"))(),"value-list-comma-newline-before":s(()=>e("./value-list-comma-newline-before"))(),"value-list-comma-space-after":s(()=>e("./value-list-comma-space-after"))(),"value-list-comma-space-before":s(()=>e("./value-list-comma-space-before"))(),"value-list-max-empty-lines":s(()=>e("./value-list-max-empty-lines"))(),indentation:s(()=>e("./indentation"))()};t.exports=i},{"./alpha-value-notation":149,"./at-rule-allowed-list":150,"./at-rule-disallowed-list":151,"./at-rule-empty-line-before":152,"./at-rule-name-case":153,"./at-rule-name-newline-after":154,"./at-rule-name-space-after":155,"./at-rule-no-unknown":156,"./at-rule-property-required-list":157,"./at-rule-semicolon-newline-after":158,"./at-rule-semicolon-space-before":159,"./block-closing-brace-empty-line-before":161,"./block-closing-brace-newline-after":162,"./block-closing-brace-newline-before":163,"./block-closing-brace-space-after":164,"./block-closing-brace-space-before":165,"./block-no-empty":166,"./block-opening-brace-newline-after":167,"./block-opening-brace-newline-before":168,"./block-opening-brace-space-after":169,"./block-opening-brace-space-before":170,"./color-function-notation":171,"./color-hex-alpha":172,"./color-hex-case":173,"./color-hex-length":174,"./color-named":176,"./color-no-hex":177,"./color-no-invalid-hex":178,"./comment-empty-line-before":179,"./comment-no-empty":180,"./comment-pattern":181,"./comment-whitespace-inside":182,"./comment-word-disallowed-list":183,"./custom-media-pattern":184,"./custom-property-empty-line-before":185,"./custom-property-no-missing-var-function":186,"./custom-property-pattern":187,"./declaration-bang-space-after":188,"./declaration-bang-space-before":189,"./declaration-block-no-duplicate-custom-properties":190,"./declaration-block-no-duplicate-properties":191,"./declaration-block-no-redundant-longhand-properties":192,"./declaration-block-no-shorthand-property-overrides":193,"./declaration-block-semicolon-newline-after":194,"./declaration-block-semicolon-newline-before":195,"./declaration-block-semicolon-space-after":196,"./declaration-block-semicolon-space-before":197,"./declaration-block-single-line-max-declarations":198,"./declaration-block-trailing-semicolon":199,"./declaration-colon-newline-after":200,"./declaration-colon-space-after":201,"./declaration-colon-space-before":202,"./declaration-empty-line-before":203,"./declaration-no-important":204,"./declaration-property-unit-allowed-list":205,"./declaration-property-unit-disallowed-list":206,"./declaration-property-value-allowed-list":207,"./declaration-property-value-disallowed-list":208,"./font-family-name-quotes":212,"./font-family-no-duplicate-names":213,"./font-family-no-missing-generic-family-keyword":214,"./font-weight-notation":215,"./function-allowed-list":216,"./function-calc-no-unspaced-operator":217,"./function-comma-newline-after":218,"./function-comma-newline-before":219,"./function-comma-space-after":220,"./function-comma-space-before":221,"./function-disallowed-list":222,"./function-linear-gradient-no-nonstandard-direction":223,"./function-max-empty-lines":224,"./function-name-case":225,"./function-parentheses-newline-inside":226,"./function-parentheses-space-inside":227,"./function-url-no-scheme-relative":228,"./function-url-quotes":229,"./function-url-scheme-allowed-list":230,"./function-url-scheme-disallowed-list":231,"./function-whitespace-after":232,"./hue-degree-notation":235,"./indentation":236,"./keyframe-declaration-no-important":238,"./keyframes-name-pattern":239,"./length-zero-no-unit":240,"./linebreaks":241,"./max-empty-lines":242,"./max-line-length":243,"./max-nesting-depth":244,"./media-feature-colon-space-after":245,"./media-feature-colon-space-before":246,"./media-feature-name-allowed-list":247,"./media-feature-name-case":248,"./media-feature-name-disallowed-list":249,"./media-feature-name-no-unknown":250,"./media-feature-name-value-allowed-list":251,"./media-feature-parentheses-space-inside":252,"./media-feature-range-operator-space-after":253,"./media-feature-range-operator-space-before":254,"./media-query-list-comma-newline-after":255,"./media-query-list-comma-newline-before":256,"./media-query-list-comma-space-after":257,"./media-query-list-comma-space-before":258,"./named-grid-areas-no-invalid":261,"./no-descending-specificity":264,"./no-duplicate-at-import-rules":265,"./no-duplicate-selectors":266,"./no-empty-first-line":267,"./no-empty-source":268,"./no-eol-whitespace":269,"./no-extra-semicolons":270,"./no-invalid-double-slash-comments":271,"./no-invalid-position-at-import-rule":272,"./no-irregular-whitespace":273,"./no-missing-end-of-source-newline":274,"./no-unknown-animations":275,"./number-leading-zero":276,"./number-max-precision":277,"./number-no-trailing-zeros":278,"./property-allowed-list":279,"./property-case":280,"./property-disallowed-list":281,"./property-no-unknown":282,"./rule-empty-line-before":284,"./rule-selector-property-disallowed-list":285,"./selector-attribute-brackets-space-inside":286,"./selector-attribute-name-disallowed-list":287,"./selector-attribute-operator-allowed-list":288,"./selector-attribute-operator-disallowed-list":289,"./selector-attribute-operator-space-after":290,"./selector-attribute-operator-space-before":291,"./selector-attribute-quotes":292,"./selector-class-pattern":293,"./selector-combinator-allowed-list":294,"./selector-combinator-disallowed-list":295,"./selector-combinator-space-after":296,"./selector-combinator-space-before":297,"./selector-descendant-combinator-no-non-space":298,"./selector-disallowed-list":299,"./selector-id-pattern":300,"./selector-list-comma-newline-after":301,"./selector-list-comma-newline-before":302,"./selector-list-comma-space-after":303,"./selector-list-comma-space-before":304,"./selector-max-attribute":305,"./selector-max-class":306,"./selector-max-combinators":307,"./selector-max-compound-selectors":308,"./selector-max-empty-lines":309,"./selector-max-id":310,"./selector-max-pseudo-class":311,"./selector-max-specificity":312,"./selector-max-type":313,"./selector-max-universal":314,"./selector-nested-pattern":315,"./selector-no-qualifying-type":316,"./selector-pseudo-class-allowed-list":317,"./selector-pseudo-class-case":318,"./selector-pseudo-class-disallowed-list":319,"./selector-pseudo-class-no-unknown":320,"./selector-pseudo-class-parentheses-space-inside":321,"./selector-pseudo-element-allowed-list":322,"./selector-pseudo-element-case":323,"./selector-pseudo-element-colon-notation":324,"./selector-pseudo-element-disallowed-list":325,"./selector-pseudo-element-no-unknown":326,"./selector-type-case":327,"./selector-type-no-unknown":328,"./shorthand-property-no-redundant-values":332,"./string-no-newline":333,"./string-quotes":334,"./time-min-milliseconds":335,"./unicode-bom":336,"./unit-allowed-list":337,"./unit-case":338,"./unit-disallowed-list":339,"./unit-no-unknown":340,"./value-keyword-case":341,"./value-list-comma-newline-after":342,"./value-list-comma-newline-before":343,"./value-list-comma-space-after":344,"./value-list-comma-space-before":345,"./value-list-max-empty-lines":346,"import-lazy":31}],238:[(e,t,r)=>{const s=e("../../utils/report"),i=e("../../utils/ruleMessages"),n=e("../../utils/validateOptions"),o="keyframe-declaration-no-important",a=i(o,{rejected:"Unexpected !important"}),l=e=>(t,r)=>{n(r,o,{actual:e})&&t.walkAtRules(/^(-(moz|webkit)-)?keyframes$/i,e=>{e.walkDecls(e=>{e.important&&s({message:a.rejected,node:e,word:"important",result:r,ruleName:o})})})};l.ruleName=o,l.messages=a,t.exports=l},{"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442}],239:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),{isRegExp:a,isString:l}=e("../../utils/validateTypes"),u="keyframes-name-pattern",c=n(u,{expected:(e,t)=>`Expected keyframe name "${e}" to match pattern "${t}"`}),p=e=>(t,r)=>{if(!o(r,u,{actual:e,possible:[a,l]}))return;const n=l(e)?new RegExp(e):e;t.walkAtRules(/keyframes/i,t=>{const o=t.params;n.test(o)||i({index:s(t),message:c.expected(o,e),node:t,ruleName:u,result:r})})};p.ruleName=u,p.messages=c,t.exports=p},{"../../utils/atRuleParamIndex":352,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443}],240:[(e,t,r)=>{const s=e("postcss-value-parser"),i=e("../../utils/atRuleParamIndex"),n=e("../../utils/declarationValueIndex"),o=e("../../utils/getAtRuleParams"),a=e("../../utils/getDeclarationValue"),l=e("../../utils/isCustomProperty"),u=e("../../utils/isMathFunction"),c=e("../../utils/isStandardSyntaxAtRule"),p=e("../../reference/keywordSets"),d=e("../../utils/optionsMatches"),f=e("../../utils/report"),h=e("../../utils/ruleMessages"),m=e("../../utils/setAtRuleParams"),g=e("../../utils/setDeclarationValue"),y=e("../../utils/validateOptions"),{isRegExp:w,isString:b}=e("../../utils/validateTypes"),x="length-zero-no-unit",v=h(x,{rejected:"Unexpected unit"}),k=(e,t,r)=>(h,k)=>{if(!y(k,x,{actual:e},{actual:t,possible:{ignore:["custom-properties"],ignoreFunctions:[b,w]},optional:!0}))return;let S;function O(e,i,n){const{value:o,sourceIndex:a}=n;if(u(n))return!1;if((({type:e})=>"function"===e)(n)&&d(t,"ignoreFunctions",o))return!1;if(!(({type:e})=>"word"===e)(n))return;const l=s.unit(o);if(!1===l)return;const{number:c,unit:h}=l;var m,g;return""!==h&&(m=h,p.lengthUnits.has(m.toLowerCase())&&"fr"!==h.toLowerCase()&&(g=c,0===Number.parseFloat(g)))?r.fix?(n.value=c,void(S=!0)):void f({index:i+a+c.length,message:v.rejected,node:e,result:k,ruleName:x}):void 0}h.walkAtRules(e=>{if(!c(e))return;S=!1;const t=i(e),r=s(o(e));r.walk(r=>O(e,t,r)),S&&m(e,r.toString())}),h.walkDecls(e=>{S=!1;const{prop:r}=e;if("line-height"===r.toLowerCase())return;if("flex"===r.toLowerCase())return;if(d(t,"ignore","custom-properties")&&l(r))return;const i=n(e),o=s(a(e));o.walk((t,r,s)=>{if(!(({prop:e},t,r)=>"font"===e.toLowerCase()&&r>0&&"div"===t[r-1].type&&"/"===t[r-1].value)(e,s,r))return O(e,i,t)}),S&&g(e,o.toString())})};k.ruleName=x,k.messages=v,t.exports=k},{"../../reference/keywordSets":142,"../../utils/atRuleParamIndex":352,"../../utils/declarationValueIndex":359,"../../utils/getAtRuleParams":365,"../../utils/getDeclarationValue":366,"../../utils/isCustomProperty":393,"../../utils/isMathFunction":399,"../../utils/isStandardSyntaxAtRule":408,"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/setAtRuleParams":437,"../../utils/setDeclarationValue":438,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"postcss-value-parser":83}],241:[(e,t,r)=>{const s=e("postcss"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a="linebreaks",l=n(a,{expected:e=>`Expected linebreak to be ${e}`}),u=(e,t,r)=>(t,n)=>{if(!o(n,a,{actual:e,possible:["unix","windows"]}))return;const u="windows"===e;if(r.fix)t.walk(e=>{"selector"in e&&(e.selector=p(e.selector)),"value"in e&&(e.value=p(e.value)),"text"in e&&(e.text=p(e.text)),e.raws.before&&(e.raws.before=p(e.raws.before)),"after"in e.raws&&e.raws.after&&(e.raws.after=p(e.raws.after))}),"after"in t.raws&&t.raws.after&&(t.raws.after=p(t.raws.after));else{if(null==t.source)throw new Error("The root node must have a source");const e=t.source.input.css.split("\n");for(let t=0;t{const s=e("../../utils/optionsMatches"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("style-search"),a=e("../../utils/validateOptions"),{isNumber:l}=e("../../utils/validateTypes"),u="max-empty-lines",c=n(u,{expected:e=>`Expected no more than ${e} empty ${1===e?"line":"lines"}`}),p=(e,t,r)=>{let n=0,p=-1;return(d,f)=>{if(!a(f,u,{actual:e,possible:l},{actual:t,possible:{ignore:["comments"]},optional:!0}))return;const h=s(t,"ignore","comments"),m=y.bind(null,e);if(r.fix){d.walk(e=>{"comment"!==e.type||h||(e.raws.left=m(e.raws.left),e.raws.right=m(e.raws.right)),e.raws.before&&(e.raws.before=m(e.raws.before))});const t=d.first&&d.first.raws.before,r=d.raws.after;return void("Document"!==(d.document&&d.document.constructor.name)?(t&&(d.first.raws.before=m(t,!0)),r&&(d.raws.after=y(0===e?1:e,r,!0))):r&&(d.raws.after=y(0===e?1:e,r)))}n=0,p=-1;const g=d.toString();function y(e,t,r=!1){const s=r?e:e+1;if(0===s||"string"!=typeof t)return"";const i="\n".repeat(s),n="\r\n".repeat(s);return/(?:\r\n)+/.test(t)?t.replace(/(\r\n)+/g,e=>e.length/2>s?n:e):t.replace(/(\n)+/g,e=>e.length>s?i:e)}o({source:g,target:/\r\n/.test(g)?"\r\n":"\n",comments:h?"skip":"check"},t=>{((t,r,s,o)=>{const a=s===t.length;let l=!1;r&&p!==r?n=0:n++,p=s,n>e&&(l=!0),(a||l)&&(l&&i({message:c.expected(e),node:o,index:r,result:f,ruleName:u}),a&&e&&++n>e&&((e,t)=>{if(!(e&&"Document"===e.constructor.name&&"type"in e))return!0;let r;if(t===e.last)r=e.raws&&e.raws.codeAfter;else{const s=e.index(t),i=e.nodes[s+1];r=i&&i.raws&&i.raws.codeBefore}return!String(r).trim()})(f.root,o)&&i({message:c.expected(e),node:o,index:s,result:f,ruleName:u}))})(g,t.startIndex,t.endIndex,d)})}};p.ruleName=u,p.messages=c,t.exports=p},{"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"style-search":121}],243:[(e,t,r)=>{const s=e("execall"),i=e("../../utils/optionsMatches"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("style-search"),l=e("../../utils/validateOptions"),{isNumber:u,isRegExp:c,isString:p}=e("../../utils/validateTypes"),d="max-line-length",f=[/url\(\s*(\S.*\S)\s*\)/gi,/@import\s+(['"].*['"])/gi],h=o(d,{expected:e=>`Expected line length to be no more than ${e} ${1===e?"character":"characters"}`}),m=(e,t,r)=>(o,m)=>{if(!l(m,d,{actual:e,possible:u},{actual:t,possible:{ignore:["non-comments","comments"],ignorePattern:[p,c]},optional:!0}))return;if(null==o.source)throw new Error("The root node must have a source");const g=i(t,"ignore","non-comments"),y=i(t,"ignore","comments"),w=r.fix?o.toString():o.source.input.css;let b=[],x=0;for(const e of f)for(const t of s(e,w)){const e=t.subMatches[0]||"",r=t.index+t.match.indexOf(e);b.push([r,r+e.length])}function v(t){n({index:t,result:m,ruleName:d,message:h.expected(e),node:o})}function k(r){let s=w.indexOf("\n",r.endIndex);"\r"===w[s-1]&&(s-=1),-1===s&&(s=w.length);const n=s-r.endIndex,o=b[x]?((e,t)=>{const[r,s]=b[x];if(te[0]-t[0]),k({endIndex:0}),a({source:w,target:["\n"],comments:"check"},e=>k(e))};m.ruleName=d,m.messages=h,t.exports=m},{"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,execall:18,"style-search":121}],244:[(e,t,r)=>{const s=e("../../utils/hasBlock"),i=e("../../utils/isStandardSyntaxRule"),n=e("../../utils/optionsMatches"),o=e("postcss-selector-parser"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),{isAtRule:c,isDeclaration:p,isRoot:d,isRule:f}=e("../../utils/typeGuards"),{isNumber:h,isRegExp:m,isString:g}=e("../../utils/validateTypes"),y="max-nesting-depth",w=l(y,{expected:e=>`Expected nesting depth to be no more than ${e}`}),b=(e,t)=>{const r=e=>c(e)&&n(t,"ignoreAtRules",e.name);return(l,b)=>{function v(l){r(l)||s(l)&&(f(l)&&!i(l)||function e(s,i){const a=s.parent;if(null==a)throw new Error("The parent node must exist");return r(a)?0:d(a)||c(a)&&a.parent&&d(a.parent)?i:n(t,"ignore","blockless-at-rules")&&c(s)&&s.every(e=>!p(e))||n(t,"ignore","pseudo-classes")&&f(s)&&(u=s.selector,o().processSync(u,{lossless:!1}).split(",").every(e=>x(e)))||f(s)&&(l=s.selectors,t&&t.ignorePseudoClasses&&l.every(e=>{const r=x(e);return!!r&&n(t,"ignorePseudoClasses",r)}))?e(a,i):e(a,i+1);var l,u}(l,0)>e&&a({ruleName:y,result:b,node:l,message:w.expected(e)}))}u(b,y,{actual:e,possible:[h]},{optional:!0,actual:t,possible:{ignore:["blockless-at-rules","pseudo-classes"],ignoreAtRules:[g,m],ignorePseudoClasses:[g,m]}})&&(l.walkRules(v),l.walkAtRules(v))}};function x(e){return e.startsWith("&:")&&":"!==e[2]?e.substr(2):void 0}b.ruleName=y,b.messages=w,t.exports=b},{"../../utils/hasBlock":375,"../../utils/isStandardSyntaxRule":417,"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/typeGuards":440,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"postcss-selector-parser":53}],245:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../mediaFeatureColonSpaceChecker"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/whitespaceChecker"),l="media-feature-colon-space-after",u=n(l,{expectedAfter:()=>'Expected single space after ":"',rejectedAfter:()=>'Unexpected whitespace after ":"'}),c=(e,t,r)=>{const n=a("space",e,u);return(t,a)=>{if(!o(a,l,{actual:e,possible:["always","never"]}))return;let u;if(i({root:t,result:a,locationChecker:n.after,checkedRuleName:l,fix:r.fix?(e,t)=>{const r=t-s(e),i=(u=u||new Map).get(e)||[];return i.push(r),u.set(e,i),!0}:null}),u)for(const[t,r]of u.entries()){let s=t.raws.params?t.raws.params.raw:t.params;for(const t of r.sort((e,t)=>t-e)){const r=s.slice(0,t+1),i=s.slice(t+1);"always"===e?s=r+i.replace(/^\s*/," "):"never"===e&&(s=r+i.replace(/^\s*/,""))}t.raws.params?t.raws.params.raw=s:t.params=s}}};c.ruleName=l,c.messages=u,t.exports=c},{"../../utils/atRuleParamIndex":352,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../mediaFeatureColonSpaceChecker":259}],246:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../mediaFeatureColonSpaceChecker"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/whitespaceChecker"),l="media-feature-colon-space-before",u=n(l,{expectedBefore:()=>'Expected single space before ":"',rejectedBefore:()=>'Unexpected whitespace before ":"'}),c=(e,t,r)=>{const n=a("space",e,u);return(t,a)=>{if(!o(a,l,{actual:e,possible:["always","never"]}))return;let u;if(i({root:t,result:a,locationChecker:n.before,checkedRuleName:l,fix:r.fix?(e,t)=>{const r=t-s(e),i=(u=u||new Map).get(e)||[];return i.push(r),u.set(e,i),!0}:null}),u)for(const[t,r]of u.entries()){let s=t.raws.params?t.raws.params.raw:t.params;for(const t of r.sort((e,t)=>t-e)){const r=s.slice(0,t),i=s.slice(t);"always"===e?s=r.replace(/\s*$/," ")+i:"never"===e&&(s=r.replace(/\s*$/,"")+i)}t.raws.params?t.raws.params.raw=s:t.params=s}}};c.ruleName=l,c.messages=u,t.exports=c},{"../../utils/atRuleParamIndex":352,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../mediaFeatureColonSpaceChecker":259}],247:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../../utils/isCustomMediaQuery"),n=e("../../utils/isRangeContextMediaFeature"),o=e("../../utils/isStandardSyntaxMediaFeatureName"),a=e("../../utils/matchesStringOrRegExp"),l=e("postcss-media-query-parser").default,u=e("../rangeContextNodeParser"),c=e("../../utils/report"),p=e("../../utils/ruleMessages"),d=e("../../utils/validateOptions"),{isRegExp:f,isString:h}=e("../../utils/validateTypes"),m="media-feature-name-allowed-list",g=p(m,{rejected:e=>`Unexpected media feature name "${e}"`}),y=e=>(t,r)=>{d(r,m,{actual:e,possible:[h,f]})&&t.walkAtRules(/^media$/i,t=>{l(t.params).walk(/^media-feature$/i,l=>{const p=l.parent;let d,f;if(n(p.value)){const e=u(l);d=e.name.value,f=e.name.sourceIndex}else d=l.value,f=l.sourceIndex;o(d)&&!i(d)&&(a(d,e)||c({index:s(t)+f,message:g.rejected(d),node:t,ruleName:m,result:r}))})})};y.primaryOptionArray=!0,y.ruleName=m,y.messages=g,t.exports=y},{"../../utils/atRuleParamIndex":352,"../../utils/isCustomMediaQuery":392,"../../utils/isRangeContextMediaFeature":404,"../../utils/isStandardSyntaxMediaFeatureName":415,"../../utils/matchesStringOrRegExp":426,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"../rangeContextNodeParser":283,"postcss-media-query-parser":46}],248:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../../utils/isCustomMediaQuery"),n=e("../../utils/isRangeContextMediaFeature"),o=e("../../utils/isStandardSyntaxMediaFeatureName"),a=e("postcss-media-query-parser").default,l=e("../rangeContextNodeParser"),u=e("../../utils/report"),c=e("../../utils/ruleMessages"),p=e("../../utils/validateOptions"),d="media-feature-name-case",f=c(d,{expected:(e,t)=>`Expected "${e}" to be "${t}"`}),h=(e,t,r)=>(t,c)=>{p(c,d,{actual:e,possible:["lower","upper"]})&&t.walkAtRules(/^media$/i,t=>{let p=t.raws.params&&t.raws.params.raw;const h=p||t.params;a(h).walk(/^media-feature$/i,a=>{const h=a.parent;let m,g;if(n(h.value)){const e=l(a);m=e.name.value,g=e.name.sourceIndex}else m=a.value,g=a.sourceIndex;if(!o(m)||i(m))return;const y="lower"===e?m.toLowerCase():m.toUpperCase();if(m!==y)if(r.fix)if(p){if(p=p.slice(0,g)+y+p.slice(g+y.length),null==t.raws.params)throw new Error("The `AtRuleRaws` node must have a `params` property");t.raws.params.raw=p}else t.params=t.params.slice(0,g)+y+t.params.slice(g+y.length);else u({index:s(t)+g,message:f.expected(m,y),node:t,ruleName:d,result:c})})})};h.ruleName=d,h.messages=f,t.exports=h},{"../../utils/atRuleParamIndex":352,"../../utils/isCustomMediaQuery":392,"../../utils/isRangeContextMediaFeature":404,"../../utils/isStandardSyntaxMediaFeatureName":415,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../rangeContextNodeParser":283,"postcss-media-query-parser":46}],249:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../../utils/isCustomMediaQuery"),n=e("../../utils/isRangeContextMediaFeature"),o=e("../../utils/isStandardSyntaxMediaFeatureName"),a=e("../../utils/matchesStringOrRegExp"),l=e("postcss-media-query-parser").default,u=e("../rangeContextNodeParser"),c=e("../../utils/report"),p=e("../../utils/ruleMessages"),d=e("../../utils/validateOptions"),{isRegExp:f,isString:h}=e("../../utils/validateTypes"),m="media-feature-name-disallowed-list",g=p(m,{rejected:e=>`Unexpected media feature name "${e}"`}),y=e=>(t,r)=>{d(r,m,{actual:e,possible:[h,f]})&&t.walkAtRules(/^media$/i,t=>{l(t.params).walk(/^media-feature$/i,l=>{const p=l.parent;let d,f;if(n(p.value)){const e=u(l);d=e.name.value,f=e.name.sourceIndex}else d=l.value,f=l.sourceIndex;o(d)&&!i(d)&&a(d,e)&&c({index:s(t)+f,message:g.rejected(d),node:t,ruleName:m,result:r})})})};y.primaryOptionArray=!0,y.ruleName=m,y.messages=g,t.exports=y},{"../../utils/atRuleParamIndex":352,"../../utils/isCustomMediaQuery":392,"../../utils/isRangeContextMediaFeature":404,"../../utils/isStandardSyntaxMediaFeatureName":415,"../../utils/matchesStringOrRegExp":426,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"../rangeContextNodeParser":283,"postcss-media-query-parser":46}],250:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../../utils/isCustomMediaQuery"),n=e("../../utils/isRangeContextMediaFeature"),o=e("../../utils/isStandardSyntaxMediaFeatureName"),a=e("../../reference/keywordSets"),l=e("postcss-media-query-parser").default,u=e("../../utils/optionsMatches"),c=e("../rangeContextNodeParser"),p=e("../../utils/report"),d=e("../../utils/ruleMessages"),f=e("../../utils/validateOptions"),h=e("../../utils/vendor"),{isRegExp:m,isString:g}=e("../../utils/validateTypes"),y="media-feature-name-no-unknown",w=d(y,{rejected:e=>`Unexpected unknown media feature name "${e}"`}),b=(e,t)=>(r,d)=>{f(d,y,{actual:e},{actual:t,possible:{ignoreMediaFeatureNames:[g,m]},optional:!0})&&r.walkAtRules(/^media$/i,e=>{l(e.params).walk(/^media-feature$/i,r=>{const l=r.parent;let f,m;if(n(l.value)){const e=c(r);f=e.name.value,m=e.name.sourceIndex}else f=r.value,m=r.sourceIndex;o(f)&&!i(f)&&(u(t,"ignoreMediaFeatureNames",f)||h.prefix(f)||a.mediaFeatureNames.has(f.toLowerCase())||p({index:s(e)+m,message:w.rejected(f),node:e,ruleName:y,result:d}))})})};b.ruleName=y,b.messages=w,t.exports=b},{"../../reference/keywordSets":142,"../../utils/atRuleParamIndex":352,"../../utils/isCustomMediaQuery":392,"../../utils/isRangeContextMediaFeature":404,"../../utils/isStandardSyntaxMediaFeatureName":415,"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"../../utils/vendor":444,"../rangeContextNodeParser":283,"postcss-media-query-parser":46}],251:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../../utils/isRangeContextMediaFeature"),n=e("../../utils/matchesStringOrRegExp"),o=e("postcss-media-query-parser").default,a=e("../rangeContextNodeParser"),l=e("../../utils/report"),u=e("../../utils/ruleMessages"),c=e("../../utils/validateOptions"),p=e("../../utils/vendor"),{isPlainObject:d}=e("is-plain-object"),f="media-feature-name-value-allowed-list",h=u(f,{rejected:(e,t)=>`Unexpected value "${t}" for name "${e}"`}),m=e=>(t,r)=>{c(r,f,{actual:e,possible:[d]})&&t.walkAtRules(/^media$/i,t=>{o(t.params).walk(/^media-feature-expression$/i,o=>{if(!o.nodes)return;const u=i(o.parent.value);if(!o.value.includes(":")&&!u)return;const c=o.nodes.find(e=>"media-feature"===e.type);if(null==c)throw new Error("A `media-feature` node must be present");let d,m;if(u){const e=a(c);d=e.name.value,m=e.values}else{d=c.value;const e=o.nodes.find(e=>"value"===e.type);if(null==e)throw new Error("A `value` node must be present");m=[e]}for(const i of m){const o=i.value,a=p.unprefixed(d),u=Object.keys(e).find(e=>n(a,e));if(null==u)return;const c=e[u];if(null==c)return;if(n(o,c))return;l({index:s(t)+i.sourceIndex,message:h.rejected(d,o),node:t,ruleName:f,result:r})}})})};m.ruleName=f,m.messages=h,t.exports=m},{"../../utils/atRuleParamIndex":352,"../../utils/isRangeContextMediaFeature":404,"../../utils/matchesStringOrRegExp":426,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/vendor":444,"../rangeContextNodeParser":283,"is-plain-object":35,"postcss-media-query-parser":46}],252:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("postcss-value-parser"),l="media-feature-parentheses-space-inside",u=n(l,{expectedOpening:'Expected single space after "("',rejectedOpening:'Unexpected whitespace after "("',expectedClosing:'Expected single space before ")"',rejectedClosing:'Unexpected whitespace before ")"'}),c=(e,t,r)=>(t,n)=>{o(n,l,{actual:e,possible:["always","never"]})&&t.walkAtRules(/^media$/i,t=>{const o=t.raws.params&&t.raws.params.raw||t.params,c=s(t),p=[],d=a(o).walk(t=>{if("function"===t.type){const s=a.stringify(t).length;"never"===e?(/[ \t]/.test(t.before)&&(r.fix&&(t.before=""),p.push({message:u.rejectedOpening,index:t.sourceIndex+1+c})),/[ \t]/.test(t.after)&&(r.fix&&(t.after=""),p.push({message:u.rejectedClosing,index:t.sourceIndex-2+s+c}))):"always"===e&&(""===t.before&&(r.fix&&(t.before=" "),p.push({message:u.expectedOpening,index:t.sourceIndex+1+c})),""===t.after&&(r.fix&&(t.after=" "),p.push({message:u.expectedClosing,index:t.sourceIndex-2+s+c})))}});if(p.length){if(r.fix)return void(t.params=d.toString());for(const e of p)i({message:e.message,node:t,index:e.index,result:n,ruleName:l})}})};c.ruleName=l,c.messages=u,t.exports=c},{"../../utils/atRuleParamIndex":352,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"postcss-value-parser":83}],253:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../findMediaOperator"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),l=e("../../utils/whitespaceChecker"),u="media-feature-range-operator-space-after",c=o(u,{expectedAfter:()=>"Expected single space after range operator",rejectedAfter:()=>"Unexpected whitespace after range operator"}),p=(e,t,r)=>{const o=l("space",e,c);return(t,l)=>{a(l,u,{actual:e,possible:["always","never"]})&&t.walkAtRules(/^media$/i,t=>{const a=[],c=r.fix?e=>a.push(e):null;if(i(t,(e,t,r)=>{((e,t,r,i)=>{const a=e.startIndex+e.target.length-1;o.after({source:t,index:a,err(e){i?i(a):n({message:e,node:r,index:a+s(r)+1,result:l,ruleName:u})}})})(e,t,r,c)}),a.length){let r=t.raws.params?t.raws.params.raw:t.params;for(const t of a.sort((e,t)=>t-e)){const s=r.slice(0,t+1),i=r.slice(t+1);"always"===e?r=s+i.replace(/^\s*/," "):"never"===e&&(r=s+i.replace(/^\s*/,""))}t.raws.params?t.raws.params.raw=r:t.params=r}})}};p.ruleName=u,p.messages=c,t.exports=p},{"../../utils/atRuleParamIndex":352,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../findMediaOperator":211}],254:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../findMediaOperator"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),l=e("../../utils/whitespaceChecker"),u="media-feature-range-operator-space-before",c=o(u,{expectedBefore:()=>"Expected single space before range operator",rejectedBefore:()=>"Unexpected whitespace before range operator"}),p=(e,t,r)=>{const o=l("space",e,c);return(t,l)=>{a(l,u,{actual:e,possible:["always","never"]})&&t.walkAtRules(/^media$/i,t=>{const a=[],c=r.fix?e=>a.push(e):null;if(i(t,(e,t,r)=>{d=e,f=t,h=r,m=c,o.before({source:f,index:d.startIndex,err(e){m?m(d.startIndex):n({message:e,node:h,index:d.startIndex-1+s(h),result:l,ruleName:u})}})}),a.length){let r=t.raws.params?t.raws.params.raw:t.params;for(const t of a.sort((e,t)=>t-e)){const s=r.slice(0,t),i=r.slice(t);"always"===e?r=s.replace(/\s*$/," ")+i:"never"===e&&(r=s.replace(/\s*$/,"")+i)}t.raws.params?t.raws.params.raw=r:t.params=r}})}};var d,f,h,m;p.ruleName=u,p.messages=c,t.exports=p},{"../../utils/atRuleParamIndex":352,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../findMediaOperator":211}],255:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../mediaQueryListCommaWhitespaceChecker"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/whitespaceChecker"),l="media-query-list-comma-newline-after",u=n(l,{expectedAfter:()=>'Expected newline after ","',expectedAfterMultiLine:()=>'Expected newline after "," in a multi-line list',rejectedAfterMultiLine:()=>'Unexpected whitespace after "," in a multi-line list'}),c=(e,t,r)=>{const n=a("newline",e,u);return(t,a)=>{if(!o(a,l,{actual:e,possible:["always","always-multi-line","never-multi-line"]}))return;let u;if(i({root:t,result:a,locationChecker:n.afterOneOnly,checkedRuleName:l,allowTrailingComments:e.startsWith("always"),fix:r.fix?(e,t)=>{const r=t-s(e),i=(u=u||new Map).get(e)||[];return i.push(r),u.set(e,i),!0}:null}),u)for(const[t,s]of u.entries()){let i=t.raws.params?t.raws.params.raw:t.params;for(const t of s.sort((e,t)=>t-e)){const s=i.slice(0,t+1),n=i.slice(t+1);e.startsWith("always")?i=/^\s*\n/.test(n)?s+n.replace(/^[^\S\r\n]*/,""):s+r.newline+n:e.startsWith("never")&&(i=s+n.replace(/^\s*/,""))}t.raws.params?t.raws.params.raw=i:t.params=i}}};c.ruleName=l,c.messages=u,t.exports=c},{"../../utils/atRuleParamIndex":352,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../mediaQueryListCommaWhitespaceChecker":260}],256:[(e,t,r)=>{const s=e("../mediaQueryListCommaWhitespaceChecker"),i=e("../../utils/ruleMessages"),n=e("../../utils/validateOptions"),o=e("../../utils/whitespaceChecker"),a="media-query-list-comma-newline-before",l=i(a,{expectedBefore:()=>'Expected newline before ","',expectedBeforeMultiLine:()=>'Expected newline before "," in a multi-line list',rejectedBeforeMultiLine:()=>'Unexpected whitespace before "," in a multi-line list'}),u=e=>{const t=o("newline",e,l);return(r,i)=>{n(i,a,{actual:e,possible:["always","always-multi-line","never-multi-line"]})&&s({root:r,result:i,locationChecker:t.beforeAllowingIndentation,checkedRuleName:a})}};u.ruleName=a,u.messages=l,t.exports=u},{"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../mediaQueryListCommaWhitespaceChecker":260}],257:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../mediaQueryListCommaWhitespaceChecker"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/whitespaceChecker"),l="media-query-list-comma-space-after",u=n(l,{expectedAfter:()=>'Expected single space after ","',rejectedAfter:()=>'Unexpected whitespace after ","',expectedAfterSingleLine:()=>'Expected single space after "," in a single-line list',rejectedAfterSingleLine:()=>'Unexpected whitespace after "," in a single-line list'}),c=(e,t,r)=>{const n=a("space",e,u);return(t,a)=>{if(!o(a,l,{actual:e,possible:["always","never","always-single-line","never-single-line"]}))return;let u;if(i({root:t,result:a,locationChecker:n.after,checkedRuleName:l,fix:r.fix?(e,t)=>{const r=t-s(e),i=(u=u||new Map).get(e)||[];return i.push(r),u.set(e,i),!0}:null}),u)for(const[t,r]of u.entries()){let s=t.raws.params?t.raws.params.raw:t.params;for(const t of r.sort((e,t)=>t-e)){const r=s.slice(0,t+1),i=s.slice(t+1);e.startsWith("always")?s=r+i.replace(/^\s*/," "):e.startsWith("never")&&(s=r+i.replace(/^\s*/,""))}t.raws.params?t.raws.params.raw=s:t.params=s}}};c.ruleName=l,c.messages=u,t.exports=c},{"../../utils/atRuleParamIndex":352,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../mediaQueryListCommaWhitespaceChecker":260}],258:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../mediaQueryListCommaWhitespaceChecker"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/whitespaceChecker"),l="media-query-list-comma-space-before",u=n(l,{expectedBefore:()=>'Expected single space before ","',rejectedBefore:()=>'Unexpected whitespace before ","',expectedBeforeSingleLine:()=>'Expected single space before "," in a single-line list',rejectedBeforeSingleLine:()=>'Unexpected whitespace before "," in a single-line list'}),c=(e,t,r)=>{const n=a("space",e,u);return(t,a)=>{if(!o(a,l,{actual:e,possible:["always","never","always-single-line","never-single-line"]}))return;let u;if(i({root:t,result:a,locationChecker:n.before,checkedRuleName:l,fix:r.fix?(e,t)=>{const r=t-s(e),i=(u=u||new Map).get(e)||[];return i.push(r),u.set(e,i),!0}:null}),u)for(const[t,r]of u.entries()){let s=t.raws.params?t.raws.params.raw:t.params;for(const t of r.sort((e,t)=>t-e)){const r=s.slice(0,t),i=s.slice(t);e.startsWith("always")?s=r.replace(/\s*$/," ")+i:e.startsWith("never")&&(s=r.replace(/\s*$/,"")+i)}t.raws.params?t.raws.params.raw=s:t.params=s}}};c.ruleName=l,c.messages=u,t.exports=c},{"../../utils/atRuleParamIndex":352,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../mediaQueryListCommaWhitespaceChecker":260}],259:[(e,t,r)=>{const s=e("../utils/atRuleParamIndex"),i=e("../utils/report"),n=e("style-search");t.exports=(e=>{var t,r,o;e.root.walkAtRules(/^media$/i,a=>{const l=a.raws.params?a.raws.params.raw:a.params;n({source:l,target:":"},n=>{t=l,r=n.startIndex,o=a,e.locationChecker({source:t,index:r,err(t){const n=r+s(o);e.fix&&e.fix(o,n)||i({message:t,node:o,index:n,result:e.result,ruleName:e.checkedRuleName})}})})})})},{"../utils/atRuleParamIndex":352,"../utils/report":435,"style-search":121}],260:[(e,t,r)=>{const s=e("../utils/atRuleParamIndex"),i=e("../utils/report"),n=e("style-search");t.exports=(e=>{var t,r,o;e.root.walkAtRules(/^media$/i,a=>{const l=a.raws.params?a.raws.params.raw:a.params;n({source:l,target:","},n=>{let u=n.startIndex;if(e.allowTrailingComments){let e;for(;e=/^[^\S\r\n]*\/\*([\s\S]*?)\*\//.exec(l.slice(u+1));)u+=e[0].length;(e=/^([^\S\r\n]*\/\/[\s\S]*?)\r?\n/.exec(l.slice(u+1)))&&(u+=e[1].length)}t=l,r=u,o=a,e.locationChecker({source:t,index:r,err(t){const n=r+s(o);e.fix&&e.fix(o,n)||i({message:t,node:o,index:n,result:e.result,ruleName:e.checkedRuleName})}})})})})},{"../utils/atRuleParamIndex":352,"../utils/report":435,"style-search":121}],261:[(e,t,r)=>{const s=e("../../utils/declarationValueIndex"),i=e("./utils/findNotContiguousOrRectangular"),n=e("./utils/isRectangular"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("postcss-value-parser"),c="named-grid-areas-no-invalid",p=a(c,{expectedToken:()=>"Expected cell token within string",expectedSameNumber:()=>"Expected same number of cell tokens in each string",expectedRectangle:e=>`Expected single filled-in rectangle for "${e}"`}),d=e=>(t,r)=>{l(r,c,{actual:e})&&t.walkDecls(/^(?:grid|grid-template|grid-template-areas)$/i,e=>{const{value:t}=e;if("none"===t.toLowerCase().trim())return;const a=[];let l=!1;if(u(t).walk(({sourceIndex:e,type:t,value:r})=>{if("string"===t)return""===r?(f(p.expectedToken(),e),void(l=!0)):void a.push(r.trim().split(" ").filter(e=>e.length>0))}),l)return;if(!n(a))return void f(p.expectedSameNumber());const d=i(a);for(const e of d.sort())f(p.expectedRectangle(e));function f(t,i=0){o({message:t,node:e,index:s(e)+i,result:r,ruleName:c})}})};d.ruleName=c,d.messages=p,t.exports=d},{"../../utils/declarationValueIndex":359,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"./utils/findNotContiguousOrRectangular":262,"./utils/isRectangular":263,"postcss-value-parser":83}],262:[(e,t,r)=>{const s=e("../../../utils/arrayEqual");t.exports=(e=>(t=>{const r=new Set(e.flat());return r.delete("."),[...r]})().filter(t=>!((t,r)=>{const i=e.map(e=>{const t=[];let s=e.indexOf(r);for(;-1!==s;)t.push(s),s=e.indexOf(r,s+1);return t});for(let e=0;e{t.exports=(e=>e.every((e,t,r)=>e.length===r[0].length))},{}],264:[(e,t,r)=>{const s=e("../../utils/findAtRuleContext"),i=e("../../utils/isStandardSyntaxRule"),n=e("../../utils/isStandardSyntaxSelector"),o=e("../../reference/keywordSets"),a=e("../../utils/nodeContextLookup"),l=e("../../utils/optionsMatches"),u=e("../../utils/parseSelector"),c=e("../../utils/report"),p=e("postcss-resolve-nested-selector"),d=e("../../utils/ruleMessages"),f=e("specificity"),h=e("../../utils/validateOptions"),m="no-descending-specificity",g=d(m,{rejected:(e,t)=>`Expected selector "${e}" to come before selector "${t}"`}),y=(e,t)=>(r,d)=>{if(!h(d,m,{actual:e},{optional:!0,actual:t,possible:{ignore:["selectors-within-list"]}}))return;const y=a();function w(e,t,r,s){const i=e.toString(),n=(t=>{const r=e.nodes[0].split(e=>"combinator"===e.type);return r[r.length-1].filter(e=>"pseudo"!==e.type||o.pseudoElements.has(e.value.replace(/:/g,""))).join("").toString()})(),a=f.calculate(i)[0].specificityArray,l={selector:i,specificity:a};if(!s.has(n))return void s.set(n,[l]);const u=s.get(n);for(const e of u)-1===f.compare(a,e.specificity)&&c({ruleName:m,result:d,node:t,message:g.rejected(i,e.selector),index:r});u.push(l)}r.walkRules(e=>{if(!i(e))return;if(l(t,"ignore","selectors-within-list")&&e.selectors.length>1)return;const r=y.getContext(e,s(e));for(const t of e.selectors){const s=t.trim();if(""===s)continue;const i=e.selector.indexOf(s);for(const s of p(t,e))u(s,d,e,t=>{n(s)&&w(t,e,i,r)})}})};y.ruleName=m,y.messages=g,t.exports=y},{"../../reference/keywordSets":142,"../../utils/findAtRuleContext":362,"../../utils/isStandardSyntaxRule":417,"../../utils/isStandardSyntaxSelector":418,"../../utils/nodeContextLookup":428,"../../utils/optionsMatches":429,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"postcss-resolve-nested-selector":50,specificity:120}],265:[(e,t,r)=>{const s=e("postcss-media-query-parser").default,i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("postcss-value-parser"),l="no-duplicate-at-import-rules",u=n(l,{rejected:e=>`Unexpected duplicate @import rule ${e}`}),c=e=>(t,r)=>{if(!o(r,l,{actual:e}))return;const n={};t.walkAtRules(/^import$/i,e=>{const[t,...o]=a(e.params).nodes;if(!t)return;const c="function"===t.type&&"url"===t.value?t.nodes[0].value:t.value,p=(s(a.stringify(o)).nodes||[]).map(e=>e.value.replace(/\s/g,"")).filter(e=>e.length);(p.length?n[c]&&p.some(e=>n[c].includes(e)):n[c])?i({message:u.rejected(c),node:e,result:r,ruleName:l}):(n[c]||(n[c]=[]),n[c]=n[c].concat(p))})};c.ruleName=l,c.messages=u,t.exports=c},{"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"postcss-media-query-parser":46,"postcss-value-parser":83}],266:[(e,t,r)=>{const s=e("../../utils/findAtRuleContext"),i=e("../../utils/isKeyframeRule"),n=e("../../utils/nodeContextLookup"),o=e("normalize-selector"),a=e("../../utils/parseSelector"),l=e("../../utils/report"),u=e("postcss-resolve-nested-selector"),c=e("../../utils/ruleMessages"),p=e("../../utils/validateOptions"),{isBoolean:d}=e("../../utils/validateTypes"),f="no-duplicate-selectors",h=c(f,{rejected:(e,t)=>`Unexpected duplicate selector "${e}", first used at line ${t}`}),m=(e,t)=>(r,c)=>{if(!p(c,f,{actual:e},{actual:t,possible:{disallowInList:[d]},optional:!0}))return;const m=t&&t.disallowInList,g=n();r.walkRules(e=>{if(i(e))return;const t=g.getContext(e,s(e)),r=[...new Set(e.selectors.flatMap(t=>u(t,e)))],n=[...r.map(e=>o(e))].sort().join(",");if(!e.source)throw new Error("The rule node must have a source");if(!e.source.start)throw new Error("The rule source must have a start position");const p=e.source.start.line;let d;const y=[];if(m?a(n,c,e,e=>{e.each(e=>{const r=String(e);y.push(r),t.get(r)&&(d=t.get(r))})}):d=t.get(n),d){const t=r.join(",")!==e.selectors.join(",")?r.join(", "):e.selector;return l({result:c,ruleName:f,node:e,message:h.rejected(t,d)})}const w=new Set,b=new Set;for(const t of e.selectors){const r=o(t);if(w.has(r)){if(b.has(r))continue;l({result:c,ruleName:f,node:e,message:h.rejected(t,p)}),b.add(r)}else w.add(r)}if(m)for(const e of y)t.set(e,p);else t.set(n,p)})};m.ruleName=f,m.messages=h,t.exports=m},{"../../utils/findAtRuleContext":362,"../../utils/isKeyframeRule":397,"../../utils/nodeContextLookup":428,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"normalize-selector":42,"postcss-resolve-nested-selector":50}],267:[(e,t,r)=>{const s=e("../../utils/report"),i=e("../../utils/ruleMessages"),n=e("../../utils/validateOptions"),o="no-empty-first-line",a=/^\s*[\r\n]/,l=i(o,{rejected:"Unexpected empty line"}),u=(e,t,r)=>(t,i)=>{if(!n(i,o,{actual:e})||t.source.inline||"object-literal"===t.source.lang)return;const u=r.fix?t.toString():t.source&&t.source.input.css||"";if(u.trim()&&a.test(u)){if(r.fix){if(null==t.first)throw new Error("The root node must have the first node.");if(null==t.first.raws.before)throw new Error("The first node must have spaces before.");return void(t.first.raws.before=t.first.raws.before.trimStart())}s({message:l.rejected,node:t,result:i,ruleName:o})}};u.ruleName=o,u.messages=l,t.exports=u},{"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442}],268:[(e,t,r)=>{const s=e("../../utils/report"),i=e("../../utils/ruleMessages"),n=e("../../utils/validateOptions"),o="no-empty-source",a=i(o,{rejected:"Unexpected empty source"}),l=(e,t,r)=>(t,i)=>{n(i,o,{actual:e})&&((r.fix?t.toString():t.source&&t.source.input.css||"").trim()||s({message:a.rejected,node:t,result:i,ruleName:o}))};l.ruleName=o,l.messages=a,t.exports=l},{"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442}],269:[(e,t,r)=>{const s=e("style-search"),i=e("../../utils/isOnlyWhitespace"),n=e("../../utils/isStandardSyntaxComment"),o=e("../../utils/optionsMatches"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),{isAtRule:u,isComment:c,isDeclaration:p,isRule:d}=e("../../utils/typeGuards"),f=e("../../utils/validateOptions"),h="no-eol-whitespace",m=l(h,{rejected:"Unexpected whitespace at end of line"}),g=new Set([" ","\t"]);function y(e){return e.replace(/[ \t]+$/,"")}function w(e,t,{ignoreEmptyLines:r,isRootFirst:s}={ignoreEmptyLines:!1,isRootFirst:!1}){const n=e-1;if(!g.has(t[n]))return-1;if(r){const e=t.lastIndexOf("\n",n);if(e>=0||s){const r=t.substring(e,n);if(i(r))return-1}}return n}const b=(e,t,r)=>(i,l)=>{if(!f(l,h,{actual:e},{optional:!0,actual:t,possible:{ignore:["empty-lines"]}}))return;const g=o(t,"ignore","empty-lines");r.fix&&(e=>{let t=!0;if(e.walk(e=>{if(S(e.raws.before,t=>{e.raws.before=t},t),t=!1,u(e)){S(e.raws.afterName,t=>{e.raws.afterName=t});const t=e.raws.params;t?S(t.raw,e=>{t.raw=e}):S(e.params,t=>{e.params=t})}if(d(e)){const t=e.raws.selector;t?S(t.raw,e=>{t.raw=e}):S(e.selector,t=>{e.selector=t})}(u(e)||d(e)||p(e))&&S(e.raws.between,t=>{e.raws.between=t}),p(e)&&(e.raws.value?S(e.raws.value.raw,t=>{e.raws.value.raw=t}):S(e.value,t=>{e.value=t})),c(e)&&(S(e.raws.left,t=>{e.raws.left=t}),n(e)?S(e.raws.right,t=>{e.raws.right=t}):e.raws.right=e.raws.right&&y(e.raws.right),S(e.text,t=>{e.text=t})),(u(e)||d(e))&&S(e.raws.after,t=>{e.raws.after=t})}),S(e.raws.after,t=>{e.raws.after=t},t),"string"==typeof e.raws.after){const t=Math.max(e.raws.after.lastIndexOf("\n"),e.raws.after.lastIndexOf("\r"));t!==e.raws.after.length-1&&(e.raws.after=e.raws.after.slice(0,t+1)+y(e.raws.after.slice(t+1)))}})(i);const b=r.fix?i.toString():i.source&&i.source.input.css||"",x=e=>{a({message:m.rejected,node:i,index:e,result:l,ruleName:h})};k(b,x,!0);const v=w(b.length,b,{ignoreEmptyLines:g,isRootFirst:!0});function k(e,t,r){s({source:e,target:["\n","\r"],comments:"check"},s=>{const i=w(s.startIndex,e,{ignoreEmptyLines:g,isRootFirst:r});i>-1&&t(i)})}function S(e,t,r=!1){if(!e)return;let s="",i=0;k(e,t=>{const r=t+1;s+=y(e.slice(i,r)),i=r},r),i&&t(s+=e.slice(i))}v>-1&&x(v)};b.ruleName=h,b.messages=m,t.exports=b},{"../../utils/isOnlyWhitespace":402,"../../utils/isStandardSyntaxComment":411,"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/typeGuards":440,"../../utils/validateOptions":442,"style-search":121}],270:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxAtRule"),i=e("../../utils/isStandardSyntaxRule"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("style-search"),l=e("../../utils/validateOptions"),u="no-extra-semicolons",c=o(u,{rejected:"Unexpected extra semicolon"});function p(e){if(e.parent&&e.parent.document)return 0;const t=e.root();if(!t.source)throw new Error("The root node must have a source");if(!e.source)throw new Error("The node must have a source");if(!e.source.start)throw new Error("The source must have a start position");const r=t.source.input.css,s=e.source.start.column,i=e.source.start.line;let n=1,o=1,a=0;for(let e=0;e(t,o)=>{if(l(o,u,{actual:e})){if(t.raws.after&&0!==t.raws.after.trim().length){const e=t.raws.after,s=[];a({source:e,target:";"},i=>{if(r.fix)s.push(i.startIndex);else{if(!t.source)throw new Error("The root node must have a source");d(t.source.input.css.length-e.length+i.startIndex)}}),s.length&&(t.raws.after=f(e,s))}t.walk(e=>{if(("atrule"!==e.type||s(e))&&("rule"!==e.type||i(e))){if(e.raws.before&&0!==e.raws.before.trim().length){const t=e.raws.before,s=0,i=0,n=[];a({source:t,target:";"},(o,a)=>{a!==s&&(r.fix?n.push(o.startIndex-i):d(p(e)-t.length+o.startIndex))}),n.length&&(e.raws.before=f(t,n))}if("after"in e.raws&&e.raws.after&&0!==e.raws.after.trim().length){const t=e.raws.after;if("last"in e&&e.last&&"atrule"===e.last.type&&!s(e.last))return;const i=[];a({source:t,target:";"},s=>{r.fix?i.push(s.startIndex):d(p(e)+e.toString().length-1-t.length+s.startIndex)}),i.length&&(e.raws.after=f(t,i))}if("ownSemicolon"in e.raws&&e.raws.ownSemicolon){const t=e.raws.ownSemicolon,s=0,i=[];a({source:t,target:";"},(n,o)=>{o!==s&&(r.fix?i.push(n.startIndex):d(p(e)+e.toString().length-t.length+n.startIndex))}),i.length&&(e.raws.ownSemicolon=f(t,i))}}})}function d(e){n({message:c.rejected,node:t,index:e,result:o,ruleName:u})}function f(e,t){for(const r of t.reverse())e=e.slice(0,r)+e.slice(r+1);return e}};d.ruleName=u,d.messages=c,t.exports=d},{"../../utils/isStandardSyntaxAtRule":408,"../../utils/isStandardSyntaxRule":417,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"style-search":121}],271:[(e,t,r)=>{const s=e("../../utils/report"),i=e("../../utils/ruleMessages"),n=e("../../utils/validateOptions"),o="no-invalid-double-slash-comments",a=i(o,{rejected:"Unexpected double-slash CSS comment"});function l(e){return(t,r)=>{n(r,o,{actual:e})&&(t.walkDecls(e=>{e.prop.startsWith("//")&&s({message:a.rejected,node:e,result:r,ruleName:o})}),t.walkRules(e=>{for(const t of e.selectors)t.startsWith("//")&&s({message:a.rejected,node:e,result:r,ruleName:o})}))}}l.ruleName=o,l.messages=a,t.exports=l},{"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442}],272:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxAtRule"),i=e("../../utils/isStandardSyntaxRule"),n=e("../../utils/optionsMatches"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),{isRegExp:u,isString:c}=e("../../utils/validateTypes"),p="no-invalid-position-at-import-rule",d=a(p,{rejected:"Unexpected invalid position @import rule"});function f(e,t){return(r,a)=>{if(!l(a,p,{actual:e},{actual:t,possible:{ignoreAtRules:[c,u]},optional:!0}))return;let f=!1;r.walk(e=>{const r=e.name&&e.name.toLowerCase();"atrule"===e.type&&"charset"!==r&&"import"!==r&&!n(t,"ignoreAtRules",e.name)&&s(e)||"rule"===e.type&&i(e)?f=!0:"atrule"===e.type&&"import"===r&&f&&o({message:d.rejected,node:e,result:a,ruleName:p})})}}f.ruleName=p,f.messages=d,t.exports=f},{"../../utils/isStandardSyntaxAtRule":408,"../../utils/isStandardSyntaxRule":417,"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443}],273:[(e,t,r)=>{const s=e("../../utils/report"),i=e("../../utils/ruleMessages"),n=e("../../utils/validateOptions"),o="no-irregular-whitespace",a=i(o,{unexpected:"Unexpected irregular whitespace"}),l=new RegExp(`([${["\v","\f"," ","…"," ","᠎","\ufeff"," "," "," "," "," "," "," "," "," "," "," ","​","\u2028","\u2029"," "," "," "].join("")}])`),u=()=>e=>"string"==typeof e&&l.exec(e),c={prop:"string",value:"string",raws:{before:"string",between:"string"}},p={name:"string",params:"string",raws:{before:"string",between:"string",afterName:"string",after:"string"}},d={selector:"string",raws:{before:"string",between:"string",after:"string"}},f=(e,t)=>{const r=Object.keys(e),s={};for(const i of r)"string"==typeof e[i]&&(s[i]=t),"object"==typeof e[i]&&(s[i]=f(e[i],t));return e=>{for(const t of r)if(s[t](e[t]))return s[t](e[t])}};function h(e){return(t,r)=>{if(!n(r,o,{actual:e}))return;const i=u(),l=(e,t)=>{const i=t(e);i&&s({ruleName:o,result:r,message:a.unexpected,node:e,word:i[1]})},h=f(p,i),m=f(d,i),g=f(c,i);t.walkAtRules(e=>l(e,h)),t.walkRules(e=>l(e,m)),t.walkDecls(e=>l(e,g))}}h.ruleName=o,h.messages=a,t.exports=h},{"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442}],274:[(e,t,r)=>{const s=e("../../utils/report"),i=e("../../utils/ruleMessages"),n=e("../../utils/validateOptions"),o="no-missing-end-of-source-newline",a=i(o,{rejected:"Unexpected missing end-of-source newline"});function l(e,t,r){return(t,i)=>{if(!n(i,o,{primary:e}))return;if(t.source.inline||"object-literal"===t.source.lang)return;const l=r.fix?t.toString():t.source.input.css;l.trim()&&!l.endsWith("\n")&&(r.fix?t.raws.after=r.newline:s({message:a.rejected,node:t,index:l.length-1,result:i,ruleName:o}))}}l.ruleName=o,l.messages=a,t.exports=l},{"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442}],275:[(e,t,r)=>{const s=e("../../utils/declarationValueIndex"),i=e("../../utils/findAnimationName"),n=e("../../reference/keywordSets"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u="no-unknown-animations",c=a(u,{rejected:e=>`Unexpected unknown animation name "${e}"`});function p(e){return(t,r)=>{if(!l(r,u,{actual:e}))return;const a=new Set;t.walkAtRules(/(-(moz|webkit)-)?keyframes/i,e=>{a.add(e.params)}),t.walkDecls(e=>{if("animation"===e.prop.toLowerCase()||"animation-name"===e.prop.toLowerCase()){const t=i(e.value);if(0===t.length)return;for(const i of t)n.animationNameKeywords.has(i.value.toLowerCase())||a.has(i.value)||o({result:r,ruleName:u,message:c.rejected(i.value),node:e,index:s(e)+i.sourceIndex})}})}}p.ruleName=u,p.messages=c,t.exports=p},{"../../reference/keywordSets":142,"../../utils/declarationValueIndex":359,"../../utils/findAnimationName":361,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442}],276:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),l=e("postcss-value-parser"),u="number-leading-zero",c=o(u,{expected:"Expected a leading zero",rejected:"Unexpected leading zero"});function p(e,t,r){return(t,o)=>{function p(t,s,i){const n=[],o=[];if(s.includes(".")){if(l(s).walk(s=>{if("function"===s.type&&"url"===s.value.toLowerCase())return!1;if("word"===s.type){if("always"===e){const e=/(?:\D|^)(\.\d+)/.exec(s.value);if(null===e)return;const n=e[0].length-e[1].length,a=s.sourceIndex+e.index+n;if(r.fix)return void o.unshift({index:a});h(c.expected,t,i(t)+a)}if("never"===e){const e=/(?:\D|^)(0+)(\.\d+)/.exec(s.value);if(null===e)return;const o=e[0].length-(e[1].length+e[2].length),a=s.sourceIndex+e.index+o;if(r.fix)return void n.unshift({startIndex:a,endIndex:a+e[1].length});h(c.rejected,t,i(t)+a)}}}),o.length)for(const e of o){const r=e.index;"atrule"===t.type?t.params=d(t.params,r):t.value=d(t.value,r)}if(n.length)for(const e of n){const r=e.startIndex,s=e.endIndex;"atrule"===t.type?t.params=f(t.params,r,s):t.value=f(t.value,r,s)}}}function h(e,t,r){n({result:o,ruleName:u,message:e,node:t,index:r})}a(o,u,{actual:e,possible:["always","never"]})&&(t.walkAtRules(e=>{"import"!==e.name.toLowerCase()&&p(e,e.params,s)}),t.walkDecls(e=>p(e,e.value,i)))}}function d(e,t){return e.slice(0,t)+"0"+e.slice(t)}function f(e,t,r){return e.slice(0,t)+e.slice(r)}p.ruleName=u,p.messages=c,t.exports=p},{"../../utils/atRuleParamIndex":352,"../../utils/declarationValueIndex":359,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"postcss-value-parser":83}],277:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getUnitFromValueNode"),o=e("../../utils/optionsMatches"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),{isNumber:c,isRegExp:p,isString:d}=e("../../utils/validateTypes"),f=e("postcss-value-parser"),h="number-max-precision",m=l(h,{expected:(e,t)=>`Expected "${e}" to be "${e.toFixed(t)}"`});function g(e,t){return(r,l)=>{function g(r,s,i){if(!s.includes("."))return;const u=r.prop;o(t,"ignoreProperties",u)||f(s).walk(s=>{const u=n(s);if(o(t,"ignoreUnits",u))return;if("function"===s.type&&"url"===s.value.toLowerCase())return!1;if("word"!==s.type)return;const c=/\d*\.(\d+)/.exec(s.value);null!==c&&(c[1].length<=e||a({result:l,ruleName:h,node:r,index:i(r)+s.sourceIndex+c.index,message:m.expected(Number.parseFloat(c[0]),e)}))})}u(l,h,{actual:e,possible:[c]},{optional:!0,actual:t,possible:{ignoreProperties:[d,p],ignoreUnits:[d,p]}})&&(r.walkAtRules(e=>{"import"!==e.name.toLowerCase()&&g(e,e.params,s)}),r.walkDecls(e=>g(e,e.value,i)))}}g.ruleName=h,g.messages=m,t.exports=g},{"../../utils/atRuleParamIndex":352,"../../utils/declarationValueIndex":359,"../../utils/getUnitFromValueNode":374,"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"postcss-value-parser":83}],278:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),l=e("postcss-value-parser"),u="number-no-trailing-zeros",c=o(u,{rejected:"Unexpected trailing zero(s)"});function p(e,t,r){return(t,o)=>{function p(e,t,s){const i=[];if(t.includes(".")&&(l(t).walk(t=>{if("function"===t.type&&"url"===t.value.toLowerCase())return!1;if("word"!==t.type)return;const a=/\.(\d{0,100}?)(0+)(?:\D|$)/.exec(t.value);if(null===a)return;const l=t.sourceIndex+a.index+1+a[1].length,p=a[1].length>0?l:l-1,d=l+a[2].length;r.fix?i.unshift({startIndex:p,endIndex:d}):n({message:c.rejected,node:e,index:s(e)+l,result:o,ruleName:u})}),i.length))for(const t of i){const r=t.startIndex,s=t.endIndex;"atrule"===e.type?e.params=d(e.params,r,s):e.value=d(e.value,r,s)}}a(o,u,{actual:e})&&(t.walkAtRules(e=>{"import"!==e.name.toLowerCase()&&p(e,e.params,s)}),t.walkDecls(e=>p(e,e.value,i)))}}function d(e,t,r){return e.slice(0,t)+e.slice(r)}p.ruleName=u,p.messages=c,t.exports=p},{"../../utils/atRuleParamIndex":352,"../../utils/declarationValueIndex":359,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"postcss-value-parser":83}],279:[(e,t,r)=>{const s=e("../../utils/isCustomProperty"),i=e("../../utils/isStandardSyntaxProperty"),n=e("../../utils/matchesStringOrRegExp"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("../../utils/vendor"),{isRegExp:c,isString:p}=e("../../utils/validateTypes"),d="property-allowed-list",f=a(d,{rejected:e=>`Unexpected property "${e}"`});function h(e){return(t,r)=>{l(r,d,{actual:e,possible:[p,c]})&&t.walkDecls(t=>{const a=t.prop;i(a)&&(s(a)||n(u.unprefixed(a),e)||o({message:f.rejected(a),node:t,result:r,ruleName:d}))})}}h.primaryOptionArray=!0,h.ruleName=d,h.messages=f,t.exports=h},{"../../utils/isCustomProperty":393,"../../utils/isStandardSyntaxProperty":416,"../../utils/matchesStringOrRegExp":426,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"../../utils/vendor":444}],280:[(e,t,r)=>{const s=e("../../utils/isCustomProperty"),i=e("../../utils/isStandardSyntaxProperty"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),l="property-case",u=o(l,{expected:(e,t)=>`Expected "${e}" to be "${t}"`});function c(e,t,r){return(t,o)=>{a(o,l,{actual:e,possible:["lower","upper"]})&&t.walkDecls(t=>{const a=t.prop;if(!i(a))return;if(s(a))return;const c="lower"===e?a.toLowerCase():a.toUpperCase();a!==c&&(r.fix?t.prop=c:n({message:u.expected(a,c),node:t,ruleName:l,result:o}))})}}c.ruleName=l,c.messages=u,t.exports=c},{"../../utils/isCustomProperty":393,"../../utils/isStandardSyntaxProperty":416,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442}],281:[(e,t,r)=>{const s=e("../../utils/isCustomProperty"),i=e("../../utils/isStandardSyntaxProperty"),n=e("../../utils/matchesStringOrRegExp"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("../../utils/vendor"),{isRegExp:c,isString:p}=e("../../utils/validateTypes"),d="property-disallowed-list",f=a(d,{rejected:e=>`Unexpected property "${e}"`});function h(e){return(t,r)=>{l(r,d,{actual:e,possible:[p,c]})&&t.walkDecls(t=>{const a=t.prop;i(a)&&(s(a)||n(u.unprefixed(a),e)&&o({message:f.rejected(a),node:t,result:r,ruleName:d}))})}}h.primaryOptionArray=!0,h.ruleName=d,h.messages=f,t.exports=h},{"../../utils/isCustomProperty":393,"../../utils/isStandardSyntaxProperty":416,"../../utils/matchesStringOrRegExp":426,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"../../utils/vendor":444}],282:[(e,t,r)=>{const s=e("../../utils/isCustomProperty"),i=e("../../utils/isStandardSyntaxDeclaration"),n=e("../../utils/isStandardSyntaxProperty"),o=e("../../utils/optionsMatches"),a=e("known-css-properties").all,l=e("../../utils/report"),u=e("../../utils/ruleMessages"),c=e("../../utils/validateOptions"),p=e("../../utils/vendor"),{isBoolean:d,isRegExp:f,isString:h}=e("../../utils/validateTypes"),m="property-no-unknown",g=u(m,{rejected:e=>`Unexpected unknown property "${e}"`});function y(e,t){const r=new Set(a);return(a,u)=>{if(!c(u,m,{actual:e},{actual:t,possible:{ignoreProperties:[h,f],checkPrefixed:d,ignoreSelectors:[h,f],ignoreAtRules:[h,f]},optional:!0}))return;const y=t&&t.checkPrefixed;a.walkDecls(e=>{const a=e.prop;if(!n(a))return;if(!i(e))return;if(s(a))return;if(!y&&p.prefix(a))return;if(o(t,"ignoreProperties",a))return;const{selector:c}=e.parent;if(c&&o(t,"ignoreSelectors",c))return;let d=e.parent;for(;d&&"root"!==d.type;){const{type:e,name:r}=d;if("atrule"===e&&o(t,"ignoreAtRules",r))return;d=d.parent}r.has(a.toLowerCase())||l({message:g.rejected(a),node:e,result:u,ruleName:m})})}}y.ruleName=m,y.messages=g,t.exports=y},{"../../utils/isCustomProperty":393,"../../utils/isStandardSyntaxDeclaration":412,"../../utils/isStandardSyntaxProperty":416,"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"../../utils/vendor":444,"known-css-properties":39}],283:[(e,t,r)=>{const s=e("style-search"),i=[">=","<=",">","<","="];t.exports=(e=>{const t=e.value,r=(t=>{const r=[],n=e.value;return s({source:n,target:i},e=>{const t=n[e.startIndex-1];">"!==t&&"<"!==t&&r.push(e.target)}),r.sort((e,t)=>t.length-e.length)})(),n=t.replace(/[()\s]/g,"").split(new RegExp(r.join("|"))),o=3===(a=n).length?a[1]:a.find(e=>e.match(/^(?!--)\D+/)||e.match(/^(--).+/));var a;if(null==o)throw new Error("The context name must be present");return{name:{value:o,sourceIndex:e.sourceIndex+t.indexOf(o)},values:n.filter(e=>e!==o).map(r=>({value:r,sourceIndex:e.sourceIndex+t.indexOf(r)}))}})},{"style-search":121}],284:[(e,t,r)=>{const s=e("../../utils/addEmptyLineBefore"),i=e("../../utils/getPreviousNonSharedLineCommentNode"),n=e("../../utils/hasEmptyLine"),o=e("../../utils/isAfterSingleLineComment"),a=e("../../utils/isFirstNested"),l=e("../../utils/isFirstNodeOfRoot"),u=e("../../utils/isSingleLineString"),c=e("../../utils/isStandardSyntaxRule"),p=e("../../utils/optionsMatches"),d=e("../../utils/removeEmptyLinesBefore"),f=e("../../utils/report"),h=e("../../utils/ruleMessages"),m=e("../../utils/validateOptions"),g="rule-empty-line-before",y=h(g,{expected:"Expected empty line before rule",rejected:"Unexpected empty line before rule"});function w(e,t,r){return(i,h)=>{m(h,g,{actual:e,possible:["always","never","always-multi-line","never-multi-line"]},{actual:t,possible:{ignore:["after-comment","first-nested","inside-block"],except:["after-rule","after-single-line-comment","first-nested","inside-block-and-after-rule","inside-block"]},optional:!0})&&i.walkRules(i=>{if(!c(i))return;if(l(i))return;if(p(t,"ignore","after-comment")&&i.prev()&&"comment"===i.prev().type)return;if(p(t,"ignore","first-nested")&&a(i))return;const m="root"!==i.parent.type;if(p(t,"ignore","inside-block")&&m)return;if(e.includes("multi-line")&&u(i.toString()))return;let w=Boolean(e.includes("always"));if((p(t,"except","first-nested")&&a(i)||p(t,"except","after-rule")&&b(i)||p(t,"except","inside-block-and-after-rule")&&m&&b(i)||p(t,"except","after-single-line-comment")&&o(i)||p(t,"except","inside-block")&&m)&&(w=!w),w===n(i.raws.before))return;if(r.fix)return void(w?s(i,r.newline):d(i,r.newline));const x=w?y.expected:y.rejected;f({message:x,node:i,result:h,ruleName:g})})}}function b(e){const t=i(e);return t&&"rule"===t.type}w.ruleName=g,w.messages=y,t.exports=w},{"../../utils/addEmptyLineBefore":350,"../../utils/getPreviousNonSharedLineCommentNode":371,"../../utils/hasEmptyLine":377,"../../utils/isAfterSingleLineComment":384,"../../utils/isFirstNested":395,"../../utils/isFirstNodeOfRoot":396,"../../utils/isSingleLineString":407,"../../utils/isStandardSyntaxRule":417,"../../utils/optionsMatches":429,"../../utils/removeEmptyLinesBefore":434,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442}],285:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/matchesStringOrRegExp"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),{isPlainObject:l}=e("is-plain-object"),u="rule-selector-property-disallowed-list",c=o(u,{rejected:(e,t)=>`Unexpected property "${e}" for selector "${t}"`}),p=e=>(t,r)=>{if(!a(r,u,{actual:e,possible:[l]}))return;const o=Object.keys(e);t.walkRules(t=>{if(!s(t))return;const a=o.find(e=>i(t.selector,e));if(!a)return;const l=e[a];for(const e of t.nodes)"decl"===e.type&&i(e.prop,l)&&n({message:c.rejected(e.prop,t.selector),node:e,result:r,ruleName:u})})};p.primaryOptionArray=!0,p.ruleName=u,p.messages=c,t.exports=p},{"../../utils/isStandardSyntaxRule":417,"../../utils/matchesStringOrRegExp":426,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"is-plain-object":35}],286:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/parseSelector"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("style-search"),l=e("../../utils/validateOptions"),u="selector-attribute-brackets-space-inside",c=o(u,{expectedOpening:'Expected single space after "["',rejectedOpening:'Unexpected whitespace after "["',expectedClosing:'Expected single space before "]"',rejectedClosing:'Unexpected whitespace before "]"'});function p(e,t,r){return(t,d)=>{l(d,u,{actual:e,possible:["always","never"]})&&t.walkRules(t=>{if(!s(t))return;if(!t.selector.includes("["))return;const l=t.raws.selector?t.raws.selector.raw:t.selector;let f;const h=i(l,d,t,t=>{t.walkAttributes(t=>{const s=t.toString();a({source:s,target:"["},i=>{const n=" "===s[i.startIndex+1],a=t.sourceIndex+i.startIndex+1;if(n&&"never"===e){if(r.fix)return f=!0,void o(t);m(c.rejectedOpening,a)}if(!n&&"always"===e){if(r.fix)return f=!0,void o(t);m(c.expectedOpening,a)}}),a({source:s,target:"]"},i=>{const n=" "===s[i.startIndex-1],o=t.sourceIndex+i.startIndex-1;if(n&&"never"===e){if(r.fix)return f=!0,void p(t);m(c.rejectedClosing,o)}if(!n&&"always"===e){if(r.fix)return f=!0,void p(t);m(c.expectedClosing,o)}})})});function m(e,r){n({message:e,index:r,result:d,ruleName:u,node:t})}f&&(t.raws.selector?t.raws.selector.raw=h:t.selector=h)})};function o(t){const r=t.raws.spaces&&t.raws.spaces.attribute&&t.raws.spaces.attribute.before,{attrBefore:s,setAttrBefore:i}=r?{attrBefore:r,setAttrBefore(e){t.raws.spaces.attribute.before=e}}:{attrBefore:t.spaces.attribute&&t.spaces.attribute.before||"",setAttrBefore(e){t.spaces.attribute||(t.spaces.attribute={}),t.spaces.attribute.before=e}};"always"===e?i(s.replace(/^\s*/," ")):"never"===e&&i(s.replace(/^\s*/,""))}function p(t){let r;r=t.operator?t.insensitive?"insensitive":"value":"attribute";const s=t.raws.spaces&&t.raws.spaces[r]&&t.raws.spaces[r].after,{after:i,setAfter:n}=s?{after:s,setAfter(e){t.raws.spaces[r].after=e}}:{after:t.spaces[r]&&t.spaces[r].after||"",setAfter(e){t.spaces[r]||(t.spaces[r]={}),t.spaces[r].after=e}};"always"===e?n(i.replace(/\s*$/," ")):"never"===e&&n(i.replace(/\s*$/,""))}}p.ruleName=u,p.messages=c,t.exports=p},{"../../utils/isStandardSyntaxRule":417,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"style-search":121}],287:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/matchesStringOrRegExp"),n=e("../../utils/parseSelector"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),{isRegExp:u,isString:c}=e("../../utils/validateTypes"),p="selector-attribute-name-disallowed-list",d=a(p,{rejected:e=>`Unexpected name "${e}"`});function f(e){const t=[e].flat();return(e,r)=>{l(r,p,{actual:t,possible:[c,u]})&&e.walkRules(e=>{s(e)&&e.selector.includes("[")&&n(e.selector,r,e,s=>{s.walkAttributes(s=>{const n=s.qualifiedAttribute;i(n,t)&&o({message:d.rejected(n),node:e,index:s.sourceIndex+s.offsetOf("attribute"),result:r,ruleName:p})})})})}}f.primaryOptionArray=!0,f.ruleName=p,f.messages=d,t.exports=f},{"../../utils/isStandardSyntaxRule":417,"../../utils/matchesStringOrRegExp":426,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443}],288:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/parseSelector"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),{isString:l}=e("../../utils/validateTypes"),u="selector-attribute-operator-allowed-list",c=o(u,{rejected:e=>`Unexpected operator "${e}"`});function p(e){const t=[e].flat();return(e,r)=>{a(r,u,{actual:t,possible:[l]})&&e.walkRules(e=>{s(e)&&e.selector.includes("[")&&e.selector.includes("=")&&i(e.selector,r,e,s=>{s.walkAttributes(s=>{const i=s.operator;!i||i&&t.includes(i)||n({message:c.rejected(i),node:e,index:s.sourceIndex+s.offsetOf("operator"),result:r,ruleName:u})})})})}}p.primaryOptionArray=!0,p.ruleName=u,p.messages=c,t.exports=p},{"../../utils/isStandardSyntaxRule":417,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443}],289:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/parseSelector"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),{isString:l}=e("../../utils/validateTypes"),u="selector-attribute-operator-disallowed-list",c=o(u,{rejected:e=>`Unexpected operator "${e}"`});function p(e){const t=[e].flat();return(e,r)=>{a(r,u,{actual:t,possible:[l]})&&e.walkRules(e=>{s(e)&&e.selector.includes("[")&&e.selector.includes("=")&&i(e.selector,r,e,s=>{s.walkAttributes(s=>{const i=s.operator;!i||i&&!t.includes(i)||n({message:c.rejected(i),node:e,index:s.sourceIndex+s.offsetOf("operator"),result:r,ruleName:u})})})})}}p.primaryOptionArray=!0,p.ruleName=u,p.messages=c,t.exports=p},{"../../utils/isStandardSyntaxRule":417,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443}],290:[(e,t,r)=>{const s=e("../../utils/ruleMessages"),i=e("../selectorAttributeOperatorSpaceChecker"),n=e("../../utils/validateOptions"),o=e("../../utils/whitespaceChecker"),a="selector-attribute-operator-space-after",l=s(a,{expectedAfter:e=>`Expected single space after "${e}"`,rejectedAfter:e=>`Unexpected whitespace after "${e}"`});function u(e,t,r){return(t,s)=>{const u=o("space",e,l);n(s,a,{actual:e,possible:["always","never"]})&&i({root:t,result:s,locationChecker:u.after,checkedRuleName:a,checkBeforeOperator:!1,fix:r.fix?t=>{const{operatorAfter:r,setOperatorAfter:s}=(()=>{const e=t.raws.operator;if(e)return{operatorAfter:e.slice(t.operator.length),setOperatorAfter(e){delete t.raws.operator,t.raws.spaces||(t.raws.spaces={}),t.raws.spaces.operator||(t.raws.spaces.operator={}),t.raws.spaces.operator.after=e}};const r=t.raws.spaces&&t.raws.spaces.operator&&t.raws.spaces.operator.after;return r?{operatorAfter:r,setOperatorAfter(e){t.raws.spaces.operator.after=e}}:{operatorAfter:t.spaces.operator&&t.spaces.operator.after||"",setOperatorAfter(e){t.spaces.operator||(t.spaces.operator={}),t.spaces.operator.after=e}}})();return"always"===e?(s(r.replace(/^\s*/," ")),!0):"never"===e?(s(r.replace(/^\s*/,"")),!0):void 0}:null})}}u.ruleName=a,u.messages=l,t.exports=u},{"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../selectorAttributeOperatorSpaceChecker":329}],291:[(e,t,r)=>{const s=e("../../utils/ruleMessages"),i=e("../selectorAttributeOperatorSpaceChecker"),n=e("../../utils/validateOptions"),o=e("../../utils/whitespaceChecker"),a="selector-attribute-operator-space-before",l=s(a,{expectedBefore:e=>`Expected single space before "${e}"`,rejectedBefore:e=>`Unexpected whitespace before "${e}"`});function u(e,t,r){const s=o("space",e,l);return(t,o)=>{n(o,a,{actual:e,possible:["always","never"]})&&i({root:t,result:o,locationChecker:s.before,checkedRuleName:a,checkBeforeOperator:!0,fix:r.fix?t=>{const r=t.raws.spaces&&t.raws.spaces.attribute&&t.raws.spaces.attribute.after,{attrAfter:s,setAttrAfter:i}=r?{attrAfter:r,setAttrAfter(e){t.raws.spaces.attribute.after=e}}:{attrAfter:t.spaces.attribute&&t.spaces.attribute.after||"",setAttrAfter(e){t.spaces.attribute||(t.spaces.attribute={}),t.spaces.attribute.after=e}};return"always"===e?(i(s.replace(/\s*$/," ")),!0):"never"===e?(i(s.replace(/\s*$/,"")),!0):void 0}:null})}}u.ruleName=a,u.messages=l,t.exports=u},{"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../selectorAttributeOperatorSpaceChecker":329}],292:[(e,t,r)=>{const s=e("../../utils/getRuleSelector"),i=e("../../utils/isStandardSyntaxRule"),n=e("../../utils/parseSelector"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u="selector-attribute-quotes",c=a(u,{expected:e=>`Expected quotes around "${e}"`,rejected:e=>`Unexpected quotes around "${e}"`}),p='"';function d(e,t,r){return(t,a)=>{l(a,u,{actual:e,possible:["always","never"]})&&t.walkRules(t=>{function l(e,r){o({message:e,index:r,result:a,ruleName:u,node:t})}i(t)&&t.selector.includes("[")&&t.selector.includes("=")&&n(s(t),a,t,s=>{let i=!1;s.walkAttributes(t=>{t.operator&&(t.quoted||"always"!==e||(r.fix?(i=!0,t.quoteMark=p):l(c.expected(t.value),t.sourceIndex+t.offsetOf("value"))),t.quoted&&"never"===e&&(r.fix?(i=!0,t.quoteMark=null):l(c.rejected(t.value),t.sourceIndex+t.offsetOf("value"))))}),i&&(t.selector=s.toString())})})}}d.ruleName=u,d.messages=c,t.exports=d},{"../../utils/getRuleSelector":372,"../../utils/isStandardSyntaxRule":417,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442}],293:[(e,t,r)=>{const s=e("../../utils/isKeyframeSelector"),i=e("../../utils/isStandardSyntaxRule"),n=e("../../utils/isStandardSyntaxSelector"),o=e("../../utils/parseSelector"),a=e("../../utils/report"),l=e("postcss-resolve-nested-selector"),u=e("../../utils/ruleMessages"),c=e("../../utils/validateOptions"),{isBoolean:p,isRegExp:d,isString:f}=e("../../utils/validateTypes"),h="selector-class-pattern",m=u(h,{expected:(e,t)=>`Expected class selector ".${e}" to match pattern "${t}"`});function g(e,t){return(r,u)=>{if(!c(u,h,{actual:e,possible:[d,f]},{actual:t,possible:{resolveNestedSelectors:p},optional:!0}))return;const g=t&&t.resolveNestedSelectors,w=f(e)?new RegExp(e):e;function b(t,r){t.walkClasses(t=>{const s=t.value,i=t.sourceIndex;w.test(s)||a({result:u,ruleName:h,message:m.expected(s,e),node:r,index:i})})}r.walkRules(e=>{const t=e.selector,r=e.selectors;if(i(e)&&!r.some(e=>s(e)))if(g&&(e=>{for(let t=0,r=e.length;tb(t,e));else o(t,u,e,t=>b(t,e))})}}function y(e){return/[\s+>~]/.test(e)}g.ruleName=h,g.messages=m,t.exports=g},{"../../utils/isKeyframeSelector":398,"../../utils/isStandardSyntaxRule":417,"../../utils/isStandardSyntaxSelector":418,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"postcss-resolve-nested-selector":50}],294:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxCombinator"),i=e("../../utils/isStandardSyntaxRule"),n=e("../../utils/parseSelector"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),{isString:u}=e("../../utils/validateTypes"),c="selector-combinator-allowed-list",p=a(c,{rejected:e=>`Unexpected combinator "${e}"`});function d(e){return(t,r)=>{l(r,c,{actual:e,possible:[u]})&&t.walkRules(t=>{if(!i(t))return;const a=t.selector;n(a,r,t,i=>{i.walkCombinators(i=>{if(!s(i))return;const n=i.value.replace(/\s+/g," ");e.includes(n)||o({result:r,ruleName:c,message:p.rejected(n),node:t,index:i.sourceIndex})})})})}}d.primaryOptionArray=!0,d.ruleName=c,d.messages=p,t.exports=d},{"../../utils/isStandardSyntaxCombinator":410,"../../utils/isStandardSyntaxRule":417,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443}],295:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxCombinator"),i=e("../../utils/isStandardSyntaxRule"),n=e("../../utils/parseSelector"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),{isString:u}=e("../../utils/validateTypes"),c="selector-combinator-disallowed-list",p=a(c,{rejected:e=>`Unexpected combinator "${e}"`});function d(e){return(t,r)=>{l(r,c,{actual:e,possible:[u]})&&t.walkRules(t=>{if(!i(t))return;const a=t.selector;n(a,r,t,i=>{i.walkCombinators(i=>{if(!s(i))return;const n=i.value.replace(/\s+/g," ");e.includes(n)&&o({result:r,ruleName:c,message:p.rejected(n),node:t,index:i.sourceIndex})})})})}}d.primaryOptionArray=!0,d.ruleName=c,d.messages=p,t.exports=d},{"../../utils/isStandardSyntaxCombinator":410,"../../utils/isStandardSyntaxRule":417,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443}],296:[(e,t,r)=>{const s=e("../../utils/ruleMessages"),i=e("../selectorCombinatorSpaceChecker"),n=e("../../utils/validateOptions"),o=e("../../utils/whitespaceChecker"),a="selector-combinator-space-after",l=s(a,{expectedAfter:e=>`Expected single space after "${e}"`,rejectedAfter:e=>`Unexpected whitespace after "${e}"`});function u(e,t,r){const s=o("space",e,l);return(t,o)=>{n(o,a,{actual:e,possible:["always","never"]})&&i({root:t,result:o,locationChecker:s.after,locationType:"after",checkedRuleName:a,fix:r.fix?t=>"always"===e?(t.spaces.after=" ",!0):"never"===e?(t.spaces.after="",!0):void 0:null})}}u.ruleName=a,u.messages=l,t.exports=u},{"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../selectorCombinatorSpaceChecker":330}],297:[(e,t,r)=>{const s=e("../../utils/ruleMessages"),i=e("../selectorCombinatorSpaceChecker"),n=e("../../utils/validateOptions"),o=e("../../utils/whitespaceChecker"),a="selector-combinator-space-before",l=s(a,{expectedBefore:e=>`Expected single space before "${e}"`,rejectedBefore:e=>`Unexpected whitespace before "${e}"`});function u(e,t,r){const s=o("space",e,l);return(t,o)=>{n(o,a,{actual:e,possible:["always","never"]})&&i({root:t,result:o,locationChecker:s.before,locationType:"before",checkedRuleName:a,fix:r.fix?t=>"always"===e?(t.spaces.before=" ",!0):"never"===e?(t.spaces.before="",!0):void 0:null})}}u.ruleName=a,u.messages=l,t.exports=u},{"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../selectorCombinatorSpaceChecker":330}],298:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/parseSelector"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),l="selector-descendant-combinator-no-non-space",u=o(l,{rejected:e=>`Unexpected "${e}"`});function c(e,t,r){return(t,o)=>{a(o,l,{actual:e})&&t.walkRules(e=>{if(!s(e))return;let t=!1;const a=e.raws.selector?e.raws.selector.raw:e.selector;if(a.includes("/*"))return;const c=i(a,o,e,s=>{s.walkCombinators(s=>{if(" "!==s.value)return;const i=s.toString();if(i.includes(" ")||i.includes("\t")||i.includes("\n")||i.includes("\r")){if(r.fix&&/^\s+$/.test(i))return t=!0,s.raws.value=" ",s.rawSpaceBefore=s.rawSpaceBefore.replace(/^\s+/,""),void(s.rawSpaceAfter=s.rawSpaceAfter.replace(/\s+$/,""));n({result:o,ruleName:l,message:u.rejected(i),node:e,index:s.sourceIndex})}})});t&&(e.raws.selector?e.raws.selector.raw=c:e.selector=c)})}}c.ruleName=l,c.messages=u,t.exports=c},{"../../utils/isStandardSyntaxRule":417,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442}],299:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/matchesStringOrRegExp"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),{isRegExp:l,isString:u}=e("../../utils/validateTypes"),c="selector-disallowed-list",p=o(c,{rejected:e=>`Unexpected selector "${e}"`});function d(e){const t=[e].flat();return(e,r)=>{a(r,c,{actual:t,possible:[u,l]})&&e.walkRules(e=>{if(!s(e))return;const o=e.selector;i(o,t)&&n({result:r,ruleName:c,message:p.rejected(o),node:e})})}}d.primaryOptionArray=!0,d.ruleName=c,d.messages=p,t.exports=d},{"../../utils/isStandardSyntaxRule":417,"../../utils/matchesStringOrRegExp":426,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443}],300:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/parseSelector"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),{isRegExp:l,isString:u}=e("../../utils/validateTypes"),c="selector-id-pattern",p=o(c,{expected:(e,t)=>`Expected ID selector "#${e}" to match pattern "${t}"`});function d(e){return(t,r)=>{if(!a(r,c,{actual:e,possible:[l,u]}))return;const o=u(e)?new RegExp(e):e;t.walkRules(t=>{if(!s(t))return;const a=t.selector;i(a,r,t,s=>{s.walk(s=>{if("id"!==s.type)return;const i=s.value,a=s.sourceIndex;o.test(i)||n({result:r,ruleName:c,message:p.expected(i,e),node:t,index:a})})})})}}d.ruleName=c,d.messages=p,t.exports=d},{"../../utils/isStandardSyntaxRule":417,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443}],301:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("style-search"),a=e("../../utils/validateOptions"),l=e("../../utils/whitespaceChecker"),u="selector-list-comma-newline-after",c=n(u,{expectedAfter:()=>'Expected newline after ","',expectedAfterMultiLine:()=>'Expected newline after "," in a multi-line list',rejectedAfterMultiLine:()=>'Unexpected whitespace after "," in a multi-line list'});function p(e,t,r){const n=l("newline",e,c);return(t,l)=>{a(l,u,{actual:e,possible:["always","always-multi-line","never-multi-line"]})&&t.walkRules(t=>{if(!s(t))return;const a=t.raws.selector?t.raws.selector.raw:t.selector,c=[];if(o({source:a,target:",",functionArguments:"skip"},e=>{const s=a.substr(e.endIndex,a.length-e.endIndex);if(/^\s+\/\//.test(s))return;const o=/^\s+\/\*/.test(s)?a.indexOf("*/",e.endIndex)+1:e.startIndex;n.afterOneOnly({source:a,index:o,err(s){r.fix?c.push(o+1):i({message:s,node:t,index:e.startIndex,result:l,ruleName:u})}})}),c.length){let s=a;for(const t of c.sort((e,t)=>t-e)){const i=s.slice(0,t);let n=s.slice(t);e.startsWith("always")?n=r.newline+n:e.startsWith("never-multi-line")&&(n=n.replace(/^\s*/,"")),s=i+n}t.raws.selector?t.raws.selector.raw=s:t.selector=s}})}}p.ruleName=u,p.messages=c,t.exports=p},{"../../utils/isStandardSyntaxRule":417,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"style-search":121}],302:[(e,t,r)=>{const s=e("../../utils/ruleMessages"),i=e("../selectorListCommaWhitespaceChecker"),n=e("../../utils/validateOptions"),o=e("../../utils/whitespaceChecker"),a="selector-list-comma-newline-before",l=s(a,{expectedBefore:()=>'Expected newline before ","',expectedBeforeMultiLine:()=>'Expected newline before "," in a multi-line list',rejectedBeforeMultiLine:()=>'Unexpected whitespace before "," in a multi-line list'});function u(e,t,r){const s=o("newline",e,l);return(t,o)=>{if(!n(o,a,{actual:e,possible:["always","always-multi-line","never-multi-line"]}))return;let l;if(i({root:t,result:o,locationChecker:s.beforeAllowingIndentation,checkedRuleName:a,fix:r.fix?(e,t)=>{const r=(l=l||new Map).get(e)||[];return r.push(t),l.set(e,r),!0}:null}),l)for(const[t,s]of l.entries()){let i=t.raws.selector?t.raws.selector.raw:t.selector;for(const t of s.sort((e,t)=>t-e)){let s=i.slice(0,t);const n=i.slice(t);if(e.startsWith("always")){const e=s.search(/\s+$/);e>=0?s=s.slice(0,e)+r.newline+s.slice(e):s+=r.newline}else"never-multi-line"===e&&(s=s.replace(/\s*$/,""));i=s+n}t.raws.selector?t.raws.selector.raw=i:t.selector=i}}}u.ruleName=a,u.messages=l,t.exports=u},{"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../selectorListCommaWhitespaceChecker":331}],303:[(e,t,r)=>{const s=e("../../utils/ruleMessages"),i=e("../selectorListCommaWhitespaceChecker"),n=e("../../utils/validateOptions"),o=e("../../utils/whitespaceChecker"),a="selector-list-comma-space-after",l=s(a,{expectedAfter:()=>'Expected single space after ","',rejectedAfter:()=>'Unexpected whitespace after ","',expectedAfterSingleLine:()=>'Expected single space after "," in a single-line list',rejectedAfterSingleLine:()=>'Unexpected whitespace after "," in a single-line list'});function u(e,t,r){const s=o("space",e,l);return(t,o)=>{if(!n(o,a,{actual:e,possible:["always","never","always-single-line","never-single-line"]}))return;let l;if(i({root:t,result:o,locationChecker:s.after,checkedRuleName:a,fix:r.fix?(e,t)=>{const r=(l=l||new Map).get(e)||[];return r.push(t),l.set(e,r),!0}:null}),l)for(const[t,r]of l.entries()){let s=t.raws.selector?t.raws.selector.raw:t.selector;for(const t of r.sort((e,t)=>t-e)){const r=s.slice(0,t+1);let i=s.slice(t+1);e.startsWith("always")?i=i.replace(/^\s*/," "):e.startsWith("never")&&(i=i.replace(/^\s*/,"")),s=r+i}t.raws.selector?t.raws.selector.raw=s:t.selector=s}}}u.ruleName=a,u.messages=l,t.exports=u},{"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../selectorListCommaWhitespaceChecker":331}],304:[(e,t,r)=>{const s=e("../../utils/ruleMessages"),i=e("../selectorListCommaWhitespaceChecker"),n=e("../../utils/validateOptions"),o=e("../../utils/whitespaceChecker"),a="selector-list-comma-space-before",l=s(a,{expectedBefore:()=>'Expected single space before ","',rejectedBefore:()=>'Unexpected whitespace before ","',expectedBeforeSingleLine:()=>'Expected single space before "," in a single-line list',rejectedBeforeSingleLine:()=>'Unexpected whitespace before "," in a single-line list'});function u(e,t,r){const s=o("space",e,l);return(t,o)=>{if(!n(o,a,{actual:e,possible:["always","never","always-single-line","never-single-line"]}))return;let l;if(i({root:t,result:o,locationChecker:s.before,checkedRuleName:a,fix:r.fix?(e,t)=>{const r=(l=l||new Map).get(e)||[];return r.push(t),l.set(e,r),!0}:null}),l)for(const[t,r]of l.entries()){let s=t.raws.selector?t.raws.selector.raw:t.selector;for(const t of r.sort((e,t)=>t-e)){let r=s.slice(0,t);const i=s.slice(t);e.includes("always")?r=r.replace(/\s*$/," "):e.includes("never")&&(r=r.replace(/\s*$/,"")),s=r+i}t.raws.selector?t.raws.selector.raw=s:t.selector=s}}}u.ruleName=a,u.messages=l,t.exports=u},{"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../selectorListCommaWhitespaceChecker":331}],305:[(e,t,r)=>{const s=e("../../utils/isContextFunctionalPseudoClass"),i=e("../../utils/isNonNegativeInteger"),n=e("../../utils/isStandardSyntaxRule"),o=e("../../utils/optionsMatches"),a=e("../../utils/parseSelector"),l=e("../../utils/report"),u=e("postcss-resolve-nested-selector"),c=e("../../utils/ruleMessages"),p=e("../../utils/validateOptions"),{isRegExp:d,isString:f}=e("../../utils/validateTypes"),h="selector-max-attribute",m=c(h,{expected:(e,t)=>`Expected "${e}" to have no more than ${t} attribute ${1===t?"selector":"selectors"}`});function g(e,t){return(r,c)=>{function g(r,i){const n=r.reduce((e,r)=>(("selector"===r.type||s(r))&&g(r,i),"attribute"!==r.type?e:o(t,"ignoreAttributes",r.attribute)?e:e+=1),0);"root"!==r.type&&"pseudo"!==r.type&&n>e&&l({ruleName:h,result:c,node:i,message:m.expected(r,e),word:r})}p(c,h,{actual:e,possible:i},{actual:t,possible:{ignoreAttributes:[f,d]},optional:!0})&&r.walkRules(e=>{if(n(e))for(const t of e.selectors)for(const r of u(t,e))a(r,c,e,t=>g(t,e))})}}g.ruleName=h,g.messages=m,t.exports=g},{"../../utils/isContextFunctionalPseudoClass":388,"../../utils/isNonNegativeInteger":400,"../../utils/isStandardSyntaxRule":417,"../../utils/optionsMatches":429,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"postcss-resolve-nested-selector":50}],306:[(e,t,r)=>{const s=e("../../utils/isContextFunctionalPseudoClass"),i=e("../../utils/isNonNegativeInteger"),n=e("../../utils/isStandardSyntaxRule"),o=e("../../utils/parseSelector"),a=e("../../utils/report"),l=e("postcss-resolve-nested-selector"),u=e("../../utils/ruleMessages"),c=e("../../utils/validateOptions"),p="selector-max-class",d=u(p,{expected:(e,t)=>`Expected "${e}" to have no more than ${t} ${1===t?"class":"classes"}`});function f(e){return(t,r)=>{function u(t,i){const n=t.reduce((e,t)=>(("selector"===t.type||s(t))&&u(t,i),"class"===t.type&&(e+=1),e),0);"root"!==t.type&&"pseudo"!==t.type&&n>e&&a({ruleName:p,result:r,node:i,message:d.expected(t,e),word:t})}c(r,p,{actual:e,possible:i})&&t.walkRules(e=>{if(n(e))for(const t of e.selectors)for(const s of l(t,e))o(s,r,e,t=>u(t,e))})}}f.ruleName=p,f.messages=d,t.exports=f},{"../../utils/isContextFunctionalPseudoClass":388,"../../utils/isNonNegativeInteger":400,"../../utils/isStandardSyntaxRule":417,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"postcss-resolve-nested-selector":50}],307:[(e,t,r)=>{const s=e("../../utils/isNonNegativeInteger"),i=e("../../utils/isStandardSyntaxRule"),n=e("../../utils/parseSelector"),o=e("../../utils/report"),a=e("postcss-resolve-nested-selector"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),c="selector-max-combinators",p=l(c,{expected:(e,t)=>`Expected "${e}" to have no more than ${t} ${1===t?"combinator":"combinators"}`});function d(e){return(t,r)=>{function l(t,s){const i=t.reduce((e,t)=>("selector"===t.type&&l(t,s),"combinator"===t.type&&(e+=1),e),0);"root"!==t.type&&"pseudo"!==t.type&&i>e&&o({ruleName:c,result:r,node:s,message:p.expected(t,e),word:t})}u(r,c,{actual:e,possible:s})&&t.walkRules(e=>{if(i(e))for(const t of e.selectors)for(const s of a(t,e))n(s,r,e,t=>l(t,e))})}}d.ruleName=c,d.messages=p,t.exports=d},{"../../utils/isNonNegativeInteger":400,"../../utils/isStandardSyntaxRule":417,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"postcss-resolve-nested-selector":50}],308:[(e,t,r)=>{const s=e("../../utils/isContextFunctionalPseudoClass"),i=e("../../utils/isNonNegativeInteger"),n=e("../../utils/isStandardSyntaxRule"),o=e("../../utils/parseSelector"),a=e("../../utils/report"),l=e("postcss-resolve-nested-selector"),u=e("../../utils/ruleMessages"),c=e("../../utils/validateOptions"),p="selector-max-compound-selectors",d=u(p,{expected:(e,t)=>`Expected "${e}" to have no more than ${t} compound ${1===t?"selector":"selectors"}`});function f(e){return(t,r)=>{function u(t,i){let n=1;t.each(e=>{("selector"===e.type||s(e))&&u(e,i),"combinator"===e.type&&n++}),"root"!==t.type&&"pseudo"!==t.type&&n>e&&a({ruleName:p,result:r,node:i,message:d.expected(t,e),word:t})}c(r,p,{actual:e,possible:i})&&t.walkRules(e=>{if(n(e))for(const t of e.selectors)for(const s of l(t,e))o(s,r,e,t=>u(t,e))})}}f.ruleName=p,f.messages=d,t.exports=f},{"../../utils/isContextFunctionalPseudoClass":388,"../../utils/isNonNegativeInteger":400,"../../utils/isStandardSyntaxRule":417,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"postcss-resolve-nested-selector":50}],309:[(e,t,r)=>{const s=e("../../utils/report"),i=e("../../utils/ruleMessages"),n=e("../../utils/validateOptions"),{isNumber:o}=e("../../utils/validateTypes"),a="selector-max-empty-lines",l=i(a,{expected:e=>`Expected no more than ${e} empty ${1===e?"line":"lines"}`});function u(e,t,r){const i=e+1;return(t,u)=>{if(!n(u,a,{actual:e,possible:o}))return;const c=new RegExp(`(?:\r\n){${i+1},}`),p=new RegExp(`\n{${i+1},}`),d=r.fix?"\n".repeat(i):"",f=r.fix?"\r\n".repeat(i):"";t.walkRules(t=>{const i=t.raws.selector?t.raws.selector.raw:t.selector;if(r.fix){const e=i.replace(new RegExp(p,"gm"),d).replace(new RegExp(c,"gm"),f);t.raws.selector?t.raws.selector.raw=e:t.selector=e}else(p.test(i)||c.test(i))&&s({message:l.expected(e),node:t,index:0,result:u,ruleName:a})})}}u.ruleName=a,u.messages=l,t.exports=u},{"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443}],310:[(e,t,r)=>{const s=e("../../utils/isContextFunctionalPseudoClass"),i=e("../../utils/isNonNegativeInteger"),n=e("../../utils/isStandardSyntaxRule"),o=e("../../utils/optionsMatches"),a=e("../../utils/parseSelector"),l=e("../../utils/report"),u=e("postcss-resolve-nested-selector"),c=e("../../utils/ruleMessages"),p=e("../../utils/validateOptions"),{isRegExp:d,isString:f}=e("../../utils/validateTypes"),h="selector-max-id",m=c(h,{expected:(e,t)=>`Expected "${e}" to have no more than ${t} ID ${1===t?"selector":"selectors"}`});function g(e,t){return(r,c)=>{function g(r,i){const n=r.reduce((e,r)=>(("selector"===r.type||s(r)&&("pseudo"!==(a=r).type||!o(t,"ignoreContextFunctionalPseudoClasses",a.value)))&&g(r,i),"id"===r.type&&(e+=1),e),0);var a;"root"!==r.type&&"pseudo"!==r.type&&n>e&&l({ruleName:h,result:c,node:i,message:m.expected(r,e),word:r})}p(c,h,{actual:e,possible:i},{actual:t,possible:{ignoreContextFunctionalPseudoClasses:[f,d]},optional:!0})&&r.walkRules(e=>{if(n(e))for(const t of e.selectors)for(const r of u(t,e))a(r,c,e,t=>g(t,e))})}}g.ruleName=h,g.messages=m,t.exports=g},{"../../utils/isContextFunctionalPseudoClass":388,"../../utils/isNonNegativeInteger":400,"../../utils/isStandardSyntaxRule":417,"../../utils/optionsMatches":429,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"postcss-resolve-nested-selector":50}],311:[(e,t,r)=>{const s=e("../../utils/isContextFunctionalPseudoClass"),i=e("../../utils/isNonNegativeInteger"),n=e("../../utils/isStandardSyntaxRule"),o=e("../../reference/keywordSets"),a=e("../../utils/parseSelector"),l=e("../../utils/report"),u=e("postcss-resolve-nested-selector"),c=e("../../utils/ruleMessages"),p=e("../../utils/validateOptions"),d="selector-max-pseudo-class",f=c(d,{expected:(e,t)=>`Expected "${e}" to have no more than ${t} pseudo-${1===t?"class":"classes"}`});function h(e){return(t,r)=>{function c(t,i){t.reduce((e,t)=>(("selector"===t.type||s(t))&&c(t,i),"pseudo"===t.type&&(t.value.includes("::")||o.levelOneAndTwoPseudoElements.has(t.value.toLowerCase().slice(1)))?e:("pseudo"===t.type&&(e+=1),e)),0)>e&&l({ruleName:d,result:r,node:i,message:f.expected(t,e),word:t})}p(r,d,{actual:e,possible:i})&&t.walkRules(e=>{if(n(e))for(const t of e.selectors)for(const s of u(t,e))a(s,r,h,t=>{c(t,e)})})}}h.ruleName=d,h.messages=f,t.exports=h},{"../../reference/keywordSets":142,"../../utils/isContextFunctionalPseudoClass":388,"../../utils/isNonNegativeInteger":400,"../../utils/isStandardSyntaxRule":417,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"postcss-resolve-nested-selector":50}],312:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/isStandardSyntaxSelector"),n=e("../../reference/keywordSets"),o=e("../../utils/optionsMatches"),a=e("../../utils/parseSelector"),l=e("../../utils/report"),u=e("postcss-resolve-nested-selector"),c=e("../../utils/ruleMessages"),p=e("specificity"),d=e("../../utils/validateOptions"),{isRegExp:f,isString:h}=e("../../utils/validateTypes"),m="selector-max-specificity",g=c(m,{expected:(e,t)=>`Expected "${e}" to have a specificity no more than "${t}"`}),y=()=>[0,0,0,0],w=e=>{const t=y();for(const r of e)for(const[e,s]of r.entries())t[e]+=s;return t};function b(e,t){return(r,c)=>{if(!d(c,m,{actual:e,possible:[e=>/^\d+,\d+,\d+$/.test(e)]},{actual:t,possible:{ignoreSelectors:[h,f]},optional:!0}))return;const b=e=>o(t,"ignoreSelectors",e)?y():p.calculate(e)[0].specificityArray,x=e=>e.reduce((e,t)=>{const r=v(t);return 1===p.compare(r,e)?r:e},y()),v=e=>{if((t=>{const r=e.parent.parent;if(r&&r.value){const e=r.value.toLowerCase().replace(/:+/,"");return"pseudo"===r.type&&(n.aNPlusBNotationPseudoClasses.has(e)||n.linguisticPseudoClasses.has(e))}return!1})())return y();switch(e.type){case"attribute":case"class":case"id":case"tag":return b(e.toString());case"pseudo":return(e=>{const t=e.value,r=":not"===t||":matches"===t?y():b(t);return w([r,x(e)])})(e);case"selector":return w(e.map(e=>v(e)));default:return y()}},k=`0,${e}`.split(",").map(e=>Number.parseFloat(e));r.walkRules(t=>{if(s(t))for(const r of t.selectors)for(const s of u(r,t))try{if(!i(s))continue;a(s,c,t,i=>{1===p.compare(x(i),k)&&l({ruleName:m,result:c,node:t,message:g.expected(s,e),word:r})})}catch(e){c.warn("Cannot parse selector",{node:t,stylelintType:"parseError"})}})}}b.ruleName=m,b.messages=g,t.exports=b},{"../../reference/keywordSets":142,"../../utils/isStandardSyntaxRule":417,"../../utils/isStandardSyntaxSelector":418,"../../utils/optionsMatches":429,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"postcss-resolve-nested-selector":50,specificity:120}],313:[(e,t,r)=>{const s=e("../../utils/isContextFunctionalPseudoClass"),i=e("../../utils/isKeyframeSelector"),n=e("../../utils/isNonNegativeInteger"),o=e("../../utils/isOnlyWhitespace"),a=e("../../utils/isStandardSyntaxRule"),l=e("../../utils/isStandardSyntaxSelector"),u=e("../../utils/isStandardSyntaxTypeSelector"),c=e("../../utils/optionsMatches"),p=e("../../utils/parseSelector"),d=e("../../utils/report"),f=e("postcss-resolve-nested-selector"),h=e("../../utils/ruleMessages"),m=e("../../utils/validateOptions"),{isRegExp:g,isString:y}=e("../../utils/validateTypes"),w="selector-max-type",b=h(w,{expected:(e,t)=>`Expected "${e}" to have no more than ${t} type ${1===t?"selector":"selectors"}`});function x(e,t){return(r,h)=>{if(!m(h,w,{actual:e,possible:n},{actual:t,possible:{ignore:["descendant","child","compounded","next-sibling"],ignoreTypes:[y,g]},optional:!0}))return;const x=c(t,"ignore","descendant"),k=c(t,"ignore","child"),S=c(t,"ignore","compounded"),O=c(t,"ignore","next-sibling");function C(r,i){const n=r.reduce((e,r)=>(("selector"===r.type||s(r))&&C(r,i),c(t,"ignoreTypes",r.value)?e:x&&(e=>{const t=e.parent.nodes.indexOf(e);return e.parent.nodes.slice(0,t).some(e=>(r=e,!!r&&v(r)&&o(r.value)));var r})(r)?e:k&&(e=>{const t=e.parent.nodes.indexOf(e);return e.parent.nodes.slice(0,t).some(e=>(r=e,!!r&&v(r)&&">"===r.value));var r})(r)?e:S&&(e=>!(!e.prev()||v(e.prev()))||e.next()&&!v(e.next()))(r)?e:O&&(a=r).prev()&&v(l=a.prev())&&"+"===l.value?e:"tag"!==r.type||u(r)?e+("tag"===r.type):e),0);var a,l;"root"!==r.type&&"pseudo"!==r.type&&n>e&&d({ruleName:w,result:h,node:i,message:b.expected(r,e),word:r})}r.walkRules(e=>{const t=e.selectors;if(a(e)&&!t.some(e=>i(e)))for(const t of e.selectors)for(const r of f(t,e))l(r)&&p(r,h,e,t=>C(t,e))})}}function v(e){return!!e&&"combinator"===e.type}x.ruleName=w,x.messages=b,t.exports=x},{"../../utils/isContextFunctionalPseudoClass":388,"../../utils/isKeyframeSelector":398,"../../utils/isNonNegativeInteger":400,"../../utils/isOnlyWhitespace":402,"../../utils/isStandardSyntaxRule":417,"../../utils/isStandardSyntaxSelector":418,"../../utils/isStandardSyntaxTypeSelector":419,"../../utils/optionsMatches":429,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"postcss-resolve-nested-selector":50}],314:[(e,t,r)=>{const s=e("../../utils/isNonNegativeInteger"),i=e("../../utils/isStandardSyntaxRule"),n=e("../../utils/parseSelector"),o=e("../../utils/report"),a=e("postcss-resolve-nested-selector"),l=e("../../utils/ruleMessages"),u=e("postcss-selector-parser"),c=e("../../utils/validateOptions"),p="selector-max-universal",d=l(p,{expected:(e,t)=>`Expected "${e}" to have no more than ${t} universal ${1===t?"selector":"selectors"}`});function f(e){return(t,r)=>{function l(t,s){const i=t.reduce((e,t)=>("selector"===t.type&&l(t,s),"universal"===t.type&&(e+=1),e),0);"root"!==t.type&&"pseudo"!==t.type&&i>e&&o({ruleName:p,result:r,node:s,message:d.expected(t,e),word:t})}c(r,p,{actual:e,possible:s})&&t.walkRules(e=>{if(!i(e))return;const t=[];u().astSync(e.selector).walk(e=>{"selector"===e.type&&t.push(String(e).trim())});for(const s of t)for(const t of a(s,e))n(t,r,e,t=>l(t,e))})}}f.ruleName=p,f.messages=d,t.exports=f},{"../../utils/isNonNegativeInteger":400,"../../utils/isStandardSyntaxRule":417,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"postcss-resolve-nested-selector":50,"postcss-selector-parser":53}],315:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),{isRegExp:a,isString:l}=e("../../utils/validateTypes"),u="selector-nested-pattern",c=n(u,{expected:(e,t)=>`Expected nested selector "${e}" to match pattern "${t}"`});function p(e){return(t,r)=>{if(!o(r,u,{actual:e,possible:[a,l]}))return;const n=l(e)?new RegExp(e):e;t.walkRules(t=>{if("rule"!==t.parent.type)return;if(!s(t))return;const o=t.selector;n.test(o)||i({result:r,ruleName:u,message:c.expected(o,e),node:t})})}}p.ruleName=u,p.messages=c,t.exports=p},{"../../utils/isStandardSyntaxRule":417,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443}],316:[(e,t,r)=>{const s=e("../../utils/isKeyframeRule"),i=e("../../utils/isStandardSyntaxRule"),n=e("../../utils/isStandardSyntaxSelector"),o=e("../../utils/optionsMatches"),a=e("../../utils/parseSelector"),l=e("../../utils/report"),u=e("postcss-resolve-nested-selector"),c=e("../../utils/ruleMessages"),p=e("../../utils/validateOptions"),d="selector-no-qualifying-type",f=c(d,{rejected:"Unexpected qualifying type selector"}),h=["#",".","["];function m(e,t){return(c,m)=>{p(m,d,{actual:e,possible:[!0,!1]},{actual:t,possible:{ignore:["attribute","class","id"]},optional:!0})&&c.walkRules(e=>{if(i(e)&&!s(e)&&(r=e.selector,h.some(e=>r.includes(e))))for(const t of u(e.selector,e))n(t)&&a(t,m,e,c);function c(e){e.walkTags(e=>{if(1===e.parent.nodes.length)return;const r=(t=>{const r=[];let s=e;for(;(s=s.next())&&"combinator"!==s.type;)"id"!==s.type&&"class"!==s.type&&"attribute"!==s.type||r.push(s);return r})(),s=e.sourceIndex;for(const e of r)"id"!==e.type||o(t,"ignore","id")||p(s),"class"!==e.type||o(t,"ignore","class")||p(s),"attribute"!==e.type||o(t,"ignore","attribute")||p(s)})}function p(t){l({ruleName:d,result:m,node:e,message:f.rejected,index:t})}})};var r}m.ruleName=d,m.messages=f,t.exports=m},{"../../utils/isKeyframeRule":397,"../../utils/isStandardSyntaxRule":417,"../../utils/isStandardSyntaxSelector":418,"../../utils/optionsMatches":429,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"postcss-resolve-nested-selector":50}],317:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/matchesStringOrRegExp"),n=e("../../utils/parseSelector"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("../../utils/vendor"),{isRegExp:c,isString:p}=e("../../utils/validateTypes"),d="selector-pseudo-class-allowed-list",f=a(d,{rejected:e=>`Unexpected pseudo-class "${e}"`});function h(e){return(t,r)=>{l(r,d,{actual:e,possible:[p,c]})&&t.walkRules(t=>{if(!s(t))return;const a=t.selector;a.includes(":")&&n(a,r,t,s=>{s.walkPseudos(s=>{const n=s.value;if("::"===n.slice(0,2))return;const a=n.slice(1);i(u.unprefixed(a),e)||o({index:s.sourceIndex,message:f.rejected(a),node:t,result:r,ruleName:d})})})})}}h.primaryOptionArray=!0,h.ruleName=d,h.messages=f,t.exports=h},{"../../utils/isStandardSyntaxRule":417,"../../utils/matchesStringOrRegExp":426,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"../../utils/vendor":444}],318:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/isStandardSyntaxSelector"),n=e("../../reference/keywordSets"),o=e("../../utils/parseSelector"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),c="selector-pseudo-class-case",p=l(c,{expected:(e,t)=>`Expected "${e}" to be "${t}"`});function d(e,t,r){return(t,l)=>{u(l,c,{actual:e,possible:["lower","upper"]})&&t.walkRules(t=>{if(!s(t))return;if(!t.selector.includes(":"))return;const u=o(t.raws.selector?t.raws.selector.raw:t.selector,l,t,s=>{s.walkPseudos(s=>{const o=s.value;if(!i(o))return;if(o.includes("::")||n.levelOneAndTwoPseudoElements.has(o.toLowerCase().slice(1)))return;const u="lower"===e?o.toLowerCase():o.toUpperCase();o!==u&&(r.fix?s.value=u:a({message:p.expected(o,u),node:t,index:s.sourceIndex,ruleName:c,result:l}))})});r.fix&&(t.raws.selector?t.raws.selector.raw=u:t.selector=u)})}}d.ruleName=c,d.messages=p,t.exports=d},{"../../reference/keywordSets":142,"../../utils/isStandardSyntaxRule":417,"../../utils/isStandardSyntaxSelector":418,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442}],319:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/matchesStringOrRegExp"),n=e("../../utils/parseSelector"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("../../utils/vendor"),{isRegExp:c,isString:p}=e("../../utils/validateTypes"),d="selector-pseudo-class-disallowed-list",f=a(d,{rejected:e=>`Unexpected pseudo-class "${e}"`});function h(e){return(t,r)=>{l(r,d,{actual:e,possible:[p,c]})&&t.walkRules(t=>{if(!s(t))return;const a=t.selector;a.includes(":")&&n(a,r,t,s=>{s.walkPseudos(s=>{const n=s.value;if("::"===n.slice(0,2))return;const a=n.slice(1);i(u.unprefixed(a),e)&&o({index:s.sourceIndex,message:f.rejected(a),node:t,result:r,ruleName:d})})})})}}h.primaryOptionArray=!0,h.ruleName=d,h.messages=f,t.exports=h},{"../../utils/isStandardSyntaxRule":417,"../../utils/matchesStringOrRegExp":426,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"../../utils/vendor":444}],320:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../../utils/isCustomSelector"),n=e("../../utils/isStandardSyntaxAtRule"),o=e("../../utils/isStandardSyntaxRule"),a=e("../../utils/isStandardSyntaxSelector"),l=e("../../reference/keywordSets"),u=e("../../utils/optionsMatches"),c=e("../../utils/parseSelector"),p=e("../../utils/report"),d=e("../../utils/ruleMessages"),f=e("../../utils/validateOptions"),h=e("../../utils/vendor"),{isString:m}=e("../../utils/validateTypes"),g="selector-pseudo-class-no-unknown",y=d(g,{rejected:e=>`Unexpected unknown pseudo-class selector "${e}"`});function w(e,t){return(d,w)=>{f(w,g,{actual:e},{actual:t,possible:{ignorePseudoClasses:[m]},optional:!0})&&d.walk(e=>{let d=null;if("rule"===e.type){if(!o(e))return;d=e.selector}else if("atrule"===e.type&&"page"===e.name&&e.params){if(!n(e))return;d=e.params}d&&d.includes(":")&&c(d,w,r=e,e=>{e.walkPseudos(e=>{const n=e.value;if(!a(n))return;if(i(n))return;if("::"===n.slice(0,2))return;if(u(t,"ignorePseudoClasses",e.value.slice(1)))return;let o=null;const c=n.slice(1).toLowerCase();if("atrule"===r.type&&"page"===r.name){if(l.atRulePagePseudoClasses.has(c))return;o=s(r)+e.sourceIndex}else{if(h.prefix(c)||l.pseudoClasses.has(c)||l.pseudoElements.has(c))return;let t=e;do{if((t=t.prev())&&"::"===t.value.slice(0,2))break}while(t);if(t){const e=h.unprefixed(t.value.toLowerCase().slice(2));if(l.webkitProprietaryPseudoElements.has(e)&&l.webkitProprietaryPseudoClasses.has(c))return}o=e.sourceIndex}p({message:y.rejected(n),node:r,index:o,ruleName:g,result:w})})})})};var r}w.ruleName=g,w.messages=y,t.exports=w},{"../../reference/keywordSets":142,"../../utils/atRuleParamIndex":352,"../../utils/isCustomSelector":394,"../../utils/isStandardSyntaxAtRule":408,"../../utils/isStandardSyntaxRule":417,"../../utils/isStandardSyntaxSelector":418,"../../utils/optionsMatches":429,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"../../utils/vendor":444}],321:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/parseSelector"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),l="selector-pseudo-class-parentheses-space-inside",u=o(l,{expectedOpening:'Expected single space after "("',rejectedOpening:'Unexpected whitespace after "("',expectedClosing:'Expected single space before ")"',rejectedClosing:'Unexpected whitespace before ")"'});function c(e,t,r){return(t,c)=>{a(c,l,{actual:e,possible:["always","never"]})&&t.walkRules(t=>{if(!s(t))return;if(!t.selector.includes("("))return;let a=!1;const f=t.raws.selector?t.raws.selector.raw:t.selector,h=i(f,c,t,t=>{t.walkPseudos(t=>{if(!t.length)return;const s=t.map(e=>String(e)).join(","),i=s.startsWith(" "),n=t.sourceIndex+(o=t,"value",o.raws&&o.raws.value||o.value).length+1;i&&"never"===e&&(r.fix?(a=!0,p(t,"")):m(u.rejectedOpening,n)),i||"always"!==e||(r.fix?(a=!0,p(t," ")):m(u.expectedOpening,n));const l=s.endsWith(" "),c=n+s.length-1;l&&"never"===e&&(r.fix?(a=!0,d(t,"")):m(u.rejectedClosing,c)),l||"always"!==e||(r.fix?(a=!0,d(t," ")):m(u.expectedClosing,c))})});function m(e,r){n({message:e,index:r,result:c,ruleName:l,node:t})}a&&(t.raws.selector?t.raws.selector.raw=h:t.selector=h)})};var o}function p(e,t){const r=e.first;"selector"===r.type?p(r,t):r.spaces.before=t}function d(e,t){const r=e.last;"selector"===r.type?d(r,t):r.spaces.after=t}c.ruleName=l,c.messages=u,t.exports=c},{"../../utils/isStandardSyntaxRule":417,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442}],322:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/matchesStringOrRegExp"),n=e("../../utils/parseSelector"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("../../utils/vendor"),{isRegExp:c,isString:p}=e("../../utils/validateTypes"),d="selector-pseudo-element-allowed-list",f=a(d,{rejected:e=>`Unexpected pseudo-element "${e}"`});function h(e){return(t,r)=>{l(r,d,{actual:e,possible:[p,c]})&&t.walkRules(t=>{if(!s(t))return;const a=t.selector;a.includes("::")&&n(a,r,t,s=>{s.walkPseudos(s=>{const n=s.value;if(":"!==n[1])return;const a=n.slice(2);i(u.unprefixed(a),e)||o({index:s.sourceIndex,message:f.rejected(a),node:t,result:r,ruleName:d})})})})}}h.primaryOptionArray=!0,h.ruleName=d,h.messages=f,t.exports=h},{"../../utils/isStandardSyntaxRule":417,"../../utils/matchesStringOrRegExp":426,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"../../utils/vendor":444}],323:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/isStandardSyntaxSelector"),n=e("../../reference/keywordSets"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/transformSelector"),u=e("../../utils/validateOptions"),c="selector-pseudo-element-case",p=a(c,{expected:(e,t)=>`Expected "${e}" to be "${t}"`});function d(e,t,r){return(t,a)=>{u(a,c,{actual:e,possible:["lower","upper"]})&&t.walkRules(t=>{s(t)&&t.selector.includes(":")&&l(a,t,s=>{s.walkPseudos(s=>{const l=s.value;if(!i(l))return;if(!l.includes("::")&&!n.levelOneAndTwoPseudoElements.has(l.toLowerCase().slice(1)))return;const u="lower"===e?l.toLowerCase():l.toUpperCase();l!==u&&(r.fix?s.value=u:o({message:p.expected(l,u),node:t,index:s.sourceIndex,ruleName:c,result:a}))})})})}}d.ruleName=c,d.messages=p,t.exports=d},{"../../reference/keywordSets":142,"../../utils/isStandardSyntaxRule":417,"../../utils/isStandardSyntaxSelector":418,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/transformSelector":439,"../../utils/validateOptions":442}],324:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxRule"),i=e("../../reference/keywordSets"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("style-search"),l=e("../../utils/validateOptions"),u="selector-pseudo-element-colon-notation",c=o(u,{expected:e=>`Expected ${e} colon pseudo-element notation`});function p(e,t,r){return(t,o)=>{l(o,u,{actual:e,possible:["single","double"]})&&t.walkRules(t=>{if(!s(t))return;const l=t.selector;if(!l.includes(":"))return;const p=[],d=[...i.levelOneAndTwoPseudoElements].map(e=>`:${e}`);if(a({source:l.toLowerCase(),target:d},s=>{const i=":"===l[s.startIndex-1];("single"!==e||i)&&("double"===e&&i||(r.fix?p.unshift({ruleNode:t,startIndex:s.startIndex}):n({message:c.expected(e),node:t,index:s.startIndex,result:o,ruleName:u})))}),p.length){const r="single"===e,s=r?1:0,i=r?"":":";for(const e of p)t.selector=t.selector.substring(0,e.startIndex-s)+i+t.selector.substring(e.startIndex)}})}}p.ruleName=u,p.messages=c,t.exports=p},{"../../reference/keywordSets":142,"../../utils/isStandardSyntaxRule":417,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"style-search":121}],325:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/matchesStringOrRegExp"),n=e("../../utils/parseSelector"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("../../utils/vendor"),{isRegExp:c,isString:p}=e("../../utils/validateTypes"),d="selector-pseudo-element-disallowed-list",f=a(d,{rejected:e=>`Unexpected pseudo-element "${e}"`});function h(e){return(t,r)=>{l(r,d,{actual:e,possible:[p,c]})&&t.walkRules(t=>{if(!s(t))return;const a=t.selector;a.includes("::")&&n(a,r,t,s=>{s.walkPseudos(s=>{const n=s.value;if(":"!==n[1])return;const a=n.slice(2);i(u.unprefixed(a),e)&&o({index:s.sourceIndex,message:f.rejected(a),node:t,result:r,ruleName:d})})})})}}h.primaryOptionArray=!0,h.ruleName=d,h.messages=f,t.exports=h},{"../../utils/isStandardSyntaxRule":417,"../../utils/matchesStringOrRegExp":426,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"../../utils/vendor":444}],326:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/isStandardSyntaxSelector"),n=e("../../reference/keywordSets"),o=e("../../utils/optionsMatches"),a=e("../../utils/parseSelector"),l=e("../../utils/report"),u=e("../../utils/ruleMessages"),c=e("../../utils/validateOptions"),p=e("../../utils/vendor"),{isString:d}=e("../../utils/validateTypes"),f="selector-pseudo-element-no-unknown",h=u(f,{rejected:e=>`Unexpected unknown pseudo-element selector "${e}"`});function m(e,t){return(r,u)=>{c(u,f,{actual:e},{actual:t,possible:{ignorePseudoElements:[d]},optional:!0})&&r.walkRules(e=>{if(!s(e))return;const r=e.selector;r.includes(":")&&a(r,u,e,r=>{r.walkPseudos(r=>{const s=r.value;if(!i(s))return;if("::"!==s.slice(0,2))return;if(o(t,"ignorePseudoElements",r.value.slice(2)))return;const a=s.slice(2);p.prefix(a)||n.pseudoElements.has(a.toLowerCase())||l({message:h.rejected(s),node:e,index:r.sourceIndex,ruleName:f,result:u})})})})}}m.ruleName=f,m.messages=h,t.exports=m},{"../../reference/keywordSets":142,"../../utils/isStandardSyntaxRule":417,"../../utils/isStandardSyntaxSelector":418,"../../utils/optionsMatches":429,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"../../utils/vendor":444}],327:[(e,t,r)=>{const s=e("../../utils/isKeyframeSelector"),i=e("../../utils/isStandardSyntaxRule"),n=e("../../utils/isStandardSyntaxTypeSelector"),o=e("../../utils/optionsMatches"),a=e("../../utils/parseSelector"),l=e("../../utils/report"),u=e("../../utils/ruleMessages"),c=e("../../utils/validateOptions"),{isString:p}=e("../../utils/validateTypes"),d=e("../../reference/keywordSets"),f="selector-type-case",h=u(f,{expected:(e,t)=>`Expected "${e}" to be "${t}"`});function m(e,t,r){return(u,m)=>{c(m,f,{actual:e,possible:["lower","upper"]},{actual:t,possible:{ignoreTypes:[p]},optional:!0})&&u.walkRules(u=>{let c=u.raws.selector&&u.raws.selector.raw;const p=c||u.selector,g=u.selectors;i(u)&&(g.some(e=>s(e))||a(p,m,u,s=>{s.walkTags(s=>{if(!n(s))return;if(d.validMixedCaseSvgElements.has(s.value))return;if(o(t,"ignoreTypes",s.value))return;const i=s.sourceIndex,a=s.value,p="lower"===e?a.toLowerCase():a.toUpperCase();a!==p&&(r.fix?c?(c=c.slice(0,i)+p+c.slice(i+a.length),u.raws.selector.raw=c):u.selector=u.selector.slice(0,i)+p+u.selector.slice(i+a.length):l({message:h.expected(a,p),node:u,index:i,ruleName:f,result:m}))})}))})}}m.ruleName=f,m.messages=h,t.exports=m},{"../../reference/keywordSets":142,"../../utils/isKeyframeSelector":398,"../../utils/isStandardSyntaxRule":417,"../../utils/isStandardSyntaxTypeSelector":419,"../../utils/optionsMatches":429,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443}],328:[(e,t,r)=>{const s=e("html-tags"),i=e("../../utils/isCustomElement"),n=e("../../utils/isKeyframeSelector"),o=e("../../utils/isStandardSyntaxRule"),a=e("../../utils/isStandardSyntaxTypeSelector"),l=e("../../reference/keywordSets"),u=e("mathml-tag-names"),c=e("../../utils/optionsMatches"),p=e("../../utils/parseSelector"),d=e("../../utils/report"),f=e("../../utils/ruleMessages"),h=e("svg-tags"),m=e("../../utils/validateOptions"),{isRegExp:g,isString:y}=e("../../utils/validateTypes"),w="selector-type-no-unknown",b=f(w,{rejected:e=>`Unexpected unknown type selector "${e}"`});function x(e,t){return(r,f)=>{m(f,w,{actual:e},{actual:t,possible:{ignore:["custom-elements","default-namespace"],ignoreNamespaces:[y,g],ignoreTypes:[y,g]},optional:!0})&&r.walkRules(e=>{const r=e.selector,m=e.selectors;o(e)&&(m.some(e=>n(e))||p(r,f,e,r=>{r.walkTags(r=>{if(!a(r))return;if(c(t,"ignore","custom-elements")&&i(r.value))return;if(c(t,"ignore","default-namespace")&&"string"!=typeof r.namespace)return;if(c(t,"ignoreNamespaces",r.namespace))return;if(c(t,"ignoreTypes",r.value))return;const n=r.value,o=n.toLowerCase();s.includes(o)||h.includes(n)||l.nonStandardHtmlTags.has(o)||u.includes(o)||d({message:b.rejected(n),node:e,index:r.sourceIndex,ruleName:w,result:f})})}))})}}x.ruleName=w,x.messages=b,t.exports=x},{"../../reference/keywordSets":142,"../../utils/isCustomElement":391,"../../utils/isKeyframeSelector":398,"../../utils/isStandardSyntaxRule":417,"../../utils/isStandardSyntaxTypeSelector":419,"../../utils/optionsMatches":429,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"html-tags":28,"mathml-tag-names":40,"svg-tags":448}],329:[(e,t,r)=>{const s=e("../utils/isStandardSyntaxRule"),i=e("../utils/parseSelector"),n=e("../utils/report"),o=e("style-search");t.exports=(e=>{var t,r,a,l,u;e.root.walkRules(c=>{if(!s(c))return;if(!c.selector.includes("[")||!c.selector.includes("="))return;let p=!1;const d=c.raws.selector?c.raws.selector.raw:c.selector,f=i(d,e.result,c,s=>{s.walkAttributes(s=>{const i=s.operator;if(!i)return;const d=s.toString();o({source:d,target:i},o=>{const f=e.checkBeforeOperator?o.startIndex:o.endIndex-1;t=d,r=f,a=c,l=s,u=i,e.locationChecker({source:t,index:r,err(t){e.fix&&e.fix(l)?p=!0:n({message:t.replace(e.checkBeforeOperator?u[0]:u[u.length-1],u),node:a,index:l.sourceIndex+r,result:e.result,ruleName:e.checkedRuleName})}})})})});p&&(c.raws.selector?c.raws.selector.raw=f:c.selector=f)})})},{"../utils/isStandardSyntaxRule":417,"../utils/parseSelector":430,"../utils/report":435,"style-search":121}],330:[(e,t,r)=>{const s=e("../utils/isStandardSyntaxCombinator"),i=e("../utils/isStandardSyntaxRule"),n=e("../utils/parseSelector"),o=e("../utils/report");t.exports=(e=>{let t;var r,a,l,u,c;e.root.walkRules(p=>{if(!i(p))return;t=!1;const d=p.raws.selector?p.raws.selector.raw:p.selector,f=n(d,e.result,p,i=>{i.walkCombinators(i=>{if(!s(i))return;if(/\s/.test(i.value))return;if("before"===e.locationType&&!i.prev())return;const n=i.parent&&i.parent.parent;if(n&&"pseudo"===n.type)return;const f=i.sourceIndex,h=i.value.length>1&&"before"===e.locationType?f:f+i.value.length-1;r=d,a=i,l=h,u=p,c=f,e.locationChecker({source:r,index:l,errTarget:a.value,err(r){e.fix&&e.fix(a)?t=!0:o({message:r,node:u,index:c,result:e.result,ruleName:e.checkedRuleName})}})})});t&&(p.raws.selector?p.raws.selector.raw=f:p.selector=f)})})},{"../utils/isStandardSyntaxCombinator":410,"../utils/isStandardSyntaxRule":417,"../utils/parseSelector":430,"../utils/report":435}],331:[(e,t,r)=>{const s=e("../utils/isStandardSyntaxRule"),i=e("../utils/report"),n=e("style-search");t.exports=(e=>{var t,r,o;e.root.walkRules(a=>{if(!s(a))return;const l=a.raws.selector?a.raws.selector.raw:a.selector;n({source:l,target:",",functionArguments:"skip"},s=>{t=l,r=s.startIndex,o=a,e.locationChecker({source:t,index:r,err(t){e.fix&&e.fix(o,r)||i({message:t,node:o,index:r,result:e.result,ruleName:e.checkedRuleName})}})})})})},{"../utils/isStandardSyntaxRule":417,"../utils/report":435,"style-search":121}],332:[(e,t,r)=>{const s=e("../../utils/isStandardSyntaxDeclaration"),i=e("../../utils/isStandardSyntaxProperty"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),l=e("postcss-value-parser"),u=e("../../utils/vendor"),c="shorthand-property-no-redundant-values",p=o(c,{rejected:(e,t)=>`Unexpected longhand value '${e}' instead of '${t}'`}),d=new Set(["margin","padding","border-color","border-radius","border-style","border-width","grid-gap"]),f=["+","*","/","(",")","$","@","--","var("];function h(e,t,r){return(t,m)=>{a(m,c,{actual:e})&&t.walkDecls(e=>{if(!s(e)||!i(e.prop))return;const t=e.prop,a=e.value,g=u.unprefixed(t.toLowerCase());if(h=a,f.some(e=>h.includes(e))||(o=g,!d.has(o)))return;const y=[];if(l(a).walk(e=>{"word"===e.type&&y.push(l.stringify(e))}),y.length<=1||y.length>4)return;const w=((e,t,r,s)=>{const i=e.toLowerCase(),n=t.toLowerCase();return((e,t,r,s)=>e===t&&!0)(i,n)?[e]:(a=n,void 0,(o=i)===void 0&&void 0===a||void 0===o&&o!==a?[e,t]:void 0===n?[e,t,r]:[e,t,r,void 0]);var o,a})(...y).filter(Boolean).join(" "),b=y.join(" ");w.toLowerCase()!==b.toLowerCase()&&(r.fix?e.value=e.value.replace(a,w):n({message:p.rejected(a,w),node:e,result:m,ruleName:c}))})};var o,h}h.ruleName=c,h.messages=p,t.exports=h},{"../../utils/isStandardSyntaxDeclaration":412,"../../utils/isStandardSyntaxProperty":416,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/vendor":444,"postcss-value-parser":83}],333:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/isStandardSyntaxSelector"),o=e("../../utils/parseSelector"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),c=e("postcss-value-parser"),p="string-no-newline",d=/\r?\n/,f=l(p,{rejected:"Unexpected newline in string"});function h(e){return(r,l)=>{function h(e,t,r){d.test(t)&&c(t).walk(t=>{if("string"!==t.type)return;const s=d.exec(t.value);if(!s)return;const i=[t.quote,s.input.slice(0,s.index)].reduce((e,t)=>e+t.length,t.sourceIndex);a({message:f.rejected,node:e,index:r(e)+i,result:l,ruleName:p})})}u(l,p,{actual:e})&&r.walk(e=>{switch(e.type){case"atrule":h(e,e.params,s);break;case"decl":h(e,e.value,i);break;case"rule":t=e,d.test(t.selector)&&n(t.selector)&&o(t.selector,l,t,e=>{e.walkAttributes(e=>{const r=d.exec(e.value);if(!r)return;const s=[e.attribute,e.operator,r.input.slice(0,r.index)].reduce((e,t)=>e+t.length,e.sourceIndex+1);a({message:f.rejected,node:t,index:s,result:l,ruleName:p})})})}})};var t}h.ruleName=p,h.messages=f,t.exports=h},{"../../utils/atRuleParamIndex":352,"../../utils/declarationValueIndex":359,"../../utils/isStandardSyntaxSelector":418,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"postcss-value-parser":83}],334:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/isStandardSyntaxRule"),o=e("../../utils/parseSelector"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),c=e("postcss-value-parser"),{isBoolean:p}=e("../../utils/validateTypes"),d="string-quotes",f=l(d,{expected:e=>`Expected ${e} quotes`}),h="'",m='"';function g(e,t,r){const l="single"===e?h:m,g="single"===e?m:h;return(h,m)=>{if(!u(m,d,{actual:e,possible:["single","double"]},{actual:t,possible:{avoidEscape:p},optional:!0}))return;const w=!t||void 0===t.avoidEscape||t.avoidEscape;function b(t,s,i){const n=[];if(s.includes(g)&&("atrule"!==t.type||"charset"!==t.name)){c(s).walk(s=>{if("string"===s.type&&s.quote===g){const o=s.value.includes(l);if(w&&o)return;const u=s.sourceIndex;if(r.fix&&!o){const e=u+s.value.length+g.length;n.push(u,e)}else a({message:f.expected(e),node:t,index:i(t)+u,result:m,ruleName:d})}});for(const e of n)"atrule"===t.type?t.params=y(t.params,e,l):t.value=y(t.value,e,l)}}h.walk(t=>{switch(t.type){case"atrule":b(t,t.params,s);break;case"decl":b(t,t.value,i);break;case"rule":(t=>{if(!n(t))return;if(!t.selector.includes("[")||!t.selector.includes("="))return;const s=[];o(t.selector,m,t,s=>{let i=!1;s.walkAttributes(s=>{if(s.quoted){if(s.quoteMark===l&&w){const n=s.value.includes(l);if(s.value.includes(g))return;n&&(r.fix?(i=!0,s.quoteMark=g):a({message:f.expected("single"===e?"double":e),node:t,index:s.sourceIndex+s.offsetOf("value"),result:m,ruleName:d}))}if(s.quoteMark===g){if(w){const n=s.value.includes(l);if(s.value.includes(g))return void(r.fix?(i=!0,s.quoteMark=l):a({message:f.expected(e),node:t,index:s.sourceIndex+s.offsetOf("value"),result:m,ruleName:d}));if(n)return}r.fix?(i=!0,s.quoteMark=l):a({message:f.expected(e),node:t,index:s.sourceIndex+s.offsetOf("value"),result:m,ruleName:d})}}}),i&&(t.selector=s.toString())});for(const e of s)t.selector=y(t.selector,e,l)})(t)}})}}function y(e,t,r){return e.substring(0,t)+r+e.substring(t+r.length)}g.ruleName=d,g.messages=f,t.exports=g},{"../../utils/atRuleParamIndex":352,"../../utils/declarationValueIndex":359,"../../utils/isStandardSyntaxRule":417,"../../utils/parseSelector":430,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"postcss-value-parser":83}],335:[(e,t,r)=>{const s=e("../../utils/declarationValueIndex"),i=e("../../reference/keywordSets"),n=e("../../utils/optionsMatches"),o=e("postcss"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),c=e("postcss-value-parser"),p=e("../../utils/vendor"),{isNumber:d}=e("../../utils/validateTypes"),f="time-min-milliseconds",h=l(f,{expected:e=>`Expected a minimum of ${e} milliseconds`}),m=new Set(["animation-delay","transition-delay"]);function g(e,t){return(r,l)=>{function g(e){for(const t of e)if(c.unit(t))return t}function y(t){const r=c.unit(t);return!r||r.number<=0||!("ms"===r.unit.toLowerCase()&&r.number{const r=p.unprefixed(e.prop.toLowerCase());if(!i.longhandTimeProperties.has(r)||(e=>!(!n(t,"ignore","delay")||!m.has(e)))(r)||y(e.value)||w(e),i.shorthandTimeProperties.has(r)){const r=o.list.comma(e.value);for(const s of r){const r=o.list.space(s);if(n(t,"ignore","delay")){const t=g(r);t&&!y(t)&&w(e,e.value.indexOf(t))}else for(const t of r)y(t)||w(e,e.value.indexOf(t))}}})}}g.ruleName=f,g.messages=h,t.exports=g},{"../../reference/keywordSets":142,"../../utils/declarationValueIndex":359,"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"../../utils/vendor":444,postcss:103,"postcss-value-parser":83}],336:[(e,t,r)=>{const s=e("../../utils/report"),i=e("../../utils/ruleMessages"),n=e("../../utils/validateOptions"),o="unicode-bom",a=i(o,{expected:"Expected Unicode BOM",rejected:"Unexpected Unicode BOM"});function l(e){return(t,r)=>{if(!n(r,o,{actual:e,possible:["always","never"]})||t.source.inline||"object-literal"===t.source.lang||void 0!==t.document)return;const{hasBOM:i}=t.source.input;"always"!==e||i||s({result:r,ruleName:o,message:a.expected,root:t,line:1}),"never"===e&&i&&s({result:r,ruleName:o,message:a.rejected,root:t,line:1})}}l.ruleName=o,l.messages=a,t.exports=l},{"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442}],337:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getUnitFromValueNode"),o=e("../../utils/optionsMatches"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateObjectWithArrayProps"),c=e("../../utils/validateOptions"),p=e("postcss-value-parser"),{isRegExp:d,isString:f}=e("../../utils/validateTypes"),h="unit-allowed-list",m=l(h,{rejected:e=>`Unexpected unit "${e}"`});function g(e,t){const r=[e].flat();return(e,l)=>{function g(e,s,i){s=s.replace(/\*/g,","),p(s).walk(s=>{if("function"===s.type&&"url"===s.value.toLowerCase())return!1;const u=n(s);!u||u&&r.includes(u.toLowerCase())||t&&o(t.ignoreProperties,u.toLowerCase(),e.prop)||a({index:i(e)+s.sourceIndex,message:m.rejected(u),node:e,result:l,ruleName:h})})}c(l,h,{actual:r,possible:[f]},{optional:!0,actual:t,possible:{ignoreProperties:u([f,d])}})&&(e.walkAtRules(/^media$/i,e=>g(e,e.params,s)),e.walkDecls(e=>g(e,e.value,i)))}}g.primaryOptionArray=!0,g.ruleName=h,g.messages=m,t.exports=g},{"../../utils/atRuleParamIndex":352,"../../utils/declarationValueIndex":359,"../../utils/getUnitFromValueNode":374,"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateObjectWithArrayProps":441,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"postcss-value-parser":83}],338:[(e,r,s)=>{const i=e("../../utils/atRuleParamIndex"),n=e("../../utils/declarationValueIndex"),o=e("../../utils/getUnitFromValueNode"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),c=e("postcss-value-parser"),p="unit-case",d=l(p,{expected:(e,t)=>`Expected "${e}" to be "${t}"`});function f(e,r,s){return(r,l)=>{function f(r,i,n){const u=[];function f(t){const s=o(t);if(!s)return!1;const i="lower"===e?s.toLowerCase():s.toUpperCase();return s!==i&&(u.push({index:n(r)+t.sourceIndex,message:d.expected(s,i)}),!0)}const h=c(i).walk(r=>{let i=!1;const n=r.value;if("function"===r.type&&"url"===n.toLowerCase())return!1;n.includes("*")&&n.split("*").some(e=>f(t({},r,{sourceIndex:n.indexOf(e)+e.length+1,value:e}))),(i=f(r))&&s.fix&&(r.value="lower"===e?n.toLowerCase():n.toUpperCase())});if(u.length)if(s.fix)"media"===r.name?r.params=h.toString():r.value=h.toString();else for(const e of u)a({index:e.index,message:e.message,node:r,result:l,ruleName:p})}u(l,p,{actual:e,possible:["lower","upper"]})&&(r.walkAtRules(e=>{(/^media$/i.test(e.name)||e.variable)&&f(e,e.params,i)}),r.walkDecls(e=>f(e,e.value,n)))}}f.ruleName=p,f.messages=d,r.exports=f},{"../../utils/atRuleParamIndex":352,"../../utils/declarationValueIndex":359,"../../utils/getUnitFromValueNode":374,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"postcss-value-parser":83}],339:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getUnitFromValueNode"),o=e("postcss-media-query-parser").default,a=e("../../utils/optionsMatches"),l=e("../../utils/report"),u=e("../../utils/ruleMessages"),c=e("../../utils/validateObjectWithArrayProps"),p=e("../../utils/validateOptions"),d=e("postcss-value-parser"),{isRegExp:f,isString:h}=e("../../utils/validateTypes"),m="unit-disallowed-list",g=u(m,{rejected:e=>`Unexpected unit "${e}"`}),y=e=>{const t=e.value.toLowerCase();return/((?:-?\w*)*)/.exec(t)[1]};function w(e,t){const r=[e].flat();return(e,S)=>{function O(e,t,s,i,o){const u=n(s);!u||u&&!r.includes(u.toLowerCase())||a(o,u.toLowerCase(),i)||l({index:t+s.sourceIndex,message:g.rejected(u),node:e,result:S,ruleName:m})}p(S,m,{actual:r,possible:[h]},{optional:!0,actual:t,possible:{ignoreProperties:c([h,f]),ignoreMediaFeatureNames:c([h,f])}})&&(e.walkAtRules(/^media$/i,e=>(x=e,v=e.params,k=s,void o(x.params).walk(/^media-feature$/i,e=>{const r=y(e),s=e.parent.value;d(v).walk(e=>{"word"===e.type&&s.includes(e.value)&&O(x,k(x),e,r,t?t.ignoreMediaFeatureNames:{})})}))),e.walkDecls(e=>(u=e,w=e.value,b=i,w=w.replace(/\*/g,","),void d(w).walk(e=>{if("function"===e.type&&"url"===e.value.toLowerCase())return!1;O(u,b(u),e,u.prop,t?t.ignoreProperties:{})}))))};var u,w,b,x,v,k}w.primaryOptionArray=!0,w.ruleName=m,w.messages=g,t.exports=w},{"../../utils/atRuleParamIndex":352,"../../utils/declarationValueIndex":359,"../../utils/getUnitFromValueNode":374,"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateObjectWithArrayProps":441,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"postcss-media-query-parser":46,"postcss-value-parser":83}],340:[(e,t,r)=>{const s=e("../../utils/atRuleParamIndex"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getUnitFromValueNode"),o=e("../../utils/isStandardSyntaxAtRule"),a=e("../../utils/isStandardSyntaxDeclaration"),l=e("../../reference/keywordSets"),u=e("postcss-media-query-parser").default,c=e("../../utils/optionsMatches"),p=e("../../utils/report"),d=e("../../utils/ruleMessages"),f=e("../../utils/validateOptions"),h=e("postcss-value-parser"),m=e("../../utils/vendor"),{isRegExp:g,isString:y}=e("../../utils/validateTypes"),w="unit-no-unknown",b=d(w,{rejected:e=>`Unexpected unknown unit "${e}"`});function x(e,t){return(r,d)=>{function x(e,r,s){r=r.replace(/\*/g,",");const i=h(r);i.walk(o=>{if("function"===o.type&&("url"===o.value.toLowerCase()||c(t,"ignoreFunctions",o.value)))return!1;const a=n(o);if(a&&!(c(t,"ignoreUnits",a)||l.units.has(a.toLowerCase())&&"x"!==a.toLowerCase())){if("x"===a.toLowerCase()){if("atrule"===e.type&&"media"===e.name&&e.params.toLowerCase().includes("resolution")){let t=!1;if(u(e.params).walk((e,r,s)=>{const i=s[s.length-1];if(e.value.toLowerCase().includes("resolution")&&i.sourceIndex===o.sourceIndex)return t=!0,!1}),t)return}if("decl"===e.type){if("image-resolution"===e.prop.toLowerCase())return;if(/^(?:-webkit-)?image-set[\s(]/i.test(r)){const e=i.nodes.find(e=>"image-set"===m.unprefixed(e.value));if(e.nodes[e.nodes.length-1].sourceIndex>=o.sourceIndex)return}}}p({index:s(e)+o.sourceIndex,message:b.rejected(a),node:e,result:d,ruleName:w})}})}f(d,w,{actual:e},{actual:t,possible:{ignoreUnits:[y,g],ignoreFunctions:[y,g]},optional:!0})&&(r.walkAtRules(/^media$/i,e=>{o(e)&&x(e,e.params,s)}),r.walkDecls(e=>{a(e)&&x(e,e.value,i)}))}}x.ruleName=w,x.messages=b,t.exports=x},{"../../reference/keywordSets":142,"../../utils/atRuleParamIndex":352,"../../utils/declarationValueIndex":359,"../../utils/getUnitFromValueNode":374,"../../utils/isStandardSyntaxAtRule":408,"../../utils/isStandardSyntaxDeclaration":412,"../../utils/optionsMatches":429,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"../../utils/vendor":444,"postcss-media-query-parser":46,"postcss-value-parser":83}],341:[(e,t,r)=>{const s=e("../../utils/declarationValueIndex"),i=e("../../utils/getDeclarationValue"),n=e("../../utils/getUnitFromValueNode"),o=e("../../utils/isCounterIncrementCustomIdentValue"),a=e("../../utils/isCounterResetCustomIdentValue"),l=e("../../utils/isStandardSyntaxValue"),u=e("../../reference/keywordSets"),c=e("../../utils/matchesStringOrRegExp"),p=e("../../utils/report"),d=e("../../utils/ruleMessages"),f=e("../../utils/validateOptions"),h=e("postcss-value-parser"),{isRegExp:m,isString:g}=e("../../utils/validateTypes"),y="value-keyword-case",w=d(y,{expected:(e,t)=>`Expected "${e}" to be "${t}"`}),b=new Set(["+","-","/","*","%"]),x=new Set(["grid-row","grid-row-start","grid-row-end"]),v=new Set(["grid-column","grid-column-start","grid-column-end"]),k=new Map;for(const e of u.camelCaseKeywords)k.set(e.toLowerCase(),e);function S(e,t,r){return(d,S)=>{f(S,y,{actual:e,possible:["lower","upper"]},{actual:t,possible:{ignoreProperties:[g,m],ignoreKeywords:[g,m],ignoreFunctions:[g,m]},optional:!0})&&d.walkDecls(d=>{const f=d.prop,m=d.prop.toLowerCase(),g=d.value,O=h(i(d));let C=!1;O.walk(i=>{const h=i.value.toLowerCase();if(u.systemColors.has(h))return;if("function"===i.type&&("url"===h||"var"===h||"counter"===h||"counters"===h||"attr"===h))return!1;const O=t&&t.ignoreFunctions||[];if("function"===i.type&&O.length>0&&c(h,O))return!1;const A=i.value;if("word"!==i.type||!l(i.value)||g.includes("#")||b.has(A)||n(i))return;if("animation"===m&&!u.animationShorthandKeywords.has(h)&&!u.animationNameKeywords.has(h))return;if("animation-name"===m&&!u.animationNameKeywords.has(h))return;if("font"===m&&!u.fontShorthandKeywords.has(h)&&!u.fontFamilyKeywords.has(h))return;if("font-family"===m&&!u.fontFamilyKeywords.has(h))return;if("counter-increment"===m&&o(h))return;if("counter-reset"===m&&a(h))return;if(x.has(m)&&!u.gridRowKeywords.has(h))return;if(v.has(m)&&!u.gridColumnKeywords.has(h))return;if("grid-area"===m&&!u.gridAreaKeywords.has(h))return;if("list-style"===m&&!u.listStyleShorthandKeywords.has(h)&&!u.listStyleTypeKeywords.has(h))return;if("list-style-type"===m&&!u.listStyleTypeKeywords.has(h))return;const E=t&&t.ignoreKeywords||[],M=t&&t.ignoreProperties||[];if(E.length>0&&c(A,E))return;if(M.length>0&&c(f,M))return;const R=A.toLocaleLowerCase();let N=null;return A!==(N="lower"===e&&k.has(R)?k.get(R):"lower"===e?A.toLowerCase():A.toUpperCase())?r.fix?(C=!0,void(i.value=N)):void p({message:w.expected(A,N),node:d,index:s(d)+i.sourceIndex,result:S,ruleName:y}):void 0}),r.fix&&C&&(d.value=O.toString())})}}S.ruleName=y,S.messages=w,t.exports=S},{"../../reference/keywordSets":142,"../../utils/declarationValueIndex":359,"../../utils/getDeclarationValue":366,"../../utils/getUnitFromValueNode":374,"../../utils/isCounterIncrementCustomIdentValue":389,"../../utils/isCounterResetCustomIdentValue":390,"../../utils/isStandardSyntaxValue":421,"../../utils/matchesStringOrRegExp":426,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/validateTypes":443,"postcss-value-parser":83}],342:[(e,t,r)=>{const s=e("../../utils/declarationValueIndex"),i=e("../../utils/getDeclarationValue"),n=e("../../utils/ruleMessages"),o=e("../../utils/setDeclarationValue"),a=e("../../utils/validateOptions"),l=e("../valueListCommaWhitespaceChecker"),u=e("../../utils/whitespaceChecker"),c="value-list-comma-newline-after",p=n(c,{expectedAfter:()=>'Expected newline after ","',expectedAfterMultiLine:()=>'Expected newline after "," in a multi-line list',rejectedAfterMultiLine:()=>'Unexpected whitespace after "," in a multi-line list'});function d(e,t,r){const n=u("newline",e,p);return(t,u)=>{if(!a(u,c,{actual:e,possible:["always","always-multi-line","never-multi-line"]}))return;let p;if(l({root:t,result:u,locationChecker:n.afterOneOnly,checkedRuleName:c,fix:r.fix?(e,t)=>{if(t<=s(e))return!1;const r=(p=p||new Map).get(e)||[];return r.push(t),p.set(e,r),!0}:null,determineIndex(e,t){const r=e.substr(t.endIndex,e.length-t.endIndex);return!/^[ \t]*\/\//.test(r)&&(/^[ \t]*\/\*/.test(r)?e.indexOf("*/",t.endIndex)+1:t.startIndex)}}),p)for(const[t,n]of p.entries())for(const a of n.sort((e,t)=>e-t).reverse()){const n=i(t),l=a-s(t),u=n.slice(0,l+1);let c=n.slice(l+1);e.startsWith("always")?c=r.newline+c:e.startsWith("never-multi-line")&&(c=c.replace(/^\s*/,"")),o(t,u+c)}}}d.ruleName=c,d.messages=p,t.exports=d},{"../../utils/declarationValueIndex":359,"../../utils/getDeclarationValue":366,"../../utils/ruleMessages":436,"../../utils/setDeclarationValue":438,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../valueListCommaWhitespaceChecker":347}],343:[(e,t,r)=>{const s=e("../../utils/ruleMessages"),i=e("../../utils/validateOptions"),n=e("../valueListCommaWhitespaceChecker"),o=e("../../utils/whitespaceChecker"),a="value-list-comma-newline-before",l=s(a,{expectedBefore:()=>'Expected newline before ","',expectedBeforeMultiLine:()=>'Expected newline before "," in a multi-line list',rejectedBeforeMultiLine:()=>'Unexpected whitespace before "," in a multi-line list'});function u(e){const t=o("newline",e,l);return(r,s)=>{i(s,a,{actual:e,possible:["always","always-multi-line","never-multi-line"]})&&n({root:r,result:s,locationChecker:t.beforeAllowingIndentation,checkedRuleName:a})}}u.ruleName=a,u.messages=l,t.exports=u},{"../../utils/ruleMessages":436,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../valueListCommaWhitespaceChecker":347}],344:[(e,t,r)=>{const s=e("../../utils/declarationValueIndex"),i=e("../../utils/getDeclarationValue"),n=e("../../utils/ruleMessages"),o=e("../../utils/setDeclarationValue"),a=e("../../utils/validateOptions"),l=e("../valueListCommaWhitespaceChecker"),u=e("../../utils/whitespaceChecker"),c="value-list-comma-space-after",p=n(c,{expectedAfter:()=>'Expected single space after ","',rejectedAfter:()=>'Unexpected whitespace after ","',expectedAfterSingleLine:()=>'Expected single space after "," in a single-line list',rejectedAfterSingleLine:()=>'Unexpected whitespace after "," in a single-line list'});function d(e,t,r){const n=u("space",e,p);return(t,u)=>{if(!a(u,c,{actual:e,possible:["always","never","always-single-line","never-single-line"]}))return;let p;if(l({root:t,result:u,locationChecker:n.after,checkedRuleName:c,fix:r.fix?(e,t)=>{if(t<=s(e))return!1;const r=(p=p||new Map).get(e)||[];return r.push(t),p.set(e,r),!0}:null}),p)for(const[t,r]of p.entries())for(const n of r.sort((e,t)=>t-e)){const r=i(t),a=n-s(t),l=r.slice(0,a+1);let u=r.slice(a+1);e.startsWith("always")?u=u.replace(/^\s*/," "):e.startsWith("never")&&(u=u.replace(/^\s*/,"")),o(t,l+u)}}}d.ruleName=c,d.messages=p,t.exports=d},{"../../utils/declarationValueIndex":359,"../../utils/getDeclarationValue":366,"../../utils/ruleMessages":436,"../../utils/setDeclarationValue":438,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../valueListCommaWhitespaceChecker":347}],345:[(e,t,r)=>{const s=e("../../utils/declarationValueIndex"),i=e("../../utils/getDeclarationValue"),n=e("../../utils/ruleMessages"),o=e("../../utils/setDeclarationValue"),a=e("../../utils/validateOptions"),l=e("../valueListCommaWhitespaceChecker"),u=e("../../utils/whitespaceChecker"),c="value-list-comma-space-before",p=n(c,{expectedBefore:()=>'Expected single space before ","',rejectedBefore:()=>'Unexpected whitespace before ","',expectedBeforeSingleLine:()=>'Unexpected whitespace before "," in a single-line list',rejectedBeforeSingleLine:()=>'Unexpected whitespace before "," in a single-line list'});function d(e,t,r){const n=u("space",e,p);return(t,u)=>{if(!a(u,c,{actual:e,possible:["always","never","always-single-line","never-single-line"]}))return;let p;if(l({root:t,result:u,locationChecker:n.before,checkedRuleName:c,fix:r.fix?(e,t)=>{if(t<=s(e))return!1;const r=(p=p||new Map).get(e)||[];return r.push(t),p.set(e,r),!0}:null}),p)for(const[t,r]of p.entries())for(const n of r.sort((e,t)=>t-e)){const r=i(t),a=n-s(t);let l=r.slice(0,a);const u=r.slice(a);e.startsWith("always")?l=l.replace(/\s*$/," "):e.startsWith("never")&&(l=l.replace(/\s*$/,"")),o(t,l+u)}}}d.ruleName=c,d.messages=p,t.exports=d},{"../../utils/declarationValueIndex":359,"../../utils/getDeclarationValue":366,"../../utils/ruleMessages":436,"../../utils/setDeclarationValue":438,"../../utils/validateOptions":442,"../../utils/whitespaceChecker":445,"../valueListCommaWhitespaceChecker":347}],346:[(e,t,r)=>{const s=e("../../utils/getDeclarationValue"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/setDeclarationValue"),a=e("../../utils/validateOptions"),{isNumber:l}=e("../../utils/validateTypes"),u="value-list-max-empty-lines",c=n(u,{expected:e=>`Expected no more than ${e} empty ${1===e?"line":"lines"}`});function p(e,t,r){const n=e+1;return(t,p)=>{if(!a(p,u,{actual:e,possible:l}))return;const d=new RegExp(`(?:\r\n){${n+1},}`),f=new RegExp(`\n{${n+1},}`),h=r.fix?"\n".repeat(n):"",m=r.fix?"\r\n".repeat(n):"";t.walkDecls(t=>{const n=s(t);if(r.fix){const e=n.replace(new RegExp(f,"gm"),h).replace(new RegExp(d,"gm"),m);o(t,e)}else(f.test(n)||d.test(n))&&i({message:c.expected(e),node:t,index:0,result:p,ruleName:u})})}}p.ruleName=u,p.messages=c,t.exports=p},{"../../utils/getDeclarationValue":366,"../../utils/report":435,"../../utils/ruleMessages":436,"../../utils/setDeclarationValue":438,"../../utils/validateOptions":442,"../../utils/validateTypes":443}],347:[(e,t,r)=>{const s=e("../utils/isStandardSyntaxDeclaration"),i=e("../utils/isStandardSyntaxProperty"),n=e("../utils/report"),o=e("style-search");t.exports=(e=>{var t,r,a;e.root.walkDecls(l=>{if(!s(l)||!i(l.prop))return;const u=l.toString();o({source:u,target:",",functionArguments:"skip"},s=>{const i=e.determineIndex?e.determineIndex(u,s):s.startIndex;!1!==i&&(t=u,r=i,a=l,e.locationChecker({source:t,index:r,err(t){e.fix&&e.fix(a,r)||n({message:t,node:a,index:r,result:e.result,ruleName:e.checkedRuleName})}}))})})})},{"../utils/isStandardSyntaxDeclaration":412,"../utils/isStandardSyntaxProperty":416,"../utils/report":435,"style-search":121}],348:[function(e,t,r){(function(r){(()=>{const s=e("./createStylelint"),i=e("./createStylelintResult"),n=e("./formatters"),o=(e("./utils/getFileIgnorer"),e("./utils/getFormatterOptionsText")),a=e("./prepareReturnValue");t.exports=(async({allowEmptyInput:e=!1,cache:t=!1,cacheLocation:l,code:u,codeFilename:c,config:p,configBasedir:d,configFile:f,customSyntax:h,cwd:m=r.cwd(),disableDefaultIgnores:g,files:y,fix:w,formatter:b,globbyOptions:x,ignoreDisables:v,ignorePath:k,ignorePattern:S,maxWarnings:O,quiet:C,reportDescriptionlessDisables:A,reportInvalidScopeDisables:E,reportNeedlessDisables:M,syntax:R})=>{Date.now();const N="string"==typeof u;if(!y&&!N||y&&(u||N))return Promise.reject(new Error("You must pass stylelint a `files` glob or a `code` string, though not both"));let I;try{I=(e=>{let t;if("string"==typeof e){if(void 0===(t=n[e]))throw new Error(`You must use a valid formatter option: ${o()} or a function`)}else t="function"==typeof e?e:n.json;return t})(b)}catch(e){return Promise.reject(e)}const P=s({config:p,configFile:f,configBasedir:d,cwd:m,ignoreDisables:v,ignorePath:k,reportNeedlessDisables:M,reportInvalidScopeDisables:E,reportDescriptionlessDisables:A,syntax:R,customSyntax:h,fix:w,quiet:C});if(!y){const e=c;let t;try{const r=await P._lintSource({code:u,codeFilename:e});t=await P._createStylelintResult(r,e)}catch(e){t=await((e,t,r)=>{if("CssSyntaxError"===t.name)return i(e,void 0,void 0,t);throw t})(P,e)}const r=t._postcssResult,s=a([t],O,I,m);return w&&r&&!r.stylelint.ignored&&!r.stylelint.ruleDisableFix&&(s.output=!r.stylelint.disableWritingFix&&r.opts?r.root.toString(r.opts.syntax):u),s}})}).call(this)}).call(this,e("_process"))},{"./createStylelint":125,"./createStylelintResult":126,"./formatters":129,"./prepareReturnValue":141,"./utils/getFileIgnorer":367,"./utils/getFormatterOptionsText":368,_process:115}],349:[(e,t,r)=>{t.exports=((e,t)=>{const{raws:r}=e;if("string"!=typeof r.after)return e;const s=r.after.split(";"),i=s[s.length-1]||"";return/\r?\n/.test(i)?r.after=r.after.replace(/(\r?\n)/,`${t}$1`):r.after+=t.repeat(2),e})},{}],350:[(e,t,r)=>{t.exports=((e,t)=>{const{raws:r}=e;return"string"!=typeof r.before?e:(r.before=/\r?\n/.test(r.before)?r.before.replace(/(\r?\n)/,`${t}$1`):t.repeat(2)+r.before,e)})},{}],351:[(e,t,r)=>{t.exports=((e,t)=>!(!Array.isArray(e)||!Array.isArray(t))&&e.length===t.length&&e.every((e,r)=>e===t[r]))},{}],352:[(e,t,r)=>{t.exports=(e=>{let t=1+e.name.length;return e.raws.afterName&&(t+=e.raws.afterName.length),t})},{}],353:[(e,t,r)=>{const{isAtRule:s,isRule:i}=e("./typeGuards");t.exports=((e,{noRawBefore:t}={noRawBefore:!1})=>{let r="";const n=e.raws.before||"";if(t||(r+=n),i(e))r+=e.selector;else{if(!s(e))return"";r+=`@${e.name}${e.raws.afterName||""}${e.params}`}return r+(e.raws.between||"")})},{"./typeGuards":440}],354:[(e,t,r)=>{const s=e("./beforeBlockString"),i=e("./hasBlock"),n=e("./rawNodeString");t.exports=(e=>i(e)?n(e).slice(s(e).length):"")},{"./beforeBlockString":353,"./hasBlock":375,"./rawNodeString":432}],355:[(e,t,r)=>{t.exports=((e,t=" ")=>e.replace(/[#@{}]+/g,t))},{}],356:[(e,t,r)=>{const s=e("../normalizeRuleSettings"),i=e("postcss/lib/result"),n=e("../rules");t.exports=((e,t)=>{if(!e)throw new Error("checkAgainstRule requires an options object with 'ruleName', 'ruleSettings', and 'root' properties");if(!t)throw new Error("checkAgainstRule requires a callback");if(!e.ruleName)throw new Error("checkAgainstRule requires a 'ruleName' option");if(!Object.keys(n).includes(e.ruleName))throw new Error(`Rule '${e.ruleName}' does not exist`);if(!e.ruleSettings)throw new Error("checkAgainstRule requires a 'ruleSettings' option");if(!e.root)throw new Error("checkAgainstRule requires a 'root' option");const r=s(e.ruleSettings,e.ruleName);if(!r)return;const o=new i;n[e.ruleName](r[0],r[1],{})(e.root,o);for(const e of o.warnings())t(e)})},{"../normalizeRuleSettings":139,"../rules":237,"postcss/lib/result":106}],357:[(e,t,r)=>{t.exports=(e=>{const t=new Error(e);return t.code=78,t})},{}],358:[(e,t,r)=>{const{isString:s}=e("./validateTypes");function i(e,t){return!!t&&!!s(t)&&(!t.startsWith("/")||!t.endsWith("/"))&&!!e.includes(t)&&{match:e,pattern:t}}t.exports=((e,t)=>{if(!Array.isArray(t))return i(e,t);for(const r of t){const t=i(e,r);if(t)return t}return!1})},{"./validateTypes":443}],359:[(e,t,r)=>{t.exports=(e=>{const t=e.raws;return[t.prop&&t.prop.prefix,t.prop&&t.prop.raw||e.prop,t.prop&&t.prop.suffix,t.between||":",t.value&&t.value.prefix].reduce((e,t)=>t?e+t.length:e,0)})},{}],360:[(e,t,r)=>{const{isRoot:s,isAtRule:i,isRule:n}=e("./typeGuards");t.exports=((e,t)=>{!function e(r){var o;if((n(o=r)||i(o)||s(o))&&r.nodes&&r.nodes.length){const s=[];for(const t of r.nodes)"decl"===t.type&&s.push(t),e(t);s.length&&t(s.forEach.bind(s))}}(e)})},{"./typeGuards":440}],361:[(e,t,r)=>{const s=e("./getUnitFromValueNode"),i=e("./isStandardSyntaxValue"),n=e("./isVariable"),o=e("../reference/keywordSets"),a=e("postcss-value-parser");t.exports=(e=>{const t=[],r=a(e);return 1===r.nodes.length&&o.basicKeywords.has(r.nodes[0].value.toLowerCase())?[r.nodes[0]]:(r.walk(e=>{if("function"===e.type)return!1;if("word"!==e.type)return;const r=e.value.toLowerCase();if(!i(r))return;if(n(r))return;if(o.animationShorthandKeywords.has(r))return;const a=s(e);a||""===a||t.push(e)}),t)})},{"../reference/keywordSets":142,"./getUnitFromValueNode":374,"./isStandardSyntaxValue":421,"./isVariable":424,"postcss-value-parser":83}],362:[(e,t,r)=>{const{isAtRule:s,isRule:i}=e("./typeGuards");t.exports=function e(t){const r=t.parent;return r?s(r)?r:i(r)?e(r):null:null}},{"./typeGuards":440}],363:[(e,t,r)=>{const s=e("./isNumbery"),i=e("./isStandardSyntaxValue"),n=e("./isValidFontSize"),o=e("./isVariable"),a=e("../reference/keywordSets"),l=e("postcss-value-parser"),u=new Set(["word","string","space","div"]);t.exports=(e=>{const t=[],r=l(e);if(1===r.nodes.length&&a.basicKeywords.has(r.nodes[0].value.toLowerCase()))return[r.nodes[0]];let c=!1,p=null;var d,f,h;return r.walk((e,r,l)=>{if("function"===e.type)return!1;if(!u.has(e.type))return;const m=e.value.toLowerCase();if(!i(m))return;if(o(m))return;if(a.fontShorthandKeywords.has(m)&&!a.fontFamilyKeywords.has(m))return;if(n(e.value))return;if(l[r-1]&&"/"===l[r-1].value&&l[r-2]&&n(l[r-2].value))return;if(s(m))return;if(("space"===e.type||"div"===e.type&&","!==e.value)&&0!==t.length)return c=!0,void(p=e.value);if("space"===e.type||"div"===e.type)return;const g=e;c?(d=t[t.length-1],f=e,h=p,d.value=d.value+h+f.value,c=!1,p=null):t.push(g)}),t})},{"../reference/keywordSets":142,"./isNumbery":401,"./isStandardSyntaxValue":421,"./isValidFontSize":422,"./isVariable":424,"postcss-value-parser":83}],364:[(e,t,r)=>{const s=e("balanced-match"),i=e("style-search");t.exports=((e,t,r)=>{i({source:e,target:t,functionNames:"check"},t=>{if("("!==e[t.endIndex])return;const i=s("(",")",e.substr(t.startIndex));if(!i)throw new Error(`No parens match: "${e}"`);r(i.body,t.endIndex+1)})})},{"balanced-match":447,"style-search":121}],365:[(e,t,r)=>{t.exports=(e=>{const t=e.raws;return t.params&&t.params.raw||e.params})},{}],366:[(e,t,r)=>{t.exports=(e=>{const t=e.raws;return t.value&&t.value.raw||e.value})},{}],367:[(e,t,r)=>{const s=e("fs"),i=e("path"),{default:n}=e("ignore"),o=e("./isPathNotFoundError");t.exports=(e=>{const t=e.ignorePath||".stylelintignore",r=i.isAbsolute(t)?t:i.resolve(e.cwd,t);let a="";try{a=s.readFileSync(r,"utf8")}catch(e){if(!o(e))throw e}return n().add(a).add(e.ignorePattern||[])})},{"./isPathNotFoundError":403,fs:5,ignore:30,path:44}],368:[(e,t,r)=>{const s=e("../formatters");t.exports=((e={})=>{let t=Object.keys(s).map(e=>`"${e}"`).join(", ");return e.useOr&&(t=t.replace(/, ([a-z"]+)$/u," or $1")),t})},{"../formatters":129}],369:[(e,t,r)=>{function s(e){return e&&e.source&&e.source.start&&e.source.start.line}t.exports=function e(t){if(void 0===t)return;const r=t.next();return!r||"comment"!==r.type||s(t)!==s(r)&&s(r)!==s(r.next())?r:e(r)}},{}],370:[(e,t,r)=>{const s=e("os");t.exports=(()=>s.EOL)},{os:43}],371:[(e,t,r)=>{function s(e){return e.source&&e.source.start&&e.source.start.line}t.exports=function e(t){if(void 0===t)return;const r=t.prev();if(!r||"comment"!==r.type)return r;if(s(t)===s(r))return e(r);const i=r.prev();return i&&s(r)===s(i)?e(r):r}},{}],372:[(e,t,r)=>{t.exports=(e=>{const t=e.raws;return t.selector&&t.selector.raw||e.selector})},{}],373:[(e,t,r)=>{const{URL:s}=e("url");t.exports=(e=>{let t=null;try{t=new s(e).protocol}catch(e){return null}if(null===t||void 0===t)return null;const r=t.slice(0,-1),i=t.length;return"//"!==e.slice(i,i+2)&&"data"!==r?null:r})},{url:450}],374:[(e,t,r)=>{const s=e("./blurInterpolation"),i=e("./isStandardSyntaxValue"),n=e("postcss-value-parser");t.exports=(e=>{if(!e||!e.value)return null;if("word"!==e.type)return null;if(!i(e.value))return null;if(e.value.startsWith("#"))return null;const t=s(e.value,"").replace("\\0","").replace("\\9",""),r=n.unit(t);return r?r.unit:null})},{"./blurInterpolation":355,"./isStandardSyntaxValue":421,"postcss-value-parser":83}],375:[(e,t,r)=>{t.exports=(e=>void 0!==e.nodes)},{}],376:[(e,t,r)=>{t.exports=(e=>void 0!==e.nodes&&0===e.nodes.length)},{}],377:[(e,t,r)=>{t.exports=(e=>""!==e&&void 0!==e&&/\n[\r\t ]*\n/.test(e))},{}],378:[(e,t,r)=>{const s=e("../utils/hasLessInterpolation"),i=e("../utils/hasPsvInterpolation"),n=e("../utils/hasScssInterpolation"),o=e("../utils/hasTplInterpolation");t.exports=(e=>!!(s(e)||n(e)||o(e)||i(e)))},{"../utils/hasLessInterpolation":379,"../utils/hasPsvInterpolation":380,"../utils/hasScssInterpolation":381,"../utils/hasTplInterpolation":382}],379:[(e,t,r)=>{t.exports=(e=>/@\{.+?\}/.test(e))},{}],380:[(e,t,r)=>{t.exports=(e=>/\$\(.+?\)/.test(e))},{}],381:[(e,t,r)=>{t.exports=(e=>/#\{.+?\}/.test(e))},{}],382:[(e,t,r)=>{t.exports=(e=>/\{.+?\}/.test(e))},{}],383:[(e,t,r)=>{const s=e("./isSharedLineComment");t.exports=(e=>{const t=e.prev();return!(!t||"comment"!==t.type||s(t))})},{"./isSharedLineComment":406}],384:[(e,t,r)=>{const s=e("./isSharedLineComment");t.exports=(e=>{const t=e.prev();return void 0!==t&&"comment"===t.type&&!s(t)&&t.source&&t.source.start&&t.source.end&&t.source.start.line===t.source.end.line})},{"./isSharedLineComment":406}],385:[(e,t,r)=>{const s=e("./getPreviousNonSharedLineCommentNode"),i=e("./isCustomProperty"),n=e("./isStandardSyntaxDeclaration"),{isDeclaration:o}=e("./typeGuards");t.exports=(e=>{const t=s(e);return void 0!==t&&o(t)&&n(t)&&!i(t.prop||"")})},{"./getPreviousNonSharedLineCommentNode":371,"./isCustomProperty":393,"./isStandardSyntaxDeclaration":412,"./typeGuards":440}],386:[(e,t,r)=>{const s=e("./getPreviousNonSharedLineCommentNode"),i=e("./hasBlock"),{isAtRule:n}=e("./typeGuards");t.exports=(e=>{if("atrule"!==e.type)return!1;const t=s(e);return void 0!==t&&n(t)&&!i(t)&&!i(e)})},{"./getPreviousNonSharedLineCommentNode":371,"./hasBlock":375,"./typeGuards":440}],387:[(e,t,r)=>{const s=e("./getPreviousNonSharedLineCommentNode"),i=e("./isBlocklessAtRuleAfterBlocklessAtRule"),{isAtRule:n}=e("./typeGuards");t.exports=(e=>{if(!i(e))return!1;const t=s(e);return!(!t||!n(t))&&t.name===e.name})},{"./getPreviousNonSharedLineCommentNode":371,"./isBlocklessAtRuleAfterBlocklessAtRule":386,"./typeGuards":440}],388:[(e,t,r)=>{const s=e("../reference/keywordSets");t.exports=(e=>{if("pseudo"===e.type){const t=e.value.toLowerCase().replace(/:+/,"");return s.logicalCombinationsPseudoClasses.has(t)||s.aNPlusBOfSNotationPseudoClasses.has(t)}return!1})},{"../reference/keywordSets":142}],389:[(e,t,r)=>{const s=e("../reference/keywordSets");t.exports=(e=>{const t=e.toLowerCase();return!s.counterIncrementKeywords.has(t)&&!Number.isFinite(Number.parseInt(t,10))})},{"../reference/keywordSets":142}],390:[(e,t,r)=>{const s=e("../reference/keywordSets");t.exports=(e=>{const t=e.toLowerCase();return!s.counterResetKeywords.has(t)&&!Number.isFinite(Number.parseInt(t,10))})},{"../reference/keywordSets":142}],391:[(e,t,r)=>{const s=e("html-tags"),i=e("../reference/keywordSets"),n=e("mathml-tag-names"),o=e("svg-tags");t.exports=(e=>{if(!/^[a-z]/.test(e))return!1;if(!e.includes("-"))return!1;const t=e.toLowerCase();return!(t!==e||o.includes(t)||s.includes(t)||i.nonStandardHtmlTags.has(t)||n.includes(t))})},{"../reference/keywordSets":142,"html-tags":28,"mathml-tag-names":40,"svg-tags":448}],392:[(e,t,r)=>{t.exports=(e=>e.startsWith("--"))},{}],393:[(e,t,r)=>{t.exports=(e=>e.startsWith("--"))},{}],394:[(e,t,r)=>{t.exports=(e=>e.startsWith(":--"))},{}],395:[(e,t,r)=>{const{isComment:s,hasSource:i}=e("./typeGuards");t.exports=(e=>{const t=e.parent;if(void 0===t||"root"===t.type)return!1;if(e===t.first)return!0;const r=t.nodes;if(!r)return!1;const n=r[0];if(!s(n)||"string"==typeof n.raws.before&&n.raws.before.includes("\n"))return!1;if(!i(n)||!n.source.start)return!1;const o=n.source.start.line;if(!n.source.end||o!==n.source.end.line)return!1;for(let t=1;t{const{isRoot:s}=e("./typeGuards");t.exports=(e=>{if(s(e))return!1;const t=e.parent;return!!t&&s(t)&&e===t.first})},{"./typeGuards":440}],397:[(e,t,r)=>{const{isAtRule:s}=e("./typeGuards");t.exports=(e=>{const t=e.parent;return!!t&&s(t)&&"keyframes"===t.name.toLowerCase()})},{"./typeGuards":440}],398:[(e,t,r)=>{const s=e("../reference/keywordSets");t.exports=(e=>!!s.keyframeSelectorKeywords.has(e)||!!/^(?:\d+|\d*\.\d+)%$/.test(e))},{"../reference/keywordSets":142}],399:[(e,t,r)=>{const s=e("../reference/mathFunctions");t.exports=(e=>"function"===e.type&&s.includes(e.value.toLowerCase()))},{"../reference/mathFunctions":143}],400:[(e,t,r)=>{t.exports=(e=>Number.isInteger(e)&&"number"==typeof e&&e>=0)},{}],401:[(e,t,r)=>{t.exports=(e=>0!==e.toString().trim().length&&Number(e)==e)},{}],402:[(e,t,r)=>{const s=e("./isWhitespace");t.exports=(e=>{let t=!0;for(const r of e)if(!s(r)){t=!1;break}return t})},{"./isWhitespace":425}],403:[(e,t,r)=>{const s=e("util");t.exports=(e=>s.types.isNativeError(e)&&"ENOENT"===e.code)},{util:455}],404:[(e,t,r)=>{t.exports=(e=>e.includes("=")||e.includes("<")||e.includes(">"))},{}],405:[(e,t,r)=>{t.exports=(e=>!!e.startsWith("$")||!!e.includes(".$"))},{}],406:[(e,t,r)=>{const s=e("./getNextNonSharedLineCommentNode"),i=e("./getPreviousNonSharedLineCommentNode"),{isRoot:n,isComment:o}=e("./typeGuards");function a(e,t){return(e&&e.source&&e.source.end&&e.source.end.line)===(t&&t.source&&t.source.start&&t.source.start.line)}t.exports=(e=>{if(!o(e))return!1;if(a(i(e),e))return!0;const t=s(e);if(t&&a(e,t))return!0;const r=e.parent;return void 0!==r&&!n(r)&&0===r.index(e)&&void 0!==e.raws.before&&!e.raws.before.includes("\n")})},{"./getNextNonSharedLineCommentNode":369,"./getPreviousNonSharedLineCommentNode":371,"./typeGuards":440}],407:[(e,t,r)=>{t.exports=(e=>!/[\n\r]/.test(e))},{}],408:[(e,t,r)=>{t.exports=(e=>!(!e.nodes&&""===e.params||"mixin"in e&&e.mixin||"variable"in e&&e.variable||!e.nodes&&""===e.raws.afterName&&"("===e.params[0]))},{}],409:[(e,t,r)=>{const s=e("./isStandardSyntaxFunction");t.exports=function e(t){if(!s(t))return!1;for(const r of t.nodes){if("function"===r.type)return e(r);if("word"===r.type&&(r.value.startsWith("#")||r.value.startsWith("$")))return!1}return!0}},{"./isStandardSyntaxFunction":413}],410:[(e,t,r)=>{t.exports=(e=>{if("combinator"!==e.type)return!1;if(e.value.startsWith("/")||e.value.endsWith("/"))return!1;if(void 0!==e.parent&&null!==e.parent){const t=e.parent;if(e===t.first)return!1;if(e===t.last)return!1}return!0})},{}],411:[(e,t,r)=>{t.exports=(e=>!("inline"in e||"inline"in e.raws))},{}],412:[(e,t,r)=>{const s=e("./isScssVariable"),{isRoot:i,isRule:n}=e("./typeGuards");t.exports=(e=>{const t=e.prop,r=e.parent;return!(r&&i(r)&&r.source&&(o=r.source.lang,!o||"css"!==o&&"custom-template"!==o&&"template-literal"!==o)||s(t)||"@"===t[0]&&"{"!==t[1]||r&&"atrule"===r.type&&":"===r.raws.afterName||r&&n(r)&&r.selector&&r.selector.startsWith("#")&&r.selector.endsWith("()")||r&&n(r)&&r.selector&&":"===r.selector[r.selector.length-1]&&"--"!==r.selector.substring(0,2)||"extend"in e&&e.extend);var o})},{"./isScssVariable":405,"./typeGuards":440}],413:[(e,t,r)=>{t.exports=(e=>!!e.value)},{}],414:[(e,t,r)=>{t.exports=(e=>!e.includes("["))},{}],415:[(e,t,r)=>{t.exports=(e=>!/#\{.+?\}|\$.+/.test(e))},{}],416:[(e,t,r)=>{const s=e("../utils/hasInterpolation"),i=e("./isScssVariable");t.exports=(e=>!(i(e)||e.startsWith("@")||e.endsWith("+")||e.endsWith("+_")||s(e)))},{"../utils/hasInterpolation":378,"./isScssVariable":405}],417:[(e,t,r)=>{const s=e("../utils/isStandardSyntaxSelector");t.exports=(e=>!("rule"!==e.type||"extend"in e&&e.extend||!s(e.selector)))},{"../utils/isStandardSyntaxSelector":418}],418:[(e,t,r)=>{const s=e("../utils/hasInterpolation");t.exports=(e=>!(s(e)||e.startsWith("%")||e.endsWith(":")||/:extend(?:\(.*?\))?/.test(e)||/\.[\w-]+\(.*\).+/.test(e)||e.endsWith(")")&&!e.includes(":")||/\(@.*\)$/.test(e)||e.includes("<%")||e.includes("%>")))},{"../utils/hasInterpolation":378}],419:[(e,t,r)=>{const s=e("../reference/keywordSets");t.exports=(e=>{if(!e.parent||!e.parent.parent)return!1;const t=e.parent.parent,r=t.type,i=t.value;if(i){const e=i.toLowerCase().replace(/:+/,"");if("pseudo"===r&&(s.aNPlusBNotationPseudoClasses.has(e)||s.aNPlusBOfSNotationPseudoClasses.has(e)||s.linguisticPseudoClasses.has(e)||s.shadowTreePseudoElements.has(e)))return!1}return!(e.prev()&&"nesting"===e.prev().type||e.value.startsWith("%")||e.value.startsWith("/")&&e.value.endsWith("/"))})},{"../reference/keywordSets":142}],420:[(e,t,r)=>{const s=e("../utils/hasLessInterpolation"),i=e("../utils/hasPsvInterpolation"),n=e("../utils/hasScssInterpolation"),o=e("../utils/hasTplInterpolation");t.exports=(e=>!(0!==e.length&&(n(e)||o(e)||i(e)||(e.startsWith("'")&&e.endsWith("'")||e.startsWith('"')&&e.endsWith('"')?s(e):e.startsWith("@")&&/^@@?[\w-]+$/.test(e)||e.includes("$")&&/^[$\s\w+\-,./*'"]+$/.test(e)&&!e.endsWith("/")))))},{"../utils/hasLessInterpolation":379,"../utils/hasPsvInterpolation":380,"../utils/hasScssInterpolation":381,"../utils/hasTplInterpolation":382}],421:[(e,t,r)=>{const s=e("../utils/hasInterpolation");t.exports=(e=>{let t=e;return/^[-+*/]/.test(e[0])&&(t=t.slice(1)),!(t.startsWith("$")||/^.+\.\$/.test(e)||t.startsWith("@")||s(t)||/__MSG_\S+__/.test(e))})},{"../utils/hasInterpolation":378}],422:[(e,t,r)=>{const s=e("../reference/keywordSets"),i=e("postcss-value-parser");t.exports=(e=>{if(!e)return!1;if(s.fontSizeKeywords.has(e))return!0;const t=i.unit(e);if(!t)return!1;const r=t.unit;return"%"===r||!!s.lengthUnits.has(r.toLowerCase())})},{"../reference/keywordSets":142,"postcss-value-parser":83}],423:[(e,t,r)=>{t.exports=(e=>/^#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(e))},{}],424:[(e,t,r)=>{t.exports=(e=>e.toLowerCase().startsWith("var("))},{}],425:[(e,t,r)=>{t.exports=(e=>[" ","\n","\t","\r","\f"].includes(e))},{}],426:[(e,t,r)=>{function s(e,t){if(!Array.isArray(t))return i(e,t);for(const r of t){const t=i(e,r);if(t)return t}return!1}function i(e,t){if(t instanceof RegExp)return!!t.test(e)&&{match:e,pattern:t};const r=t[0],s=t[t.length-1],i=t[t.length-2],n="/"===r&&("/"===s||"/"===i&&"i"===s);return n?!!(n&&"i"===s?new RegExp(t.slice(1,-2),"i").test(e):new RegExp(t.slice(1,-1)).test(e))&&{match:e,pattern:t}:e===t&&{match:e,pattern:t}}t.exports=((e,t)=>{if(!Array.isArray(e))return s(e,t);for(const r of e){const e=s(r,t);if(e)return e}return!1})},{}],427:[(e,t,r)=>{t.exports=function e(t){return t&&t.next?"comment"===t.type?e(t.next()):t:null}},{}],428:[(e,t,r)=>{function s(e,t){return e.has(t)||e.set(t,new Map),e.get(t)}t.exports=(()=>{const e=new Map;return{getContext(t,...r){if(!t.source)throw new Error("The node source must be present");const i=t.source.input.from,n=s(e,i);return r.reduce((e,t)=>s(e,t),n)}}})},{}],429:[(e,t,r)=>{const s=e("./matchesStringOrRegExp");t.exports=((e,t,r)=>Boolean(e&&e[t]&&"string"==typeof r&&s(r,e[t])))},{"./matchesStringOrRegExp":426}],430:[(e,t,r)=>{const s=e("postcss-selector-parser");t.exports=((e,t,r,i)=>{try{return s(i).processSync(e)}catch(e){t.warn("Cannot parse selector",{node:r,stylelintType:"parseError"})}})},{"postcss-selector-parser":53}],431:[(e,t,r)=>{t.exports=((e,t,r)=>{if(e.has(t))return e.get(t);const s=r();return e.set(t,s),s})},{}],432:[(e,t,r)=>{t.exports=(e=>{let t="";return e.raws.before&&(t+=e.raws.before),t+e.toString()})},{}],433:[(e,t,r)=>{t.exports=((e,t)=>(e.raws.after=e.raws.after?e.raws.after.replace(/(\r?\n\s*\n)+/g,t):"",e))},{}],434:[(e,t,r)=>{t.exports=((e,t)=>(e.raws.before=e.raws.before?e.raws.before.replace(/(\r?\n\s*\n)+/g,t):"",e))},{}],435:[(e,t,r)=>{t.exports=(e=>{const t=e.ruleName,r=e.result,s=e.message,i=e.line,n=e.node,o=e.index,a=e.word;if(r.stylelint=r.stylelint||{ruleSeverities:{},customMessages:{}},r.stylelint.quiet&&"error"!==r.stylelint.ruleSeverities[t])return;const l=i||n.positionBy({index:o}).line,{ignoreDisables:u}=r.stylelint.config||{};if(r.stylelint.disabledRanges){const e=r.stylelint.disabledRanges[t]||r.stylelint.disabledRanges.all;for(const s of e)if(s.start<=l&&(void 0===s.end||s.end>=l)&&(!s.rules||s.rules.includes(t))){if((r.stylelint.disabledWarnings||(r.stylelint.disabledWarnings=[])).push({rule:t,line:l}),!u)return;break}}const c=r.stylelint.ruleSeverities&&r.stylelint.ruleSeverities[t];r.stylelint.stylelintError||"error"!==c||(r.stylelint.stylelintError=!0);const p={severity:c,rule:t};n&&(p.node=n),o&&(p.index=o),a&&(p.word=a);const d=r.stylelint.customMessages&&r.stylelint.customMessages[t]||s;r.warn(d,p)})},{}],436:[(e,t,r)=>{t.exports=((e,t)=>{const r={};for(const[s,i]of Object.entries(t))r[s]="string"==typeof i?`${i} (${e})`:(...t)=>`${i(...t)} (${e})`;return r})},{}],437:[(e,t,r)=>{t.exports=((e,t)=>{const r=e.raws;return r.params?r.params.raw=t:e.params=t,e})},{}],438:[(e,t,r)=>{t.exports=((e,t)=>{const r=e.raws;return r.value?r.value.raw=t:e.value=t,e})},{}],439:[(e,t,r)=>{const s=e("postcss-selector-parser");t.exports=((e,t,r)=>{try{return s(r).processSync(t,{updateSelector:!0})}catch(r){e.warn("Cannot parse selector",{node:t,stylelintType:"parseError"})}})},{"postcss-selector-parser":53}],440:[(e,t,r)=>{t.exports.isRoot=(e=>"root"===e.type),t.exports.isRule=(e=>"rule"===e.type),t.exports.isAtRule=(e=>"atrule"===e.type),t.exports.isComment=(e=>"comment"===e.type),t.exports.isDeclaration=(e=>"decl"===e.type),t.exports.isValueFunction=(e=>"function"===e.type),t.exports.hasSource=(e=>Boolean(e.source))},{}],441:[(e,t,r)=>{const{isPlainObject:s}=e("is-plain-object");t.exports=(e=>t=>!!s(t)&&Object.values(t).every(t=>!!Array.isArray(t)&&t.every(t=>Array.isArray(e)?e.some(e=>e(t)):e(t))))},{"is-plain-object":35}],442:[(e,t,r)=>{const s=e("./arrayEqual"),{isPlainObject:i}=e("is-plain-object"),n=new Set(["severity","message","reportDisables","disableFix"]);function o(e,t,r){const o=e.possible,l=e.actual,u=e.optional;if(null===l||s(l,[null]))return;const c=void 0===o||Array.isArray(o)&&0===o.length;if(!c||!0!==l)if(void 0!==l){if(c)return u?void r(`Incorrect configuration for rule "${t}". Rule should have "possible" values for options validation`):void r(`Unexpected option value "${String(l)}" for rule "${t}"`);if("function"!=typeof o)if(Array.isArray(o))for(const e of[l].flat())a(o,e)||r(`Invalid option value "${String(e)}" for rule "${t}"`);else if(i(l)&&"object"==typeof l&&null!=l)for(const[e,s]of Object.entries(l)){if(n.has(e))continue;const i=o&&o[e];if(i)for(const n of[s].flat())a(i,n)||r(`Invalid value "${n}" for option "${e}" of rule "${t}"`);else r(`Invalid option name "${e}" for rule "${t}"`)}else r(`Invalid option value ${JSON.stringify(l)} for rule "${t}": should be an object`);else o(l)||r(`Invalid option "${JSON.stringify(l)}" for rule ${t}`)}else{if(c||u)return;r(`Expected option value for rule "${t}"`)}}function a(e,t){for(const r of[e].flat()){if("function"==typeof r&&r(t))return!0;if(t===r)return!0}return!1}t.exports=((e,t,...r)=>{let s=!0;for(const e of r)o(e,t,i);function i(t){s=!1,e.warn(t,{stylelintType:"invalidOption"}),e.stylelint=e.stylelint||{disabledRanges:{},ruleSeverities:{},customMessages:{}},e.stylelint.stylelintError=!0}return s})},{"./arrayEqual":351,"is-plain-object":35}],443:[(e,t,r)=>{t.exports={isBoolean:e=>"boolean"==typeof e||e instanceof Boolean,isNumber:e=>"number"==typeof e||e instanceof Number,isRegExp:e=>e instanceof RegExp,isString:e=>"string"==typeof e||e instanceof String}},{}],444:[(e,t,r)=>{t.exports={prefix(e){const t=e.match(/^(-\w+-)/);return t?t[0]:""},unprefixed:e=>e.replace(/^-\w+-/,"")}},{}],445:[(e,r,s)=>{const i=e("./configurationError"),n=e("./isSingleLineString"),o=e("./isWhitespace");function a(e){return void 0!==e&&null!==e}function l(e){if("function"!=typeof e)throw new TypeError(`\`${e}\` must be a function`)}r.exports=((e,r,s)=>{let u;function c({source:e,index:t,err:o,errTarget:a,lineCheckStr:l,onlyOneChar:c=!1,allowIndentation:p=!1}){switch(u={source:e,index:t,err:o,errTarget:a,onlyOneChar:c,allowIndentation:p},r){case"always":d();break;case"never":f();break;case"always-single-line":if(!n(l||e))return;d(s.expectedBeforeSingleLine);break;case"never-single-line":if(!n(l||e))return;f(s.rejectedBeforeSingleLine);break;case"always-multi-line":if(n(l||e))return;d(s.expectedBeforeMultiLine);break;case"never-multi-line":if(n(l||e))return;f(s.rejectedBeforeMultiLine);break;default:throw i(`Unknown expectation "${r}"`)}}function p({source:e,index:t,err:o,errTarget:a,lineCheckStr:l,onlyOneChar:c=!1}){switch(u={source:e,index:t,err:o,errTarget:a,onlyOneChar:c},r){case"always":h();break;case"never":m();break;case"always-single-line":if(!n(l||e))return;h(s.expectedAfterSingleLine);break;case"never-single-line":if(!n(l||e))return;m(s.rejectedAfterSingleLine);break;case"always-multi-line":if(n(l||e))return;h(s.expectedAfterMultiLine);break;case"never-multi-line":if(n(l||e))return;m(s.rejectedAfterMultiLine);break;default:throw i(`Unknown expectation "${r}"`)}}function d(t=s.expectedBefore){if(u.allowIndentation)return void((t=s.expectedBefore)=>{const r=u,i=r.source,n=r.index,o=r.err,a=(()=>{if("newline"===e)return"\n"})();let c=n-1;for(;i[c]!==a;){if("\t"!==i[c]&&" "!==i[c])return l(t),void o(t(u.errTarget||i[n]));c--}})(t);const r=u,i=r.source,n=r.index,c=i[n-1],p=i[n-2];a(c)&&("space"!==e||" "!==c||!u.onlyOneChar&&o(p))&&(l(t),u.err(t(u.errTarget||i[n])))}function f(e=s.rejectedBefore){const t=u,r=t.source,i=t.index,n=r[i-1];a(n)&&o(n)&&(l(e),u.err(e(u.errTarget||r[i])))}function h(t=s.expectedAfter){const r=u,i=r.source,n=r.index,c=i[n+1],p=i[n+2];if(a(c)){if("newline"===e){if("\r"===c&&"\n"===p&&(u.onlyOneChar||!o(i[n+3])))return;if("\n"===c&&(u.onlyOneChar||!o(p)))return}("space"!==e||" "!==c||!u.onlyOneChar&&o(p))&&(l(t),u.err(t(u.errTarget||i[n])))}}function m(e=s.rejectedAfter){const t=u,r=t.source,i=t.index,n=r[i+1];a(n)&&o(n)&&(l(e),u.err(e(u.errTarget||r[i])))}return{before:c,beforeAllowingIndentation(e){c(t({},e,{allowIndentation:!0}))},after:p,afterOneOnly(e){p(t({},e,{onlyOneChar:!0}))}}})},{"./configurationError":357,"./isSingleLineString":407,"./isWhitespace":425}],446:[(e,t,r)=>{const s=e("./utils/validateOptions"),{isRegExp:i,isString:n}=e("./utils/validateTypes");t.exports=((e,t)=>{if(!e)return null;const r=e.stylelint;if(!r.config)return null;const o=r.config[t];let a,l;return Array.isArray(o)?(a=o[0],l=o[1]||{}):(a=o||!1,l={}),s(e,t,{actual:a,possible:[!0,!1]},{actual:l,possible:{except:[n,i]}})&&(a||l.except)?[a,{except:l.except||[],severity:l.severity||r.config.defaultSeverity||"error"},r]:null})},{"./utils/validateOptions":442,"./utils/validateTypes":443}],447:[(e,t,r)=>{function s(e,t,r){e instanceof RegExp&&(e=i(e,r)),t instanceof RegExp&&(t=i(t,r));const s=n(e,t,r);return s&&{start:s[0],end:s[1],pre:r.slice(0,s[0]),body:r.slice(s[0]+e.length,s[1]),post:r.slice(s[1]+t.length)}}function i(e,t){const r=t.match(e);return r?r[0]:null}function n(e,t,r){let s,i,n,o,a,l=r.indexOf(e),u=r.indexOf(t,l+1),c=l;if(l>=0&&u>0){if(e===t)return[l,u];for(s=[],n=r.length;c>=0&&!a;)c===l?(s.push(c),l=r.indexOf(e,c+1)):1===s.length?a=[s.pop(),u]:((i=s.pop())=0?l:u;s.length&&(a=[n,o])}return a}t.exports=s,s.range=n},{}],448:[(e,t,r)=>{t.exports=e("./svg-tags.json")},{"./svg-tags.json":449}],449:[(e,t,r)=>{t.exports=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignObject","g","glyph","glyphRef","hkern","image","line","linearGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"]},{}],450:[function(e,t,r){var s=e("punycode"),i=e("./util");function n(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}r.parse=b,r.resolve=((e,t)=>b(e,!1,!0).resolve(t)),r.resolveObject=((e,t)=>e?b(e,!1,!0).resolveObject(t):t),r.format=(e=>(i.isString(e)&&(e=b(e)),e instanceof n?e.format():n.prototype.format.call(e))),r.Url=n;var o=/^([a-z0-9.+-]+:)/i,a=/:[0-9]*$/,l=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,u=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),c=["'"].concat(u),p=["%","/","?",";","#"].concat(c),d=["/","?","#"],f=/^[+a-z0-9A-Z_-]{0,63}$/,h=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,m={javascript:!0,"javascript:":!0},g={javascript:!0,"javascript:":!0},y={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},w=e("querystring");function b(e,t,r){if(e&&i.isObject(e)&&e instanceof n)return e;var s=new n;return s.parse(e,t,r),s}n.prototype.parse=function(e,t,r){if(!i.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var n=e.indexOf("?"),a=-1!==n&&n127?j+="x":j+=P[T];if(!j.match(f)){var _=N.slice(0,E),F=N.slice(E+1),$=P.match(h);$&&(_.push($[1]),F.unshift($[2])),F.length&&(b="/"+F.join(".")+b),this.hostname=_.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),R||(this.hostname=s.toASCII(this.hostname));var B=this.port?":"+this.port:"",D=this.hostname||"";this.host=D+B,this.href+=this.host,R&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==b[0]&&(b="/"+b))}if(!m[k])for(E=0,I=c.length;EencodeURIComponent(e)))+(a=a.replace("#","%23"))+s},n.prototype.resolve=function(e){return this.resolveObject(b(e,!1,!0)).format()},n.prototype.resolveObject=function(e){if(i.isString(e)){var t=new n;t.parse(e,!1,!0),e=t}for(var r=new n,s=Object.keys(this),o=0;o0)&&r.host.split("@"))&&(r.auth=R.shift(),r.host=r.hostname=R.shift())),r.search=e.search,r.query=e.query,i.isNull(r.pathname)&&i.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r;if(!S.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var C=S.slice(-1)[0],A=(r.host||e.host||S.length>1)&&("."===C||".."===C)||""===C,E=0,M=S.length;M>=0;M--)"."===(C=S[M])?S.splice(M,1):".."===C?(S.splice(M,1),E++):E&&(S.splice(M,1),E--);if(!v&&!k)for(;E--;E)S.unshift("..");!v||""===S[0]||S[0]&&"/"===S[0].charAt(0)||S.unshift(""),A&&"/"!==S.join("/").substr(-1)&&S.push("");var R,N=""===S[0]||S[0]&&"/"===S[0].charAt(0);return O&&(r.hostname=r.host=N?"":S.length?S.shift():"",(R=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=R.shift(),r.host=r.hostname=R.shift())),(v=v||r.host&&S.length)&&!N&&S.unshift(""),S.length?r.pathname=S.join("/"):(r.pathname=null,r.path=null),i.isNull(r.pathname)&&i.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=e.auth||r.auth,r.slashes=r.slashes||e.slashes,r.href=r.format(),r},n.prototype.parseHost=function(){var e=this.host,t=a.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},{"./util":451,punycode:116,querystring:119}],451:[(e,t,r)=>{t.exports={isString:e=>"string"==typeof e,isObject:e=>"object"==typeof e&&null!==e,isNull:e=>null===e,isNullOrUndefined:e=>null==e}},{}],452:[function(e,t,r){(function(e){(function(){function r(t){try{if(!e.localStorage)return!1}catch(e){return!1}var r=e.localStorage[t];return null!=r&&"true"===String(r).toLowerCase()}t.exports=function(e,t){if(r("noDeprecation"))return e;var s=!1;return function(){if(!s){if(r("throwDeprecation"))throw new Error(t);r("traceDeprecation")?console.trace(t):console.warn(t),s=!0}return e.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],453:[(e,t,r)=>{t.exports=(e=>e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8)},{}],454:[(e,t,r)=>{var s=e("is-arguments"),i=e("is-generator-function"),n=e("which-typed-array"),o=e("is-typed-array");function a(e){return e.call.bind(e)}var l="undefined"!=typeof BigInt,u="undefined"!=typeof Symbol,c=a(Object.prototype.toString),p=a(Number.prototype.valueOf),d=a(String.prototype.valueOf),f=a(Boolean.prototype.valueOf);if(l)var h=a(BigInt.prototype.valueOf);if(u)var m=a(Symbol.prototype.valueOf);function g(e,t){if("object"!=typeof e)return!1;try{return t(e),!0}catch(e){return!1}}function y(e){return"[object Map]"===c(e)}function w(e){return"[object Set]"===c(e)}function b(e){return"[object WeakMap]"===c(e)}function x(e){return"[object WeakSet]"===c(e)}function v(e){return"[object ArrayBuffer]"===c(e)}function k(e){return"undefined"!=typeof ArrayBuffer&&(v.working?v(e):e instanceof ArrayBuffer)}function S(e){return"[object DataView]"===c(e)}function O(e){return"undefined"!=typeof DataView&&(S.working?S(e):e instanceof DataView)}function C(e){return"[object SharedArrayBuffer]"===c(e)}function A(e){return"undefined"!=typeof SharedArrayBuffer&&(C.working?C(e):e instanceof SharedArrayBuffer)}function E(e){return g(e,p)}function M(e){return g(e,d)}function R(e){return g(e,f)}function N(e){return l&&g(e,h)}function I(e){return u&&g(e,m)}r.isArgumentsObject=s,r.isGeneratorFunction=i,r.isTypedArray=o,r.isPromise=(e=>"undefined"!=typeof Promise&&e instanceof Promise||null!==e&&"object"==typeof e&&"function"==typeof e.then&&"function"==typeof e.catch),r.isArrayBufferView=(e=>"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):o(e)||O(e)),r.isUint8Array=(e=>"Uint8Array"===n(e)),r.isUint8ClampedArray=(e=>"Uint8ClampedArray"===n(e)),r.isUint16Array=(e=>"Uint16Array"===n(e)),r.isUint32Array=(e=>"Uint32Array"===n(e)),r.isInt8Array=(e=>"Int8Array"===n(e)),r.isInt16Array=(e=>"Int16Array"===n(e)),r.isInt32Array=(e=>"Int32Array"===n(e)),r.isFloat32Array=(e=>"Float32Array"===n(e)),r.isFloat64Array=(e=>"Float64Array"===n(e)),r.isBigInt64Array=(e=>"BigInt64Array"===n(e)),r.isBigUint64Array=(e=>"BigUint64Array"===n(e)),y.working="undefined"!=typeof Map&&y(new Map),r.isMap=(e=>"undefined"!=typeof Map&&(y.working?y(e):e instanceof Map)),w.working="undefined"!=typeof Set&&w(new Set),r.isSet=(e=>"undefined"!=typeof Set&&(w.working?w(e):e instanceof Set)),b.working="undefined"!=typeof WeakMap&&b(new WeakMap),r.isWeakMap=(e=>"undefined"!=typeof WeakMap&&(b.working?b(e):e instanceof WeakMap)),x.working="undefined"!=typeof WeakSet&&x(new WeakSet),r.isWeakSet=(e=>x(e)),v.working="undefined"!=typeof ArrayBuffer&&v(new ArrayBuffer),r.isArrayBuffer=k,S.working="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView&&S(new DataView(new ArrayBuffer(1),0,1)),r.isDataView=O,C.working="undefined"!=typeof SharedArrayBuffer&&C(new SharedArrayBuffer),r.isSharedArrayBuffer=A,r.isAsyncFunction=(e=>"[object AsyncFunction]"===c(e)),r.isMapIterator=(e=>"[object Map Iterator]"===c(e)),r.isSetIterator=(e=>"[object Set Iterator]"===c(e)),r.isGeneratorObject=(e=>"[object Generator]"===c(e)),r.isWebAssemblyCompiledModule=(e=>"[object WebAssembly.Module]"===c(e)),r.isNumberObject=E,r.isStringObject=M,r.isBooleanObject=R,r.isBigIntObject=N,r.isSymbolObject=I,r.isBoxedPrimitive=(e=>E(e)||M(e)||R(e)||N(e)||I(e)),r.isAnyArrayBuffer=(e=>"undefined"!=typeof Uint8Array&&(k(e)||A(e))),["isProxy","isExternal","isModuleNamespaceObject"].forEach(e=>{Object.defineProperty(r,e,{enumerable:!1,value(){throw new Error(e+" is not supported in userland")}})})},{"is-arguments":33,"is-generator-function":34,"is-typed-array":37,"which-typed-array":456}],455:[function(e,t,r){(function(t){(function(){var s=Object.getOwnPropertyDescriptors||(e=>{for(var t=Object.keys(e),r={},s=0;s{if("%%"===e)return"%";if(r>=n)return e;switch(e){case"%s":return String(s[r++]);case"%d":return Number(s[r++]);case"%j":try{return JSON.stringify(s[r++])}catch(e){return"[Circular]"}default:return e}}),a=s[r];r=3&&(s.depth=arguments[2]),arguments.length>=4&&(s.colors=arguments[3]),m(t)?s.showHidden=t:t&&r._extend(s,t),b(s.showHidden)&&(s.showHidden=!1),b(s.depth)&&(s.depth=2),b(s.colors)&&(s.colors=!1),b(s.customInspect)&&(s.customInspect=!0),s.colors&&(s.stylize=u),p(s,e,s.depth)}function u(e,t){var r=l.styles[t];return r?"["+l.colors[r][0]+"m"+e+"["+l.colors[r][1]+"m":e}function c(e,t){return e}function p(e,t,s){if(e.customInspect&&t&&O(t.inspect)&&t.inspect!==r.inspect&&(!t.constructor||t.constructor.prototype!==t)){var i=t.inspect(s,e);return w(i)||(i=p(e,i,s)),i}var n=((e,t)=>{if(b(t))return e.stylize("undefined","undefined");if(w(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}return y(t)?e.stylize(""+t,"number"):m(t)?e.stylize(""+t,"boolean"):g(t)?e.stylize("null","null"):void 0})(e,t);if(n)return n;var o,a=Object.keys(t),l=(o={},a.forEach((e,t)=>{o[e]=!0}),o);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),S(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return d(t);if(0===a.length){if(O(t)){var u=t.name?": "+t.name:"";return e.stylize("[Function"+u+"]","special")}if(x(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(k(t))return e.stylize(Date.prototype.toString.call(t),"date");if(S(t))return d(t)}var c,v="",C=!1,A=["{","}"];return h(t)&&(C=!0,A=["[","]"]),O(t)&&(v=" [Function"+(t.name?": "+t.name:"")+"]"),x(t)&&(v=" "+RegExp.prototype.toString.call(t)),k(t)&&(v=" "+Date.prototype.toUTCString.call(t)),S(t)&&(v=" "+d(t)),0!==a.length||C&&0!=t.length?s<0?x(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),c=C?((e,t,r,s,i)=>{for(var n=[],o=0,a=t.length;o{i.match(/^\d+$/)||n.push(f(e,t,r,s,i,!0))}),n})(e,t,s,l,a):a.map(r=>f(e,t,s,l,r,C)),e.seen.pop(),((e,t,r)=>e.reduce((e,t)=>(t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1),0)>60?r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1])(c,v,A)):A[0]+v+A[1]}function d(e){return"["+Error.prototype.toString.call(e)+"]"}function f(e,t,r,s,i,n){var o,a,l;if((l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?a=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(a=e.stylize("[Setter]","special")),M(s,i)||(o="["+i+"]"),a||(e.seen.indexOf(l.value)<0?(a=g(r)?p(e,l.value,null):p(e,l.value,r-1)).indexOf("\n")>-1&&(a=n?a.split("\n").map(e=>" "+e).join("\n").substr(2):"\n"+a.split("\n").map(e=>" "+e).join("\n")):a=e.stylize("[Circular]","special")),b(o)){if(n&&i.match(/^\d+$/))return a;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+a}function h(e){return Array.isArray(e)}function m(e){return"boolean"==typeof e}function g(e){return null===e}function y(e){return"number"==typeof e}function w(e){return"string"==typeof e}function b(e){return void 0===e}function x(e){return v(e)&&"[object RegExp]"===C(e)}function v(e){return"object"==typeof e&&null!==e}function k(e){return v(e)&&"[object Date]"===C(e)}function S(e){return v(e)&&("[object Error]"===C(e)||e instanceof Error)}function O(e){return"function"==typeof e}function C(e){return Object.prototype.toString.call(e)}function A(e){return e<10?"0"+e.toString(10):e.toString(10)}r.debuglog=(e=>{if(e=e.toUpperCase(),!n[e])if(o.test(e)){var s=t.pid;n[e]=function(){var t=r.format.apply(r,arguments);console.error("%s %d: %s",e,s,t)}}else n[e]=(()=>{});return n[e]}),r.inspect=l,l.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},l.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},r.types=e("./support/types"),r.isArray=h,r.isBoolean=m,r.isNull=g,r.isNullOrUndefined=(e=>null==e),r.isNumber=y,r.isString=w,r.isSymbol=(e=>"symbol"==typeof e),r.isUndefined=b,r.isRegExp=x,r.types.isRegExp=x,r.isObject=v,r.isDate=k,r.types.isDate=k,r.isError=S,r.types.isNativeError=S,r.isFunction=O,r.isPrimitive=(e=>null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e),r.isBuffer=e("./support/isBuffer");var E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function M(e,t){return Object.prototype.hasOwnProperty.call(e,t)}r.log=function(){var e,t;console.log("%s - %s",(t=[A((e=new Date).getHours()),A(e.getMinutes()),A(e.getSeconds())].join(":"),[e.getDate(),E[e.getMonth()],t].join(" ")),r.format.apply(r,arguments))},r.inherits=e("inherits"),r._extend=((e,t)=>{if(!t||!v(t))return e;for(var r=Object.keys(t),s=r.length;s--;)e[r[s]]=t[r[s]];return e});var R="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;r.promisify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(R&&e[R]){var t;if("function"!=typeof(t=e[R]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,R,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,r,s=new Promise((e,s)=>{t=e,r=s}),i=[],n=0;n{e?r(e):t(s)});try{e.apply(this,i)}catch(e){r(e)}return s}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),R&&Object.defineProperty(t,R,{value:t,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(t,s(e))},r.promisify.custom=R,r.callbackify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');function r(){for(var r=[],s=0;s{t.nextTick(o.bind(null,null,e))},e=>{t.nextTick(((e,t)=>{if(!e){var r=new Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}).bind(null,e,o))})}return Object.setPrototypeOf(r,Object.getPrototypeOf(e)),Object.defineProperties(r,s(e)),r}}).call(this)}).call(this,e("_process"))},{"./support/isBuffer":453,"./support/types":454,_process:115,inherits:32}],456:[function(e,t,r){(function(r){(()=>{var s=e("foreach"),i=e("available-typed-arrays"),n=e("call-bind/callBound"),o=n("Object.prototype.toString"),a=e("has-symbols")()&&"symbol"==typeof Symbol.toStringTag,l=i(),u=n("String.prototype.slice"),c={},p=e("es-abstract/helpers/getOwnPropertyDescriptor"),d=Object.getPrototypeOf;a&&p&&d&&s(l,e=>{if("function"==typeof r[e]){var t=new r[e];if(!(Symbol.toStringTag in t))throw new EvalError("this engine has support for Symbol.toStringTag, but "+e+" does not have the property! Please report this.");var s=d(t),i=p(s,Symbol.toStringTag);if(!i){var n=d(s);i=p(n,Symbol.toStringTag)}c[e]=i.get}});var f=e("is-typed-array");t.exports=(e=>{return!!f(e)&&(a?(t=e,r=!1,s(c,(e,s)=>{if(!r)try{var i=e.call(t);i===s&&(r=i)}catch(e){}}),r):u(o(e),8,-1));var t,r})}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"available-typed-arrays":2,"call-bind/callBound":7,"es-abstract/helpers/getOwnPropertyDescriptor":17,foreach:20,"has-symbols":24,"is-typed-array":37}],stylelint:[(e,t,r)=>{const s=e("./utils/checkAgainstRule"),i=e("./createPlugin"),n=e("./createStylelint"),o=e("./formatters"),a=e("./postcssPlugin"),l=e("./utils/report"),u=e("./utils/ruleMessages"),c=e("./rules"),p=e("./standalone"),d=e("./utils/validateOptions"),f=e("./resolveConfig"),h=Object.assign(a,{lint:p,rules:c,formatters:o,createPlugin:i,resolveConfig:f,createLinter:n,utils:{report:l,ruleMessages:u,validateOptions:d,checkAgainstRule:s}});t.exports=h},{"./createPlugin":124,"./createStylelint":125,"./formatters":129,"./postcssPlugin":140,"./resolveConfig":148,"./rules":237,"./standalone":348,"./utils/checkAgainstRule":356,"./utils/report":435,"./utils/ruleMessages":436,"./utils/validateOptions":442}]},{},[])("stylelint")})})(); \ No newline at end of file +/*!= Stylelint v14.9.1 bundle =*/ +(()=>{"use strict";function e(e,t){if(null==e)return{};var s,r,i={},n=Object.keys(e);for(r=0;r=0||(i[s]=e[s]);return i}function t(){return(t=Object.assign||function(e){for(var t=1;t(function e(t,s,r){function i(o,a){if(!s[o]){if(!t[o]){var l="function"==typeof require&&require;if(!a&&l)return l(o,!0);if(n)return n(o,!0);var u=new Error("Cannot find module '"+o+"'");throw u.code="MODULE_NOT_FOUND",u}var c=s[o]={exports:{}};t[o][0].call(c.exports,e=>i(t[o][1][e]||e),c,c.exports,e,t,s,r)}return s[o].exports}for(var n="function"==typeof require&&require,o=0;o{},{}],2:[(e,t,s)=>{Object.defineProperty(s,"__esModule",{value:!0});var r,i=(r=e("postcss-selector-parser"))&&"object"==typeof r&&"default"in r?r:{default:r};function n(e){if(!e)return{a:0,b:0,c:0};let t=0,s=0,r=0;if("universal"==e.type)return{a:0,b:0,c:0};if("id"===e.type)t+=1;else if("tag"===e.type)r+=1;else if("class"===e.type)s+=1;else if("attribute"===e.type)s+=1;else if((e=>i.default.isPseudoElement(e))(e))r+=1;else if(i.default.isPseudoClass(e))switch(e.value.toLowerCase()){case":-moz-any":case":-webkit-any":case":any":case":has":case":is":case":matches":case":not":if(e.nodes&&e.nodes.length>0){const i=o(e.nodes);t+=i.a,s+=i.b,r+=i.c}break;case":where":break;case":nth-child":case":nth-last-child":if(s+=1,e.nodes&&e.nodes.length>0){const n=e.nodes[0].nodes.findIndex(e=>"tag"===e.type&&"of"===e.value.toLowerCase());if(n>-1){const a=[i.default.selector({nodes:e.nodes[0].nodes.slice(n+1),value:""})];e.nodes.length>1&&a.push(...e.nodes.slice(1));const l=o(a);t+=l.a,s+=l.b,r+=l.c}}break;case":local":case":global":e.nodes&&e.nodes.length>0&&e.nodes.forEach(e=>{const i=n(e);t+=i.a,s+=i.b,r+=i.c});break;default:s+=1}else i.default.isContainer(e)&&e.nodes.length>0&&e.nodes.forEach(e=>{const i=n(e);t+=i.a,s+=i.b,r+=i.c});return{a:t,b:s,c:r}}function o(e){let t={a:0,b:0,c:0};return e.forEach(e=>{const s=n(e);s.a>t.a?t=s:s.at.b?t=s:s.bt.c&&(t=s))}),t}s.compare=((e,t)=>e.a===t.a?e.b===t.b?e.c-t.c:e.b-t.b:e.a-t.a),s.selectorSpecificity=n},{"postcss-selector-parser":29}],3:[function(e,t,s){arguments[4][1][0].apply(s,arguments)},{dup:1}],4:[(e,t,s)=>{const r=e("is-regexp"),i={global:"g",ignoreCase:"i",multiline:"m",dotAll:"s",sticky:"y",unicode:"u"};t.exports=((e,t={})=>{if(!r(e))throw new TypeError("Expected a RegExp instance");const s=Object.keys(i).map(s=>("boolean"==typeof t[s]?t[s]:e[s])?i[s]:"").join(""),n=new RegExp(t.source||e.source,s);return n.lastIndex="number"==typeof t.lastIndex?t.lastIndex:e.lastIndex,n})},{"is-regexp":17}],5:[function(e,t,s){Object.defineProperty(s,"__esModule",{value:!0});var r={grad:.9,turn:360,rad:360/(2*Math.PI)},i=e=>"string"==typeof e?e.length>0:"number"==typeof e,n=(e,t,s)=>(void 0===t&&(t=0),void 0===s&&(s=Math.pow(10,t)),Math.round(s*e)/s+0),o=(e,t,s)=>(void 0===t&&(t=0),void 0===s&&(s=1),e>s?s:e>t?e:t),a=e=>(e=isFinite(e)?e%360:0)>0?e:e+360,l=e=>({r:o(e.r,0,255),g:o(e.g,0,255),b:o(e.b,0,255),a:o(e.a)}),u=e=>({r:n(e.r),g:n(e.g),b:n(e.b),a:n(e.a,3)}),c=/^#([0-9a-f]{3,8})$/i,d=e=>{var t=e.toString(16);return t.length<2?"0"+t:t},p=e=>{var t=e.r,s=e.g,r=e.b,i=e.a,n=Math.max(t,s,r),o=n-Math.min(t,s,r),a=o?n===t?(s-r)/o:n===s?2+(r-t)/o:4+(t-s)/o:0;return{h:60*(a<0?a+6:a),s:n?o/n*100:0,v:n/255*100,a:i}},f=e=>{var t=e.h,s=e.s,r=e.v,i=e.a;t=t/360*6,s/=100,r/=100;var n=Math.floor(t),o=r*(1-s),a=r*(1-(t-n)*s),l=r*(1-(1-t+n)*s),u=n%6;return{r:255*[r,a,o,o,l,r][u],g:255*[l,r,r,a,o,o][u],b:255*[o,o,l,r,r,a][u],a:i}},m=e=>({h:a(e.h),s:o(e.s,0,100),l:o(e.l,0,100),a:o(e.a)}),h=e=>({h:n(e.h),s:n(e.s),l:n(e.l),a:n(e.a,3)}),g=e=>{return f((s=(t=e).s,{h:t.h,s:(s*=((r=t.l)<50?r:100-r)/100)>0?2*s/(r+s)*100:0,v:r+s,a:t.a}));var t,s,r},w=e=>{return{h:(t=p(e)).h,s:(i=(200-(s=t.s))*(r=t.v)/100)>0&&i<200?s*r/100/(i<=100?i:200-i)*100:0,l:i/2,a:t.a};var t,s,r,i},b=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,y=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,x=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,v=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,k={string:[[e=>{var t=c.exec(e);return t?(e=t[1]).length<=4?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:4===e.length?n(parseInt(e[3]+e[3],16)/255,2):1}:6===e.length||8===e.length?{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:8===e.length?n(parseInt(e.substr(6,2),16)/255,2):1}:null:null},"hex"],[e=>{var t=x.exec(e)||v.exec(e);return t?t[2]!==t[4]||t[4]!==t[6]?null:l({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:void 0===t[7]?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[e=>{var t=b.exec(e)||y.exec(e);if(!t)return null;var s,i,n=m({h:(s=t[1],i=t[2],void 0===i&&(i="deg"),Number(s)*(r[i]||1)),s:Number(t[3]),l:Number(t[4]),a:void 0===t[5]?1:Number(t[5])/(t[6]?100:1)});return g(n)},"hsl"]],object:[[e=>{var t=e.r,s=e.g,r=e.b,n=e.a,o=void 0===n?1:n;return i(t)&&i(s)&&i(r)?l({r:Number(t),g:Number(s),b:Number(r),a:Number(o)}):null},"rgb"],[e=>{var t=e.h,s=e.s,r=e.l,n=e.a,o=void 0===n?1:n;if(!i(t)||!i(s)||!i(r))return null;var a=m({h:Number(t),s:Number(s),l:Number(r),a:Number(o)});return g(a)},"hsl"],[e=>{var t=e.h,s=e.s,r=e.v,n=e.a,l=void 0===n?1:n;if(!i(t)||!i(s)||!i(r))return null;var u=(e=>({h:a(e.h),s:o(e.s,0,100),v:o(e.v,0,100),a:o(e.a)}))({h:Number(t),s:Number(s),v:Number(r),a:Number(l)});return f(u)},"hsv"]]},S=(e,t)=>{for(var s=0;s"string"==typeof e?S(e.trim(),k.string):"object"==typeof e&&null!==e?S(e,k.object):[null,void 0],C=(e,t)=>{var s=w(e);return{h:s.h,s:o(s.s+100*t,0,100),l:s.l,a:s.a}},M=e=>(299*e.r+587*e.g+114*e.b)/1e3/255,N=(e,t)=>{var s=w(e);return{h:s.h,s:s.s,l:o(s.l+100*t,0,100),a:s.a}},E=function(){function e(e){this.parsed=O(e)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return e.prototype.isValid=function(){return null!==this.parsed},e.prototype.brightness=function(){return n(M(this.rgba),2)},e.prototype.isDark=function(){return M(this.rgba)<.5},e.prototype.isLight=function(){return M(this.rgba)>=.5},e.prototype.toHex=function(){return t=(e=u(this.rgba)).r,s=e.g,r=e.b,o=(i=e.a)<1?d(n(255*i)):"","#"+d(t)+d(s)+d(r)+o;var e,t,s,r,i,o},e.prototype.toRgb=function(){return u(this.rgba)},e.prototype.toRgbString=function(){return t=(e=u(this.rgba)).r,s=e.g,r=e.b,(i=e.a)<1?"rgba("+t+", "+s+", "+r+", "+i+")":"rgb("+t+", "+s+", "+r+")";var e,t,s,r,i},e.prototype.toHsl=function(){return h(w(this.rgba))},e.prototype.toHslString=function(){return t=(e=h(w(this.rgba))).h,s=e.s,r=e.l,(i=e.a)<1?"hsla("+t+", "+s+"%, "+r+"%, "+i+")":"hsl("+t+", "+s+"%, "+r+"%)";var e,t,s,r,i},e.prototype.toHsv=function(){return e=p(this.rgba),{h:n(e.h),s:n(e.s),v:n(e.v),a:n(e.a,3)};var e},e.prototype.invert=function(){return R({r:255-(e=this.rgba).r,g:255-e.g,b:255-e.b,a:e.a});var e},e.prototype.saturate=function(e){return void 0===e&&(e=.1),R(C(this.rgba,e))},e.prototype.desaturate=function(e){return void 0===e&&(e=.1),R(C(this.rgba,-e))},e.prototype.grayscale=function(){return R(C(this.rgba,-1))},e.prototype.lighten=function(e){return void 0===e&&(e=.1),R(N(this.rgba,e))},e.prototype.darken=function(e){return void 0===e&&(e=.1),R(N(this.rgba,-e))},e.prototype.rotate=function(e){return void 0===e&&(e=15),this.hue(this.hue()+e)},e.prototype.alpha=function(e){return"number"==typeof e?R({r:(t=this.rgba).r,g:t.g,b:t.b,a:e}):n(this.rgba.a,3);var t},e.prototype.hue=function(e){var t=w(this.rgba);return"number"==typeof e?R({h:e,s:t.s,l:t.l,a:t.a}):n(t.h)},e.prototype.isEqual=function(e){return this.toHex()===R(e).toHex()},e}(),R=e=>e instanceof E?e:new E(e),I=[];s.Colord=E,s.colord=R,s.extend=(e=>{e.forEach(e=>{I.indexOf(e)<0&&(e(E,k),I.push(e))})}),s.getFormat=(e=>O(e)[1]),s.random=(()=>new E({r:255*Math.random(),g:255*Math.random(),b:255*Math.random()}))},{}],6:[function(e,t,s){var r={grad:.9,turn:360,rad:360/(2*Math.PI)},i=e=>"string"==typeof e?e.length>0:"number"==typeof e,n=(e,t,s)=>(void 0===t&&(t=0),void 0===s&&(s=Math.pow(10,t)),Math.round(s*e)/s+0),o=(e,t,s)=>(void 0===t&&(t=0),void 0===s&&(s=1),e>s?s:e>t?e:t),a=e=>{return{h:(t=e.h,(t=isFinite(t)?t%360:0)>0?t:t+360),w:o(e.w,0,100),b:o(e.b,0,100),a:o(e.a)};var t},l=e=>({h:n(e.h),w:n(e.w),b:n(e.b),a:n(e.a,3)}),u=e=>{return{h:(t=e,s=t.r,r=t.g,i=t.b,n=t.a,o=Math.max(s,r,i),a=o-Math.min(s,r,i),l=a?o===s?(r-i)/a:o===r?2+(i-s)/a:4+(s-r)/a:0,{h:60*(l<0?l+6:l),s:o?a/o*100:0,v:o/255*100,a:n}).h,w:Math.min(e.r,e.g,e.b)/255*100,b:100-Math.max(e.r,e.g,e.b)/255*100,a:e.a};var t,s,r,i,n,o,a,l},c=e=>(e=>{var t=e.h,s=e.s,r=e.v,i=e.a;t=t/360*6,s/=100,r/=100;var n=Math.floor(t),o=r*(1-s),a=r*(1-(t-n)*s),l=r*(1-(1-t+n)*s),u=n%6;return{r:255*[r,a,o,o,l,r][u],g:255*[l,r,r,a,o,o][u],b:255*[o,o,l,r,r,a][u],a:i}})({h:e.h,s:100===e.b?0:100-e.w/(100-e.b)*100,v:100-e.b,a:e.a}),d=e=>{var t=e.h,s=e.w,r=e.b,n=e.a,o=void 0===n?1:n;if(!i(t)||!i(s)||!i(r))return null;var l=a({h:Number(t),w:Number(s),b:Number(r),a:Number(o)});return c(l)},p=/^hwb\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,f=e=>{var t=p.exec(e);if(!t)return null;var s,i,n=a({h:(s=t[1],i=t[2],void 0===i&&(i="deg"),Number(s)*(r[i]||1)),w:Number(t[3]),b:Number(t[4]),a:void 0===t[5]?1:Number(t[5])/(t[6]?100:1)});return c(n)};t.exports=function(e,t){e.prototype.toHwb=function(){return l(u(this.rgba))},e.prototype.toHwbString=function(){return t=(e=l(u(this.rgba))).h,s=e.w,r=e.b,(i=e.a)<1?"hwb("+t+" "+s+"% "+r+"% / "+i+")":"hwb("+t+" "+s+"% "+r+"%)";var e,t,s,r,i},t.string.push([f,"hwb"]),t.object.push([d,"hwb"])}},{}],7:[function(e,t,s){var r=e=>"string"==typeof e?e.length>0:"number"==typeof e,i=(e,t,s)=>(void 0===t&&(t=0),void 0===s&&(s=Math.pow(10,t)),Math.round(s*e)/s+0),n=(e,t,s)=>(void 0===t&&(t=0),void 0===s&&(s=1),e>s?s:e>t?e:t),o=e=>{var t=e/255;return t<.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)},a=e=>255*(e>.0031308?1.055*Math.pow(e,1/2.4)-.055:12.92*e),l=96.422,u=82.521,c=216/24389,d=24389/27,p=e=>{var t=e.l,s=e.a,i=e.b,o=e.alpha,a=void 0===o?1:o;if(!r(t)||!r(s)||!r(i))return null;var l=(e=>({l:n(e.l,0,400),a:e.a,b:e.b,alpha:n(e.alpha)}))({l:Number(t),a:Number(s),b:Number(i),alpha:Number(a)});return f(l)},f=e=>{var t,s,r,i,o,p,f=(e.l+16)/116,m=e.a/500+f,h=f-e.b/200;return i=.9555766*(s=t={x:(Math.pow(m,3)>c?Math.pow(m,3):(116*m-16)/d)*l,y:100*(e.l>8?Math.pow((e.l+16)/116,3):e.l/d),z:(Math.pow(h,3)>c?Math.pow(h,3):(116*h-16)/d)*u,a:e.alpha}).x+-.0230393*s.y+.0631636*s.z,r={r:a(.032404542*i-.015371385*(o=-.0282895*s.x+1.0099416*s.y+.0210077*s.z)-.004985314*(p=.0122982*s.x+-.020483*s.y+1.3299098*s.z)),g:a(-.00969266*i+.018760108*o+41556e-8*p),b:a(556434e-9*i-.002040259*o+.010572252*p),a:t.a},{r:n(r.r,0,255),g:n(r.g,0,255),b:n(r.b,0,255),a:n(r.a)}};t.exports=function(e,t){e.prototype.toLab=function(){return e=this.rgba,m=(p=(e=>({x:n(e.x,0,l),y:n(e.y,0,100),z:n(e.z,0,u),a:n(e.a)}))((e=>({x:1.0478112*e.x+.0228866*e.y+-.050127*e.z,y:.0295424*e.x+.9904844*e.y+-.0170491*e.z,z:-.0092345*e.x+.0150436*e.y+.7521316*e.z,a:e.a}))({x:100*(.4124564*(t=o(e.r))+.3575761*(s=o(e.g))+.1804375*(r=o(e.b))),y:100*(.2126729*t+.7151522*s+.072175*r),z:100*(.0193339*t+.119192*s+.9503041*r),a:e.a}))).y/100,h=p.z/u,f=(f=p.x/l)>c?Math.cbrt(f):(d*f+16)/116,a={l:116*(m=m>c?Math.cbrt(m):(d*m+16)/116)-16,a:500*(f-m),b:200*(m-(h=h>c?Math.cbrt(h):(d*h+16)/116)),alpha:p.a},{l:i(a.l,2),a:i(a.a,2),b:i(a.b,2),alpha:i(a.alpha,3)};var e,t,s,r,a,p,f,m,h},e.prototype.delta=function(t){void 0===t&&(t="#FFF");var s=t instanceof e?t:new e(t),r=((e,t)=>{var s=e.l,r=e.a,i=e.b,n=t.l,o=t.a,a=t.b,l=180/Math.PI,u=Math.PI/180,c=Math.pow(Math.pow(r,2)+Math.pow(i,2),.5),d=Math.pow(Math.pow(o,2)+Math.pow(a,2),.5),p=(s+n)/2,f=Math.pow((c+d)/2,7),m=.5*(1-Math.pow(f/(f+Math.pow(25,7)),.5)),h=r*(1+m),g=o*(1+m),w=Math.pow(Math.pow(h,2)+Math.pow(i,2),.5),b=Math.pow(Math.pow(g,2)+Math.pow(a,2),.5),y=(w+b)/2,x=0===h&&0===i?0:Math.atan2(i,h)*l,v=0===g&&0===a?0:Math.atan2(a,g)*l;x<0&&(x+=360),v<0&&(v+=360);var k=v-x,S=Math.abs(v-x);S>180&&v<=x?k+=360:S>180&&v>x&&(k-=360);var O=x+v;S<=180?O/=2:O=(x+v<360?O+360:O-360)/2;var C=1-.17*Math.cos(u*(O-30))+.24*Math.cos(2*u*O)+.32*Math.cos(u*(3*O+6))-.2*Math.cos(u*(4*O-63)),M=n-s,N=b-w,E=2*Math.sin(u*k/2)*Math.pow(w*b,.5),R=1+.015*Math.pow(p-50,2)/Math.pow(20+Math.pow(p-50,2),.5),I=1+.045*y,A=1+.015*y*C,P=30*Math.exp(-1*Math.pow((O-275)/25,2)),T=-2*Math.pow(f/(f+Math.pow(25,7)),.5)*Math.sin(2*u*P);return Math.pow(Math.pow(M/1/R,2)+Math.pow(N/1/I,2)+Math.pow(E/1/A,2)+T*N*E/(1*I*1*A),.5)})(this.toLab(),s.toLab())/100;return n(i(r,3))},t.object.push([p,"lab"])}},{}],8:[function(e,t,s){var r={grad:.9,turn:360,rad:360/(2*Math.PI)},i=e=>"string"==typeof e?e.length>0:"number"==typeof e,n=(e,t,s)=>(void 0===t&&(t=0),void 0===s&&(s=Math.pow(10,t)),Math.round(s*e)/s+0),o=(e,t,s)=>(void 0===t&&(t=0),void 0===s&&(s=1),e>s?s:e>t?e:t),a=e=>{var t=e/255;return t<.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)},l=e=>255*(e>.0031308?1.055*Math.pow(e,1/2.4)-.055:12.92*e),u=96.422,c=82.521,d=216/24389,p=24389/27,f=e=>{return{l:o(e.l,0,100),c:e.c,h:(t=e.h,(t=isFinite(t)?t%360:0)>0?t:t+360),a:e.a};var t},m=e=>({l:n(e.l,2),c:n(e.c,2),h:n(e.h,2),a:n(e.a,3)}),h=e=>{var t=e.l,s=e.c,r=e.h,n=e.a,o=void 0===n?1:n;if(!i(t)||!i(s)||!i(r))return null;var a=f({l:Number(t),c:Number(s),h:Number(r),a:Number(o)});return w(a)},g=e=>{var t,s,r,i,l,f,m,h,g=(f=(l=(e=>({x:o(e.x,0,u),y:o(e.y,0,100),z:o(e.z,0,c),a:o(e.a)}))((e=>({x:1.0478112*e.x+.0228866*e.y+-.050127*e.z,y:.0295424*e.x+.9904844*e.y+-.0170491*e.z,z:-.0092345*e.x+.0150436*e.y+.7521316*e.z,a:e.a}))({x:100*(.4124564*(s=a((t=e).r))+.3575761*(r=a(t.g))+.1804375*(i=a(t.b))),y:100*(.2126729*s+.7151522*r+.072175*i),z:100*(.0193339*s+.119192*r+.9503041*i),a:t.a}))).x/u,m=l.y/100,h=l.z/c,f=f>d?Math.cbrt(f):(p*f+16)/116,{l:116*(m=m>d?Math.cbrt(m):(p*m+16)/116)-16,a:500*(f-m),b:200*(m-(h=h>d?Math.cbrt(h):(p*h+16)/116)),alpha:l.a}),w=n(g.a,3),b=n(g.b,3),y=Math.atan2(b,w)/Math.PI*180;return{l:g.l,c:Math.sqrt(w*w+b*b),h:y<0?y+360:y,a:g.alpha}},w=e=>{return h=(f={l:e.l,a:e.c*Math.cos(e.h*Math.PI/180),b:e.c*Math.sin(e.h*Math.PI/180),alpha:e.a}).a/500+(m=(f.l+16)/116),g=m-f.b/200,i=.9555766*(s=t={x:(Math.pow(h,3)>d?Math.pow(h,3):(116*h-16)/p)*u,y:100*(f.l>8?Math.pow((f.l+16)/116,3):f.l/p),z:(Math.pow(g,3)>d?Math.pow(g,3):(116*g-16)/p)*c,a:f.alpha}).x+-.0230393*s.y+.0631636*s.z,r={r:l(.032404542*i-.015371385*(n=-.0282895*s.x+1.0099416*s.y+.0210077*s.z)-.004985314*(a=.0122982*s.x+-.020483*s.y+1.3299098*s.z)),g:l(-.00969266*i+.018760108*n+41556e-8*a),b:l(556434e-9*i-.002040259*n+.010572252*a),a:t.a},{r:o(r.r,0,255),g:o(r.g,0,255),b:o(r.b,0,255),a:o(r.a)};var t,s,r,i,n,a,f,m,h,g},b=/^lch\(\s*([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)\s+([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,y=e=>{var t=b.exec(e);if(!t)return null;var s,i,n=f({l:Number(t[1]),c:Number(t[2]),h:(s=t[3],i=t[4],void 0===i&&(i="deg"),Number(s)*(r[i]||1)),a:void 0===t[5]?1:Number(t[5])/(t[6]?100:1)});return w(n)};t.exports=function(e,t){e.prototype.toLch=function(){return m(g(this.rgba))},e.prototype.toLchString=function(){return t=(e=m(g(this.rgba))).l,s=e.c,r=e.h,(i=e.a)<1?"lch("+t+"% "+s+" "+r+" / "+i+")":"lch("+t+"% "+s+" "+r+")";var e,t,s,r,i},t.string.push([y,"lch"]),t.object.push([h,"lch"])}},{}],9:[function(e,t,s){t.exports=function(e,t){var s={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},r={};for(var i in s)r[s[i]]=i;var n={};e.prototype.toName=function(t){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var i,o,a=r[this.toHex()];if(a)return a;if(null==t?void 0:t.closest){var l=this.toRgb(),u=1/0,c="black";if(!n.length)for(var d in s)n[d]=new e(s[d]).toRgb();for(var p in s){var f=(i=l,o=n[p],Math.pow(i.r-o.r,2)+Math.pow(i.g-o.g,2)+Math.pow(i.b-o.b,2));f{var r=t.toLowerCase(),i="transparent"===r?"#0000":s[r];return i?new e(i).toRgb():null},"name"])}},{}],10:[(e,t,s)=>{var r={}.hasOwnProperty,i=/[ -,\.\/:-@\[-\^`\{-~]/,n=/[ -,\.\/:-@\[\]\^`\{-~]/,o=/(^|\\+)?(\\[A-F0-9]{1,6})\x20(?![a-fA-F0-9\x20])/g,a=function e(t,s){"single"!=(s=((e,t)=>{if(!e)return t;var s={};for(var i in t)s[i]=r.call(e,i)?e[i]:t[i];return s})(s,e.options)).quotes&&"double"!=s.quotes&&(s.quotes="single");for(var a="double"==s.quotes?'"':"'",l=s.isIdentifier,u=t.charAt(0),c="",d=0,p=t.length;d126){if(m>=55296&&m<=56319&&dt&&t.length%2?e:(t||"")+s),!l&&s.wrap?a+c+a:c};a.options={escapeEverything:!1,isIdentifier:!1,quotes:"single",wrap:!1},a.version="3.0.0",t.exports=a},{}],11:[(e,t,s)=>{const r=e("clone-regexp");t.exports=((e,t)=>{let s;const i=[],n=r(e,{lastIndex:0}),o=n.global;for(;(s=n.exec(t))&&(i.push({match:s[0],subMatches:s.slice(1),index:s.index}),o););return i})},{"clone-regexp":4}],12:[(e,t,s)=>{s.__esModule=!0,s.distance=s.closest=void 0;var r=new Uint32Array(65536),i=(e,t)=>{if(e.length{for(var s=e.length,i=t.length,n=1<{for(var s=t.length,i=e.length,n=[],o=[],a=Math.ceil(s/32),l=Math.ceil(i/32),u=0;u>>u&1,b=g|d,y=p&(M=((g|(C=n[u/32|0]>>>u&1))&p)+p^p|g|C);(N=d|~(M|p))>>>31^w&&(o[u/32|0]^=1<>>31^C&&(n[u/32|0]^=1<>>u&1,b=g|x,O+=(N=x|~((M=((g|(C=n[u/32|0]>>>u&1))&v)+v^v|g|C)|v))>>>i-1&1,O-=(y=v&M)>>>i-1&1,N>>>31^w&&(o[u/32|0]^=1<>>31^C&&(n[u/32|0]^=1<{for(var s=1/0,r=0,n=0;n{t.exports=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","math","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rb","rp","rt","rtc","ruby","s","samp","script","section","select","slot","small","source","span","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"]},{}],14:[(e,t,s)=>{t.exports=e("./html-tags.json")},{"./html-tags.json":13}],15:[function(e,t,s){(function(e){(function(){function s(e){return Array.isArray(e)?e:[e]}const r=/^\s+$/,i=/^\\!/,n=/^\\#/,o=/\r?\n/g,a=/^\.*\/|^\.+$/,l="undefined"!=typeof Symbol?Symbol.for("node-ignore"):"node-ignore",u=/([0-z])-([0-z])/g,c=()=>!1,d=[[/\\?\s+$/,e=>0===e.indexOf("\\")?" ":""],[/\\\s/g,()=>" "],[/[\\$.|*+(){^]/g,e=>`\\${e}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(e,t,s)=>t+6`${t}[^\\/]*`],[/\\\\\\(?=[$.|*+(){^])/g,()=>"\\"],[/\\\\/g,()=>"\\"],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(e,t,s,r,i)=>"\\"===t?`\\[${s}${(e=>{const{length:t}=e;return e.slice(0,t-t%2)})(r)}${i}`:"]"===i&&r.length%2==0?`[${(e=>e.replace(u,(e,t,s)=>t.charCodeAt(0)<=s.charCodeAt(0)?e:""))(s)}${r}]`:"[]"],[/(?:[^*])$/,e=>/\/$/.test(e)?`${e}$`:`${e}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(e,t)=>`${t?`${t}[^/]+`:"[^/]*"}(?=$|\\/$)`]],p=Object.create(null),f=e=>"string"==typeof e,m=(e,t)=>{const s=e;let r=!1;return 0===e.indexOf("!")&&(r=!0,e=e.substr(1)),new class{constructor(e,t,s,r){this.origin=e,this.pattern=t,this.negative=s,this.regex=r}}(s,e=e.replace(i,"!").replace(n,"#"),r,((e,t)=>{let s=p[e];return s||(s=d.reduce((t,s)=>t.replace(s[0],s[1].bind(e)),e),p[e]=s),t?new RegExp(s,"i"):new RegExp(s)})(e,t))},h=(e,t)=>{throw new t(e)},g=(e,t,s)=>f(e)?e?!g.isNotRelative(e)||s(`path should be a \`path.relative()\`d string, but got "${t}"`,RangeError):s("path must not be empty",TypeError):s(`path must be a string, but got \`${t}\``,TypeError),w=e=>a.test(e);g.isNotRelative=w,g.convert=(e=>e);const b=e=>new class{constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:s=!1}={}){((e,t,s)=>Object.defineProperty(e,t,{value:s}))(this,l,!0),this._rules=[],this._ignoreCase=t,this._allowRelativePaths=s,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[l])return this._rules=this._rules.concat(e._rules),void(this._added=!0);if((e=>e&&f(e)&&!r.test(e)&&0!==e.indexOf("#"))(e)){const t=m(e,this._ignoreCase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,s(f(e)?(e=>e.split(o))(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,t){let s=!1,r=!1;return this._rules.forEach(i=>{const{negative:n}=i;r===n&&s!==r||n&&!s&&!r&&!t||i.regex.test(e)&&(s=!n,r=n)}),{ignored:s,unignored:r}}_test(e,t,s,r){const i=e&&g.convert(e);return g(i,e,this._allowRelativePaths?c:h),this._t(i,t,s,r)}_t(e,t,s,r){if(e in t)return t[e];if(r||(r=e.split("/")),r.pop(),!r.length)return t[e]=this._testOne(e,s);const i=this._t(r.join("/")+"/",t,s,r);return t[e]=i.ignored?i:this._testOne(e,s)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return s(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}}(e);if(b.isPathValid=(e=>g(e&&g.convert(e),e,c)),b.default=b,t.exports=b,void 0!==e&&(e.env&&e.env.IGNORE_TEST_WIN32||"win32"===e.platform)){const e=e=>/^\\\\\?\\/.test(e)||/["<>|\u0000-\u001F]+/u.test(e)?e:e.replace(/\\/g,"/");g.convert=e;const t=/^[a-z]:\//i;g.isNotRelative=(e=>t.test(e)||w(e))}}).call(this)}).call(this,e("_process"))},{_process:91}],16:[(e,t,s)=>{function r(e){return"[object Object]"===Object.prototype.toString.call(e)}Object.defineProperty(s,"__esModule",{value:!0}),s.isPlainObject=(e=>{var t,s;return!1!==r(e)&&(void 0===(t=e.constructor)||!1!==r(s=t.prototype)&&!1!==s.hasOwnProperty("isPrototypeOf"))})},{}],17:[(e,t,s)=>{t.exports=(e=>"[object RegExp]"===Object.prototype.toString.call(e))},{}],18:[(e,t,s)=>{t.exports={properties:["-epub-caption-side","-epub-hyphens","-epub-text-combine","-epub-text-emphasis","-epub-text-emphasis-color","-epub-text-emphasis-style","-epub-text-orientation","-epub-text-transform","-epub-word-break","-epub-writing-mode","-internal-text-autosizing-status","accelerator","accent-color","-wap-accesskey","additive-symbols","align-content","-webkit-align-content","align-items","-webkit-align-items","align-self","-webkit-align-self","alignment-baseline","all","alt","-webkit-alt","animation","animation-delay","-moz-animation-delay","-ms-animation-delay","-webkit-animation-delay","animation-direction","-moz-animation-direction","-ms-animation-direction","-webkit-animation-direction","animation-duration","-moz-animation-duration","-ms-animation-duration","-webkit-animation-duration","animation-fill-mode","-moz-animation-fill-mode","-ms-animation-fill-mode","-webkit-animation-fill-mode","animation-iteration-count","-moz-animation-iteration-count","-ms-animation-iteration-count","-webkit-animation-iteration-count","-moz-animation","-ms-animation","animation-name","-moz-animation-name","-ms-animation-name","-webkit-animation-name","animation-play-state","-moz-animation-play-state","-ms-animation-play-state","-webkit-animation-play-state","animation-timing-function","-moz-animation-timing-function","-ms-animation-timing-function","-webkit-animation-timing-function","-webkit-animation-trigger","-webkit-animation","app-region","-webkit-app-region","appearance","-moz-appearance","-webkit-appearance","ascent-override","aspect-ratio","-webkit-aspect-ratio","audio-level","azimuth","backdrop-filter","-webkit-backdrop-filter","backface-visibility","-moz-backface-visibility","-ms-backface-visibility","-webkit-backface-visibility","background","background-attachment","-webkit-background-attachment","background-blend-mode","background-clip","-moz-background-clip","-webkit-background-clip","background-color","-webkit-background-color","-webkit-background-composite","background-image","-webkit-background-image","-moz-background-inline-policy","background-origin","-moz-background-origin","-webkit-background-origin","background-position","-webkit-background-position","background-position-x","-webkit-background-position-x","background-position-y","-webkit-background-position-y","background-repeat","-webkit-background-repeat","background-repeat-x","background-repeat-y","background-size","-moz-background-size","-webkit-background-size","-webkit-background","base-palette","baseline-shift","baseline-source","behavior","-moz-binding","block-ellipsis","-ms-block-progression","block-size","block-step","block-step-align","block-step-insert","block-step-round","block-step-size","bookmark-label","bookmark-level","bookmark-state","border","-webkit-border-after-color","-webkit-border-after-style","-webkit-border-after","-webkit-border-after-width","-webkit-border-before-color","-webkit-border-before-style","-webkit-border-before","-webkit-border-before-width","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","-moz-border-bottom-colors","border-bottom-left-radius","-webkit-border-bottom-left-radius","border-bottom-right-radius","-webkit-border-bottom-right-radius","border-bottom-style","border-bottom-width","border-boundary","border-collapse","border-color","-moz-border-end-color","-webkit-border-end-color","border-end-end-radius","-moz-border-end","border-end-start-radius","-moz-border-end-style","-webkit-border-end-style","-webkit-border-end","-moz-border-end-width","-webkit-border-end-width","-webkit-border-fit","-webkit-border-horizontal-spacing","border-image","-moz-border-image","-o-border-image","border-image-outset","-webkit-border-image-outset","border-image-repeat","-webkit-border-image-repeat","border-image-slice","-webkit-border-image-slice","border-image-source","-webkit-border-image-source","-webkit-border-image","border-image-width","-webkit-border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","-moz-border-left-colors","border-left-style","border-left-width","border-radius","-moz-border-radius-bottomleft","-moz-border-radius-bottomright","-moz-border-radius","-moz-border-radius-topleft","-moz-border-radius-topright","-webkit-border-radius","border-right","border-right-color","-moz-border-right-colors","border-right-style","border-right-width","border-spacing","-moz-border-start-color","-webkit-border-start-color","border-start-end-radius","-moz-border-start","border-start-start-radius","-moz-border-start-style","-webkit-border-start-style","-webkit-border-start","-moz-border-start-width","-webkit-border-start-width","border-style","border-top","border-top-color","-moz-border-top-colors","border-top-left-radius","-webkit-border-top-left-radius","border-top-right-radius","-webkit-border-top-right-radius","border-top-style","border-top-width","-webkit-border-vertical-spacing","border-width","bottom","-moz-box-align","-webkit-box-align","box-decoration-break","-webkit-box-decoration-break","-moz-box-direction","-webkit-box-direction","-webkit-box-flex-group","-moz-box-flex","-webkit-box-flex","-webkit-box-lines","-moz-box-ordinal-group","-webkit-box-ordinal-group","-moz-box-orient","-webkit-box-orient","-moz-box-pack","-webkit-box-pack","-webkit-box-reflect","box-shadow","-moz-box-shadow","-webkit-box-shadow","box-sizing","-moz-box-sizing","-webkit-box-sizing","box-snap","break-after","break-before","break-inside","buffered-rendering","caption-side","caret","caret-color","caret-shape","chains","clear","clip","clip-path","-webkit-clip-path","clip-rule","color","color-adjust","-webkit-color-correction","-apple-color-filter","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","-webkit-column-axis","-webkit-column-break-after","-webkit-column-break-before","-webkit-column-break-inside","column-count","-moz-column-count","-webkit-column-count","column-fill","-moz-column-fill","-webkit-column-fill","column-gap","-moz-column-gap","-webkit-column-gap","column-progression","-webkit-column-progression","column-rule","column-rule-color","-moz-column-rule-color","-webkit-column-rule-color","-moz-column-rule","column-rule-style","-moz-column-rule-style","-webkit-column-rule-style","-webkit-column-rule","column-rule-width","-moz-column-rule-width","-webkit-column-rule-width","column-span","-moz-column-span","-webkit-column-span","column-width","-moz-column-width","-webkit-column-width","columns","-moz-columns","-webkit-columns","-webkit-composition-fill-color","-webkit-composition-frame-color","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","-ms-content-zoom-chaining","-ms-content-zoom-limit-max","-ms-content-zoom-limit-min","-ms-content-zoom-limit","-ms-content-zoom-snap","-ms-content-zoom-snap-points","-ms-content-zoom-snap-type","-ms-content-zooming","continue","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","-webkit-cursor-visibility","cx","cy","d","-apple-dashboard-region","-webkit-dashboard-region","descent-override","direction","display","display-align","dominant-baseline","elevation","empty-cells","enable-background","epub-caption-side","epub-hyphens","epub-text-combine","epub-text-emphasis","epub-text-emphasis-color","epub-text-emphasis-style","epub-text-orientation","epub-text-transform","epub-word-break","epub-writing-mode","fallback","fill","fill-break","fill-color","fill-image","fill-opacity","fill-origin","fill-position","fill-repeat","fill-rule","fill-size","filter","-ms-filter","-webkit-filter","flex","-ms-flex-align","-webkit-flex-align","flex-basis","-webkit-flex-basis","flex-direction","-ms-flex-direction","-webkit-flex-direction","flex-flow","-ms-flex-flow","-webkit-flex-flow","flex-grow","-webkit-flex-grow","-ms-flex-item-align","-webkit-flex-item-align","-ms-flex-line-pack","-webkit-flex-line-pack","-ms-flex","-ms-flex-negative","-ms-flex-order","-webkit-flex-order","-ms-flex-pack","-webkit-flex-pack","-ms-flex-positive","-ms-flex-preferred-size","flex-shrink","-webkit-flex-shrink","-webkit-flex","flex-wrap","-ms-flex-wrap","-webkit-flex-wrap","float","float-defer","-moz-float-edge","float-offset","float-reference","flood-color","flood-opacity","flow","flow-from","-ms-flow-from","-webkit-flow-from","flow-into","-ms-flow-into","-webkit-flow-into","font","font-display","font-family","font-feature-settings","-moz-font-feature-settings","-ms-font-feature-settings","-webkit-font-feature-settings","font-kerning","-webkit-font-kerning","font-language-override","-moz-font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","-webkit-font-size-delta","-webkit-font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","-webkit-font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","footnote-display","footnote-policy","-moz-force-broken-image-icon","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","-webkit-grid-after","grid-area","grid-auto-columns","-webkit-grid-auto-columns","grid-auto-flow","-webkit-grid-auto-flow","grid-auto-rows","-webkit-grid-auto-rows","-webkit-grid-before","grid-column","-ms-grid-column-align","grid-column-end","grid-column-gap","-ms-grid-column","-ms-grid-column-span","grid-column-start","-webkit-grid-column","-ms-grid-columns","-webkit-grid-columns","-webkit-grid-end","grid-gap","grid-row","-ms-grid-row-align","grid-row-end","grid-row-gap","-ms-grid-row","-ms-grid-row-span","grid-row-start","-webkit-grid-row","-ms-grid-rows","-webkit-grid-rows","-webkit-grid-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","-ms-high-contrast-adjust","-webkit-highlight","hyphenate-character","-webkit-hyphenate-character","-webkit-hyphenate-limit-after","-webkit-hyphenate-limit-before","hyphenate-limit-chars","-ms-hyphenate-limit-chars","hyphenate-limit-last","hyphenate-limit-lines","-ms-hyphenate-limit-lines","-webkit-hyphenate-limit-lines","hyphenate-limit-zone","-ms-hyphenate-limit-zone","hyphens","-moz-hyphens","-ms-hyphens","-webkit-hyphens","image-orientation","-moz-image-region","image-rendering","image-resolution","-ms-ime-align","ime-mode","inherits","initial-letter","initial-letter-align","-webkit-initial-letter","initial-letter-wrap","initial-value","inline-size","inline-sizing","input-format","-wap-input-format","-wap-input-required","input-security","inset","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","-ms-interpolation-mode","isolation","justify-content","-webkit-justify-content","justify-items","-webkit-justify-items","justify-self","-webkit-justify-self","kerning","layout-flow","layout-grid","layout-grid-char","layout-grid-line","layout-grid-mode","layout-grid-type","leading-trim","left","letter-spacing","lighting-color","-webkit-line-align","-webkit-line-box-contain","line-break","-webkit-line-break","line-clamp","-webkit-line-clamp","line-gap-override","line-grid","-webkit-line-grid-snap","-webkit-line-grid","line-height","line-height-step","line-increment","line-padding","line-snap","-webkit-line-snap","-o-link","-o-link-source","list-style","list-style-image","list-style-position","list-style-type","-webkit-locale","-webkit-logical-height","-webkit-logical-width","margin","-webkit-margin-after-collapse","-webkit-margin-after","-webkit-margin-before-collapse","-webkit-margin-before","margin-block","margin-block-end","margin-block-start","margin-bottom","-webkit-margin-bottom-collapse","margin-break","-webkit-margin-collapse","-moz-margin-end","-webkit-margin-end","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","-moz-margin-start","-webkit-margin-start","margin-top","-webkit-margin-top-collapse","margin-trim","marker","marker-end","marker-knockout-left","marker-knockout-right","marker-mid","marker-offset","marker-pattern","marker-segment","marker-side","marker-start","marks","-wap-marquee-dir","-webkit-marquee-direction","-webkit-marquee-increment","-wap-marquee-loop","-webkit-marquee-repetition","-wap-marquee-speed","-webkit-marquee-speed","-wap-marquee-style","-webkit-marquee-style","-webkit-marquee","mask","-webkit-mask-attachment","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","-webkit-mask-box-image-outset","-webkit-mask-box-image-repeat","-webkit-mask-box-image-slice","-webkit-mask-box-image-source","-webkit-mask-box-image","-webkit-mask-box-image-width","mask-clip","-webkit-mask-clip","mask-composite","-webkit-mask-composite","mask-image","-webkit-mask-image","mask-mode","mask-origin","-webkit-mask-origin","mask-position","-webkit-mask-position","mask-position-x","-webkit-mask-position-x","mask-position-y","-webkit-mask-position-y","mask-repeat","-webkit-mask-repeat","-webkit-mask-repeat-x","-webkit-mask-repeat-y","mask-size","-webkit-mask-size","mask-source-type","-webkit-mask-source-type","mask-type","-webkit-mask","-webkit-match-nearest-mail-blockquote-color","math-style","max-block-size","max-height","max-inline-size","max-lines","-webkit-max-logical-height","-webkit-max-logical-width","max-width","max-zoom","min-block-size","min-height","min-inline-size","min-intrinsic-sizing","-webkit-min-logical-height","-webkit-min-logical-width","min-width","min-zoom","mix-blend-mode","motion","motion-offset","motion-path","motion-rotation","nav-down","nav-index","nav-left","nav-right","nav-up","-webkit-nbsp-mode","negative","object-fit","-o-object-fit","object-overflow","object-position","-o-object-position","object-view-box","offset","offset-anchor","offset-block-end","offset-block-start","offset-distance","offset-inline-end","offset-inline-start","offset-path","offset-position","offset-rotate","offset-rotation","opacity","-moz-opacity","-webkit-opacity","order","-webkit-order","-moz-orient","orientation","orphans","-moz-osx-font-smoothing","outline","outline-color","-moz-outline-color","-moz-outline","outline-offset","-moz-outline-offset","-moz-outline-radius-bottomleft","-moz-outline-radius-bottomright","-moz-outline-radius","-moz-outline-radius-topleft","-moz-outline-radius-topright","outline-style","-moz-outline-style","outline-width","-moz-outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","-webkit-overflow-scrolling","-ms-overflow-style","overflow-wrap","overflow-x","overflow-y","override-colors","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","pad","padding","-webkit-padding-after","-webkit-padding-before","padding-block","padding-block-end","padding-block-start","padding-bottom","-moz-padding-end","-webkit-padding-end","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","-moz-padding-start","-webkit-padding-start","padding-top","page","page-break-after","page-break-before","page-break-inside","page-orientation","paint-order","pause","pause-after","pause-before","-apple-pay-button-style","-apple-pay-button-type","pen-action","perspective","-moz-perspective","-ms-perspective","perspective-origin","-moz-perspective-origin","-ms-perspective-origin","-webkit-perspective-origin","perspective-origin-x","-webkit-perspective-origin-x","perspective-origin-y","-webkit-perspective-origin-y","-webkit-perspective","pitch","pitch-range","place-content","place-items","place-self","play-during","pointer-events","position","prefix","print-color-adjust","-webkit-print-color-adjust","property-name","quotes","r","range","-webkit-region-break-after","-webkit-region-break-before","-webkit-region-break-inside","region-fragment","-webkit-region-fragment","-webkit-region-overflow","resize","rest","rest-after","rest-before","richness","right","rotate","row-gap","-webkit-rtl-ordering","ruby-align","ruby-merge","ruby-overhang","ruby-position","-webkit-ruby-position","running","rx","ry","scale","scroll-behavior","-ms-scroll-chaining","-ms-scroll-limit","-ms-scroll-limit-x-max","-ms-scroll-limit-x-min","-ms-scroll-limit-y-max","-ms-scroll-limit-y-min","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","-ms-scroll-rails","scroll-snap-align","scroll-snap-coordinate","-webkit-scroll-snap-coordinate","scroll-snap-destination","-webkit-scroll-snap-destination","scroll-snap-margin","scroll-snap-margin-bottom","scroll-snap-margin-left","scroll-snap-margin-right","scroll-snap-margin-top","scroll-snap-points-x","-ms-scroll-snap-points-x","-webkit-scroll-snap-points-x","scroll-snap-points-y","-ms-scroll-snap-points-y","-webkit-scroll-snap-points-y","scroll-snap-stop","scroll-snap-type","-ms-scroll-snap-type","-webkit-scroll-snap-type","scroll-snap-type-x","scroll-snap-type-y","-ms-scroll-snap-x","-ms-scroll-snap-y","-ms-scroll-translation","scrollbar-arrow-color","scrollbar-base-color","scrollbar-color","scrollbar-dark-shadow-color","scrollbar-darkshadow-color","scrollbar-face-color","scrollbar-gutter","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-track-color","scrollbar-width","scrollbar3d-light-color","scrollbar3dlight-color","shape-image-threshold","-webkit-shape-image-threshold","shape-inside","-webkit-shape-inside","shape-margin","-webkit-shape-margin","shape-outside","-webkit-shape-outside","-webkit-shape-padding","shape-rendering","size","size-adjust","snap-height","solid-color","solid-opacity","spatial-navigation-action","spatial-navigation-contain","spatial-navigation-function","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","src","-moz-stack-sizing","stop-color","stop-opacity","stress","string-set","stroke","stroke-align","stroke-alignment","stroke-break","stroke-color","stroke-dash-corner","stroke-dash-justify","stroke-dashadjust","stroke-dasharray","stroke-dashcorner","stroke-dashoffset","stroke-image","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-origin","stroke-position","stroke-repeat","stroke-size","stroke-width","suffix","supported-color-schemes","-webkit-svg-shadow","symbols","syntax","system","tab-size","-moz-tab-size","-o-tab-size","-o-table-baseline","table-layout","-webkit-tap-highlight-color","text-align","text-align-all","text-align-last","-moz-text-align-last","text-anchor","text-autospace","-moz-text-blink","-ms-text-combine-horizontal","text-combine-upright","-webkit-text-combine","text-decoration","text-decoration-blink","text-decoration-color","-moz-text-decoration-color","-webkit-text-decoration-color","text-decoration-line","-moz-text-decoration-line","text-decoration-line-through","-webkit-text-decoration-line","text-decoration-none","text-decoration-overline","text-decoration-skip","text-decoration-skip-box","text-decoration-skip-ink","text-decoration-skip-inset","text-decoration-skip-self","text-decoration-skip-spaces","-webkit-text-decoration-skip","text-decoration-style","-moz-text-decoration-style","-webkit-text-decoration-style","text-decoration-thickness","text-decoration-underline","-webkit-text-decoration","-webkit-text-decorations-in-effect","text-edge","text-emphasis","text-emphasis-color","-webkit-text-emphasis-color","text-emphasis-position","-webkit-text-emphasis-position","text-emphasis-skip","text-emphasis-style","-webkit-text-emphasis-style","-webkit-text-emphasis","-webkit-text-fill-color","text-group-align","text-indent","text-justify","text-justify-trim","text-kashida","text-kashida-space","text-line-through","text-line-through-color","text-line-through-mode","text-line-through-style","text-line-through-width","text-orientation","-webkit-text-orientation","text-overflow","text-overline","text-overline-color","text-overline-mode","text-overline-style","text-overline-width","text-rendering","-webkit-text-security","text-shadow","text-size-adjust","-moz-text-size-adjust","-ms-text-size-adjust","-webkit-text-size-adjust","text-space-collapse","text-space-trim","text-spacing","-webkit-text-stroke-color","-webkit-text-stroke","-webkit-text-stroke-width","text-transform","text-underline","text-underline-color","text-underline-mode","text-underline-offset","text-underline-position","-webkit-text-underline-position","text-underline-style","text-underline-width","text-wrap","-webkit-text-zoom","top","touch-action","touch-action-delay","-ms-touch-action","-webkit-touch-callout","-ms-touch-select","-apple-trailing-word","transform","transform-box","-moz-transform","-ms-transform","-o-transform","transform-origin","-moz-transform-origin","-ms-transform-origin","-o-transform-origin","-webkit-transform-origin","transform-origin-x","-webkit-transform-origin-x","transform-origin-y","-webkit-transform-origin-y","transform-origin-z","-webkit-transform-origin-z","transform-style","-moz-transform-style","-ms-transform-style","-webkit-transform-style","-webkit-transform","transition","transition-delay","-moz-transition-delay","-ms-transition-delay","-o-transition-delay","-webkit-transition-delay","transition-duration","-moz-transition-duration","-ms-transition-duration","-o-transition-duration","-webkit-transition-duration","-moz-transition","-ms-transition","-o-transition","transition-property","-moz-transition-property","-ms-transition-property","-o-transition-property","-webkit-transition-property","transition-timing-function","-moz-transition-timing-function","-ms-transition-timing-function","-o-transition-timing-function","-webkit-transition-timing-function","-webkit-transition","translate","uc-alt-skin","uc-skin","unicode-bidi","unicode-range","-webkit-user-drag","-moz-user-focus","-moz-user-input","-moz-user-modify","-webkit-user-modify","user-select","-moz-user-select","-ms-user-select","-webkit-user-select","user-zoom","vector-effect","vertical-align","viewport-fill","viewport-fill-opacity","viewport-fit","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","-webkit-widget-region","widows","width","will-change","-moz-window-dragging","-moz-window-shadow","word-boundary-detection","word-boundary-expansion","word-break","word-spacing","word-wrap","wrap-after","wrap-before","wrap-flow","-ms-wrap-flow","-webkit-wrap-flow","wrap-inside","-ms-wrap-margin","-webkit-wrap-margin","-webkit-wrap-padding","-webkit-wrap-shape-inside","-webkit-wrap-shape-outside","wrap-through","-ms-wrap-through","-webkit-wrap-through","-webkit-wrap","writing-mode","-webkit-writing-mode","x","y","z-index","zoom"]}},{}],19:[(e,t,s)=>{t.exports.all=e("./data/all.json").properties},{"./data/all.json":18}],20:[(e,t,s)=>{t.exports=["abs","and","annotation","annotation-xml","apply","approx","arccos","arccosh","arccot","arccoth","arccsc","arccsch","arcsec","arcsech","arcsin","arcsinh","arctan","arctanh","arg","bind","bvar","card","cartesianproduct","cbytes","ceiling","cerror","ci","cn","codomain","complexes","compose","condition","conjugate","cos","cosh","cot","coth","cs","csc","csch","csymbol","curl","declare","degree","determinant","diff","divergence","divide","domain","domainofapplication","emptyset","encoding","eq","equivalent","eulergamma","exists","exp","exponentiale","factorial","factorof","false","floor","fn","forall","function","gcd","geq","grad","gt","ident","image","imaginary","imaginaryi","implies","in","infinity","int","integers","intersect","interval","inverse","lambda","laplacian","lcm","leq","limit","list","ln","log","logbase","lowlimit","lt","maction","malign","maligngroup","malignmark","malignscope","math","matrix","matrixrow","max","mean","median","menclose","merror","mfenced","mfrac","mfraction","mglyph","mi","min","minus","mlabeledtr","mlongdiv","mmultiscripts","mn","mo","mode","moment","momentabout","mover","mpadded","mphantom","mprescripts","mroot","mrow","ms","mscarries","mscarry","msgroup","msline","mspace","msqrt","msrow","mstack","mstyle","msub","msubsup","msup","mtable","mtd","mtext","mtr","munder","munderover","naturalnumbers","neq","none","not","notanumber","notin","notprsubset","notsubset","or","otherwise","outerproduct","partialdiff","pi","piece","piecewice","piecewise","plus","power","primes","product","prsubset","quotient","rationals","real","reals","reln","rem","root","scalarproduct","sdev","sec","sech","select","selector","semantics","sep","set","setdiff","share","sin","sinh","span","subset","sum","tan","tanh","tendsto","times","transpose","true","union","uplimit","var","variance","vector","vectorproduct","xor"]},{}],21:[(e,t,s)=>{t.exports={nanoid(e=21){let t="",s=e;for(;s--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*Math.random()|0];return t},customAlphabet:(e,t=21)=>(s=t)=>{let r="",i=s;for(;i--;)r+=e[Math.random()*e.length|0];return r}}},{}],22:[function(e,t,s){(function(e){(()=>{function s(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function r(e,t){for(var s,r="",i=0,n=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=r.lastIndexOf("/");if(l!==r.length-1){-1===l?(r="",i=0):i=(r=r.slice(0,l)).length-1-r.lastIndexOf("/"),n=a,o=0;continue}}else if(2===r.length||1===r.length){r="",i=0,n=a,o=0;continue}t&&(r.length>0?r+="/..":r="..",i=2)}else r.length>0?r+="/"+e.slice(n+1,a):r=e.slice(n+1,a),i=a-n-1;n=a,o=0}else 46===s&&-1!==o?++o:o=-1}return r}var i={resolve(){for(var t,i="",n=!1,o=arguments.length-1;o>=-1&&!n;o--){var a;o>=0?a=arguments[o]:(void 0===t&&(t=e.cwd()),a=t),s(a),0!==a.length&&(i=a+"/"+i,n=47===a.charCodeAt(0))}return i=r(i,!n),n?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize(e){if(s(e),0===e.length)return".";var t=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1);return 0!==(e=r(e,!t)).length||t||(e="."),e.length>0&&i&&(e+="/"),t?"/"+e:e},isAbsolute:e=>(s(e),e.length>0&&47===e.charCodeAt(0)),join(){if(0===arguments.length)return".";for(var e,t=0;t0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":i.normalize(e)},relative(e,t){if(s(e),s(t),e===t)return"";if((e=i.resolve(e))===(t=i.resolve(t)))return"";for(var r=1;ru){if(47===t.charCodeAt(a+d))return t.slice(a+d+1);if(0===d)return t.slice(a+d)}else o>u&&(47===e.charCodeAt(r+d)?c=d:0===d&&(c=0));break}var p=e.charCodeAt(r+d);if(p!==t.charCodeAt(a+d))break;47===p&&(c=d)}var f="";for(d=r+c+1;d<=n;++d)d!==n&&47!==e.charCodeAt(d)||(0===f.length?f+="..":f+="/..");return f.length>0?f+t.slice(a+c):(a+=c,47===t.charCodeAt(a)&&++a,t.slice(a))},_makeLong:e=>e,dirname(e){if(s(e),0===e.length)return".";for(var t=e.charCodeAt(0),r=47===t,i=-1,n=!0,o=e.length-1;o>=1;--o)if(47===(t=e.charCodeAt(o))){if(!n){i=o;break}}else n=!1;return-1===i?r?"/":".":r&&1===i?"//":e.slice(0,i)},basename(e,t){if(void 0!==t&&"string"!=typeof t)throw new TypeError('"ext" argument must be a string');s(e);var r,i=0,n=-1,o=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var a=t.length-1,l=-1;for(r=e.length-1;r>=0;--r){var u=e.charCodeAt(r);if(47===u){if(!o){i=r+1;break}}else-1===l&&(o=!1,l=r+1),a>=0&&(u===t.charCodeAt(a)?-1==--a&&(n=r):(a=-1,n=l))}return i===n?n=l:-1===n&&(n=e.length),e.slice(i,n)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!o){i=r+1;break}}else-1===n&&(o=!1,n=r+1);return-1===n?"":e.slice(i,n)},extname(e){s(e);for(var t=-1,r=0,i=-1,n=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===i&&(n=!1,i=a+1),46===l?-1===t?t=a:1!==o&&(o=1):-1!==t&&(o=-1);else if(!n){r=a+1;break}}return-1===t||-1===i||0===o||1===o&&t===i-1&&t===r+1?"":e.slice(t,i)},format(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return"/",s=(t=e).dir||t.root,r=t.base||(t.name||"")+(t.ext||""),s?s===t.root?s+r:s+"/"+r:r;var t,s,r},parse(e){s(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var r,i=e.charCodeAt(0),n=47===i;n?(t.root="/",r=1):r=0;for(var o=-1,a=0,l=-1,u=!0,c=e.length-1,d=0;c>=r;--c)if(47!==(i=e.charCodeAt(c)))-1===l&&(u=!1,l=c+1),46===i?-1===o?o=c:1!==d&&(d=1):-1!==o&&(d=-1);else if(!u){a=c+1;break}return-1===o||-1===l||0===d||1===d&&o===l-1&&o===a+1?-1!==l&&(t.base=t.name=0===a&&n?e.slice(1,l):e.slice(a,l)):(0===a&&n?(t.name=e.slice(1,o),t.base=e.slice(1,l)):(t.name=e.slice(a,o),t.base=e.slice(a,l)),t.ext=e.slice(o,l)),a>0?t.dir=e.slice(0,a-1):n&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,t.exports=i}).call(this)}).call(this,e("_process"))},{_process:91}],23:[(e,t,s)=>{var r=String,i=()=>({isColorSupported:!1,reset:r,bold:r,dim:r,italic:r,underline:r,inverse:r,hidden:r,strikethrough:r,black:r,red:r,green:r,yellow:r,blue:r,magenta:r,cyan:r,white:r,gray:r,bgBlack:r,bgRed:r,bgGreen:r,bgYellow:r,bgBlue:r,bgMagenta:r,bgCyan:r,bgWhite:r});t.exports=i(),t.exports.createColors=i},{}],24:[(e,t,s)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.default=(e=>new i.default({nodes:(0,n.parseMediaList)(e),type:"media-query-list",value:e.trim()}));var r,i=(r=e("./nodes/Container"))&&r.__esModule?r:{default:r},n=e("./parsers")},{"./nodes/Container":25,"./parsers":27}],25:[function(e,t,s){Object.defineProperty(s,"__esModule",{value:!0});var r,i=(r=e("./Node"))&&r.__esModule?r:{default:r};function n(e){var t=this;this.constructor(e),this.nodes=e.nodes,void 0===this.after&&(this.after=this.nodes.length>0?this.nodes[this.nodes.length-1].after:""),void 0===this.before&&(this.before=this.nodes.length>0?this.nodes[0].before:""),void 0===this.sourceIndex&&(this.sourceIndex=this.before.length),this.nodes.forEach(e=>{e.parent=t})}n.prototype=Object.create(i.default.prototype),n.constructor=i.default,n.prototype.walk=function(e,t){for(var s="string"==typeof e||e instanceof RegExp,r=s?t:e,i="string"==typeof e?new RegExp(e):e,n=0;n{}:arguments[0],t=0;t{Object.defineProperty(s,"__esModule",{value:!0}),s.parseMediaFeature=o,s.parseMediaQuery=a,s.parseMediaList=(e=>{var t=[],s=0,n=0,o=/^(\s*)url\s*\(/.exec(e);if(null!==o){for(var l=o[0].length,u=1;u>0;){var c=e[l];"("===c&&u++,")"===c&&u--,l++}t.unshift(new r.default({type:"url",value:e.substring(0,l).trim(),sourceIndex:o[1].length,before:o[1],after:/^(\s*)/.exec(e.substring(l))[1]})),s=l}for(var d=s;d0&&(s[d-1].after=l.before),void 0===l.type){if(d>0){if("media-feature-expression"===s[d-1].type){l.type="keyword";continue}if("not"===s[d-1].value||"only"===s[d-1].value){l.type="media-type";continue}if("and"===s[d-1].value){l.type="media-feature-expression";continue}"media-type"===s[d-1].type&&(s[d+1]?l.type="media-feature-expression"===s[d+1].type?"keyword":"media-feature-expression":l.type="media-feature-expression")}if(0===d){if(!s[d+1]){l.type="media-type";continue}if(s[d+1]&&("media-feature-expression"===s[d+1].type||"keyword"===s[d+1].type)){l.type="media-type";continue}if(s[d+2]){if("media-feature-expression"===s[d+2].type){l.type="media-type",s[d+1].type="keyword";continue}if("keyword"===s[d+2].type){l.type="keyword",s[d+1].type="media-type";continue}}if(s[d+3]&&"media-feature-expression"===s[d+3].type){l.type="keyword",s[d+1].type="media-type",s[d+2].type="keyword";continue}}}return s}},{"./nodes/Container":25,"./nodes/Node":26}],28:[(e,t,s)=>{t.exports=function e(t,s){var r=s.parent,i="atrule"===r.type&&"nest"===r.name;return"root"===r.type?[t]:"rule"===r.type||i?(i?r.params.split(",").map(e=>e.trim()):r.selectors).reduce((s,i)=>{if(-1!==t.indexOf("&")){var n=e(i,r).map(e=>t.replace(/&/g,e));return s.concat(n)}var o=[i,t].join(" ");return s.concat(e(o,r))},[]):e(t,r)}},{}],29:[(e,t,s)=>{s.__esModule=!0,s.default=void 0;var r,i=(r=e("./processor"))&&r.__esModule?r:{default:r},n=(e=>{if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=function(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return()=>e,e}();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var n=r?Object.getOwnPropertyDescriptor(e,i):null;n&&(n.get||n.set)?Object.defineProperty(s,i,n):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s})(e("./selectors"));var o=e=>new i.default(e);Object.assign(o,n),delete o.__esModule;var a=o;s.default=a,t.exports=s.default},{"./processor":31,"./selectors":40}],30:[function(e,t,s){s.__esModule=!0,s.default=void 0;var r,i,n=O(e("./selectors/root")),o=O(e("./selectors/selector")),a=O(e("./selectors/className")),l=O(e("./selectors/comment")),u=O(e("./selectors/id")),c=O(e("./selectors/tag")),d=O(e("./selectors/string")),p=O(e("./selectors/pseudo")),f=S(e("./selectors/attribute")),m=O(e("./selectors/universal")),h=O(e("./selectors/combinator")),g=O(e("./selectors/nesting")),w=O(e("./sortAscending")),b=S(e("./tokenize")),y=S(e("./tokenTypes")),x=S(e("./selectors/types")),v=e("./util");function k(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return k=(()=>e),e}function S(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=k();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var n=r?Object.getOwnPropertyDescriptor(e,i):null;n&&(n.get||n.set)?Object.defineProperty(s,i,n):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s}function O(e){return e&&e.__esModule?e:{default:e}}function C(e,t){for(var s=0;s"string"==typeof e.rule?new Error(t):e.rule.error(t,s)},r.attribute=function(){var e=[],t=this.currToken;for(this.position++;this.position{var n=s.lossySpace(e.spaces.before,t),o=s.lossySpace(e.rawSpaceBefore,t);r+=n+s.lossySpace(e.spaces.after,t&&0===n.length),i+=n+e.value+s.lossySpace(e.rawSpaceAfter,t&&0===o.length)}),i===r&&(i=void 0),{space:r,rawSpace:i}},r.isNamedCombinator=function(e){return void 0===e&&(e=this.position),this.tokens[e+0]&&this.tokens[e+0][b.FIELDS.TYPE]===y.slash&&this.tokens[e+1]&&this.tokens[e+1][b.FIELDS.TYPE]===y.word&&this.tokens[e+2]&&this.tokens[e+2][b.FIELDS.TYPE]===y.slash},r.namedCombinator=function(){if(this.isNamedCombinator()){var e=this.content(this.tokens[this.position+1]),t=(0,v.unesc)(e).toLowerCase(),s={};t!==e&&(s.value="/"+e+"/");var r=new h.default({value:"/"+t+"/",source:I(this.currToken[b.FIELDS.START_LINE],this.currToken[b.FIELDS.START_COL],this.tokens[this.position+2][b.FIELDS.END_LINE],this.tokens[this.position+2][b.FIELDS.END_COL]),sourceIndex:this.currToken[b.FIELDS.START_POS],raws:s});return this.position=this.position+3,r}this.unexpected()},r.combinator=function(){var e=this;if("|"===this.content())return this.namespace();var t=this.locateNextMeaningfulToken(this.position);if(!(t<0||this.tokens[t][b.FIELDS.TYPE]===y.comma)){var s,r=this.currToken,i=void 0;if(t>this.position&&(i=this.parseWhitespaceEquivalentTokens(t)),this.isNamedCombinator()?s=this.namedCombinator():this.currToken[b.FIELDS.TYPE]===y.combinator?(s=new h.default({value:this.content(),source:A(this.currToken),sourceIndex:this.currToken[b.FIELDS.START_POS]}),this.position++):M[this.currToken[b.FIELDS.TYPE]]||i||this.unexpected(),s){if(i){var n=this.convertWhitespaceNodesToSpace(i),o=n.space,a=n.rawSpace;s.spaces.before=o,s.rawSpaceBefore=a}}else{var l=this.convertWhitespaceNodesToSpace(i,!0),u=l.space,c=l.rawSpace;c||(c=u);var d={},p={spaces:{}};u.endsWith(" ")&&c.endsWith(" ")?(d.before=u.slice(0,u.length-1),p.spaces.before=c.slice(0,c.length-1)):u.startsWith(" ")&&c.startsWith(" ")?(d.after=u.slice(1),p.spaces.after=c.slice(1)):p.value=c,s=new h.default({value:" ",source:P(r,this.tokens[this.position-1]),sourceIndex:r[b.FIELDS.START_POS],spaces:d,raws:p})}return this.currToken&&this.currToken[b.FIELDS.TYPE]===y.space&&(s.spaces.after=this.optionalSpace(this.content()),this.position++),this.newNode(s)}var f=this.parseWhitespaceEquivalentTokens(t);if(f.length>0){var m=this.current.last;if(m){var g=this.convertWhitespaceNodesToSpace(f),w=g.space,x=g.rawSpace;void 0!==x&&(m.rawSpaceAfter+=x),m.spaces.after+=w}else f.forEach(t=>e.newNode(t))}},r.comma=function(){if(this.position===this.tokens.length-1)return this.root.trailingComma=!0,void this.position++;this.current._inferEndPosition();var e=new o.default({source:{start:E(this.tokens[this.position+1])}});this.current.parent.append(e),this.current=e,this.position++},r.comment=function(){var e=this.currToken;this.newNode(new l.default({value:this.content(),source:A(e),sourceIndex:e[b.FIELDS.START_POS]})),this.position++},r.error=function(e,t){throw this.root.error(e,t)},r.missingBackslash=function(){return this.error("Expected a backslash preceding the semicolon.",{index:this.currToken[b.FIELDS.START_POS]})},r.missingParenthesis=function(){return this.expected("opening parenthesis",this.currToken[b.FIELDS.START_POS])},r.missingSquareBracket=function(){return this.expected("opening square bracket",this.currToken[b.FIELDS.START_POS])},r.unexpected=function(){return this.error("Unexpected '"+this.content()+"'. Escaping special characters with \\ may help.",this.currToken[b.FIELDS.START_POS])},r.namespace=function(){var e=this.prevToken&&this.content(this.prevToken)||!0;return this.nextToken[b.FIELDS.TYPE]===y.word?(this.position++,this.word(e)):this.nextToken[b.FIELDS.TYPE]===y.asterisk?(this.position++,this.universal(e)):void 0},r.nesting=function(){if(this.nextToken&&"|"===this.content(this.nextToken))this.position++;else{var e=this.currToken;this.newNode(new g.default({value:this.content(),source:A(e),sourceIndex:e[b.FIELDS.START_POS]})),this.position++}},r.parentheses=function(){var e=this.current.last,t=1;if(this.position++,e&&e.type===x.PSEUDO){var s=new o.default({source:{start:E(this.tokens[this.position-1])}}),r=this.current;for(e.append(s),this.current=s;this.position{t+=r,e.newNode(new p.default({value:t,source:P(s,e.currToken),sourceIndex:s[b.FIELDS.START_POS]})),i>1&&e.nextToken&&e.nextToken[b.FIELDS.TYPE]===y.openParenthesis&&e.error("Misplaced parenthesis.",{index:e.nextToken[b.FIELDS.START_POS]})}):this.expected(["pseudo-class","pseudo-element"],this.position-1)},r.space=function(){var e=this.content();0===this.position||this.prevToken[b.FIELDS.TYPE]===y.comma||this.prevToken[b.FIELDS.TYPE]===y.openParenthesis||this.current.nodes.every(e=>"comment"===e.type)?(this.spaces=this.optionalSpace(e),this.position++):this.position===this.tokens.length-1||this.nextToken[b.FIELDS.TYPE]===y.comma||this.nextToken[b.FIELDS.TYPE]===y.closeParenthesis?(this.current.last.spaces.after=this.optionalSpace(e),this.position++):this.combinator()},r.string=function(){var e=this.currToken;this.newNode(new d.default({value:this.content(),source:A(e),sourceIndex:e[b.FIELDS.START_POS]})),this.position++},r.universal=function(e){var t=this.nextToken;if(t&&"|"===this.content(t))return this.position++,this.namespace();var s=this.currToken;this.newNode(new m.default({value:this.content(),source:A(s),sourceIndex:s[b.FIELDS.START_POS]}),e),this.position++},r.splitWord=function(e,t){for(var s=this,r=this.nextToken,i=this.content();r&&~[y.dollar,y.caret,y.equals,y.word].indexOf(r[b.FIELDS.TYPE]);){this.position++;var n=this.content();if(i+=n,n.lastIndexOf("\\")===n.length-1){var o=this.nextToken;o&&o[b.FIELDS.TYPE]===y.space&&(i+=this.requiredSpace(this.content(o)),this.position++)}r=this.nextToken}var l=j(i,".").filter(e=>{var t="\\"===i[e-1],s=/^\d+\.\d+%$/.test(i);return!t&&!s}),d=j(i,"#").filter(e=>"\\"!==i[e-1]),p=j(i,"#{");p.length&&(d=d.filter(e=>!~p.indexOf(e)));var f=(0,w.default)(function(){var e=Array.prototype.concat.apply([],arguments);return e.filter((t,s)=>s===e.indexOf(t))}([0].concat(l,d)));f.forEach((r,n)=>{var o,p=f[n+1]||i.length,m=i.slice(r,p);if(0===n&&t)return t.call(s,m,f.length);var h=s.currToken,g=h[b.FIELDS.START_POS]+f[n],w=I(h[1],h[2]+r,h[3],h[2]+(p-1));if(~l.indexOf(r)){var y={value:m.slice(1),source:w,sourceIndex:g};o=new a.default(T(y,"value"))}else if(~d.indexOf(r)){var x={value:m.slice(1),source:w,sourceIndex:g};o=new u.default(T(x,"value"))}else{var v={value:m,source:w,sourceIndex:g};T(v,"value"),o=new c.default(v)}s.newNode(o,e),e=null}),this.position++},r.word=function(e){var t=this.nextToken;return t&&"|"===this.content(t)?(this.position++,this.namespace()):this.splitWord(e)},r.loop=function(){for(;this.position{}),this.funcRes=null,this.options=t}var t=e.prototype;return t._shouldUpdateSelector=function(e,t){return void 0===t&&(t={}),!1!==Object.assign({},this.options,t).updateSelector&&"string"!=typeof e},t._isLossy=function(e){return void 0===e&&(e={}),!1===Object.assign({},this.options,e).lossless},t._root=function(e,t){return void 0===t&&(t={}),new i.default(e,this._parseOptions(t)).root},t._parseOptions=function(e){return{lossy:this._isLossy(e)}},t._run=function(e,t){var s=this;return void 0===t&&(t={}),new Promise((r,i)=>{try{var n=s._root(e,t);Promise.resolve(s.func(n)).then(r=>{var i=void 0;return s._shouldUpdateSelector(e,t)&&(i=n.toString(),e.selector=i),{transform:r,root:n,string:i}}).then(r,i)}catch(e){return void i(e)}})},t._runSync=function(e,t){void 0===t&&(t={});var s=this._root(e,t),r=this.func(s);if(r&&"function"==typeof r.then)throw new Error("Selector processor returned a promise to a synchronous call.");var i=void 0;return t.updateSelector&&"string"!=typeof e&&(i=s.toString(),e.selector=i),{transform:r,root:s,string:i}},t.ast=function(e,t){return this._run(e,t).then(e=>e.root)},t.astSync=function(e,t){return this._runSync(e,t).root},t.transform=function(e,t){return this._run(e,t).then(e=>e.transform)},t.transformSync=function(e,t){return this._runSync(e,t).transform},t.process=function(e,t){return this._run(e,t).then(e=>e.string||e.root.toString())},t.processSync=function(e,t){var s=this._runSync(e,t);return s.string||s.root.toString()},e}();s.default=n,t.exports=s.default},{"./parser":30}],32:[function(e,t,s){s.__esModule=!0,s.unescapeValue=g,s.default=void 0;var r,i=l(e("cssesc")),n=l(e("../util/unesc")),o=l(e("./namespace")),a=e("./types");function l(e){return e&&e.__esModule?e:{default:e}}function u(e,t){for(var s=0;s(e.__proto__=t,e)))(e,t)}var d=e("util-deprecate"),p=/^('|")([^]*)\1$/,f=d(()=>{},"Assigning an attribute a value containing characters that might need to be escaped is deprecated. Call attribute.setValue() instead."),m=d(()=>{},"Assigning attr.quoted is deprecated and has no effect. Assign to attr.quoteMark instead."),h=d(()=>{},"Constructing an Attribute selector with a value without specifying quoteMark is deprecated. Note: The value should be unescaped now.");function g(e){var t=!1,s=null,r=e,i=r.match(p);return i&&(s=i[1],r=i[2]),(r=(0,n.default)(r))!==e&&(t=!0),{deprecatedUsage:t,unescaped:r,quoteMark:s}}var w=function(e){var t,s;function r(t){var s;return void 0===t&&(t={}),(s=e.call(this,(e=>{if(void 0!==e.quoteMark)return e;if(void 0===e.value)return e;h();var t=g(e.value),s=t.quoteMark,r=t.unescaped;return e.raws||(e.raws={}),void 0===e.raws.value&&(e.raws.value=e.value),e.value=r,e.quoteMark=s,e})(t))||this).type=a.ATTRIBUTE,s.raws=s.raws||{},Object.defineProperty(s.raws,"unquoted",{get:d(()=>s.value,"attr.raws.unquoted is deprecated. Call attr.value instead."),set:d(()=>s.value,"Setting attr.raws.unquoted is deprecated and has no effect. attr.value is unescaped by default now.")}),s._constructed=!0,s}s=e,(t=r).prototype=Object.create(s.prototype),t.prototype.constructor=t,c(t,s);var n,o,l=r.prototype;return l.getQuotedValue=function(e){void 0===e&&(e={});var t=this._determineQuoteMark(e),s=b[t];return(0,i.default)(this._value,s)},l._determineQuoteMark=function(e){return e.smart?this.smartQuoteMark(e):this.preferredQuoteMark(e)},l.setValue=function(e,t){void 0===t&&(t={}),this._value=e,this._quoteMark=this._determineQuoteMark(t),this._syncRawValue()},l.smartQuoteMark=function(e){var t=this.value,s=t.replace(/[^']/g,"").length,n=t.replace(/[^"]/g,"").length;if(s+n===0){var o=(0,i.default)(t,{isIdentifier:!0});if(o===t)return r.NO_QUOTE;var a=this.preferredQuoteMark(e);if(a===r.NO_QUOTE){var l=this.quoteMark||e.quoteMark||r.DOUBLE_QUOTE,u=b[l];if((0,i.default)(t,u).length(!(t.length>0)||e.quoted||0!==s.before.length||e.spaces.value&&e.spaces.value.after||(s.before=" "),y(t,s))))),t.push("]"),t.push(this.rawSpaceAfter),t.join("")},n=r,(o=[{key:"quoted",get(){var e=this.quoteMark;return"'"===e||'"'===e},set(e){m()}},{key:"quoteMark",get(){return this._quoteMark},set(e){this._constructed?this._quoteMark!==e&&(this._quoteMark=e,this._syncRawValue()):this._quoteMark=e}},{key:"qualifiedAttribute",get(){return this.qualifiedName(this.raws.attribute||this.attribute)}},{key:"insensitiveFlag",get(){return this.insensitive?"i":""}},{key:"value",get(){return this._value},set(e){if(this._constructed){var t=g(e),s=t.deprecatedUsage,r=t.unescaped,i=t.quoteMark;if(s&&f(),r===this._value&&i===this._quoteMark)return;this._value=r,this._quoteMark=i,this._syncRawValue()}else this._value=e}},{key:"attribute",get(){return this._attribute},set(e){this._handleEscapes("attribute",e),this._attribute=e}}])&&u(n.prototype,o),r}(o.default);s.default=w,w.NO_QUOTE=null,w.SINGLE_QUOTE="'",w.DOUBLE_QUOTE='"';var b=((r={"'":{quotes:"single",wrap:!0},'"':{quotes:"double",wrap:!0}}).null={isIdentifier:!0},r);function y(e,t){return""+t.before+e+t.after}},{"../util/unesc":58,"./namespace":41,"./types":49,cssesc:10,"util-deprecate":436}],33:[function(e,t,s){s.__esModule=!0,s.default=void 0;var r=a(e("cssesc")),i=e("../util"),n=a(e("./node")),o=e("./types");function a(e){return e&&e.__esModule?e:{default:e}}function l(e,t){for(var s=0;s(e.__proto__=t,e)))(e,t)}var c=function(e){var t,s,n,a;function c(t){var s;return(s=e.call(this,t)||this).type=o.CLASS,s._constructed=!0,s}return s=e,(t=c).prototype=Object.create(s.prototype),t.prototype.constructor=t,u(t,s),c.prototype.valueToString=function(){return"."+e.prototype.valueToString.call(this)},n=c,(a=[{key:"value",get(){return this._value},set(e){if(this._constructed){var t=(0,r.default)(e,{isIdentifier:!0});t!==e?((0,i.ensureObject)(this,"raws"),this.raws.value=t):this.raws&&delete this.raws.value}this._value=e}}])&&l(n.prototype,a),c}(n.default);s.default=c,t.exports=s.default},{"../util":56,"./node":43,"./types":49,cssesc:10}],34:[function(e,t,s){s.__esModule=!0,s.default=void 0;var r,i=(r=e("./node"))&&r.__esModule?r:{default:r},n=e("./types");function o(e,t){return(o=Object.setPrototypeOf||((e,t)=>(e.__proto__=t,e)))(e,t)}var a=function(e){var t,s;function r(t){var s;return(s=e.call(this,t)||this).type=n.COMBINATOR,s}return s=e,(t=r).prototype=Object.create(s.prototype),t.prototype.constructor=t,o(t,s),r}(i.default);s.default=a,t.exports=s.default},{"./node":43,"./types":49}],35:[function(e,t,s){s.__esModule=!0,s.default=void 0;var r,i=(r=e("./node"))&&r.__esModule?r:{default:r},n=e("./types");function o(e,t){return(o=Object.setPrototypeOf||((e,t)=>(e.__proto__=t,e)))(e,t)}var a=function(e){var t,s;function r(t){var s;return(s=e.call(this,t)||this).type=n.COMMENT,s}return s=e,(t=r).prototype=Object.create(s.prototype),t.prototype.constructor=t,o(t,s),r}(i.default);s.default=a,t.exports=s.default},{"./node":43,"./types":49}],36:[(e,t,s)=>{s.__esModule=!0,s.universal=s.tag=s.string=s.selector=s.root=s.pseudo=s.nesting=s.id=s.comment=s.combinator=s.className=s.attribute=void 0;var r=h(e("./attribute")),i=h(e("./className")),n=h(e("./combinator")),o=h(e("./comment")),a=h(e("./id")),l=h(e("./nesting")),u=h(e("./pseudo")),c=h(e("./root")),d=h(e("./selector")),p=h(e("./string")),f=h(e("./tag")),m=h(e("./universal"));function h(e){return e&&e.__esModule?e:{default:e}}s.attribute=(e=>new r.default(e)),s.className=(e=>new i.default(e)),s.combinator=(e=>new n.default(e)),s.comment=(e=>new o.default(e)),s.id=(e=>new a.default(e)),s.nesting=(e=>new l.default(e)),s.pseudo=(e=>new u.default(e)),s.root=(e=>new c.default(e)),s.selector=(e=>new d.default(e)),s.string=(e=>new p.default(e)),s.tag=(e=>new f.default(e)),s.universal=(e=>new m.default(e))},{"./attribute":32,"./className":33,"./combinator":34,"./comment":35,"./id":39,"./nesting":42,"./pseudo":44,"./root":45,"./selector":46,"./string":47,"./tag":48,"./universal":50}],37:[function(e,t,s){s.__esModule=!0,s.default=void 0;var r,i=(r=e("./node"))&&r.__esModule?r:{default:r},n=(e=>{if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=function(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return()=>e,e}();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var n=r?Object.getOwnPropertyDescriptor(e,i):null;n&&(n.get||n.set)?Object.defineProperty(s,i,n):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s})(e("./types"));function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var s=0,r=new Array(t);s(e.__proto__=t,e)))(e,t)}var u=function(e){var t,s;function r(t){var s;return(s=e.call(this,t)||this).nodes||(s.nodes=[]),s}s=e,(t=r).prototype=Object.create(s.prototype),t.prototype.constructor=t,l(t,s);var i,u,c=r.prototype;return c.append=function(e){return e.parent=this,this.nodes.push(e),this},c.prepend=function(e){return e.parent=this,this.nodes.unshift(e),this},c.at=function(e){return this.nodes[e]},c.index=function(e){return"number"==typeof e?e:this.nodes.indexOf(e)},c.removeChild=function(e){var t;e=this.index(e),this.at(e).parent=void 0,this.nodes.splice(e,1);for(var s in this.indexes)(t=this.indexes[s])>=e&&(this.indexes[s]=t-1);return this},c.removeAll=function(){for(var e,t=function(e,t){var s;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(s=((e,t)=>{if(e){if("string"==typeof e)return o(e,void 0);var s=Object.prototype.toString.call(e).slice(8,-1);return"Object"===s&&e.constructor&&(s=e.constructor.name),"Map"===s||"Set"===s?Array.from(e):"Arguments"===s||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s)?o(e,void 0):void 0}})(e))||t&&e&&"number"==typeof e.length){s&&(e=s);var r=0;return()=>r>=e.length?{done:!0}:{done:!1,value:e[r++]}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(s=e[Symbol.iterator]()).next.bind(s)}(this.nodes);!(e=t()).done;)e.value.parent=void 0;return this.nodes=[],this},c.empty=function(){return this.removeAll()},c.insertAfter=function(e,t){t.parent=this;var s,r=this.index(e);this.nodes.splice(r+1,0,t),t.parent=this;for(var i in this.indexes)r<=(s=this.indexes[i])&&(this.indexes[i]=s+1);return this},c.insertBefore=function(e,t){t.parent=this;var s,r=this.index(e);this.nodes.splice(r,0,t),t.parent=this;for(var i in this.indexes)(s=this.indexes[i])<=r&&(this.indexes[i]=s+1);return this},c._findChildAtPosition=function(e,t){var s=void 0;return this.each(r=>{if(r.atPosition){var i=r.atPosition(e,t);if(i)return s=i,!1}else if(r.isAtPosition(e,t))return s=r,!1}),s},c.atPosition=function(e,t){return this.isAtPosition(e,t)?this._findChildAtPosition(e,t)||this:void 0},c._inferEndPosition=function(){this.last&&this.last.source&&this.last.source.end&&(this.source=this.source||{},this.source.end=this.source.end||{},Object.assign(this.source.end,this.last.source.end))},c.each=function(e){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach++;var t=this.lastEach;if(this.indexes[t]=0,this.length){for(var s,r;this.indexes[t]{var r=e(t,s);if(!1!==r&&t.length&&(r=t.walk(e)),!1===r)return!1})},c.walkAttributes=function(e){var t=this;return this.walk(s=>{if(s.type===n.ATTRIBUTE)return e.call(t,s)})},c.walkClasses=function(e){var t=this;return this.walk(s=>{if(s.type===n.CLASS)return e.call(t,s)})},c.walkCombinators=function(e){var t=this;return this.walk(s=>{if(s.type===n.COMBINATOR)return e.call(t,s)})},c.walkComments=function(e){var t=this;return this.walk(s=>{if(s.type===n.COMMENT)return e.call(t,s)})},c.walkIds=function(e){var t=this;return this.walk(s=>{if(s.type===n.ID)return e.call(t,s)})},c.walkNesting=function(e){var t=this;return this.walk(s=>{if(s.type===n.NESTING)return e.call(t,s)})},c.walkPseudos=function(e){var t=this;return this.walk(s=>{if(s.type===n.PSEUDO)return e.call(t,s)})},c.walkTags=function(e){var t=this;return this.walk(s=>{if(s.type===n.TAG)return e.call(t,s)})},c.walkUniversals=function(e){var t=this;return this.walk(s=>{if(s.type===n.UNIVERSAL)return e.call(t,s)})},c.split=function(e){var t=this,s=[];return this.reduce((r,i,n)=>{var o=e.call(t,i);return s.push(i),o?(r.push(s),s=[]):n===t.length-1&&r.push(s),r},[])},c.map=function(e){return this.nodes.map(e)},c.reduce=function(e,t){return this.nodes.reduce(e,t)},c.every=function(e){return this.nodes.every(e)},c.some=function(e){return this.nodes.some(e)},c.filter=function(e){return this.nodes.filter(e)},c.sort=function(e){return this.nodes.sort(e)},c.toString=function(){return this.map(String).join("")},i=r,(u=[{key:"first",get(){return this.at(0)}},{key:"last",get(){return this.at(this.length-1)}},{key:"length",get(){return this.nodes.length}}])&&a(i.prototype,u),r}(i.default);s.default=u,t.exports=s.default},{"./node":43,"./types":49}],38:[(e,t,s)=>{s.__esModule=!0,s.isNode=o,s.isPseudoElement=x,s.isPseudoClass=(e=>m(e)&&!x(e)),s.isContainer=(e=>!(!o(e)||!e.walk)),s.isNamespace=(e=>l(e)||b(e)),s.isUniversal=s.isTag=s.isString=s.isSelector=s.isRoot=s.isPseudo=s.isNesting=s.isIdentifier=s.isComment=s.isCombinator=s.isClassName=s.isAttribute=void 0;var r,i=e("./types"),n=((r={})[i.ATTRIBUTE]=!0,r[i.CLASS]=!0,r[i.COMBINATOR]=!0,r[i.COMMENT]=!0,r[i.ID]=!0,r[i.NESTING]=!0,r[i.PSEUDO]=!0,r[i.ROOT]=!0,r[i.SELECTOR]=!0,r[i.STRING]=!0,r[i.TAG]=!0,r[i.UNIVERSAL]=!0,r);function o(e){return"object"==typeof e&&n[e.type]}function a(e,t){return o(t)&&t.type===e}var l=a.bind(null,i.ATTRIBUTE);s.isAttribute=l;var u=a.bind(null,i.CLASS);s.isClassName=u;var c=a.bind(null,i.COMBINATOR);s.isCombinator=c;var d=a.bind(null,i.COMMENT);s.isComment=d;var p=a.bind(null,i.ID);s.isIdentifier=p;var f=a.bind(null,i.NESTING);s.isNesting=f;var m=a.bind(null,i.PSEUDO);s.isPseudo=m;var h=a.bind(null,i.ROOT);s.isRoot=h;var g=a.bind(null,i.SELECTOR);s.isSelector=g;var w=a.bind(null,i.STRING);s.isString=w;var b=a.bind(null,i.TAG);s.isTag=b;var y=a.bind(null,i.UNIVERSAL);function x(e){return m(e)&&e.value&&(e.value.startsWith("::")||":before"===e.value.toLowerCase()||":after"===e.value.toLowerCase()||":first-letter"===e.value.toLowerCase()||":first-line"===e.value.toLowerCase())}s.isUniversal=y},{"./types":49}],39:[function(e,t,s){s.__esModule=!0,s.default=void 0;var r,i=(r=e("./node"))&&r.__esModule?r:{default:r},n=e("./types");function o(e,t){return(o=Object.setPrototypeOf||((e,t)=>(e.__proto__=t,e)))(e,t)}var a=function(e){var t,s;function r(t){var s;return(s=e.call(this,t)||this).type=n.ID,s}return s=e,(t=r).prototype=Object.create(s.prototype),t.prototype.constructor=t,o(t,s),r.prototype.valueToString=function(){return"#"+e.prototype.valueToString.call(this)},r}(i.default);s.default=a,t.exports=s.default},{"./node":43,"./types":49}],40:[(e,t,s)=>{s.__esModule=!0;var r=e("./types");Object.keys(r).forEach(e=>{"default"!==e&&"__esModule"!==e&&(e in s&&s[e]===r[e]||(s[e]=r[e]))});var i=e("./constructors");Object.keys(i).forEach(e=>{"default"!==e&&"__esModule"!==e&&(e in s&&s[e]===i[e]||(s[e]=i[e]))});var n=e("./guards");Object.keys(n).forEach(e=>{"default"!==e&&"__esModule"!==e&&(e in s&&s[e]===n[e]||(s[e]=n[e]))})},{"./constructors":36,"./guards":38,"./types":49}],41:[function(e,t,s){s.__esModule=!0,s.default=void 0;var r=n(e("cssesc")),i=e("../util");function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t){for(var s=0;s(e.__proto__=t,e)))(e,t)}var l=function(e){var t,s;function n(){return e.apply(this,arguments)||this}s=e,(t=n).prototype=Object.create(s.prototype),t.prototype.constructor=t,a(t,s);var l,u,c=n.prototype;return c.qualifiedName=function(e){return this.namespace?this.namespaceString+"|"+e:e},c.valueToString=function(){return this.qualifiedName(e.prototype.valueToString.call(this))},l=n,(u=[{key:"namespace",get(){return this._namespace},set(e){if(!0===e||"*"===e||"&"===e)return this._namespace=e,void(this.raws&&delete this.raws.namespace);var t=(0,r.default)(e,{isIdentifier:!0});this._namespace=e,t!==e?((0,i.ensureObject)(this,"raws"),this.raws.namespace=t):this.raws&&delete this.raws.namespace}},{key:"ns",get(){return this._namespace},set(e){this.namespace=e}},{key:"namespaceString",get(){if(this.namespace){var e=this.stringifyProperty("namespace");return!0===e?"":e}return""}}])&&o(l.prototype,u),n}(n(e("./node")).default);s.default=l,t.exports=s.default},{"../util":56,"./node":43,cssesc:10}],42:[function(e,t,s){s.__esModule=!0,s.default=void 0;var r,i=(r=e("./node"))&&r.__esModule?r:{default:r},n=e("./types");function o(e,t){return(o=Object.setPrototypeOf||((e,t)=>(e.__proto__=t,e)))(e,t)}var a=function(e){var t,s;function r(t){var s;return(s=e.call(this,t)||this).type=n.NESTING,s.value="&",s}return s=e,(t=r).prototype=Object.create(s.prototype),t.prototype.constructor=t,o(t,s),r}(i.default);s.default=a,t.exports=s.default},{"./node":43,"./types":49}],43:[function(e,t,s){s.__esModule=!0,s.default=void 0;var r=e("../util");function i(e,t){for(var s=0;se(t,r)):r[i]=e(n,r)}return r}(this);for(var s in e)t[s]=e[s];return t},n.appendToPropertyAndEscape=function(e,t,s){this.raws||(this.raws={});var r=this[e],i=this.raws[e];this[e]=r+t,i||s!==t?this.raws[e]=(i||r)+s:delete this.raws[e]},n.setPropertyAndEscape=function(e,t,s){this.raws||(this.raws={}),this[e]=t,this.raws[e]=s},n.setPropertyWithoutEscape=function(e,t){this[e]=t,this.raws&&delete this.raws[e]},n.isAtPosition=function(e,t){if(this.source&&this.source.start&&this.source.end)return!(this.source.start.line>e||this.source.end.linet||this.source.end.line===e&&this.source.end.column(e.__proto__=t,e)))(e,t)}var a=function(e){var t,s;function r(t){var s;return(s=e.call(this,t)||this).type=n.PSEUDO,s}return s=e,(t=r).prototype=Object.create(s.prototype),t.prototype.constructor=t,o(t,s),r.prototype.toString=function(){var e=this.length?"("+this.map(String).join(",")+")":"";return[this.rawSpaceBefore,this.stringifyProperty("value"),e,this.rawSpaceAfter].join("")},r}(i.default);s.default=a,t.exports=s.default},{"./container":37,"./types":49}],45:[function(e,t,s){s.__esModule=!0,s.default=void 0;var r,i=(r=e("./container"))&&r.__esModule?r:{default:r},n=e("./types");function o(e,t){for(var s=0;s(e.__proto__=t,e)))(e,t)}var l=function(e){var t,s;function r(t){var s;return(s=e.call(this,t)||this).type=n.ROOT,s}s=e,(t=r).prototype=Object.create(s.prototype),t.prototype.constructor=t,a(t,s);var i,l,u=r.prototype;return u.toString=function(){var e=this.reduce((e,t)=>(e.push(String(t)),e),[]).join(",");return this.trailingComma?e+",":e},u.error=function(e,t){return this._error?this._error(e,t):new Error(e)},i=r,(l=[{key:"errorGenerator",set(e){this._error=e}}])&&o(i.prototype,l),r}(i.default);s.default=l,t.exports=s.default},{"./container":37,"./types":49}],46:[function(e,t,s){s.__esModule=!0,s.default=void 0;var r,i=(r=e("./container"))&&r.__esModule?r:{default:r},n=e("./types");function o(e,t){return(o=Object.setPrototypeOf||((e,t)=>(e.__proto__=t,e)))(e,t)}var a=function(e){var t,s;function r(t){var s;return(s=e.call(this,t)||this).type=n.SELECTOR,s}return s=e,(t=r).prototype=Object.create(s.prototype),t.prototype.constructor=t,o(t,s),r}(i.default);s.default=a,t.exports=s.default},{"./container":37,"./types":49}],47:[function(e,t,s){s.__esModule=!0,s.default=void 0;var r,i=(r=e("./node"))&&r.__esModule?r:{default:r},n=e("./types");function o(e,t){return(o=Object.setPrototypeOf||((e,t)=>(e.__proto__=t,e)))(e,t)}var a=function(e){var t,s;function r(t){var s;return(s=e.call(this,t)||this).type=n.STRING,s}return s=e,(t=r).prototype=Object.create(s.prototype),t.prototype.constructor=t,o(t,s),r}(i.default);s.default=a,t.exports=s.default},{"./node":43,"./types":49}],48:[function(e,t,s){s.__esModule=!0,s.default=void 0;var r,i=(r=e("./namespace"))&&r.__esModule?r:{default:r},n=e("./types");function o(e,t){return(o=Object.setPrototypeOf||((e,t)=>(e.__proto__=t,e)))(e,t)}var a=function(e){var t,s;function r(t){var s;return(s=e.call(this,t)||this).type=n.TAG,s}return s=e,(t=r).prototype=Object.create(s.prototype),t.prototype.constructor=t,o(t,s),r}(i.default);s.default=a,t.exports=s.default},{"./namespace":41,"./types":49}],49:[(e,t,s)=>{s.__esModule=!0,s.UNIVERSAL=s.ATTRIBUTE=s.CLASS=s.COMBINATOR=s.COMMENT=s.ID=s.NESTING=s.PSEUDO=s.ROOT=s.SELECTOR=s.STRING=s.TAG=void 0,s.TAG="tag",s.STRING="string",s.SELECTOR="selector",s.ROOT="root",s.PSEUDO="pseudo",s.NESTING="nesting",s.ID="id",s.COMMENT="comment",s.COMBINATOR="combinator",s.CLASS="class",s.ATTRIBUTE="attribute",s.UNIVERSAL="universal"},{}],50:[function(e,t,s){s.__esModule=!0,s.default=void 0;var r,i=(r=e("./namespace"))&&r.__esModule?r:{default:r},n=e("./types");function o(e,t){return(o=Object.setPrototypeOf||((e,t)=>(e.__proto__=t,e)))(e,t)}var a=function(e){var t,s;function r(t){var s;return(s=e.call(this,t)||this).type=n.UNIVERSAL,s.value="*",s}return s=e,(t=r).prototype=Object.create(s.prototype),t.prototype.constructor=t,o(t,s),r}(i.default);s.default=a,t.exports=s.default},{"./namespace":41,"./types":49}],51:[(e,t,s)=>{s.__esModule=!0,s.default=(e=>e.sort((e,t)=>e-t)),t.exports=s.default},{}],52:[(e,t,s)=>{s.__esModule=!0,s.combinator=s.word=s.comment=s.str=s.tab=s.newline=s.feed=s.cr=s.backslash=s.bang=s.slash=s.doubleQuote=s.singleQuote=s.space=s.greaterThan=s.pipe=s.equals=s.plus=s.caret=s.tilde=s.dollar=s.closeSquare=s.openSquare=s.closeParenthesis=s.openParenthesis=s.semicolon=s.colon=s.comma=s.at=s.asterisk=s.ampersand=void 0,s.ampersand=38,s.asterisk=42,s.at=64,s.comma=44,s.colon=58,s.semicolon=59,s.openParenthesis=40,s.closeParenthesis=41,s.openSquare=91,s.closeSquare=93,s.dollar=36,s.tilde=126,s.caret=94,s.plus=43,s.equals=61,s.pipe=124,s.greaterThan=62,s.space=32,s.singleQuote=39,s.doubleQuote=34,s.slash=47,s.bang=33,s.backslash=92,s.cr=13,s.feed=12,s.newline=10,s.tab=9,s.str=39,s.comment=-1,s.word=-2,s.combinator=-3},{}],53:[(e,t,s)=>{s.__esModule=!0,s.default=(e=>{var t,s,r,i,o,a,l,u,c,p,f,m,h=[],g=e.css.valueOf(),w=g.length,b=-1,y=1,x=0,v=0;function k(t,s){if(!e.safe)throw e.error("Unclosed "+t,y,x-b,x);u=(g+=s).length-1}for(;x0?(c=y+a,p=u-l[a].length):(c=y,p=b),m=n.comment,y=c,r=c,s=u-p):t===n.slash?(m=t,r=y,s=x-b,v=(u=x)+1):(u=d(g,x),m=n.word,r=y,s=u-b),v=u+1}h.push([m,y,x-b,r,s,x,v]),p&&(b=p,p=null),x=v}return h}),s.FIELDS=void 0;var r,i,n=(e=>{if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=function(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return()=>e,e}();if(t&&t.has(e))return t.get(e);var s={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var n=r?Object.getOwnPropertyDescriptor(e,i):null;n&&(n.get||n.set)?Object.defineProperty(s,i,n):s[i]=e[i]}return s.default=e,t&&t.set(e,s),s})(e("./tokenTypes"));for(var o=((r={})[n.tab]=!0,r[n.newline]=!0,r[n.cr]=!0,r[n.feed]=!0,r),a=((i={})[n.space]=!0,i[n.tab]=!0,i[n.newline]=!0,i[n.cr]=!0,i[n.feed]=!0,i[n.ampersand]=!0,i[n.asterisk]=!0,i[n.bang]=!0,i[n.comma]=!0,i[n.colon]=!0,i[n.semicolon]=!0,i[n.openParenthesis]=!0,i[n.closeParenthesis]=!0,i[n.openSquare]=!0,i[n.closeSquare]=!0,i[n.singleQuote]=!0,i[n.doubleQuote]=!0,i[n.plus]=!0,i[n.pipe]=!0,i[n.tilde]=!0,i[n.greaterThan]=!0,i[n.equals]=!0,i[n.dollar]=!0,i[n.caret]=!0,i[n.slash]=!0,i),l={},u="0123456789abcdefABCDEF",c=0;c{s.__esModule=!0,s.default=function(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),r=1;r0;){var i=s.shift();e[i]||(e[i]={}),e=e[i]}},t.exports=s.default},{}],55:[(e,t,s)=>{s.__esModule=!0,s.default=function(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),r=1;r0;){var i=s.shift();if(!e[i])return;e=e[i]}return e},t.exports=s.default},{}],56:[(e,t,s)=>{s.__esModule=!0,s.stripComments=s.ensureObject=s.getProp=s.unesc=void 0;var r=a(e("./unesc"));s.unesc=r.default;var i=a(e("./getProp"));s.getProp=i.default;var n=a(e("./ensureObject"));s.ensureObject=n.default;var o=a(e("./stripComments"));function a(e){return e&&e.__esModule?e:{default:e}}s.stripComments=o.default},{"./ensureObject":54,"./getProp":55,"./stripComments":57,"./unesc":58}],57:[(e,t,s)=>{s.__esModule=!0,s.default=(e=>{for(var t="",s=e.indexOf("/*"),r=0;s>=0;){t+=e.slice(r,s);var i=e.indexOf("*/",s+2);if(i<0)return t;r=i+2,s=e.indexOf("/*",r)}return t+e.slice(r)}),t.exports=s.default},{}],58:[(e,t,s)=>{function r(e){for(var t=e.toLowerCase(),s="",r=!1,i=0;i<6&&void 0!==t[i];i++){var n=t.charCodeAt(i);if(r=32===n,!(n>=97&&n<=102||n>=48&&n<=57))break;s+=t[i]}if(0!==s.length){var o=parseInt(s,16);return o>=55296&&o<=57343||0===o||o>1114111?["�",s.length+(r?1:0)]:[String.fromCodePoint(o),s.length+(r?1:0)]}}s.__esModule=!0,s.default=(e=>{if(!i.test(e))return e;for(var t="",s=0;s{var r="(".charCodeAt(0),i=")".charCodeAt(0),n="'".charCodeAt(0),o='"'.charCodeAt(0),a="\\".charCodeAt(0),l="/".charCodeAt(0),u=",".charCodeAt(0),c=":".charCodeAt(0),d="*".charCodeAt(0),p="u".charCodeAt(0),f="U".charCodeAt(0),m="+".charCodeAt(0),h=/^[a-f0-9?-]+$/i;t.exports=(e=>{for(var t,s,g,w,b,y,x,v,k,S=[],O=e,C=0,M=O.charCodeAt(C),N=O.length,E=[{nodes:S}],R=0,I="",A="",P="";C{function r(e,t){var s,r,n=e.type,o=e.value;return t&&void 0!==(r=t(e))?r:"word"===n||"space"===n?o:"string"===n?(s=e.quote||"")+o+(e.unclosed?"":s):"comment"===n?"/*"+o+(e.unclosed?"":"*/"):"div"===n?(e.before||"")+o+(e.after||""):Array.isArray(e.nodes)?(s=i(e.nodes,t),"function"!==n?s:o+"("+(e.before||"")+s+(e.after||"")+(e.unclosed?"":")")):o}function i(e,t){var s,i;if(Array.isArray(e)){for(s="",i=e.length-1;~i;i-=1)s=r(e[i],t)+s;return s}return r(e,t)}t.exports=i},{}],62:[(e,t,s)=>{var r="-".charCodeAt(0),i="+".charCodeAt(0),n=".".charCodeAt(0),o="e".charCodeAt(0),a="E".charCodeAt(0);t.exports=(e=>{var t,s,l,u=0,c=e.length;if(0===c||!(e=>{var t,s=e.charCodeAt(0);if(s===i||s===r){if((t=e.charCodeAt(1))>=48&&t<=57)return!0;var o=e.charCodeAt(2);return t===n&&o>=48&&o<=57}return s===n?(t=e.charCodeAt(1))>=48&&t<=57:s>=48&&s<=57})(e))return!1;for((t=e.charCodeAt(u))!==i&&t!==r||u++;u57);)u+=1;if(t=e.charCodeAt(u),s=e.charCodeAt(u+1),t===n&&s>=48&&s<=57)for(u+=2;u57);)u+=1;if(t=e.charCodeAt(u),s=e.charCodeAt(u+1),l=e.charCodeAt(u+2),(t===o||t===a)&&(s>=48&&s<=57||(s===i||s===r)&&l>=48&&l<=57))for(u+=s===i||s===r?3:2;u57);)u+=1;return{number:e.slice(0,u),unit:e.slice(u)}})},{}],63:[(e,t,s)=>{t.exports=function e(t,s,r){var i,n,o,a;for(i=0,n=t.length;i{let r;try{r=e(t,s)}catch(e){throw t.addToError(e)}return!1!==r&&t.walk&&(r=t.walk(e)),r})}walkDecls(e,t){return t?e instanceof RegExp?this.walk((s,r)=>{if("decl"===s.type&&e.test(s.prop))return t(s,r)}):this.walk((s,r)=>{if("decl"===s.type&&s.prop===e)return t(s,r)}):(t=e,this.walk((e,s)=>{if("decl"===e.type)return t(e,s)}))}walkRules(e,t){return t?e instanceof RegExp?this.walk((s,r)=>{if("rule"===s.type&&e.test(s.selector))return t(s,r)}):this.walk((s,r)=>{if("rule"===s.type&&s.selector===e)return t(s,r)}):(t=e,this.walk((e,s)=>{if("rule"===e.type)return t(e,s)}))}walkAtRules(e,t){return t?e instanceof RegExp?this.walk((s,r)=>{if("atrule"===s.type&&e.test(s.name))return t(s,r)}):this.walk((s,r)=>{if("atrule"===s.type&&s.name===e)return t(s,r)}):(t=e,this.walk((e,s)=>{if("atrule"===e.type)return t(e,s)}))}walkComments(e){return this.walk((t,s)=>{if("comment"===t.type)return e(t,s)})}append(...e){for(let t of e){let e=this.normalize(t,this.last);for(let t of e)this.proxyOf.nodes.push(t)}return this.markDirty(),this}prepend(...e){e=e.reverse();for(let t of e){let e=this.normalize(t,this.first,"prepend").reverse();for(let t of e)this.proxyOf.nodes.unshift(t);for(let t in this.indexes)this.indexes[t]=this.indexes[t]+e.length}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}insertBefore(e,t){let s,r=0===(e=this.index(e))&&"prepend",i=this.normalize(t,this.proxyOf.nodes[e],r).reverse();for(let t of i)this.proxyOf.nodes.splice(e,0,t);for(let t in this.indexes)e<=(s=this.indexes[t])&&(this.indexes[t]=s+i.length);return this.markDirty(),this}insertAfter(e,t){e=this.index(e);let s,r=this.normalize(t,this.proxyOf.nodes[e]).reverse();for(let t of r)this.proxyOf.nodes.splice(e+1,0,t);for(let t in this.indexes)e<(s=this.indexes[t])&&(this.indexes[t]=s+r.length);return this.markDirty(),this}removeChild(e){let t;e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);for(let s in this.indexes)(t=this.indexes[s])>=e&&(this.indexes[s]=t-1);return this.markDirty(),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}replaceValues(e,t,s){return s||(s=t,t={}),this.walkDecls(r=>{t.props&&!t.props.includes(r.prop)||t.fast&&!r.value.includes(t.fast)||(r.value=r.value.replace(e,s))}),this.markDirty(),this}every(e){return this.nodes.every(e)}some(e){return this.nodes.some(e)}index(e){return"number"==typeof e?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}normalize(e,t){if("string"==typeof e)e=function e(t){return t.map(t=>(t.nodes&&(t.nodes=e(t.nodes)),delete t.source,t))}(r(e).nodes);else if(Array.isArray(e)){e=e.slice(0);for(let t of e)t.parent&&t.parent.removeChild(t,"ignore")}else if("root"===e.type&&"document"!==this.type){e=e.nodes.slice(0);for(let t of e)t.parent&&t.parent.removeChild(t,"ignore")}else if(e.type)e=[e];else if(e.prop){if(void 0===e.value)throw new Error("Value field is missed in node creation");"string"!=typeof e.value&&(e.value=String(e.value)),e=[new l(e)]}else if(e.selector)e=[new i(e)];else if(e.name)e=[new n(e)];else{if(!e.text)throw new Error("Unknown node type in node creation");e=[new u(e)]}return e.map(e=>(e[a]||d.rebuild(e),(e=e.proxyOf).parent&&e.parent.removeChild(e),e[o]&&function e(t){if(t[o]=!1,t.proxyOf.nodes)for(let s of t.proxyOf.nodes)e(s)}(e),void 0===e.raws.before&&t&&void 0!==t.raws.before&&(e.raws.before=t.raws.before.replace(/\S/g,"")),e.parent=this.proxyOf,e))}getProxyProcessor(){return{set:(e,t,s)=>e[t]===s||(e[t]=s,"name"!==t&&"params"!==t&&"selector"!==t||e.markDirty(),!0),get:(e,t)=>"proxyOf"===t?e:e[t]?"each"===t||"string"==typeof t&&t.startsWith("walk")?(...s)=>e[t](...s.map(e=>"function"==typeof e?(t,s)=>e(t.toProxy(),s):e)):"every"===t||"some"===t?s=>e[t]((e,...t)=>s(e.toProxy(),...t)):"root"===t?()=>e.root().toProxy():"nodes"===t?e.nodes.map(e=>e.toProxy()):"first"===t||"last"===t?e[t].toProxy():e[t]:e[t]}}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}}d.registerParse=(e=>{r=e}),d.registerRule=(e=>{i=e}),d.registerAtRule=(e=>{n=e}),t.exports=d,d.default=d,d.rebuild=(e=>{"atrule"===e.type?Object.setPrototypeOf(e,n.prototype):"rule"===e.type?Object.setPrototypeOf(e,i.prototype):"decl"===e.type?Object.setPrototypeOf(e,l.prototype):"comment"===e.type&&Object.setPrototypeOf(e,u.prototype),e[a]=!0,e.nodes&&e.nodes.forEach(e=>{d.rebuild(e)})})},{"./comment":65,"./declaration":68,"./node":76,"./symbols":87}],67:[function(e,t,s){let r=e("picocolors"),i=e("./terminal-highlight");class n extends Error{constructor(e,t,s,r,i,o){super(e),this.name="CssSyntaxError",this.reason=e,i&&(this.file=i),r&&(this.source=r),o&&(this.plugin=o),void 0!==t&&void 0!==s&&("number"==typeof t?(this.line=t,this.column=s):(this.line=t.line,this.column=t.column,this.endLine=s.line,this.endColumn=s.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,n)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"",void 0!==this.line&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let t=this.source;null==e&&(e=r.isColorSupported),i&&e&&(t=i(t));let s,n,o=t.split(/\r?\n/),a=Math.max(this.line-3,0),l=Math.min(this.line+2,o.length),u=String(l).length;if(e){let{bold:e,red:t,gray:i}=r.createColors(!0);s=(s=>e(t(s))),n=(e=>i(e))}else s=n=(e=>e);return o.slice(a,l).map((e,t)=>{let r=a+1+t,i=" "+(" "+r).slice(-u)+" | ";if(r===this.line){let t=n(i.replace(/\d/g," "))+e.slice(0,this.column-1).replace(/[^\t]/g," ");return s(">")+n(i)+e+"\n "+t+s("^")}return" "+n(i)+e}).join("\n")}toString(){let e=this.showSourceCode();return e&&(e="\n\n"+e+"\n"),this.name+": "+this.message+e}}t.exports=n,n.default=n},{"./terminal-highlight":3,picocolors:23}],68:[function(e,s,r){let i=e("./node");class n extends i{constructor(e){e&&void 0!==e.value&&"string"!=typeof e.value&&(e=t({},e,{value:String(e.value)})),super(e),this.type="decl"}get variable(){return this.prop.startsWith("--")||"$"===this.prop[0]}}s.exports=n,n.default=n},{"./node":76}],69:[function(e,s,r){let i,n,o=e("./container");class a extends o{constructor(e){super(t({type:"document"},e)),this.nodes||(this.nodes=[])}toResult(e={}){return new i(new n,this,e).stringify()}}a.registerLazyResult=(e=>{i=e}),a.registerProcessor=(e=>{n=e}),s.exports=a,a.default=a},{"./container":66}],70:[(s,r,i)=>{let n=s("./declaration"),o=s("./previous-map"),a=s("./comment"),l=s("./at-rule"),u=s("./input"),c=s("./root"),d=s("./rule");function p(s,r){if(Array.isArray(s))return s.map(e=>p(e));let{inputs:i}=s,f=e(s,["inputs"]);if(i){r=[];for(let e of i){let s=t({},e,{__proto__:u.prototype});s.map&&(s.map=t({},s.map,{__proto__:o.prototype})),r.push(s)}}if(f.nodes&&(f.nodes=s.nodes.map(e=>p(e,r))),f.source){let t=f.source,{inputId:s}=t,i=e(t,["inputId"]);f.source=i,null!=s&&(f.source.input=r[s])}if("root"===f.type)return new c(f);if("decl"===f.type)return new n(f);if("rule"===f.type)return new d(f);if("comment"===f.type)return new a(f);if("atrule"===f.type)return new l(f);throw new Error("Unknown node type: "+s.type)}r.exports=p,p.default=p},{"./at-rule":64,"./comment":65,"./declaration":68,"./input":71,"./previous-map":80,"./root":83,"./rule":84}],71:[function(e,s,r){let{SourceMapConsumer:i,SourceMapGenerator:n}=e("source-map-js"),{fileURLToPath:o,pathToFileURL:a}=e("url"),{resolve:l,isAbsolute:u}=e("path"),{nanoid:c}=e("nanoid/non-secure"),d=e("./terminal-highlight"),p=e("./css-syntax-error"),f=e("./previous-map"),m=Symbol("fromOffsetCache"),h=Boolean(i&&n),g=Boolean(l&&u);class w{constructor(e,t={}){if(null===e||void 0===e||"object"==typeof e&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),"\ufeff"===this.css[0]||"￾"===this.css[0]?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,t.from&&(!g||/^\w+:\/\//.test(t.from)||u(t.from)?this.file=t.from:this.file=l(t.from)),g&&h){let e=new f(this.css,t);if(e.text){this.map=e;let t=e.consumer().file;!this.file&&t&&(this.file=this.mapResolve(t))}}this.file||(this.id=""),this.map&&(this.map.file=this.from)}fromOffset(e){let t,s;if(this[m])s=this[m];else{let e=this.css.split("\n");s=new Array(e.length);let t=0;for(let r=0,i=e.length;r=(t=s[s.length-1]))r=s.length-1;else{let t,i=s.length-2;for(;r>1)])i=t-1;else{if(!(e>=s[t+1])){r=t;break}r=t+1}}return{line:r+1,col:e-s[r]+1}}error(e,t,s,r={}){let i,n,o;if(t&&"object"==typeof t){let e=t,r=s;if("number"==typeof t.offset){let r=this.fromOffset(e.offset);t=r.line,s=r.col}else t=e.line,s=e.column;if("number"==typeof r.offset){let e=this.fromOffset(r.offset);n=e.line,o=e.col}else n=r.line,o=r.column}else if(!s){let e=this.fromOffset(t);t=e.line,s=e.col}let l=this.origin(t,s,n,o);return(i=l?new p(e,void 0===l.endLine?l.line:{line:l.line,column:l.column},void 0===l.endLine?l.column:{line:l.endLine,column:l.endColumn},l.source,l.file,r.plugin):new p(e,void 0===n?t:{line:t,column:s},void 0===n?s:{line:n,column:o},this.css,this.file,r.plugin)).input={line:t,column:s,endLine:n,endColumn:o,source:this.css},this.file&&(a&&(i.input.url=a(this.file).toString()),i.input.file=this.file),i}origin(e,t,s,r){if(!this.map)return!1;let i,n,l=this.map.consumer(),c=l.originalPositionFor({line:e,column:t});if(!c.source)return!1;"number"==typeof s&&(i=l.originalPositionFor({line:s,column:r}));let d={url:(n=u(c.source)?a(c.source):new URL(c.source,this.map.consumer().sourceRoot||a(this.map.mapFile))).toString(),line:c.line,column:c.column,endLine:i&&i.line,endColumn:i&&i.column};if("file:"===n.protocol){if(!o)throw new Error("file: protocol is not available in this PostCSS build");d.file=o(n)}let p=l.sourceContentFor(c.source);return p&&(d.source=p),d}mapResolve(e){return/^\w+:\/\//.test(e)?e:l(this.map.consumer().sourceRoot||this.map.root||".",e)}get from(){return this.file||this.id}toJSON(){let e={};for(let t of["hasBOM","css","file","id"])null!=this[t]&&(e[t]=this[t]);return this.map&&(e.map=t({},this.map),e.map.consumerCache&&(e.map.consumerCache=void 0)),e}}s.exports=w,w.default=w,d&&d.registerInput&&d.registerInput(w)},{"./css-syntax-error":67,"./previous-map":80,"./terminal-highlight":3,"nanoid/non-secure":21,path:3,"source-map-js":3,url:3}],72:[function(e,s,r){(function(r){(function(){let{isClean:i,my:n}=e("./symbols"),o=e("./map-generator"),a=e("./stringify"),l=e("./container"),u=e("./document"),c=e("./warn-once"),d=e("./result"),p=e("./parse"),f=e("./root");const m={document:"Document",root:"Root",atrule:"AtRule",rule:"Rule",decl:"Declaration",comment:"Comment"},h={postcssPlugin:!0,prepare:!0,Once:!0,Document:!0,Root:!0,Declaration:!0,Rule:!0,AtRule:!0,Comment:!0,DeclarationExit:!0,RuleExit:!0,AtRuleExit:!0,CommentExit:!0,RootExit:!0,DocumentExit:!0,OnceExit:!0},g={postcssPlugin:!0,prepare:!0,Once:!0},w=0;function b(e){return"object"==typeof e&&"function"==typeof e.then}function y(e){let t=!1,s=m[e.type];return"decl"===e.type?t=e.prop.toLowerCase():"atrule"===e.type&&(t=e.name.toLowerCase()),t&&e.append?[s,s+"-"+t,w,s+"Exit",s+"Exit-"+t]:t?[s,s+"-"+t,s+"Exit",s+"Exit-"+t]:e.append?[s,w,s+"Exit"]:[s,s+"Exit"]}function x(e){let t;return{node:e,events:t="document"===e.type?["Document",w,"DocumentExit"]:"root"===e.type?["Root",w,"RootExit"]:y(e),eventIndex:0,visitors:[],visitorIndex:0,iterator:0}}function v(e){return e[i]=!1,e.nodes&&e.nodes.forEach(e=>v(e)),e}let k={};class S{constructor(e,s,r){let i;if(this.stringified=!1,this.processed=!1,"object"!=typeof s||null===s||"root"!==s.type&&"document"!==s.type)if(s instanceof S||s instanceof d)i=v(s.root),s.map&&(void 0===r.map&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=s.map);else{let e=p;r.syntax&&(e=r.syntax.parse),r.parser&&(e=r.parser),e.parse&&(e=e.parse);try{i=e(s,r)}catch(e){this.processed=!0,this.error=e}i&&!i[n]&&l.rebuild(i)}else i=v(s);this.result=new d(e,i,r),this.helpers=t({},k,{result:this.result,postcss:k}),this.plugins=this.processor.plugins.map(e=>"object"==typeof e&&e.prepare?t({},e,e.prepare(this.result)):e)}get[Symbol.toStringTag](){return"LazyResult"}get processor(){return this.result.processor}get opts(){return this.result.opts}get css(){return this.stringify().css}get content(){return this.stringify().content}get map(){return this.stringify().map}get root(){return this.sync().root}get messages(){return this.sync().messages}warnings(){return this.sync().warnings()}toString(){return this.css}then(e,t){return"production"!==r.env.NODE_ENV&&("from"in this.opts||c("Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.")),this.async().then(e,t)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins)if(b(this.runOnRoot(e)))throw this.getAsyncError();if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[i];)e[i]=!0,this.walkSync(e);if(this.listeners.OnceExit)if("document"===e.type)for(let t of e.nodes)this.visitSync(this.listeners.OnceExit,t);else this.visitSync(this.listeners.OnceExit,e)}return this.result}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,t=a;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let s=new o(t,this.result.root,this.result.opts).generate();return this.result.css=s[0],this.result.map=s[1],this.result}walkSync(e){e[i]=!0;let t=y(e);for(let s of t)if(s===w)e.nodes&&e.each(e=>{e[i]||this.walkSync(e)});else{let t=this.listeners[s];if(t&&this.visitSync(t,e.toProxy()))return}}visitSync(e,t){for(let[s,r]of e){let e;this.result.lastPlugin=s;try{e=r(t,this.helpers)}catch(e){throw this.handleError(e,t.proxyOf)}if("root"!==t.type&&"document"!==t.type&&!t.parent)return!0;if(b(e))throw this.getAsyncError()}}runOnRoot(e){this.result.lastPlugin=e;try{if("object"==typeof e&&e.Once){if("document"===this.result.root.type){let t=this.result.root.nodes.map(t=>e.Once(t,this.helpers));return b(t[0])?Promise.all(t):t}return e.Once(this.result.root,this.helpers)}if("function"==typeof e)return e(this.result.root,this.result)}catch(e){throw this.handleError(e)}}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,t){let s=this.result.lastPlugin;try{if(t&&t.addToError(e),this.error=e,"CssSyntaxError"!==e.name||e.plugin){if(s.postcssVersion&&"production"!==r.env.NODE_ENV){let e=s.postcssPlugin,t=s.postcssVersion,r=this.result.processor.version,i=t.split("."),n=r.split(".");(i[0]!==n[0]||parseInt(i[1])>parseInt(n[1]))&&console.error("Unknown error from PostCSS plugin. Your current PostCSS version is "+r+", but "+e+" uses "+t+". Perhaps this is the source of the error below.")}}else e.plugin=s.postcssPlugin,e.setMessage()}catch(e){console&&console.error&&console.error(e)}return e}async runAsync(){this.plugin=0;for(let e=0;e0;){let e=this.visitTick(t);if(b(e))try{await e}catch(e){let s=t[t.length-1].node;throw this.handleError(e,s)}}}if(this.listeners.OnceExit)for(let[t,s]of this.listeners.OnceExit){this.result.lastPlugin=t;try{if("document"===e.type){let t=e.nodes.map(e=>s(e,this.helpers));await Promise.all(t)}else await s(e,this.helpers)}catch(e){throw this.handleError(e)}}}return this.processed=!0,this.stringify()}prepareVisitors(){this.listeners={};let e=(e,t,s)=>{this.listeners[t]||(this.listeners[t]=[]),this.listeners[t].push([e,s])};for(let t of this.plugins)if("object"==typeof t)for(let s in t){if(!h[s]&&/^[A-Z]/.test(s))throw new Error(`Unknown event ${s} in ${t.postcssPlugin}. `+`Try to update PostCSS (${this.processor.version} now).`);if(!g[s])if("object"==typeof t[s])for(let r in t[s])e(t,"*"===r?s:s+"-"+r.toLowerCase(),t[s][r]);else"function"==typeof t[s]&&e(t,s,t[s])}this.hasListener=Object.keys(this.listeners).length>0}visitTick(e){let t=e[e.length-1],{node:s,visitors:r}=t;if("root"!==s.type&&"document"!==s.type&&!s.parent)return void e.pop();if(r.length>0&&t.visitorIndex{k=e}),s.exports=S,S.default=S,f.registerLazyResult(S),u.registerLazyResult(S)}).call(this)}).call(this,e("_process"))},{"./container":66,"./document":69,"./map-generator":74,"./parse":77,"./result":82,"./root":83,"./stringify":86,"./symbols":87,"./warn-once":89,_process:91}],73:[(e,t,s)=>{let r={split(e,t,s){let r=[],i="",n=!1,o=0,a=!1,l=!1;for(let s of e)l?l=!1:"\\"===s?l=!0:a?s===a&&(a=!1):'"'===s||"'"===s?a=s:"("===s?o+=1:")"===s?o>0&&(o-=1):0===o&&t.includes(s)&&(n=!0),n?(""!==i&&r.push(i.trim()),i="",n=!1):i+=s;return(s||""!==i)&&r.push(i.trim()),r},space:e=>r.split(e,[" ","\n","\t"]),comma:e=>r.split(e,[","],!0)};t.exports=r,r.default=r},{}],74:[function(e,t,s){(function(s){(function(){let{SourceMapConsumer:r,SourceMapGenerator:i}=e("source-map-js"),{dirname:n,resolve:o,relative:a,sep:l}=e("path"),{pathToFileURL:u}=e("url"),c=e("./input"),d=Boolean(r&&i),p=Boolean(n&&o&&a&&l);t.exports=class{constructor(e,t,s,r){this.stringify=e,this.mapOpts=s.map||{},this.root=t,this.opts=s,this.css=r}isMap(){return void 0!==this.opts.map?!!this.opts.map:this.previous().length>0}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(e=>{if(e.source&&e.source.input.map){let t=e.source.input.map;this.previousMaps.includes(t)||this.previousMaps.push(t)}});else{let e=new c(this.css,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}isInline(){if(void 0!==this.mapOpts.inline)return this.mapOpts.inline;let e=this.mapOpts.annotation;return(void 0===e||!0===e)&&(!this.previous().length||this.previous().some(e=>e.inline))}isSourcesContent(){return void 0!==this.mapOpts.sourcesContent?this.mapOpts.sourcesContent:!this.previous().length||this.previous().some(e=>e.withContent())}clearAnnotation(){let e;if(!1!==this.mapOpts.annotation)if(this.root)for(let t=this.root.nodes.length-1;t>=0;t--)"comment"===(e=this.root.nodes[t]).type&&0===e.text.indexOf("# sourceMappingURL=")&&this.root.removeChild(t);else this.css&&(this.css=this.css.replace(/(\n)?\/\*#[\S\s]*?\*\/$/gm,""))}setSourcesContent(){let e={};if(this.root)this.root.walk(t=>{if(t.source){let s=t.source.input.from;s&&!e[s]&&(e[s]=!0,this.map.setSourceContent(this.toUrl(this.path(s)),t.source.input.css))}});else if(this.css){let e=this.opts.from?this.toUrl(this.path(this.opts.from)):"";this.map.setSourceContent(e,this.css)}}applyPrevMaps(){for(let e of this.previous()){let t,s=this.toUrl(this.path(e.file)),i=e.root||n(e.file);!1===this.mapOpts.sourcesContent?(t=new r(e.text)).sourcesContent&&(t.sourcesContent=t.sourcesContent.map(()=>null)):t=e.consumer(),this.map.applySourceMap(t,s,this.toUrl(this.path(i)))}}isAnnotation(){return!!this.isInline()||(void 0!==this.mapOpts.annotation?this.mapOpts.annotation:!this.previous().length||this.previous().some(e=>e.annotation))}toBase64(e){return s?s.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))}addAnnotation(){let e;e=this.isInline()?"data:application/json;base64,"+this.toBase64(this.map.toString()):"string"==typeof this.mapOpts.annotation?this.mapOpts.annotation:"function"==typeof this.mapOpts.annotation?this.mapOpts.annotation(this.opts.to,this.root):this.outputFile()+".map";let t="\n";this.css.includes("\r\n")&&(t="\r\n"),this.css+=t+"/*# sourceMappingURL="+e+" */"}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}generateMap(){if(this.root)this.generateString();else if(1===this.previous().length){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=i.fromSourceMap(e)}else this.map=new i({file:this.outputFile()}),this.map.addMapping({source:this.opts.from?this.toUrl(this.path(this.opts.from)):"",generated:{line:1,column:0},original:{line:1,column:0}});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}path(e){if(0===e.indexOf("<"))return e;if(/^\w+:\/\//.test(e))return e;if(this.mapOpts.absolute)return e;let t=this.opts.to?n(this.opts.to):".";return"string"==typeof this.mapOpts.annotation&&(t=n(o(t,this.mapOpts.annotation))),a(t,e)}toUrl(e){return"\\"===l&&(e=e.replace(/\\/g,"/")),encodeURI(e).replace(/[#?]/g,encodeURIComponent)}sourcePath(e){if(this.mapOpts.from)return this.toUrl(this.mapOpts.from);if(this.mapOpts.absolute){if(u)return u(e.source.input.from).toString();throw new Error("`map.absolute` option is not available in this PostCSS build")}return this.toUrl(this.path(e.source.input.from))}generateString(){this.css="",this.map=new i({file:this.outputFile()});let e,t,s=1,r=1,n="",o={source:"",generated:{line:0,column:0},original:{line:0,column:0}};this.stringify(this.root,(i,a,l)=>{if(this.css+=i,a&&"end"!==l&&(o.generated.line=s,o.generated.column=r-1,a.source&&a.source.start?(o.source=this.sourcePath(a),o.original.line=a.source.start.line,o.original.column=a.source.start.column-1,this.map.addMapping(o)):(o.source=n,o.original.line=1,o.original.column=0,this.map.addMapping(o))),(e=i.match(/\n/g))?(s+=e.length,t=i.lastIndexOf("\n"),r=i.length-t):r+=i.length,a&&"start"!==l){let e=a.parent||{raws:{}};("decl"!==a.type||a!==e.last||e.raws.semicolon)&&(a.source&&a.source.end?(o.source=this.sourcePath(a),o.original.line=a.source.end.line,o.original.column=a.source.end.column-1,o.generated.line=s,o.generated.column=r-2,this.map.addMapping(o)):(o.source=n,o.original.line=1,o.original.column=0,o.generated.line=s,o.generated.column=r-1,this.map.addMapping(o)))}})}generate(){if(this.clearAnnotation(),p&&d&&this.isMap())return this.generateMap();{let e="";return this.stringify(this.root,t=>{e+=t}),[e]}}}}).call(this)}).call(this,e("buffer").Buffer)},{"./input":71,buffer:1,path:3,"source-map-js":3,url:3}],75:[function(e,t,s){(function(s){(function(){let r=e("./map-generator"),i=e("./stringify"),n=e("./warn-once"),o=e("./parse");const a=e("./result");class l{constructor(e,t,s){t=t.toString(),this.stringified=!1,this._processor=e,this._css=t,this._opts=s,this._map=void 0;let n=i;this.result=new a(this._processor,void 0,this._opts),this.result.css=t;let o=this;Object.defineProperty(this.result,"root",{get:()=>o.root});let l=new r(n,void 0,this._opts,t);if(l.isMap()){let[e,t]=l.generate();e&&(this.result.css=e),t&&(this.result.map=t)}}get[Symbol.toStringTag](){return"NoWorkResult"}get processor(){return this.result.processor}get opts(){return this.result.opts}get css(){return this.result.css}get content(){return this.result.css}get map(){return this.result.map}get root(){if(this._root)return this._root;let e,t=o;try{e=t(this._css,this._opts)}catch(e){this.error=e}if(this.error)throw this.error;return this._root=e,e}get messages(){return[]}warnings(){return[]}toString(){return this._css}then(e,t){return"production"!==s.env.NODE_ENV&&("from"in this._opts||n("Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.")),this.async().then(e,t)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}sync(){if(this.error)throw this.error;return this.result}}t.exports=l,l.default=l}).call(this)}).call(this,e("_process"))},{"./map-generator":74,"./parse":77,"./result":82,"./stringify":86,"./warn-once":89,_process:91}],76:[function(e,t,s){let{isClean:r,my:i}=e("./symbols"),n=e("./css-syntax-error"),o=e("./stringifier"),a=e("./stringify");class l{constructor(e={}){this.raws={},this[r]=!1,this[i]=!0;for(let t in e)if("nodes"===t){this.nodes=[];for(let s of e[t])"function"==typeof s.clone?this.append(s.clone()):this.append(s)}else this[t]=e[t]}error(e,t={}){if(this.source){let{start:s,end:r}=this.rangeBy(t);return this.source.input.error(e,{line:s.line,column:s.column},{line:r.line,column:r.column},t)}return new n(e)}warn(e,t,s){let r={node:this};for(let e in s)r[e]=s[e];return e.warn(t,r)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}toString(e=a){e.stringify&&(e=e.stringify);let t="";return e(this,e=>{t+=e}),t}assign(e={}){for(let t in e)this[t]=e[t];return this}clone(e={}){let t=function e(t,s){let r=new t.constructor;for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i))continue;if("proxyCache"===i)continue;let n=t[i],o=typeof n;"parent"===i&&"object"===o?s&&(r[i]=s):"source"===i?r[i]=n:Array.isArray(n)?r[i]=n.map(t=>e(t,r)):("object"===o&&null!==n&&(n=e(n)),r[i]=n)}return r}(this);for(let s in e)t[s]=e[s];return t}cloneBefore(e={}){let t=this.clone(e);return this.parent.insertBefore(this,t),t}cloneAfter(e={}){let t=this.clone(e);return this.parent.insertAfter(this,t),t}replaceWith(...e){if(this.parent){let t=this,s=!1;for(let r of e)r===this?s=!0:s?(this.parent.insertAfter(t,r),t=r):this.parent.insertBefore(t,r);s||this.remove()}return this}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}before(e){return this.parent.insertBefore(this,e),this}after(e){return this.parent.insertAfter(this,e),this}root(){let e=this;for(;e.parent&&"document"!==e.parent.type;)e=e.parent;return e}raw(e,t){return(new o).raw(this,e,t)}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}toJSON(e,t){let s={},r=null==t;t=t||new Map;let i=0;for(let e in this){if(!Object.prototype.hasOwnProperty.call(this,e))continue;if("parent"===e||"proxyCache"===e)continue;let r=this[e];if(Array.isArray(r))s[e]=r.map(e=>"object"==typeof e&&e.toJSON?e.toJSON(null,t):e);else if("object"==typeof r&&r.toJSON)s[e]=r.toJSON(null,t);else if("source"===e){let n=t.get(r.input);null==n&&(n=i,t.set(r.input,i),i++),s[e]={inputId:n,start:r.start,end:r.end}}else s[e]=r}return r&&(s.inputs=[...t.keys()].map(e=>e.toJSON())),s}positionInside(e){let t=this.toString(),s=this.source.start.column,r=this.source.start.line;for(let i=0;ie[t]===s||(e[t]=s,"prop"!==t&&"value"!==t&&"name"!==t&&"params"!==t&&"important"!==t&&"text"!==t||e.markDirty(),!0),get:(e,t)=>"proxyOf"===t?e:"root"===t?()=>e.root().toProxy():e[t]}}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\n\s{4}at /.test(e.stack)){let t=this.source;e.stack=e.stack.replace(/\n\s{4}at /,`$&${t.input.from}:${t.start.line}:${t.start.column}$&`)}return e}markDirty(){if(this[r]){this[r]=!1;let e=this;for(;e=e.parent;)e[r]=!1}}get proxyOf(){return this}}t.exports=l,l.default=l},{"./css-syntax-error":67,"./stringifier":85,"./stringify":86,"./symbols":87}],77:[function(e,t,s){(function(s){(()=>{let r=e("./container"),i=e("./parser"),n=e("./input");function o(e,t){let r=new n(e,t),o=new i(r);try{o.parse()}catch(e){throw"production"!==s.env.NODE_ENV&&"CssSyntaxError"===e.name&&t&&t.from&&(/\.scss$/i.test(t.from)?e.message+="\nYou tried to parse SCSS with the standard CSS parser; try again with the postcss-scss parser":/\.sass/i.test(t.from)?e.message+="\nYou tried to parse Sass with the standard CSS parser; try again with the postcss-sass parser":/\.less$/i.test(t.from)&&(e.message+="\nYou tried to parse Less with the standard CSS parser; try again with the postcss-less parser")),e}return o.root}t.exports=o,o.default=o,r.registerParse(o)}).call(this)}).call(this,e("_process"))},{"./container":66,"./input":71,"./parser":78,_process:91}],78:[function(e,t,s){let r=e("./declaration"),i=e("./tokenize"),n=e("./comment"),o=e("./at-rule"),a=e("./root"),l=e("./rule");const u={empty:!0,space:!0};t.exports=class{constructor(e){this.input=e,this.root=new a,this.current=this.root,this.spaces="",this.semicolon=!1,this.customProperty=!1,this.createTokenizer(),this.root.source={input:e,start:{offset:0,line:1,column:1}}}createTokenizer(){this.tokenizer=i(this.input)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch((e=this.tokenizer.nextToken())[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e)}this.endFile()}comment(e){let t=new n;this.init(t,e[2]),t.source.end=this.getPosition(e[3]||e[2]);let s=e[1].slice(2,-2);if(/^\s*$/.test(s))t.text="",t.raws.left=s,t.raws.right="";else{let e=s.match(/^(\s*)([^]*\S)(\s*)$/);t.text=e[2],t.raws.left=e[1],t.raws.right=e[3]}}emptyRule(e){let t=new l;this.init(t,e[2]),t.selector="",t.raws.between="",this.current=t}other(e){let t=!1,s=null,r=!1,i=null,n=[],o=e[1].startsWith("--"),a=[],l=e;for(;l;){if(s=l[0],a.push(l),"("===s||"["===s)i||(i=l),n.push("("===s?")":"]");else if(o&&r&&"{"===s)i||(i=l),n.push("}");else if(0===n.length){if(";"===s){if(r)return void this.decl(a,o);break}if("{"===s)return void this.rule(a);if("}"===s){this.tokenizer.back(a.pop()),t=!0;break}":"===s&&(r=!0)}else s===n[n.length-1]&&(n.pop(),0===n.length&&(i=null));l=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),n.length>0&&this.unclosedBracket(i),t&&r){if(!o)for(;a.length&&("space"===(l=a[a.length-1][0])||"comment"===l);)this.tokenizer.back(a.pop());this.decl(a,o)}else this.unknownWord(a)}rule(e){e.pop();let t=new l;this.init(t,e[0][2]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,"selector",e),this.current=t}decl(e,t){let s=new r;this.init(s,e[0][2]);let i,n=e[e.length-1];for(";"===n[0]&&(this.semicolon=!0,e.pop()),s.source.end=this.getPosition(n[3]||n[2]||(e=>{for(let t=e.length-1;t>=0;t--){let s=e[t],r=s[3]||s[2];if(r)return r}})(e));"word"!==e[0][0];)1===e.length&&this.unknownWord(e),s.raws.before+=e.shift()[1];for(s.source.start=this.getPosition(e[0][2]),s.prop="";e.length;){let t=e[0][0];if(":"===t||"space"===t||"comment"===t)break;s.prop+=e.shift()[1]}for(s.raws.between="";e.length;){if(":"===(i=e.shift())[0]){s.raws.between+=i[1];break}"word"===i[0]&&/\w/.test(i[1])&&this.unknownWord([i]),s.raws.between+=i[1]}"_"!==s.prop[0]&&"*"!==s.prop[0]||(s.raws.before+=s.prop[0],s.prop=s.prop.slice(1));let o,a=[];for(;e.length&&("space"===(o=e[0][0])||"comment"===o);)a.push(e.shift());this.precheckMissedSemicolon(e);for(let t=e.length-1;t>=0;t--){if("!important"===(i=e[t])[1].toLowerCase()){s.important=!0;let r=this.stringFrom(e,t);" !important"!==(r=this.spacesFromEnd(e)+r)&&(s.raws.important=r);break}if("important"===i[1].toLowerCase()){let r=e.slice(0),i="";for(let e=t;e>0;e--){let t=r[e][0];if(0===i.trim().indexOf("!")&&"space"!==t)break;i=r.pop()[1]+i}0===i.trim().indexOf("!")&&(s.important=!0,s.raws.important=i,e=r)}if("space"!==i[0]&&"comment"!==i[0])break}e.some(e=>"space"!==e[0]&&"comment"!==e[0])&&(s.raws.between+=a.map(e=>e[1]).join(""),a=[]),this.raw(s,"value",a.concat(e),t),s.value.includes(":")&&!t&&this.checkMissedSemicolon(e)}atrule(e){let t,s,r,i=new o;i.name=e[1].slice(1),""===i.name&&this.unnamedAtrule(i,e),this.init(i,e[2]);let n=!1,a=!1,l=[],u=[];for(;!this.tokenizer.endOfFile();){if("("===(t=(e=this.tokenizer.nextToken())[0])||"["===t?u.push("("===t?")":"]"):"{"===t&&u.length>0?u.push("}"):t===u[u.length-1]&&u.pop(),0===u.length){if(";"===t){i.source.end=this.getPosition(e[2]),this.semicolon=!0;break}if("{"===t){a=!0;break}if("}"===t){if(l.length>0){for(s=l[r=l.length-1];s&&"space"===s[0];)s=l[--r];s&&(i.source.end=this.getPosition(s[3]||s[2]))}this.end(e);break}l.push(e)}else l.push(e);if(this.tokenizer.endOfFile()){n=!0;break}}i.raws.between=this.spacesAndCommentsFromEnd(l),l.length?(i.raws.afterName=this.spacesAndCommentsFromStart(l),this.raw(i,"params",l),n&&(e=l[l.length-1],i.source.end=this.getPosition(e[3]||e[2]),this.spaces=i.raws.between,i.raws.between="")):(i.raws.afterName="",i.params=""),a&&(i.nodes=[],this.current=i)}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let e=this.current.nodes[this.current.nodes.length-1];e&&"rule"===e.type&&!e.raws.ownSemicolon&&(e.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(e){let t=this.input.fromOffset(e);return{offset:e,line:t.line,column:t.col}}init(e,t){this.current.push(e),e.source={start:this.getPosition(t),input:this.input},e.raws.before=this.spaces,this.spaces="","comment"!==e.type&&(this.semicolon=!1)}raw(e,t,s,r){let i,n,o,a,l=s.length,c="",d=!0;for(let e=0;ee+t[1],"");e.raws[t]={value:c,raw:r}}e[t]=c}spacesAndCommentsFromEnd(e){let t,s="";for(;e.length&&("space"===(t=e[e.length-1][0])||"comment"===t);)s=e.pop()[1]+s;return s}spacesAndCommentsFromStart(e){let t,s="";for(;e.length&&("space"===(t=e[0][0])||"comment"===t);)s+=e.shift()[1];return s}spacesFromEnd(e){let t,s="";for(;e.length&&"space"===(t=e[e.length-1][0]);)s=e.pop()[1]+s;return s}stringFrom(e,t){let s="";for(let r=t;r=0&&("space"===(s=e[i])[0]||2!==(r+=1));i--);throw this.input.error("Missed semicolon","word"===s[0]?s[3]+1:s[2])}}},{"./at-rule":64,"./comment":65,"./declaration":68,"./root":83,"./rule":84,"./tokenize":88}],79:[function(e,t,s){(function(s){(()=>{let r=e("./css-syntax-error"),i=e("./declaration"),n=e("./lazy-result"),o=e("./container"),a=e("./processor"),l=e("./stringify"),u=e("./fromJSON"),c=e("./document"),d=e("./warning"),p=e("./comment"),f=e("./at-rule"),m=e("./result.js"),h=e("./input"),g=e("./parse"),w=e("./list"),b=e("./rule"),y=e("./root"),x=e("./node");function v(...e){return 1===e.length&&Array.isArray(e[0])&&(e=e[0]),new a(e)}v.plugin=((e,t)=>{let r,i=!1;function n(...r){console&&console.warn&&!i&&(i=!0,console.warn(e+": postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration"),s.env.LANG&&s.env.LANG.startsWith("cn")&&console.warn(e+": 里面 postcss.plugin 被弃用. 迁移指南:\nhttps://www.w3ctech.com/topic/2226"));let n=t(...r);return n.postcssPlugin=e,n.postcssVersion=(new a).version,n}return Object.defineProperty(n,"postcss",{get:()=>(r||(r=n()),r)}),n.process=((e,t,s)=>v([n(s)]).process(e,t)),n}),v.stringify=l,v.parse=g,v.fromJSON=u,v.list=w,v.comment=(e=>new p(e)),v.atRule=(e=>new f(e)),v.decl=(e=>new i(e)),v.rule=(e=>new b(e)),v.root=(e=>new y(e)),v.document=(e=>new c(e)),v.CssSyntaxError=r,v.Declaration=i,v.Container=o,v.Processor=a,v.Document=c,v.Comment=p,v.Warning=d,v.AtRule=f,v.Result=m,v.Input=h,v.Rule=b,v.Root=y,v.Node=x,n.registerPostcss(v),t.exports=v,v.default=v}).call(this)}).call(this,e("_process"))},{"./at-rule":64,"./comment":65,"./container":66,"./css-syntax-error":67,"./declaration":68,"./document":69,"./fromJSON":70,"./input":71,"./lazy-result":72,"./list":73,"./node":76,"./parse":77,"./processor":81,"./result.js":82,"./root":83,"./rule":84,"./stringify":86,"./warning":90,_process:91}],80:[function(e,t,s){(function(s){(function(){let{SourceMapConsumer:r,SourceMapGenerator:i}=e("source-map-js"),{existsSync:n,readFileSync:o}=e("fs"),{dirname:a,join:l}=e("path");class u{constructor(e,t){if(!1===t.map)return;this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");let s=t.map?t.map.prev:void 0,r=this.loadMap(t.from,s);!this.mapFile&&t.from&&(this.mapFile=t.from),this.mapFile&&(this.root=a(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new r(this.text)),this.consumerCache}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}startWith(e,t){return!!e&&e.substr(0,t.length)===t}getAnnotationURL(e){return e.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}loadAnnotation(e){let t=e.match(/\/\*\s*# sourceMappingURL=/gm);if(!t)return;let s=e.lastIndexOf(t.pop()),r=e.indexOf("*/",s);s>-1&&r>-1&&(this.annotation=this.getAnnotationURL(e.substring(s,r)))}decodeInline(e){if(/^data:application\/json;charset=utf-?8,/.test(e)||/^data:application\/json,/.test(e))return decodeURIComponent(e.substr(RegExp.lastMatch.length));if(/^data:application\/json;charset=utf-?8;base64,/.test(e)||/^data:application\/json;base64,/.test(e))return t=e.substr(RegExp.lastMatch.length),s?s.from(t,"base64").toString():window.atob(t);var t;let r=e.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+r)}loadFile(e){if(this.root=a(e),n(e))return this.mapFile=e,o(e,"utf-8").toString().trim()}loadMap(e,t){if(!1===t)return!1;if(t){if("string"==typeof t)return t;if("function"!=typeof t){if(t instanceof r)return i.fromSourceMap(t).toString();if(t instanceof i)return t.toString();if(this.isMap(t))return JSON.stringify(t);throw new Error("Unsupported previous source map format: "+t.toString())}{let s=t(e);if(s){let e=this.loadFile(s);if(!e)throw new Error("Unable to load previous source map: "+s.toString());return e}}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let t=this.annotation;return e&&(t=l(a(e),t)),this.loadFile(t)}}}isMap(e){return"object"==typeof e&&("string"==typeof e.mappings||"string"==typeof e._mappings||Array.isArray(e.sections))}}t.exports=u,u.default=u}).call(this)}).call(this,e("buffer").Buffer)},{buffer:1,fs:3,path:3,"source-map-js":3}],81:[function(e,t,s){(function(s){(function(){let r=e("./no-work-result"),i=e("./lazy-result"),n=e("./document"),o=e("./root");class a{constructor(e=[]){this.version="8.4.14",this.plugins=this.normalize(e)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}process(e,t={}){return 0===this.plugins.length&&void 0===t.parser&&void 0===t.stringifier&&void 0===t.syntax?new r(this,e,t):new i(this,e,t)}normalize(e){let t=[];for(let r of e)if(!0===r.postcss?r=r():r.postcss&&(r=r.postcss),"object"==typeof r&&Array.isArray(r.plugins))t=t.concat(r.plugins);else if("object"==typeof r&&r.postcssPlugin)t.push(r);else if("function"==typeof r)t.push(r);else{if("object"!=typeof r||!r.parse&&!r.stringify)throw new Error(r+" is not a PostCSS plugin");if("production"!==s.env.NODE_ENV)throw new Error("PostCSS syntaxes cannot be used as plugins. Instead, please use one of the syntax/parser/stringifier options as outlined in your PostCSS runner documentation.")}return t}}t.exports=a,a.default=a,o.registerProcessor(a),n.registerProcessor(a)}).call(this)}).call(this,e("_process"))},{"./document":69,"./lazy-result":72,"./no-work-result":75,"./root":83,_process:91}],82:[function(e,t,s){let r=e("./warning");class i{constructor(e,t,s){this.processor=e,this.messages=[],this.root=t,this.opts=s,this.css=void 0,this.map=void 0}toString(){return this.css}warn(e,t={}){t.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(t.plugin=this.lastPlugin.postcssPlugin);let s=new r(e,t);return this.messages.push(s),s}warnings(){return this.messages.filter(e=>"warning"===e.type)}get content(){return this.css}}t.exports=i,i.default=i},{"./warning":90}],83:[function(e,t,s){let r,i,n=e("./container");class o extends n{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}removeChild(e,t){let s=this.index(e);return!t&&0===s&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[s].raws.before),super.removeChild(e)}normalize(e,t,s){let r=super.normalize(e);if(t)if("prepend"===s)this.nodes.length>1?t.raws.before=this.nodes[1].raws.before:delete t.raws.before;else if(this.first!==t)for(let e of r)e.raws.before=t.raws.before;return r}toResult(e={}){return new r(new i,this,e).stringify()}}o.registerLazyResult=(e=>{r=e}),o.registerProcessor=(e=>{i=e}),t.exports=o,o.default=o},{"./container":66}],84:[function(e,t,s){let r=e("./container"),i=e("./list");class n extends r{constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return i.comma(this.selector)}set selectors(e){let t=this.selector?this.selector.match(/,\s*/):null,s=t?t[0]:","+this.raw("between","beforeOpen");this.selector=e.join(s)}}t.exports=n,n.default=n,r.registerRule(n)},{"./container":66,"./list":73}],85:[function(e,t,s){const r={colon:": ",indent:" ",beforeDecl:"\n",beforeRule:"\n",beforeOpen:" ",beforeClose:"\n",beforeComment:"\n",after:"\n",emptyBody:"",commentLeft:" ",commentRight:" ",semicolon:!1};class i{constructor(e){this.builder=e}stringify(e,t){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,t)}document(e){this.body(e)}root(e){this.body(e),e.raws.after&&this.builder(e.raws.after)}comment(e){let t=this.raw(e,"left","commentLeft"),s=this.raw(e,"right","commentRight");this.builder("/*"+t+e.text+s+"*/",e)}decl(e,t){let s=this.raw(e,"between","colon"),r=e.prop+s+this.rawValue(e,"value");e.important&&(r+=e.raws.important||" !important"),t&&(r+=";"),this.builder(r,e)}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(e.raws.ownSemicolon,e,"end")}atrule(e,t){let s="@"+e.name,r=e.params?this.rawValue(e,"params"):"";if(void 0!==e.raws.afterName?s+=e.raws.afterName:r&&(s+=" "),e.nodes)this.block(e,s+r);else{let i=(e.raws.between||"")+(t?";":"");this.builder(s+r+i,e)}}body(e){let t=e.nodes.length-1;for(;t>0&&"comment"===e.nodes[t].type;)t-=1;let s=this.raw(e,"semicolon");for(let r=0;r{if(void 0!==(i=e.raws[t]))return!1})}var a;return void 0===i&&(i=r[s]),o.rawCache[s]=i,i}rawSemicolon(e){let t;return e.walk(e=>{if(e.nodes&&e.nodes.length&&"decl"===e.last.type&&void 0!==(t=e.raws.semicolon))return!1}),t}rawEmptyBody(e){let t;return e.walk(e=>{if(e.nodes&&0===e.nodes.length&&void 0!==(t=e.raws.after))return!1}),t}rawIndent(e){if(e.raws.indent)return e.raws.indent;let t;return e.walk(s=>{let r=s.parent;if(r&&r!==e&&r.parent&&r.parent===e&&void 0!==s.raws.before){let e=s.raws.before.split("\n");return t=(t=e[e.length-1]).replace(/\S/g,""),!1}}),t}rawBeforeComment(e,t){let s;return e.walkComments(e=>{if(void 0!==e.raws.before)return(s=e.raws.before).includes("\n")&&(s=s.replace(/[^\n]+$/,"")),!1}),void 0===s?s=this.raw(t,null,"beforeDecl"):s&&(s=s.replace(/\S/g,"")),s}rawBeforeDecl(e,t){let s;return e.walkDecls(e=>{if(void 0!==e.raws.before)return(s=e.raws.before).includes("\n")&&(s=s.replace(/[^\n]+$/,"")),!1}),void 0===s?s=this.raw(t,null,"beforeRule"):s&&(s=s.replace(/\S/g,"")),s}rawBeforeRule(e){let t;return e.walk(s=>{if(s.nodes&&(s.parent!==e||e.first!==s)&&void 0!==s.raws.before)return(t=s.raws.before).includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawBeforeClose(e){let t;return e.walk(e=>{if(e.nodes&&e.nodes.length>0&&void 0!==e.raws.after)return(t=e.raws.after).includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawBeforeOpen(e){let t;return e.walk(e=>{if("decl"!==e.type&&void 0!==(t=e.raws.between))return!1}),t}rawColon(e){let t;return e.walkDecls(e=>{if(void 0!==e.raws.between)return t=e.raws.between.replace(/[^\s:]/g,""),!1}),t}beforeAfter(e,t){let s;s="decl"===e.type?this.raw(e,null,"beforeDecl"):"comment"===e.type?this.raw(e,null,"beforeComment"):"before"===t?this.raw(e,null,"beforeRule"):this.raw(e,null,"beforeClose");let r=e.parent,i=0;for(;r&&"root"!==r.type;)i+=1,r=r.parent;if(s.includes("\n")){let t=this.raw(e,null,"indent");if(t.length)for(let e=0;e{let r=e("./stringifier");function i(e,t){new r(t).stringify(e)}t.exports=i,i.default=i},{"./stringifier":85}],87:[(e,t,s)=>{t.exports.isClean=Symbol("isClean"),t.exports.my=Symbol("my")},{}],88:[(e,t,s)=>{const r="'".charCodeAt(0),i='"'.charCodeAt(0),n="\\".charCodeAt(0),o="/".charCodeAt(0),a="\n".charCodeAt(0),l=" ".charCodeAt(0),u="\f".charCodeAt(0),c="\t".charCodeAt(0),d="\r".charCodeAt(0),p="[".charCodeAt(0),f="]".charCodeAt(0),m="(".charCodeAt(0),h=")".charCodeAt(0),g="{".charCodeAt(0),w="}".charCodeAt(0),b=";".charCodeAt(0),y="*".charCodeAt(0),x=":".charCodeAt(0),v="@".charCodeAt(0),k=/[\t\n\f\r "#'()/;[\\\]{}]/g,S=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,O=/.[\n"'(/\\]/,C=/[\da-f]/i;t.exports=((e,t={})=>{let s,M,N,E,R,I,A,P,T,j,L=e.css.valueOf(),$=t.ignoreErrors,_=L.length,z=0,D=[],F=[];function B(t){throw e.error("Unclosed "+t,z)}return{back(e){F.push(e)},nextToken(e){if(F.length)return F.pop();if(z>=_)return;let t=!!e&&e.ignoreUnclosed;switch(s=L.charCodeAt(z)){case a:case l:case c:case d:case u:M=z;do{M+=1,s=L.charCodeAt(M)}while(s===l||s===a||s===c||s===d||s===u);j=["space",L.slice(z,M)],z=M-1;break;case p:case f:case g:case w:case x:case b:case h:{let e=String.fromCharCode(s);j=[e,e,z];break}case m:if(P=D.length?D.pop()[1]:"",T=L.charCodeAt(z+1),"url"===P&&T!==r&&T!==i&&T!==l&&T!==a&&T!==c&&T!==u&&T!==d){M=z;do{if(I=!1,-1===(M=L.indexOf(")",M+1))){if($||t){M=z;break}B("bracket")}for(A=M;L.charCodeAt(A-1)===n;)A-=1,I=!I}while(I);j=["brackets",L.slice(z,M+1),z,M],z=M}else M=L.indexOf(")",z+1),E=L.slice(z,M+1),-1===M||O.test(E)?j=["(","(",z]:(j=["brackets",E,z,M],z=M);break;case r:case i:N=s===r?"'":'"',M=z;do{if(I=!1,-1===(M=L.indexOf(N,M+1))){if($||t){M=z+1;break}B("string")}for(A=M;L.charCodeAt(A-1)===n;)A-=1,I=!I}while(I);j=["string",L.slice(z,M+1),z,M],z=M;break;case v:k.lastIndex=z+1,k.test(L),M=0===k.lastIndex?L.length-1:k.lastIndex-2,j=["at-word",L.slice(z,M+1),z,M],z=M;break;case n:for(M=z,R=!0;L.charCodeAt(M+1)===n;)M+=1,R=!R;if(s=L.charCodeAt(M+1),R&&s!==o&&s!==l&&s!==a&&s!==c&&s!==d&&s!==u&&(M+=1,C.test(L.charAt(M)))){for(;C.test(L.charAt(M+1));)M+=1;L.charCodeAt(M+1)===l&&(M+=1)}j=["word",L.slice(z,M+1),z,M],z=M;break;default:s===o&&L.charCodeAt(z+1)===y?(0===(M=L.indexOf("*/",z+2)+1)&&($||t?M=L.length:B("comment")),j=["comment",L.slice(z,M+1),z,M],z=M):(S.lastIndex=z+1,S.test(L),M=0===S.lastIndex?L.length-1:S.lastIndex-2,j=["word",L.slice(z,M+1),z,M],D.push(j),z=M)}return z++,j},endOfFile:()=>0===F.length&&z>=_,position:()=>z}})},{}],89:[(e,t,s)=>{let r={};t.exports=(e=>{r[e]||(r[e]=!0,"undefined"!=typeof console&&console.warn&&console.warn(e))})},{}],90:[function(e,t,s){class r{constructor(e,t={}){if(this.type="warning",this.text=e,t.node&&t.node.source){let e=t.node.rangeBy(t);this.line=e.start.line,this.column=e.start.column,this.endLine=e.end.line,this.endColumn=e.end.column}for(let e in t)this[e]=t[e]}toString(){return this.node?this.node.error(this.text,{plugin:this.plugin,index:this.index,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}t.exports=r,r.default=r},{}],91:[function(e,t,s){var r,i,n=t.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function l(e){if(r===setTimeout)return setTimeout(e,0);if((r===o||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}(()=>{try{r="function"==typeof setTimeout?setTimeout:o}catch(e){r=o}try{i="function"==typeof clearTimeout?clearTimeout:a}catch(e){i=a}})();var u,c=[],d=!1,p=-1;function f(){d&&u&&(d=!1,u.length?c=u.concat(c):p=-1,c.length&&m())}function m(){if(!d){var e=l(f);d=!0;for(var t=c.length;t;){for(u=c,c=[];++p1)for(var s=1;s[]),n.binding=(e=>{throw new Error("process.binding is not supported")}),n.cwd=(()=>"/"),n.chdir=(e=>{throw new Error("process.chdir is not supported")}),n.umask=(()=>0)},{}],92:[(e,t,s)=>{var r="skip",i="only";t.exports=((e,t)=>{var s=e.source,n=e.target,o=!e.comments||e.comments===r,a=!e.strings||e.strings===r,l=!e.functionNames||e.functionNames===r,u=e.functionArguments===r,c=e.parentheticals===r,d=!1;Object.keys(e).forEach(t=>{if(e[t]===i){if(d)throw new Error('Only one syntax feature option can be the "only" one to check');d=!0}});var p,f=e.comments===i,m=e.strings===i,h=e.functionNames===i,g=e.functionArguments===i,w=e.parentheticals===i,b=!1,y=!1,x=!1,v=!1,k=!1,S=0,O=0,C=Array.isArray(n),M=(()=>C?e=>{for(var t=0,s=n.length;t{const r=e("./utils/isStandardSyntaxComment"),{assert:i,assertNumber:n,assertString:o}=e("./utils/validateTypes"),a="stylelint-",l=`${a}disable`,u=`${a}enable`,c=`${a}disable-line`,d=`${a}disable-next-line`,p="all";function f(e,t,s,r,i,n){return{comment:e,start:t,end:i||void 0,strictStart:s,strictEnd:"boolean"==typeof n?n:void 0,description:r}}t.exports=((e,t)=>{t.stylelint=t.stylelint||{disabledRanges:{},ruleSeverities:{},customMessages:{},ruleMetadata:{}};const s={[p]:[]};let m;return t.stylelint.disabledRanges=s,e.walkComments(e=>{if(m)return void(m===e&&(m=null));const t=e.next();if(r(e)||!h(e)||!t||"comment"!==t.type||!e.text.includes("--")&&!t.text.startsWith("--"))return void w(e);let s=e.source&&e.source.end&&e.source.end.line||0;const i=e.clone();let n=t;for(;!r(n)&&!h(n);){const e=n.source&&n.source.end&&n.source.end.line||0;if(s+1!==e)break;i.text+=`\n${n.text}`,i.source&&n.source&&(i.source.end=n.source.end),m=n;const t=n.next();if(!t||"comment"!==t.type)break;n=t,s=e}w(i)}),t;function h(e){return e.text.startsWith(l)||e.text.startsWith(u)}function g(e,t,r,i){if(k(p))throw e.error("All rules have already been disabled",{plugin:"stylelint"});if(r===p)for(const r of Object.keys(s)){if(k(r))continue;const s=r===p;x(e,t,r,s,i),v(t,r,s)}else{if(k(r))throw e.error(`"${r}" has already been disabled`,{plugin:"stylelint"});x(e,t,r,!0,i),v(t,r,!0)}}function w(e){const t=e.text;0===t.indexOf(a)&&(t.startsWith(c)?(e=>{if(e.source&&e.source.start){const t=e.source.start.line,s=y(e.text);for(const r of b(c,e.text))g(e,t,r,s)}})(e):t.startsWith(d)?(e=>{if(e.source&&e.source.end){const t=e.source.end.line,s=y(e.text);for(const r of b(d,e.text))g(e,t+1,r,s)}})(e):t.startsWith(l)?(e=>{const t=y(e.text);for(const r of b(l,e.text)){const i=r===p;if(k(r))throw e.error(i?"All rules have already been disabled":`"${r}" has already been disabled`,{plugin:"stylelint"});if(e.source&&e.source.start){const n=e.source.start.line;if(i)for(const r of Object.keys(s))x(e,n,r,r===p,t);else x(e,n,r,!0,t)}}})(e):t.startsWith(u)&&(e=>{for(const t of b(u,e.text)){const r=e.source&&e.source.end&&e.source.end.line;if(n(r),t!==p)if(k(p)&&void 0===s[t])s[t]=s[p].map(({start:t,end:s,description:r})=>f(e,t,!1,r,s,!1)),v(r,t,!0);else{if(!k(t))throw e.error(`"${t}" has not been disabled`,{plugin:"stylelint"});v(r,t,!0)}else{if(Object.values(s).every(e=>{if(0===e.length)return!0;const t=e[e.length-1];return t&&"number"==typeof t.end}))throw e.error("No rules have been disabled",{plugin:"stylelint"});for(const[e,t]of Object.entries(s)){const s=t[t.length-1];s&&s.end||v(r,e,e===p)}}}})(e))}function b(e,t){const s=t.slice(e.length).split(/\s-{2,}\s/u)[0];o(s);const r=s.trim().split(",").filter(Boolean).map(e=>e.trim());return 0===r.length?[p]:r}function y(e){const t=e.indexOf("--");if(-1!==t)return e.slice(t+2).trim()}function x(e,t,r,n,o){const a=f(e,t,n,o);var l;s[l=r]||(s[l]=s[p].map(({comment:e,start:t,end:s,description:r})=>f(e,t,!1,r,s,!1)));const u=s[r];i(u),u.push(a)}function v(e,t,r){const i=s[t],n=i?i[i.length-1]:null;n&&(n.end=e,n.strictEnd=r)}function k(e){const t=s[e];if(!t)return!1;const r=t[t.length-1];return!!r&&!r.end}})},{"./utils/isStandardSyntaxComment":388,"./utils/validateTypes":421}],94:[(e,t,s)=>{t.exports=((e,t)=>{let s,r;if(e&&e.root){e.root.source&&!(r=e.root.source.input.file)&&"id"in e.root.source.input&&(r=e.root.source.input.id);const t=e.messages.filter(e=>"deprecation"===e.stylelintType).map(e=>({text:e.text,reference:e.stylelintReference})),i=e.messages.filter(e=>"invalidOption"===e.stylelintType).map(e=>({text:e.text})),n=e.messages.filter(e=>"parseError"===e.stylelintType);e.messages=e.messages.filter(e=>"deprecation"!==e.stylelintType&&"invalidOption"!==e.stylelintType&&"parseError"!==e.stylelintType),s={source:r,deprecations:t,invalidOptionWarnings:i,parseErrors:n,errored:e.stylelint.stylelintError,warnings:e.messages.map(e=>({line:e.line,column:e.column,endLine:e.endLine,endColumn:e.endColumn,rule:e.rule,severity:e.severity,text:e.text})),ignored:e.stylelint.ignored,_postcssResult:e}}else{if(!t)throw new Error("createPartialStylelintResult must be called with either postcssResult or CssSyntaxError");if("CssSyntaxError"!==t.name)throw t;s={source:t.file||"",deprecations:[],invalidOptionWarnings:[],parseErrors:[],errored:!0,warnings:[{line:t.line,column:t.column,endLine:t.endLine,endColumn:t.endColumn,rule:t.name,severity:"error",text:`${t.reason} (${t.name})`}]}}return s})},{}],95:[(e,t,s)=>{t.exports=((e,t)=>({ruleName:e,rule:t}))},{}],96:[function(e,s,r){(function(r){(()=>{const i=e("./createStylelintResult"),n=e("./getPostcssResult"),o=e("./lintSource");"test"===r.env.NODE_ENV&&r.cwd(),s.exports=((s={})=>{const a={_options:t({},s,{cwd:s.cwd||r.cwd()})};return a._specifiedConfigCache=new Map,a._postcssResultCache=new Map,a._createStylelintResult=i.bind(null,a),a._getPostcssResult=n.bind(null,a),a._lintSource=o.bind(null,a),a.getConfigForFile=(async t=>({config:e("./normalizeAllRuleSettings")(t._options.config)})).bind(null,a),a.isPathIgnored=(async()=>!1).bind(null,a),a})}).call(this)}).call(this,e("_process"))},{"./createStylelintResult":97,"./getPostcssResult":101,"./lintSource":104,"./normalizeAllRuleSettings":106,_process:91}],97:[(e,t,s)=>{const r=e("./createPartialStylelintResult");t.exports=(async(e,t,s,i)=>{let n=r(t,i);const o=await e.getConfigForFile(s,s),a=null===o?{}:o.config,l=n.source||i&&i.file;if(a.resultProcessors)for(const e of a.resultProcessors){const t=e(n,l);t&&(n=t)}return n})},{"./createPartialStylelintResult":94}],98:[(e,t,s)=>{const r=e("./utils/optionsMatches"),i=e("./validateDisableSettings");t.exports=(e=>{for(const t of e){const e=i(t._postcssResult,"reportDescriptionlessDisables");if(!e)continue;const[s,n,o]=e,a=new Set;for(const[e,i]of Object.entries(o.disabledRanges))for(const o of i)o.description||a.has(o.comment)||(s!==r(n,"except",e)?(a.add(o.comment),o.comment.source&&o.comment.source.start&&t.warnings.push({text:`Disable for "${e}" is missing a description`,rule:"--report-descriptionless-disables",line:o.comment.source.start.line,column:o.comment.source.start.column,endLine:o.comment.source.end&&o.comment.source.end.line,endColumn:o.comment.source.end&&o.comment.source.end.column,severity:n.severity})):s||"all"!==e||a.add(o.comment))}})},{"./utils/optionsMatches":406,"./validateDisableSettings":424}],99:[(e,t,s)=>{const r={compact(){},json:e("./jsonFormatter"),string(){},tap(){},unix(){},verbose(){}};t.exports=r},{"./jsonFormatter":100}],100:[(e,t,s)=>{t.exports=(e=>{const t=e.map(e=>Object.entries(e).filter(([e])=>!e.startsWith("_")).reduce((e,[t,s])=>(e[t]=s,e),{}));return JSON.stringify(t)})},{}],101:[(e,s,r)=>{const i=e("postcss/lib/lazy-result").default,{default:n}=e("postcss"),o=n();function a(e,t){return n}s.exports=(async(s,r={})=>{const l=r.filePath?s._postcssResultCache.get(r.filePath):void 0;if(l)return l;if(s._options.syntax){let e='The "syntax" option is no longer available. ';return e+="css"===s._options.syntax?'You can remove the "--syntax" CLI flag as stylelint will now parse files as CSS by default':'You should install an appropriate syntax, e.g. postcss-scss, and use the "customSyntax" option',Promise.reject(new Error(e))}const u=r.customSyntax?(s=>{let r;if("string"==typeof s){try{r=e(s)}catch(e){if(e&&"object"==typeof e&&"MODULE_NOT_FOUND"===e.code&&e.message.includes(s))throw new Error(`Cannot resolve custom syntax module "${s}". Check that module "${s}" is available and spelled correctly.\n\nCaused by: ${e}`);throw e}return r.parse||(r={parse:r,stringify:n.stringify}),r}if("object"==typeof s){if("function"!=typeof s.parse)throw new TypeError('An object provided to the "customSyntax" option must have a "parse" property. Ensure the "parse" property exists and its value is a function.');return t({},s)}throw new Error("Custom syntax must be a string or a Syntax object")})(r.customSyntax):a(0,r.filePath),c={from:r.filePath,syntax:u};let d;if(void 0!==r.code?d=r.code:r.filePath,void 0===d)return Promise.reject(new Error("code or filePath required"));if(r.codeProcessors&&r.codeProcessors.length){s._options.fix&&(console.warn("Autofix is incompatible with processors and will be disabled. Are you sure you need a processor?"),s._options.fix=!1);const e=r.code?r.codeFilename:r.filePath;for(const t of r.codeProcessors)d=t(d,e)}const p=await new i(o,d,c);return r.filePath&&s._postcssResultCache.set(r.filePath,p),p}),a.sugarss=e("sugarss")},{postcss:79,"postcss/lib/lazy-result":72,sugarss:426}],102:[(e,t,s)=>{const r=e("./utils/optionsMatches"),i=e("./validateDisableSettings");t.exports=(e=>{for(const t of e){const e=i(t._postcssResult,"reportInvalidScopeDisables");if(!e)continue;const[s,n,o]=e,a=(o.config||{}).rules||{},l=new Set(Object.keys(a));l.add("all");for(const[e,i]of Object.entries(o.disabledRanges))if(!l.has(e)&&s!==r(n,"except",e))for(const s of i)(s.strictStart||s.strictEnd)&&s.comment.source&&s.comment.source.start&&t.warnings.push({text:`Rule "${e}" isn't enabled`,rule:"--report-invalid-scope-disables",line:s.comment.source.start.line,column:s.comment.source.start.column,endLine:s.comment.source.end&&s.comment.source.end.line,endColumn:s.comment.source.end&&s.comment.source.end.column,severity:n.severity})}})},{"./utils/optionsMatches":406,"./validateDisableSettings":424}],103:[(e,t,s)=>{const r=e("./assignDisabledRanges"),i=e("./utils/getOsEol"),n=e("./reportUnknownRuleNames"),o=e("./rules");t.exports=((e,t,s)=>{let a;t.stylelint.ruleSeverities={},t.stylelint.customMessages={},t.stylelint.ruleMetadata={},t.stylelint.stylelintError=!1,t.stylelint.quiet=s.quiet,t.stylelint.config=s;const l=t.root;if(l){if(!("type"in l))throw new Error("Unexpected Postcss root object!");const e=l.source&&l.source.input.css.match(/\r?\n/);a=e?e[0]:i(),r(l,t)}const u=(({stylelint:e})=>!e.disabledRanges.all||!e.disabledRanges.all.length)(t);u||(t.stylelint.disableWritingFix=!0);const c=l&&"Document"===l.constructor.name?l.nodes:[l],d=[],p=Object.keys(o),f=s.rules?Object.keys(s.rules).sort((e,t)=>p.indexOf(e)-p.indexOf(t)):[];for(const r of f){const i=o[r]||s.pluginFunctions&&s.pluginFunctions[r];if(void 0===i){d.push(Promise.all(c.map(e=>n(r,e,t))));continue}const l=s.rules&&s.rules[r];if(null===l||null===l[0])continue;const p=l[0],f=l[1],m=s.defaultSeverity||"error",h=f&&!0===f.disableFix||!1;h&&(t.stylelint.ruleDisableFix=!0),t.stylelint.ruleSeverities[r]=f&&f.severity||m,t.stylelint.customMessages[r]=f&&f.message,t.stylelint.ruleMetadata[r]=i.meta||{},d.push(Promise.all(c.map(s=>i(p,f,{fix:!h&&e.fix&&u&&!t.stylelint.disabledRanges[r],newline:a})(s,t))))}return Promise.all(d)})},{"./assignDisabledRanges":93,"./reportUnknownRuleNames":115,"./rules":208,"./utils/getOsEol":346}],104:[(e,t,s)=>{const r=e("./utils/isPathNotFoundError"),i=e("./lintPostcssResult"),n=e("path");t.exports=(async(e,t={})=>{if(!t.filePath&&void 0===t.code&&!t.existingPostcssResult)return Promise.reject(new Error("You must provide filePath, code, or existingPostcssResult"));const s=void 0!==t.code,o=s?t.codeFilename:t.filePath;if(void 0!==o&&!n.isAbsolute(o))return s?Promise.reject(new Error("codeFilename must be an absolute path")):Promise.reject(new Error("filePath must be an absolute path"));if(await e.isPathIgnored(o).catch(e=>{if(s&&r(e))return!1;throw e}))return t.existingPostcssResult?Object.assign(t.existingPostcssResult,{stylelint:{ruleSeverities:{},customMessages:{},ruleMetadata:{},disabledRanges:{},ignored:!0,stylelintError:!1}}):{root:{source:{input:{file:o}}},messages:[],opts:void 0,stylelint:{ruleSeverities:{},customMessages:{},ruleMetadata:{},disabledRanges:{},ignored:!0,stylelintError:!1},warn(){}};const a=e._options.configFile||o,l=e._options.cwd,u=await e.getConfigForFile(a,o).catch(t=>{if(s&&r(t))return e.getConfigForFile(l);throw t});if(!u)return Promise.reject(new Error("Config file not found"));const c=u.config,d=t.existingPostcssResult||await e._getPostcssResult({code:t.code,codeFilename:t.codeFilename,filePath:o,codeProcessors:c.codeProcessors,customSyntax:c.customSyntax}),p=Object.assign(d,{stylelint:{ruleSeverities:{},customMessages:{},ruleMetadata:{},disabledRanges:{}}});return await i(e._options,p,c),p})},{"./lintPostcssResult":103,"./utils/isPathNotFoundError":380,path:22}],105:[(e,t,s)=>{const r=e("./utils/optionsMatches"),i=e("./utils/putIfAbsent"),n=e("./validateDisableSettings");function o(e,t){const s=e.line;return t.start<=s&&(void 0!==t.end&&t.end>=s||void 0===t.end)}t.exports=(e=>{for(const t of e){const e=n(t._postcssResult,"reportNeedlessDisables");if(!e)continue;const[s,a,l]=e,u=l.disabledRanges;if(!u)continue;const c=l.disabledWarnings||[],d=new Map;for(const e of c){const t=e.rule,s=u[t];if(s)for(const r of s)o(e,r)&&i(d,r.comment,()=>new Set).add(t);for(const s of u.all||[])o(e,s)&&i(d,s.comment,()=>new Set).add(t)}const p=new Set((u.all||[]).map(e=>e.comment));for(const[e,i]of Object.entries(u))for(const n of i){if("all"!==e&&p.has(n.comment))continue;if(s===r(a,"except",e))continue;const i=d.get(n.comment)||new Set;("all"===e?0!==i.size:i.has(e))||n.comment.source&&n.comment.source.start&&t.warnings.push({text:`Needless disable for "${e}"`,rule:"--report-needless-disables",line:n.comment.source.start.line,column:n.comment.source.start.column,endLine:n.comment.source.end&&n.comment.source.end.line,endColumn:n.comment.source.end&&n.comment.source.end.column,severity:a.severity})}}})},{"./utils/optionsMatches":406,"./utils/putIfAbsent":408,"./validateDisableSettings":424}],106:[(e,t,s)=>{const r=e("./normalizeRuleSettings"),i=e("./rules");t.exports=(e=>{if(!e.rules)return e;const t={};for(const[s,n]of Object.entries(e.rules)){const o=i[s]||e.pluginFunctions&&e.pluginFunctions[s];t[s]=o?r(n,s,o.primaryOptionArray):[]}return e.rules=t,e})},{"./normalizeRuleSettings":107,"./rules":208}],107:[(e,t,s)=>{const r=e("./rules"),{isPlainObject:i}=e("./utils/validateTypes");t.exports=((e,t,s)=>{if(null===e||void 0===e)return null;if(!Array.isArray(e))return[e];if(e.length>0&&(null===e[0]||void 0===e[0]))return null;if(void 0===s){const e=r[t];e&&"primaryOptionArray"in e&&(s=e.primaryOptionArray)}return s?1===e.length&&Array.isArray(e[0])?e:2===e.length&&!i(e[0])&&i(e[1])?e:[e]:e})},{"./rules":208,"./utils/validateTypes":421}],108:[function(e,t,s){(function(s){(()=>{const r=e("./createStylelint"),i=e("path");t.exports=((e={})=>{const[t,n]="rules"in e?[s.cwd(),{config:e}]:[e.cwd||s.cwd(),e],o=r(n);return{postcssPlugin:"stylelint",Once(e,{result:s}){let r=e.source&&e.source.input.file;return r&&!i.isAbsolute(r)&&(r=i.join(t,r)),o._lintSource({filePath:r,existingPostcssResult:s})}}}),t.exports.postcss=!0}).call(this)}).call(this,e("_process"))},{"./createStylelint":96,_process:91,path:22}],109:[(e,t,s)=>{const r=e("./descriptionlessDisables"),i=e("./invalidScopeDisables"),n=e("./needlessDisables"),o=e("./reportDisables");t.exports=((e,t,s,a)=>{o(e),n(e),i(e),r(e);const l={cwd:a,errored:e.some(e=>e.errored||e.parseErrors.length>0||e.warnings.some(e=>"error"===e.severity)),results:[],output:"",reportedDisables:[]};if(void 0!==t){const s=e.reduce((e,t)=>e+t.warnings.length,0);s>t&&(l.maxWarningsExceeded={maxWarnings:t,foundWarnings:s})}return l.output=s(e,l),l.results=e,l})},{"./descriptionlessDisables":98,"./invalidScopeDisables":102,"./needlessDisables":105,"./reportDisables":114}],110:[(e,t,s)=>{const r=e("html-tags"),i={};function n(...e){return new Set([...e].reduce((e,t)=>[...e,...t],[]))}i.nonLengthUnits=new Set(["%","s","ms","deg","grad","turn","rad","Hz","kHz","dpi","dpcm","dppx"]),i.lengthUnits=new Set(["em","ex","ch","rem","rlh","lh","dvh","dvmax","dvmin","dvw","lvh","lvmax","lvmin","lvw","svh","svmax","svmin","svw","vh","vw","vmin","vmax","vm","px","mm","cm","in","pt","pc","q","mozmm","fr"]),i.units=n(i.nonLengthUnits,i.lengthUnits),i.camelCaseFunctionNames=new Set(["translateX","translateY","translateZ","scaleX","scaleY","scaleZ","rotateX","rotateY","rotateZ","skewX","skewY"]),i.basicKeywords=new Set(["initial","inherit","revert","revert-layer","unset"]),i.systemFontValues=n(i.basicKeywords,["caption","icon","menu","message-box","small-caption","status-bar"]),i.fontFamilyKeywords=n(i.basicKeywords,["serif","sans-serif","cursive","fantasy","monospace","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded"]),i.fontWeightRelativeKeywords=new Set(["bolder","lighter"]),i.fontWeightAbsoluteKeywords=new Set(["bold"]),i.fontWeightNumericKeywords=new Set(["100","200","300","400","500","600","700","800","900"]),i.fontWeightKeywords=n(i.basicKeywords,i.fontWeightRelativeKeywords,i.fontWeightAbsoluteKeywords,i.fontWeightNumericKeywords),i.animationNameKeywords=n(i.basicKeywords,["none"]),i.animationTimingFunctionKeywords=n(i.basicKeywords,["linear","ease","ease-in","ease-in-out","ease-out","step-start","step-end","steps","cubic-bezier"]),i.animationIterationCountKeywords=new Set(["infinite"]),i.animationDirectionKeywords=n(i.basicKeywords,["normal","reverse","alternate","alternate-reverse"]),i.animationFillModeKeywords=new Set(["none","forwards","backwards","both"]),i.animationPlayStateKeywords=n(i.basicKeywords,["running","paused"]),i.animationShorthandKeywords=n(i.basicKeywords,i.animationNameKeywords,i.animationTimingFunctionKeywords,i.animationIterationCountKeywords,i.animationDirectionKeywords,i.animationFillModeKeywords,i.animationPlayStateKeywords),i.levelOneAndTwoPseudoElements=new Set(["before","after","first-line","first-letter"]),i.levelThreeAndUpPseudoElements=new Set(["before","after","first-line","first-letter","backdrop","content","cue","file-selector-button","grammar-error","marker","placeholder","selection","shadow","slotted","spelling-error","target-text"]),i.shadowTreePseudoElements=new Set(["part"]),i.webkitScrollbarPseudoElements=new Set(["-webkit-resizer","-webkit-scrollbar","-webkit-scrollbar-button","-webkit-scrollbar-corner","-webkit-scrollbar-thumb","-webkit-scrollbar-track","-webkit-scrollbar-track-piece"]),i.vendorSpecificPseudoElements=new Set(["-moz-focus-inner","-moz-focus-outer","-moz-list-bullet","-moz-meter-bar","-moz-placeholder","-moz-progress-bar","-moz-range-progress","-moz-range-thumb","-moz-range-track","-ms-browse","-ms-check","-ms-clear","-ms-expand","-ms-fill","-ms-fill-lower","-ms-fill-upper","-ms-reveal","-ms-thumb","-ms-ticks-after","-ms-ticks-before","-ms-tooltip","-ms-track","-ms-value","-webkit-color-swatch","-webkit-color-swatch-wrapper","-webkit-calendar-picker-indicator","-webkit-clear-button","-webkit-date-and-time-value","-webkit-datetime-edit","-webkit-datetime-edit-ampm-field","-webkit-datetime-edit-day-field","-webkit-datetime-edit-fields-wrapper","-webkit-datetime-edit-hour-field","-webkit-datetime-edit-millisecond-field","-webkit-datetime-edit-minute-field","-webkit-datetime-edit-month-field","-webkit-datetime-edit-second-field","-webkit-datetime-edit-text","-webkit-datetime-edit-week-field","-webkit-datetime-edit-year-field","-webkit-details-marker","-webkit-distributed","-webkit-file-upload-button","-webkit-input-placeholder","-webkit-keygen-select","-webkit-meter-bar","-webkit-meter-even-less-good-value","-webkit-meter-inner-element","-webkit-meter-optimum-value","-webkit-meter-suboptimum-value","-webkit-progress-bar","-webkit-progress-inner-element","-webkit-progress-value","-webkit-search-cancel-button","-webkit-search-decoration","-webkit-search-results-button","-webkit-search-results-decoration","-webkit-slider-runnable-track","-webkit-slider-thumb","-webkit-textfield-decoration-container","-webkit-validation-bubble","-webkit-validation-bubble-arrow","-webkit-validation-bubble-arrow-clipper","-webkit-validation-bubble-heading","-webkit-validation-bubble-message","-webkit-validation-bubble-text-block",...i.webkitScrollbarPseudoElements]),i.pseudoElements=n(i.levelOneAndTwoPseudoElements,i.levelThreeAndUpPseudoElements,i.vendorSpecificPseudoElements,i.shadowTreePseudoElements),i.aNPlusBNotationPseudoClasses=new Set(["nth-column","nth-last-column","nth-last-of-type","nth-of-type"]),i.linguisticPseudoClasses=new Set(["dir","lang"]),i.atRulePagePseudoClasses=new Set(["first","right","left","blank"]),i.logicalCombinationsPseudoClasses=new Set(["has","is","matches","not","where"]),i.aNPlusBOfSNotationPseudoClasses=new Set(["nth-child","nth-last-child"]),i.otherPseudoClasses=new Set(["active","any-link","autofill","blank","checked","current","default","defined","disabled","empty","enabled","first-child","first-of-type","focus","focus-within","focus-visible","fullscreen","fullscreen-ancestor","future","host","host-context","hover","indeterminate","in-range","invalid","last-child","last-of-type","link","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","playing","picture-in-picture","paused","read-only","read-write","required","root","scope","state","target","unresolved","user-invalid","user-valid","valid","visited","window-inactive"]),i.vendorSpecificPseudoClasses=new Set(["-khtml-drag","-moz-any","-moz-any-link","-moz-broken","-moz-drag-over","-moz-first-node","-moz-focusring","-moz-full-screen","-moz-full-screen-ancestor","-moz-last-node","-moz-loading","-moz-meter-optimum","-moz-meter-sub-optimum","-moz-meter-sub-sub-optimum","-moz-placeholder","-moz-submit-invalid","-moz-suppressed","-moz-ui-invalid","-moz-ui-valid","-moz-user-disabled","-moz-window-inactive","-ms-fullscreen","-ms-input-placeholder","-webkit-drag","-webkit-any","-webkit-any-link","-webkit-autofill","-webkit-full-screen","-webkit-full-screen-ancestor"]),i.webkitScrollbarPseudoClasses=new Set(["horizontal","vertical","decrement","increment","start","end","double-button","single-button","no-button","corner-present","window-inactive"]),i.pseudoClasses=n(i.aNPlusBNotationPseudoClasses,i.linguisticPseudoClasses,i.logicalCombinationsPseudoClasses,i.aNPlusBOfSNotationPseudoClasses,i.otherPseudoClasses,i.vendorSpecificPseudoClasses),i.shorthandTimeProperties=new Set(["transition","animation"]),i.longhandTimeProperties=new Set(["transition-duration","transition-delay","animation-duration","animation-delay"]),i.timeProperties=n(i.shorthandTimeProperties,i.longhandTimeProperties),i.camelCaseKeywords=new Set(["optimizeSpeed","optimizeQuality","optimizeLegibility","geometricPrecision","currentColor","crispEdges","visiblePainted","visibleFill","visibleStroke","sRGB","linearRGB"]),i.counterIncrementKeywords=n(i.basicKeywords,["none"]),i.counterResetKeywords=n(i.basicKeywords,["none"]),i.gridRowKeywords=n(i.basicKeywords,["auto","span"]),i.gridColumnKeywords=n(i.basicKeywords,["auto","span"]),i.gridAreaKeywords=n(i.basicKeywords,["auto","span"]),i.listStyleTypeKeywords=n(i.basicKeywords,["none","disc","circle","square","decimal","cjk-decimal","decimal-leading-zero","lower-roman","upper-roman","lower-greek","lower-alpha","lower-latin","upper-alpha","upper-latin","arabic-indic","armenian","bengali","cambodian","cjk-earthly-branch","cjk-ideographic","devanagari","ethiopic-numeric","georgian","gujarati","gurmukhi","hebrew","hiragana","hiragana-iroha","japanese-formal","japanese-informal","kannada","katakana","katakana-iroha","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","lao","lower-armenian","malayalam","mongolian","myanmar","oriya","persian","simp-chinese-formal","simp-chinese-informal","tamil","telugu","thai","tibetan","trad-chinese-formal","trad-chinese-informal","upper-armenian","disclosure-open","disclosure-closed","ethiopic-halehame","ethiopic-halehame-am","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","hangul","hangul-consonant","urdu"]),i.listStylePositionKeywords=n(i.basicKeywords,["inside","outside"]),i.listStyleImageKeywords=n(i.basicKeywords,["none"]),i.listStyleShorthandKeywords=n(i.basicKeywords,i.listStyleTypeKeywords,i.listStylePositionKeywords,i.listStyleImageKeywords),i.fontStyleKeywords=n(i.basicKeywords,["normal","italic","oblique"]),i.fontVariantKeywords=n(i.basicKeywords,["normal","none","historical-forms","none","common-ligatures","no-common-ligatures","discretionary-ligatures","no-discretionary-ligatures","historical-ligatures","no-historical-ligatures","contextual","no-contextual","small-caps","small-caps","all-small-caps","petite-caps","all-petite-caps","unicase","titling-caps","lining-nums","oldstyle-nums","proportional-nums","tabular-nums","diagonal-fractions","stacked-fractions","ordinal","slashed-zero","jis78","jis83","jis90","jis04","simplified","traditional","full-width","proportional-width","ruby"]),i.fontStretchKeywords=n(i.basicKeywords,["semi-condensed","condensed","extra-condensed","ultra-condensed","semi-expanded","expanded","extra-expanded","ultra-expanded"]),i.fontSizeKeywords=n(i.basicKeywords,["xx-small","x-small","small","medium","large","x-large","xx-large","larger","smaller"]),i.lineHeightKeywords=n(i.basicKeywords,["normal"]),i.fontShorthandKeywords=n(i.basicKeywords,i.fontStyleKeywords,i.fontVariantKeywords,i.fontWeightKeywords,i.fontStretchKeywords,i.fontSizeKeywords,i.lineHeightKeywords,i.fontFamilyKeywords),i.keyframeSelectorKeywords=new Set(["from","to"]),i.pageMarginAtRules=new Set(["top-left-corner","top-left","top-center","top-right","top-right-corner","bottom-left-corner","bottom-left","bottom-center","bottom-right","bottom-right-corner","left-top","left-middle","left-bottom","right-top","right-middle","right-bottom"]),i.atRules=n(i.pageMarginAtRules,["annotation","apply","character-variant","charset","counter-style","custom-media","custom-selector","document","font-face","font-feature-values","import","keyframes","layer","media","namespace","nest","ornaments","page","property","styleset","stylistic","supports","swash","viewport"]),i.deprecatedMediaFeatureNames=new Set(["device-aspect-ratio","device-height","device-width","max-device-aspect-ratio","max-device-height","max-device-width","min-device-aspect-ratio","min-device-height","min-device-width"]),i.mediaFeatureNames=n(i.deprecatedMediaFeatureNames,["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","display-mode","dynamic-range","forced-colors","grid","height","hover","inverted-colors","light-level","max-aspect-ratio","max-color","max-color-index","max-height","max-monochrome","max-resolution","max-width","min-aspect-ratio","min-color","min-color-index","min-height","min-monochrome","min-resolution","min-width","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","video-dynamic-range","width"]),i.systemColors=new Set(["activeborder","activecaption","appworkspace","background","buttonface","buttonhighlight","buttonshadow","buttontext","captiontext","graytext","highlight","highlighttext","inactiveborder","inactivecaption","inactivecaptiontext","infobackground","infotext","menu","menutext","scrollbar","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","window","windowframe","windowtext"]),i.standardHtmlTags=new Set(r),i.nonStandardHtmlTags=new Set(["acronym","applet","basefont","big","blink","center","content","dir","font","frame","frameset","hgroup","isindex","keygen","listing","marquee","nobr","noembed","plaintext","spacer","strike","tt","xmp"]),i.validMixedCaseSvgElements=new Set(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"]),t.exports=i},{"html-tags":14}],111:[(e,t,s)=>{t.exports=["calc","clamp","max","min"]},{}],112:[(e,t,s)=>{const r={};r.acceptCustomIdents=new Set(["animation","animation-name","font","font-family","counter-increment","grid-row","grid-column","grid-area","list-style","list-style-type"]),t.exports=r},{}],113:[(e,t,s)=>{t.exports={margin:["margin-top","margin-bottom","margin-left","margin-right"],padding:["padding-top","padding-bottom","padding-left","padding-right"],background:["background-image","background-size","background-position","background-repeat","background-origin","background-clip","background-attachment","background-color"],font:["font-style","font-variant","font-weight","font-stretch","font-size","font-family","line-height"],border:["border-top-width","border-bottom-width","border-left-width","border-right-width","border-top-style","border-bottom-style","border-left-style","border-right-style","border-top-color","border-bottom-color","border-left-color","border-right-color"],"border-top":["border-top-width","border-top-style","border-top-color"],"border-bottom":["border-bottom-width","border-bottom-style","border-bottom-color"],"border-left":["border-left-width","border-left-style","border-left-color"],"border-right":["border-right-width","border-right-style","border-right-color"],"border-width":["border-top-width","border-bottom-width","border-left-width","border-right-width"],"border-style":["border-top-style","border-bottom-style","border-left-style","border-right-style"],"border-color":["border-top-color","border-bottom-color","border-left-color","border-right-color"],"list-style":["list-style-type","list-style-position","list-style-image"],"border-radius":["border-top-right-radius","border-top-left-radius","border-bottom-right-radius","border-bottom-left-radius"],transition:["transition-delay","transition-duration","transition-property","transition-timing-function"],animation:["animation-name","animation-duration","animation-timing-function","animation-delay","animation-iteration-count","animation-direction","animation-fill-mode","animation-play-state"],"border-block-end":["border-block-end-width","border-block-end-style","border-block-end-color"],"border-block-start":["border-block-start-width","border-block-start-style","border-block-start-color"],"border-image":["border-image-source","border-image-slice","border-image-width","border-image-outset","border-image-repeat"],"border-inline-end":["border-inline-end-width","border-inline-end-style","border-inline-end-color"],"border-inline-start":["border-inline-start-width","border-inline-start-style","border-inline-start-color"],"column-rule":["column-rule-width","column-rule-style","column-rule-color"],columns:["column-width","column-count"],flex:["flex-grow","flex-shrink","flex-basis"],"flex-flow":["flex-direction","flex-wrap"],grid:["grid-template-rows","grid-template-columns","grid-template-areas","grid-auto-rows","grid-auto-columns","grid-auto-flow","grid-column-gap","grid-row-gap"],"grid-area":["grid-row-start","grid-column-start","grid-row-end","grid-column-end"],"grid-column":["grid-column-start","grid-column-end"],"grid-gap":["grid-row-gap","grid-column-gap"],"grid-row":["grid-row-start","grid-row-end"],"grid-template":["grid-template-columns","grid-template-rows","grid-template-areas"],outline:["outline-color","outline-style","outline-width"],"text-decoration":["text-decoration-color","text-decoration-style","text-decoration-line"],"text-emphasis":["text-emphasis-style","text-emphasis-color"],mask:["mask-image","mask-mode","mask-position","mask-size","mask-repeat","mask-origin","mask-clip","mask-composite"]}},{}],114:[(e,t,s)=>{function r(e){return!(!e||!e[1])&&Boolean(e[1].reportDisables)}t.exports=(e=>{for(const t of e){if(!t._postcssResult)continue;const e=t._postcssResult.stylelint.disabledRanges;if(!e)continue;const s=t._postcssResult.stylelint.config;if(s&&s.rules&&Object.values(s.rules).some(e=>r(e)))for(const[i,n]of Object.entries(e))for(const e of n)r(s.rules[i]||[])&&e.comment.source&&e.comment.source.start&&t.warnings.push({text:`Rule "${i}" may not be disabled`,rule:"reportDisables",line:e.comment.source.start.line,column:e.comment.source.start.column,endLine:e.comment.source.end&&e.comment.source.end.line,endColumn:e.comment.source.end&&e.comment.source.end.column,severity:"error"})}})},{}],115:[(e,t,s)=>{const r=e("fastest-levenshtein"),i=e("./rules"),n=new Map;t.exports=((e,t,s)=>{const o=n.has(e)?n.get(e):(e=>{const t=Array.from({length:6});for(let e=0;e0){if(e<3)return r.slice(0,3);s=s.concat(r)}return s.slice(0,3)})(e);n.set(e,o),s.warn(((t,s=[])=>`Unknown rule ${e}.${s.length>0?` Did you mean ${s.join(", ")}?`:""}`)(0,o),{severity:"error",rule:e,node:t,index:0})})},{"./rules":208,"fastest-levenshtein":12}],116:[function(e,t,s){(function(s){(()=>{const r=e("./createStylelint"),i=e("path");t.exports=(async(e,{cwd:t=s.cwd(),config:n,configBasedir:o,configFile:a}={})=>{if(!e)return;const l=r({config:n,configFile:a,configBasedir:o,cwd:t}),u=i.isAbsolute(e)?i.normalize(e):i.join(t,e),c=l._options.configFile||u,d=await l.getConfigForFile(c,u);return d?d.config:void 0})}).call(this)}).call(this,e("_process"))},{"./createStylelint":96,_process:91,path:22}],117:[(e,t,s)=>{const r=e("postcss-value-parser"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getDeclarationValue"),o=e("../../utils/isStandardSyntaxValue"),a=e("../../utils/optionsMatches"),l=e("../../utils/report"),u=e("../../utils/ruleMessages"),c=e("../../utils/setDeclarationValue"),d=e("../../utils/validateOptions"),{isRegExp:p,isString:f,assert:m}=e("../../utils/validateTypes"),h="alpha-value-notation",g=u(h,{expected:(e,t)=>`Expected "${e}" to be "${t}"`}),w=new Set(["opacity","shape-image-threshold"]),b=new Set(["hsl","hsla","hwb","lab","lch","rgb","rgba"]),y=(e,t,s)=>(u,m)=>{if(!d(m,h,{actual:e,possible:["number","percentage"]},{actual:t,possible:{exceptProperties:[f,p]},optional:!0}))return;const y=Object.freeze({number:{expFunc:O,fixFunc:k},percentage:{expFunc:S,fixFunc:v}});u.walkDecls(u=>{let d=!1;const p=r(n(u));p.walk(r=>{let n;if(w.has(u.prop.toLowerCase()))n="word"===(x=r).type||"function"===x.type?x:void 0;else{if("function"!==r.type)return;if(!b.has(r.value.toLowerCase()))return;n=(e=>{const t=e.nodes.filter(({type:e})=>"word"===e||"function"===e);if(4===t.length)return t[3];const s=e.nodes.findIndex(({type:e,value:t})=>"div"===e&&"/"===t);return-1!==s?e.nodes.slice(s+1,e.nodes.length).find(({type:e})=>"word"===e):void 0})(r)}if(!n)return;const{value:c}=n;if(!o(c))return;if(!O(c)&&!S(c))return;let p=e;if(a(t,"exceptProperties",u.prop)&&("number"===p?p="percentage":"percentage"===p&&(p="number")),y[p].expFunc(c))return;const f=y[p].fixFunc(c),v=c;if(s.fix)return n.value=String(f),void(d=!0);const k=i(u)+n.sourceIndex,C=k+n.value.length;l({message:g.expected(v,f),node:u,index:k,endIndex:C,result:m,ruleName:h})}),d&&c(u,p.toString())})};var x;function v(e){const t=Number(e);return`${Number((100*t).toPrecision(3))}%`}function k(e){const t=r.unit(e);m(t);const s=Number(t.number);return Number((s/100).toPrecision(3)).toString()}function S(e){const t=r.unit(e);return t&&"%"===t.unit}function O(e){const t=r.unit(e);return t&&""===t.unit}y.ruleName=h,y.messages=g,y.meta={url:"https://stylelint.io/user-guide/rules/list/alpha-value-notation"},t.exports=y},{"../../utils/declarationValueIndex":333,"../../utils/getDeclarationValue":341,"../../utils/isStandardSyntaxValue":398,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/setDeclarationValue":415,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"postcss-value-parser":59}],118:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxAtRule"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/vendor"),{isString:l}=e("../../utils/validateTypes"),u="at-rule-allowed-list",c=n(u,{rejected:e=>`Unexpected at-rule "${e}"`}),d=e=>(t,s)=>{if(!o(s,u,{actual:e,possible:[l]}))return;const n=[e].flat();t.walkAtRules(e=>{const t=e.name;r(e)&&(n.includes(a.unprefixed(t).toLowerCase())||i({message:c.rejected(t),node:e,result:s,ruleName:u,word:`@${t}`}))})};d.primaryOptionArray=!0,d.ruleName=u,d.messages=c,d.meta={url:"https://stylelint.io/user-guide/rules/list/at-rule-allowed-list"},t.exports=d},{"../../utils/isStandardSyntaxAtRule":385,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/vendor":422}],119:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxAtRule"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/vendor"),{isString:l}=e("../../utils/validateTypes"),u="at-rule-disallowed-list",c=n(u,{rejected:e=>`Unexpected at-rule "${e}"`}),d=e=>(t,s)=>{if(!o(s,u,{actual:e,possible:[l]}))return;const n=[e].flat();t.walkAtRules(e=>{const t=e.name;r(e)&&n.includes(a.unprefixed(t).toLowerCase())&&i({message:c.rejected(t),node:e,result:s,ruleName:u,word:`@${e.name}`})})};d.primaryOptionArray=!0,d.ruleName=u,d.messages=c,d.meta={url:"https://stylelint.io/user-guide/rules/list/at-rule-disallowed-list"},t.exports=d},{"../../utils/isStandardSyntaxAtRule":385,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/vendor":422}],120:[(e,t,s)=>{const r=e("../../utils/addEmptyLineBefore"),i=e("../../utils/getPreviousNonSharedLineCommentNode"),n=e("../../utils/hasEmptyLine"),o=e("../../utils/isAfterComment"),a=e("../../utils/isBlocklessAtRuleAfterBlocklessAtRule"),l=e("../../utils/isBlocklessAtRuleAfterSameNameBlocklessAtRule"),u=e("../../utils/isFirstNested"),c=e("../../utils/isFirstNodeOfRoot"),d=e("../../utils/isStandardSyntaxAtRule"),p=e("../../utils/optionsMatches"),f=e("../../utils/removeEmptyLinesBefore"),m=e("../../utils/report"),h=e("../../utils/ruleMessages"),g=e("../../utils/validateOptions"),{isString:w}=e("../../utils/validateTypes"),b="at-rule-empty-line-before",y=h(b,{expected:"Expected empty line before at-rule",rejected:"Unexpected empty line before at-rule"}),x=(e,t,s)=>(h,x)=>{if(!g(x,b,{actual:e,possible:["always","never"]},{actual:t,possible:{except:["after-same-name","inside-block","blockless-after-same-name-blockless","blockless-after-blockless","first-nested"],ignore:["after-comment","first-nested","inside-block","blockless-after-same-name-blockless","blockless-after-blockless"],ignoreAtRules:[w]},optional:!0}))return;const v=e;h.walkAtRules(e=>{const h=e.parent&&"root"!==e.parent.type;if(c(e))return;if(!d(e))return;if(p(t,"ignoreAtRules",e.name))return;if(p(t,"ignore","blockless-after-blockless")&&a(e))return;if(p(t,"ignore","first-nested")&&u(e))return;if(p(t,"ignore","blockless-after-same-name-blockless")&&l(e))return;if(p(t,"ignore","inside-block")&&h)return;if(p(t,"ignore","after-comment")&&o(e))return;const g=n(e.raws.before);let w="always"===v;if((p(t,"except","after-same-name")&&(e=>{const t=i(e);return t&&"atrule"===t.type&&t.name===e.name})(e)||p(t,"except","inside-block")&&h||p(t,"except","first-nested")&&u(e)||p(t,"except","blockless-after-blockless")&&a(e)||p(t,"except","blockless-after-same-name-blockless")&&l(e))&&(w=!w),w===g)return;if(s.fix&&s.newline)return void(w?r(e,s.newline):f(e,s.newline));const k=w?y.expected:y.rejected;m({message:k,node:e,result:x,ruleName:b})})};x.ruleName=b,x.messages=y,x.meta={url:"https://stylelint.io/user-guide/rules/list/at-rule-empty-line-before"},t.exports=x},{"../../utils/addEmptyLineBefore":323,"../../utils/getPreviousNonSharedLineCommentNode":347,"../../utils/hasEmptyLine":353,"../../utils/isAfterComment":359,"../../utils/isBlocklessAtRuleAfterBlocklessAtRule":362,"../../utils/isBlocklessAtRuleAfterSameNameBlocklessAtRule":363,"../../utils/isFirstNested":372,"../../utils/isFirstNodeOfRoot":373,"../../utils/isStandardSyntaxAtRule":385,"../../utils/optionsMatches":406,"../../utils/removeEmptyLinesBefore":411,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],121:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxAtRule"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a="at-rule-name-case",l=n(a,{expected:(e,t)=>`Expected "${e}" to be "${t}"`}),u=(e,t,s)=>(t,n)=>{if(!o(n,a,{actual:e,possible:["lower","upper"]}))return;const u=e;t.walkAtRules(e=>{if(!r(e))return;const t=e.name,o="lower"===u?t.toLowerCase():t.toUpperCase();t!==o&&(s.fix?e.name=o:i({message:l.expected(t,o),node:e,ruleName:a,result:n}))})};u.ruleName=a,u.messages=l,u.meta={url:"https://stylelint.io/user-guide/rules/list/at-rule-name-case"},t.exports=u},{"../../utils/isStandardSyntaxAtRule":385,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420}],122:[(e,t,s)=>{const r=e("../atRuleNameSpaceChecker"),i=e("../../utils/ruleMessages"),n=e("../../utils/validateOptions"),o=e("../../utils/whitespaceChecker"),a="at-rule-name-newline-after",l=i(a,{expectedAfter:e=>`Expected newline after at-rule name "${e}"`}),u=e=>{const t=o("newline",e,l);return(s,i)=>{n(i,a,{actual:e,possible:["always","always-multi-line"]})&&r({root:s,result:i,locationChecker:t.afterOneOnly,checkedRuleName:a})}};u.ruleName=a,u.messages=l,u.meta={url:"https://stylelint.io/user-guide/rules/list/at-rule-name-newline-after"},t.exports=u},{"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../atRuleNameSpaceChecker":128}],123:[(e,t,s)=>{const r=e("../atRuleNameSpaceChecker"),i=e("../../utils/ruleMessages"),n=e("../../utils/validateOptions"),o=e("../../utils/whitespaceChecker"),a="at-rule-name-space-after",l=i(a,{expectedAfter:e=>`Expected single space after at-rule name "${e}"`}),u=(e,t,s)=>{const i=o("space",e,l);return(t,o)=>{n(o,a,{actual:e,possible:["always","always-single-line"]})&&r({root:t,result:o,locationChecker:i.after,checkedRuleName:a,fix:s.fix?e=>{"string"==typeof e.raws.afterName&&(e.raws.afterName=e.raws.afterName.replace(/^\s*/," "))}:null})}};u.ruleName=a,u.messages=l,u.meta={url:"https://stylelint.io/user-guide/rules/list/at-rule-name-space-after"},t.exports=u},{"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../atRuleNameSpaceChecker":128}],124:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxAtRule"),i=e("../../reference/keywordSets"),n=e("../../utils/optionsMatches"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("../../utils/vendor"),{isRegExp:c,isString:d}=e("../../utils/validateTypes"),p="at-rule-no-unknown",f=a(p,{rejected:e=>`Unexpected unknown at-rule "${e}"`}),m=(e,t)=>(s,a)=>{l(a,p,{actual:e},{actual:t,possible:{ignoreAtRules:[d,c]},optional:!0})&&s.walkAtRules(e=>{if(!r(e))return;const s=e.name;if(n(t,"ignoreAtRules",e.name))return;if(u.prefix(s)||i.atRules.has(s.toLowerCase()))return;const l=`@${s}`;o({message:f.rejected(l),node:e,ruleName:p,result:a,word:l})})};m.ruleName=p,m.messages=f,m.meta={url:"https://stylelint.io/user-guide/rules/list/at-rule-no-unknown"},t.exports=m},{"../../reference/keywordSets":110,"../../utils/isStandardSyntaxAtRule":385,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/vendor":422}],125:[(e,t,s)=>{const r=e("../../utils/flattenArray"),i=e("../../utils/isStandardSyntaxAtRule"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateObjectWithArrayProps"),l=e("../../utils/validateOptions"),{isString:u}=e("../../utils/validateTypes"),c="at-rule-property-required-list",d=o(c,{expected:(e,t)=>`Expected property "${e}" for at-rule "${t}"`}),p=e=>(t,s)=>{l(s,c,{actual:e,possible:[a(u)]})&&t.walkAtRules(t=>{if(!i(t))return;const{name:o,nodes:a}=t,l=o.toLowerCase(),u=r(e[l]);if(u)for(const e of u){const r=e.toLowerCase();a.find(e=>"decl"===e.type&&e.prop.toLowerCase()===r)||n({message:d.expected(r,l),node:t,result:s,ruleName:c})}})};p.ruleName=c,p.messages=d,p.meta={url:"https://stylelint.io/user-guide/rules/list/at-rule-property-required-list"},t.exports=p},{"../../utils/flattenArray":338,"../../utils/isStandardSyntaxAtRule":385,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateObjectWithArrayProps":418,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],126:[(e,t,s)=>{const r=e("../../utils/hasBlock"),i=e("../../utils/isStandardSyntaxAtRule"),n=e("../../utils/nextNonCommentNode"),o=e("../../utils/rawNodeString"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),c=e("../../utils/whitespaceChecker"),d="at-rule-semicolon-newline-after",p=l(d,{expectedAfter:()=>'Expected newline after ";"'}),f=(e,t,s)=>{const l=c("newline",e,p);return(t,c)=>{u(c,d,{actual:e,possible:["always"]})&&t.walkAtRules(e=>{const t=e.next();if(!t)return;if(r(e))return;if(!i(e))return;const u=n(t);u&&l.afterOneOnly({source:o(u),index:-1,err(t){s.fix?u.raws.before=s.newline+u.raws.before:a({message:t,node:e,index:e.toString().length+1,result:c,ruleName:d})}})})}};f.ruleName=d,f.messages=p,f.meta={url:"https://stylelint.io/user-guide/rules/list/at-rule-semicolon-newline-after"},t.exports=f},{"../../utils/hasBlock":351,"../../utils/isStandardSyntaxAtRule":385,"../../utils/nextNonCommentNode":404,"../../utils/rawNodeString":409,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423}],127:[(e,t,s)=>{const r=e("../../utils/hasBlock"),i=e("../../utils/isStandardSyntaxAtRule"),n=e("../../utils/rawNodeString"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("../../utils/whitespaceChecker"),c="at-rule-semicolon-space-before",d=a(c,{expectedBefore:()=>'Expected single space before ";"',rejectedBefore:()=>'Unexpected whitespace before ";"'}),p=e=>{const t=u("space",e,d);return(s,a)=>{l(a,c,{actual:e,possible:["always","never"]})&&s.walkAtRules(e=>{if(r(e))return;if(!i(e))return;const s=n(e);t.before({source:s,index:s.length,err(t){o({message:t,node:e,index:s.length-1,result:a,ruleName:c})}})})}};p.ruleName=c,p.messages=d,p.meta={url:"https://stylelint.io/user-guide/rules/list/at-rule-semicolon-space-before"},t.exports=p},{"../../utils/hasBlock":351,"../../utils/isStandardSyntaxAtRule":385,"../../utils/rawNodeString":409,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423}],128:[(e,t,s)=>{const r=e("../utils/isStandardSyntaxAtRule"),i=e("../utils/report");t.exports=(e=>{var t,s,n;e.root.walkAtRules(o=>{r(o)&&(t=`@${o.name}${o.raws.afterName||""}${o.params}`,s=o.name.length,n=o,e.locationChecker({source:t,index:s,err(t){e.fix?e.fix(n):i({message:t,node:n,index:s,result:e.result,ruleName:e.checkedRuleName})},errTarget:`@${n.name}`}))})})},{"../utils/isStandardSyntaxAtRule":385,"../utils/report":412}],129:[(e,t,s)=>{const r=e("../../utils/addEmptyLineAfter"),i=e("../../utils/blockString"),n=e("../../utils/hasBlock"),o=e("../../utils/hasEmptyBlock"),a=e("../../utils/hasEmptyLine"),l=e("../../utils/isSingleLineString"),u=e("../../utils/optionsMatches"),c=e("../../utils/removeEmptyLinesAfter"),d=e("../../utils/report"),p=e("../../utils/ruleMessages"),f=e("../../utils/validateOptions"),m="block-closing-brace-empty-line-before",h=p(m,{expected:"Expected empty line before closing brace",rejected:"Unexpected empty line before closing brace"}),g=(e,t,s)=>(p,g)=>{function w(p){if(!n(p)||o(p))return;const f=(p.raws.after||"").replace(/;+/,""),w=p.toString();let b=w.length-1;"\r"===w[b-1]&&(b-=1);const y=(()=>{const s=p.nodes.map(e=>e.type);return u(t,"except","after-closing-brace")&&"atrule"===p.type&&!s.includes("decl")?"never"===e:"always-multi-line"===e&&!l(i(p))})();if(y===a(f))return;if(s.fix){const{newline:e}=s;if("string"!=typeof e)return;return void(y?r(p,e):c(p,e))}const x=y?h.expected:h.rejected;d({message:x,result:g,ruleName:m,node:p,index:b})}f(g,m,{actual:e,possible:["always-multi-line","never"]},{actual:t,possible:{except:["after-closing-brace"]},optional:!0})&&(p.walkRules(w),p.walkAtRules(w))};g.ruleName=m,g.messages=h,g.meta={url:"https://stylelint.io/user-guide/rules/list/block-closing-brace-empty-line-before"},t.exports=g},{"../../utils/addEmptyLineAfter":322,"../../utils/blockString":328,"../../utils/hasBlock":351,"../../utils/hasEmptyBlock":352,"../../utils/hasEmptyLine":353,"../../utils/isSingleLineString":384,"../../utils/optionsMatches":406,"../../utils/removeEmptyLinesAfter":410,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420}],130:[(e,t,s)=>{const r=e("../../utils/blockString"),i=e("../../utils/hasBlock"),n=e("../../utils/optionsMatches"),o=e("../../utils/rawNodeString"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),c=e("../../utils/whitespaceChecker"),{isString:d}=e("../../utils/validateTypes"),p="block-closing-brace-newline-after",f=l(p,{expectedAfter:()=>'Expected newline after "}"',expectedAfterSingleLine:()=>'Expected newline after "}" of a single-line block',rejectedAfterSingleLine:()=>'Unexpected whitespace after "}" of a single-line block',expectedAfterMultiLine:()=>'Expected newline after "}" of a multi-line block',rejectedAfterMultiLine:()=>'Unexpected whitespace after "}" of a multi-line block'}),m=(e,t,s)=>{const l=c("newline",e,f);return(c,f)=>{function m(u){if(!i(u))return;if("atrule"===u.type&&n(t,"ignoreAtRules",u.name))return;const c=u.next();if(!c)return;const d="comment"!==c.type||/[^ ]/.test(c.raws.before||"")||c.toString().includes("\n")?c:c.next();if(!d)return;let m=u.toString().length,h=o(d);h&&h.startsWith(";")&&(h=h.slice(1),m++),l.afterOneOnly({source:h,index:-1,lineCheckStr:r(u),err(t){if(s.fix){const t=d.raws;if("string"!=typeof t.before)return;if(e.startsWith("always")){const e=t.before.search(/\r?\n/);return void(t.before=e>=0?t.before.slice(e):s.newline+t.before)}if(e.startsWith("never"))return void(t.before="")}a({message:t,node:u,index:m,result:f,ruleName:p})}})}u(f,p,{actual:e,possible:["always","always-single-line","never-single-line","always-multi-line","never-multi-line"]},{actual:t,possible:{ignoreAtRules:[d]},optional:!0})&&(c.walkRules(m),c.walkAtRules(m))}};m.ruleName=p,m.messages=f,m.meta={url:"https://stylelint.io/user-guide/rules/list/block-closing-brace-newline-after"},t.exports=m},{"../../utils/blockString":328,"../../utils/hasBlock":351,"../../utils/optionsMatches":406,"../../utils/rawNodeString":409,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/whitespaceChecker":423}],131:[(e,t,s)=>{const r=e("../../utils/blockString"),i=e("../../utils/hasBlock"),n=e("../../utils/hasEmptyBlock"),o=e("../../utils/isSingleLineString"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),c="block-closing-brace-newline-before",d=l(c,{expectedBefore:'Expected newline before "}"',expectedBeforeMultiLine:'Expected newline before "}" of a multi-line block',rejectedBeforeMultiLine:'Unexpected whitespace before "}" of a multi-line block'}),p=(e,t,s)=>(t,l)=>{function p(t){if(!i(t)||n(t))return;const u=(t.raws.after||"").replace(/;+/,"");if(void 0===u)return;const p=!o(r(t)),f=t.toString();let m=f.length-2;function h(r){if(s.fix){const r=t.raws;if("string"!=typeof r.after)return;if(e.startsWith("always")){const e=r.after.search(/\s/),t=e>=0?r.after.slice(0,e):r.after,i=e>=0?r.after.slice(e):"",n=i.search(/\r?\n/);return void(r.after=n>=0?t+i.slice(n):t+s.newline+i)}if("never-multi-line"===e)return void(r.after=r.after.replace(/\s/g,""))}a({message:r,result:l,ruleName:c,node:t,index:m})}"\r"===f[m-1]&&(m-=1),u.startsWith("\n")||u.startsWith("\r\n")||("always"===e?h(d.expectedBefore):p&&"always-multi-line"===e&&h(d.expectedBeforeMultiLine)),""!==u&&p&&"never-multi-line"===e&&h(d.rejectedBeforeMultiLine)}u(l,c,{actual:e,possible:["always","always-multi-line","never-multi-line"]})&&(t.walkRules(p),t.walkAtRules(p))};p.ruleName=c,p.messages=d,p.meta={url:"https://stylelint.io/user-guide/rules/list/block-closing-brace-newline-before"},t.exports=p},{"../../utils/blockString":328,"../../utils/hasBlock":351,"../../utils/hasEmptyBlock":352,"../../utils/isSingleLineString":384,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420}],132:[(e,t,s)=>{const r=e("../../utils/blockString"),i=e("../../utils/hasBlock"),n=e("../../utils/rawNodeString"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("../../utils/whitespaceChecker"),c="block-closing-brace-space-after",d=a(c,{expectedAfter:()=>'Expected single space after "}"',rejectedAfter:()=>'Unexpected whitespace after "}"',expectedAfterSingleLine:()=>'Expected single space after "}" of a single-line block',rejectedAfterSingleLine:()=>'Unexpected whitespace after "}" of a single-line block',expectedAfterMultiLine:()=>'Expected single space after "}" of a multi-line block',rejectedAfterMultiLine:()=>'Unexpected whitespace after "}" of a multi-line block'}),p=e=>{const t=u("space",e,d);return(s,a)=>{function u(e){const s=e.next();if(!s)return;if(!i(e))return;let l=e.toString().length,u=n(s);u&&u.startsWith(";")&&(u=u.slice(1),l++),t.after({source:u,index:-1,lineCheckStr:r(e),err(t){o({message:t,node:e,index:l,result:a,ruleName:c})}})}l(a,c,{actual:e,possible:["always","never","always-single-line","never-single-line","always-multi-line","never-multi-line"]})&&(s.walkRules(u),s.walkAtRules(u))}};p.ruleName=c,p.messages=d,p.meta={url:"https://stylelint.io/user-guide/rules/list/block-closing-brace-space-after"},t.exports=p},{"../../utils/blockString":328,"../../utils/hasBlock":351,"../../utils/rawNodeString":409,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423}],133:[(e,t,s)=>{const r=e("../../utils/blockString"),i=e("../../utils/hasBlock"),n=e("../../utils/hasEmptyBlock"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("../../utils/whitespaceChecker"),c="block-closing-brace-space-before",d=a(c,{expectedBefore:()=>'Expected single space before "}"',rejectedBefore:()=>'Unexpected whitespace before "}"',expectedBeforeSingleLine:()=>'Expected single space before "}" of a single-line block',rejectedBeforeSingleLine:()=>'Unexpected whitespace before "}" of a single-line block',expectedBeforeMultiLine:()=>'Expected single space before "}" of a multi-line block',rejectedBeforeMultiLine:()=>'Unexpected whitespace before "}" of a multi-line block'}),p=(e,t,s)=>{const a=u("space",e,d);return(t,u)=>{function d(t){if(!i(t)||n(t))return;const l=r(t),d=t.toString();let p=d.length-2;"\r"===d[p-1]&&(p-=1),a.before({source:l,index:l.length-1,err(r){if(s.fix){const s=t.raws;if("string"!=typeof s.after)return;if(e.startsWith("always"))return void(s.after=s.after.replace(/\s*$/," "));if(e.startsWith("never"))return void(s.after=s.after.replace(/\s*$/,""))}o({message:r,node:t,index:p,result:u,ruleName:c})}})}l(u,c,{actual:e,possible:["always","never","always-single-line","never-single-line","always-multi-line","never-multi-line"]})&&(t.walkRules(d),t.walkAtRules(d))}};p.ruleName=c,p.messages=d,p.meta={url:"https://stylelint.io/user-guide/rules/list/block-closing-brace-space-before"},t.exports=p},{"../../utils/blockString":328,"../../utils/hasBlock":351,"../../utils/hasEmptyBlock":352,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423}],134:[(e,t,s)=>{const r=e("../../utils/beforeBlockString"),i=e("../../utils/hasBlock"),n=e("../../utils/hasEmptyBlock"),o=e("../../utils/optionsMatches"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),{isBoolean:c}=e("../../utils/validateTypes"),d="block-no-empty",p=l(d,{rejected:"Unexpected empty block"}),f=(e,t)=>(s,l)=>{if(!u(l,d,{actual:e,possible:c},{actual:t,possible:{ignore:["comments"]},optional:!0}))return;const f=o(t,"ignore","comments");function m(e){if(!n(e)&&!f)return;if(!i(e))return;if(!e.nodes.every(e=>"comment"===e.type))return;let t=r(e,{noRawBefore:!0}).length;void 0===e.raws.between&&t--,a({message:p.rejected,node:e,start:e.positionBy({index:t}),result:l,ruleName:d})}s.walkRules(m),s.walkAtRules(m)};f.ruleName=d,f.messages=p,f.meta={url:"https://stylelint.io/user-guide/rules/list/block-no-empty"},t.exports=f},{"../../utils/beforeBlockString":327,"../../utils/hasBlock":351,"../../utils/hasEmptyBlock":352,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],135:[(e,t,s)=>{const r=e("../../utils/beforeBlockString"),i=e("../../utils/blockString"),n=e("../../utils/hasBlock"),o=e("../../utils/hasEmptyBlock"),a=e("../../utils/optionsMatches"),l=e("../../utils/rawNodeString"),u=e("../../utils/report"),c=e("../../utils/ruleMessages"),d=e("../../utils/validateOptions"),p=e("../../utils/whitespaceChecker"),f="block-opening-brace-newline-after",m=c(f,{expectedAfter:()=>'Expected newline after "{"',expectedAfterMultiLine:()=>'Expected newline after "{" of a multi-line block',rejectedAfterMultiLine:()=>'Unexpected whitespace after "{" of a multi-line block'}),h=(e,t,s)=>{const c=p("newline",e,m);return(p,m)=>{function h(t){if(!n(t)||o(t))return;const a=new Map,d=function e(t){if(t&&t.next){if("comment"===t.type){const s=/\r?\n/,r=s.test(t.raws.before||""),i=t.next();return i&&r&&!s.test(i.raws.before||"")&&(a.set(i,i.raws.before),i.raws.before=t.raws.before),e(i)}return t}}(t.first);if(d){c.afterOneOnly({source:l(d),index:-1,lineCheckStr:i(t),err(i){if(s.fix){const r=d.raws;if("string"!=typeof r.before)return;if(e.startsWith("always")){const e=r.before.search(/\r?\n/);return r.before=e>=0?r.before.slice(e):s.newline+r.before,void a.delete(d)}if("never-multi-line"===e){for(const[e,t]of a.entries())e.raws.before=t;a.clear();const e=/\r?\n/;let s=t.first;for(;s;){const t=s.raws;if("string"==typeof t.before){if(e.test(t.before||"")&&(t.before=t.before.replace(/\r?\n/g,"")),"comment"!==s.type)break;s=s.next()}}return void(r.before="")}}u({message:i,node:t,index:r(t,{noRawBefore:!0}).length+1,result:m,ruleName:f})}});for(const[e,t]of a.entries())e.raws.before=t}}d(m,f,{actual:e,possible:["always","rules","always-multi-line","never-multi-line"]},{actual:t,possible:{ignore:["rules"]},optional:!0})&&(a(t,"ignore","rules")||p.walkRules(h),p.walkAtRules(h))}};h.ruleName=f,h.messages=m,h.meta={url:"https://stylelint.io/user-guide/rules/list/block-opening-brace-newline-after"},t.exports=h},{"../../utils/beforeBlockString":327,"../../utils/blockString":328,"../../utils/hasBlock":351,"../../utils/hasEmptyBlock":352,"../../utils/optionsMatches":406,"../../utils/rawNodeString":409,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423}],136:[(e,t,s)=>{const r=e("../../utils/beforeBlockString"),i=e("../../utils/blockString"),n=e("../../utils/hasBlock"),o=e("../../utils/hasEmptyBlock"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),c=e("../../utils/whitespaceChecker"),d="block-opening-brace-newline-before",p=l(d,{expectedBefore:()=>'Expected newline before "{"',expectedBeforeSingleLine:()=>'Expected newline before "{" of a single-line block',rejectedBeforeSingleLine:()=>'Unexpected whitespace before "{" of a single-line block',expectedBeforeMultiLine:()=>'Expected newline before "{" of a multi-line block',rejectedBeforeMultiLine:()=>'Unexpected whitespace before "{" of a multi-line block'}),f=(e,t,s)=>{const l=c("newline",e,p);return(t,c)=>{function p(t){if(!n(t)||o(t))return;const u=r(t),p=r(t,{noRawBefore:!0});let f=p.length-1;"\r"===p[f-1]&&(f-=1),l.beforeAllowingIndentation({lineCheckStr:i(t),source:u,index:u.length,err(r){if(s.fix){const r=t.raws;if("string"!=typeof r.between)return;if(e.startsWith("always")){const e=r.between.search(/\s+$/);return void(e>=0?t.raws.between=r.between.slice(0,e)+s.newline+r.between.slice(e):r.between+=s.newline)}if(e.startsWith("never"))return void(r.between=r.between.replace(/\s*$/,""))}a({message:r,node:t,index:f,result:c,ruleName:d})}})}u(c,d,{actual:e,possible:["always","always-single-line","never-single-line","always-multi-line","never-multi-line"]})&&(t.walkRules(p),t.walkAtRules(p))}};f.ruleName=d,f.messages=p,f.meta={url:"https://stylelint.io/user-guide/rules/list/block-opening-brace-newline-before"},t.exports=f},{"../../utils/beforeBlockString":327,"../../utils/blockString":328,"../../utils/hasBlock":351,"../../utils/hasEmptyBlock":352,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423}],137:[(e,t,s)=>{const r=e("../../utils/beforeBlockString"),i=e("../../utils/blockString"),n=e("../../utils/hasBlock"),o=e("../../utils/hasEmptyBlock"),a=e("../../utils/optionsMatches"),l=e("../../utils/report"),u=e("../../utils/ruleMessages"),c=e("../../utils/validateOptions"),d=e("../../utils/whitespaceChecker"),p="block-opening-brace-space-after",f=u(p,{expectedAfter:()=>'Expected single space after "{"',rejectedAfter:()=>'Unexpected whitespace after "{"',expectedAfterSingleLine:()=>'Expected single space after "{" of a single-line block',rejectedAfterSingleLine:()=>'Unexpected whitespace after "{" of a single-line block',expectedAfterMultiLine:()=>'Expected single space after "{" of a multi-line block',rejectedAfterMultiLine:()=>'Unexpected whitespace after "{" of a multi-line block'}),m=(e,t,s)=>{const u=d("space",e,f);return(d,f)=>{function m(t){n(t)&&!o(t)&&u.after({source:i(t),index:0,err(i){if(s.fix){const s=t.first;if(null==s)return;if(e.startsWith("always"))return void(s.raws.before=" ");if(e.startsWith("never"))return void(s.raws.before="")}l({message:i,node:t,index:r(t,{noRawBefore:!0}).length+1,result:f,ruleName:p})}})}c(f,p,{actual:e,possible:["always","never","always-single-line","never-single-line","always-multi-line","never-multi-line"]},{actual:t,possible:{ignore:["at-rules"]},optional:!0})&&(d.walkRules(m),a(t,"ignore","at-rules")||d.walkAtRules(m))}};m.ruleName=p,m.messages=f,m.meta={url:"https://stylelint.io/user-guide/rules/list/block-opening-brace-space-after"},t.exports=m},{"../../utils/beforeBlockString":327,"../../utils/blockString":328,"../../utils/hasBlock":351,"../../utils/hasEmptyBlock":352,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423}],138:[(e,t,s)=>{const r=e("../../utils/beforeBlockString"),i=e("../../utils/blockString"),n=e("../../utils/hasBlock"),o=e("../../utils/hasEmptyBlock"),a=e("../../utils/optionsMatches"),l=e("../../utils/report"),u=e("../../utils/ruleMessages"),c=e("../../utils/validateOptions"),d=e("../../utils/whitespaceChecker"),{isRegExp:p,isString:f}=e("../../utils/validateTypes"),m="block-opening-brace-space-before",h=u(m,{expectedBefore:()=>'Expected single space before "{"',rejectedBefore:()=>'Unexpected whitespace before "{"',expectedBeforeSingleLine:()=>'Expected single space before "{" of a single-line block',rejectedBeforeSingleLine:()=>'Unexpected whitespace before "{" of a single-line block',expectedBeforeMultiLine:()=>'Expected single space before "{" of a multi-line block',rejectedBeforeMultiLine:()=>'Unexpected whitespace before "{" of a multi-line block'}),g=(e,t,s)=>{const u=d("space",e,h);return(d,h)=>{function g(c){if(!n(c)||o(c))return;if("atrule"===c.type&&a(t,"ignoreAtRules",c.name))return;if("rule"===c.type&&a(t,"ignoreSelectors",c.selector))return;const d=r(c),p=r(c,{noRawBefore:!0});let f=p.length-1;"\r"===p[f-1]&&(f-=1),u.before({source:d,index:d.length,lineCheckStr:i(c),err(t){if(s.fix){if(e.startsWith("always"))return void(c.raws.between=" ");if(e.startsWith("never"))return void(c.raws.between="")}l({message:t,node:c,index:f,result:h,ruleName:m})}})}c(h,m,{actual:e,possible:["always","never","always-single-line","never-single-line","always-multi-line","never-multi-line"]},{actual:t,possible:{ignoreAtRules:[f,p],ignoreSelectors:[f,p]},optional:!0})&&(d.walkRules(g),d.walkAtRules(g))}};g.ruleName=m,g.messages=h,g.meta={url:"https://stylelint.io/user-guide/rules/list/block-opening-brace-space-before"},t.exports=g},{"../../utils/beforeBlockString":327,"../../utils/blockString":328,"../../utils/hasBlock":351,"../../utils/hasEmptyBlock":352,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/whitespaceChecker":423}],139:[(e,t,s)=>{const r=e("postcss-value-parser"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getDeclarationValue"),o=e("../../utils/isStandardSyntaxColorFunction"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/setDeclarationValue"),{isValueFunction:c}=e("../../utils/typeGuards"),d=e("../../utils/validateOptions"),p="color-function-notation",f=l(p,{expected:e=>`Expected ${e} color-function notation`}),m=new Set(["rgba","hsla"]),h=new Set(["rgb","rgba","hsl","hsla"]),g=(e,t,s)=>(t,l)=>{d(l,p,{actual:e,possible:["modern","legacy"]})&&t.walkDecls(t=>{let d=!1;const g=r(n(t));g.walk(r=>{if(!c(r))return;if(!o(r))return;const{value:n,sourceIndex:u,sourceEndIndex:g,nodes:x}=r;if(!h.has(n.toLowerCase()))return;if("modern"===e&&!y(r))return;if("legacy"===e&&y(r))return;if(s.fix&&"modern"===e){let e=0;return r.nodes=x.map(t=>(b(t)&&(e<2?(t.type="space",t.value=w(t.after),e++):(t.value="/",t.before=w(t.before),t.after=w(t.after))),t)),m.has(r.value.toLowerCase())&&(r.value=r.value.slice(0,-1)),void(d=!0)}const v=i(t)+u,k=v+(g-u);a({message:f.expected(e),node:t,index:v,endIndex:k,result:l,ruleName:p})}),d&&u(t,g.toString())})};function w(e){return""!==e?e:" "}function b(e){return"div"===e.type&&","===e.value}function y(e){return e.nodes&&e.nodes.some(e=>b(e))}g.ruleName=p,g.messages=f,g.meta={url:"https://stylelint.io/user-guide/rules/list/color-function-notation"},t.exports=g},{"../../utils/declarationValueIndex":333,"../../utils/getDeclarationValue":341,"../../utils/isStandardSyntaxColorFunction":386,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/setDeclarationValue":415,"../../utils/typeGuards":417,"../../utils/validateOptions":420,"postcss-value-parser":59}],140:[(e,t,s)=>{const r=e("../../utils/declarationValueIndex"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("postcss-value-parser"),l="color-hex-alpha",u=n(l,{expected:e=>`Expected alpha channel in "${e}"`,unexpected:e=>`Unexpected alpha channel in "${e}"`}),c=/^#(?:[\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$/i,d=e=>(t,s)=>{o(s,l,{actual:e,possible:["always","never"]})&&t.walkDecls(t=>{a(t.value).walk(n=>{if((({type:e,value:t})=>"function"===e&&"url"===t)(n))return!1;if(!(({type:e,value:t})=>"word"===e&&c.test(t))(n))return;const{value:o}=n;if("always"===e&&p(o))return;if("never"===e&&!p(o))return;const a=r(t)+n.sourceIndex,d=a+o.length;i({message:"never"===e?u.unexpected(o):u.expected(o),node:t,index:a,endIndex:d,result:s,ruleName:l})})})};function p(e){return 5===e.length||9===e.length}d.ruleName=l,d.messages=u,d.meta={url:"https://stylelint.io/user-guide/rules/list/color-hex-alpha"},t.exports=d},{"../../utils/declarationValueIndex":333,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"postcss-value-parser":59}],141:[(e,t,s)=>{const r=e("postcss-value-parser"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getDeclarationValue"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/setDeclarationValue"),u=e("../../utils/validateOptions"),c="color-hex-case",d=a(c,{expected:(e,t)=>`Expected "${e}" to be "${t}"`}),p=/^#[0-9A-Za-z]+/,f=new Set(["url"]),m=(e,t,s)=>(t,a)=>{u(a,c,{actual:e,possible:["lower","upper"]})&&t.walkDecls(t=>{const u=r(n(t));let m=!1;u.walk(r=>{const{value:n}=r;if((({type:e,value:t})=>"function"===e&&f.has(t.toLowerCase()))(r))return!1;if(!(({type:e,value:t})=>"word"===e&&p.test(t))(r))return;const l="lower"===e?n.toLowerCase():n.toUpperCase();return n!==l?s.fix?(r.value=l,void(m=!0)):void o({message:d.expected(n,l),node:t,index:i(t)+r.sourceIndex,result:a,ruleName:c}):void 0}),m&&l(t,u.toString())})};m.ruleName=c,m.messages=d,m.meta={url:"https://stylelint.io/user-guide/rules/list/color-hex-case"},t.exports=m},{"../../utils/declarationValueIndex":333,"../../utils/getDeclarationValue":341,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/setDeclarationValue":415,"../../utils/validateOptions":420,"postcss-value-parser":59}],142:[(e,t,s)=>{const r=e("postcss-value-parser"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getDeclarationValue"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/setDeclarationValue"),u=e("../../utils/validateOptions"),c="color-hex-length",d=a(c,{expected:(e,t)=>`Expected "${e}" to be "${t}"`}),p=/^#[0-9A-Za-z]+/,f=new Set(["url"]),m=(e,t,s)=>(t,a)=>{u(a,c,{actual:e,possible:["short","long"]})&&t.walkDecls(t=>{const u=r(n(t));let m=!1;u.walk(r=>{const{value:n}=r;if((({type:e,value:t})=>"function"===e&&f.has(t.toLowerCase()))(r))return!1;if(!(({type:e,value:t})=>"word"===e&&p.test(t))(r))return;if("long"===e&&4!==n.length&&5!==n.length)return;if("short"===e&&(n.length<6||(h=(h=n).toLowerCase())[1]!==h[2]||h[3]!==h[4]||h[5]!==h[6]||7!==h.length&&(9!==h.length||h[7]!==h[8])))return;const l=("long"===e?function(e){let t="#";for(let s=1;s{const{colord:i,extend:n}=e("colord"),o=e("postcss-value-parser");function a(e){if(!(e=e.toLowerCase()).startsWith("hwb(")||!e.endsWith(")")||e.includes("/"))return null;const[t,s="",r="",n,...o]=e.slice(4,-1).split(",");if(!t||!t.trim()||!s.trim()||!r.trim()||o.length>0)return null;const a=i(`hwb(${t} ${s} ${r}${n?` / ${n}`:""})`);return a.isValid()?a.rgba:null}function l(e){if(!(e=e.toLowerCase()).startsWith("gray(")||!e.endsWith(")"))return null;const[s,r,...n]=e.slice(5,-1).split(",");if(!s||n.length>0)return null;const a=o.unit(s.trim());if(!a||!["","%"].includes(a.unit))return null;let l={l:Number(a.number),a:0,b:0};if(r){const e=o.unit(r.trim());if(!e||!["","%"].includes(e.unit))return null;l=t({},l,{alpha:Number(e.number)/(e.unit?100:1)})}return i(l).rgba}n([e("colord/plugins/names"),e("colord/plugins/hwb"),e("colord/plugins/lab"),e("colord/plugins/lch"),(e,t)=>{t.string.push([a,"hwb-with-comma"])},(e,t)=>{t.string.push([l,"gray"])}]),s.exports={colord:i}},{colord:5,"colord/plugins/hwb":6,"colord/plugins/lab":7,"colord/plugins/lch":8,"colord/plugins/names":9,"postcss-value-parser":59}],144:[(e,t,s)=>{const r=e("../../utils/declarationValueIndex"),i=e("../../utils/isStandardSyntaxFunction"),n=e("../../utils/isStandardSyntaxValue"),o=e("../../utils/optionsMatches"),a=e("../../reference/propertySets"),l=e("../../utils/report"),u=e("../../utils/ruleMessages"),c=e("../../utils/validateOptions"),d=e("postcss-value-parser"),{isRegExp:p,isString:f}=e("../../utils/validateTypes"),{colord:m}=e("./colordUtils"),h="color-named",g=u(h,{expected:(e,t)=>`Expected "${t}" to be "${e}"`,rejected:e=>`Unexpected named color "${e}"`}),w=new Set(["word","function"]),b=(e,t)=>(s,u)=>{function b(e,t,s,r){l({result:u,ruleName:h,message:e,node:t,index:s,endIndex:s+r})}c(u,h,{actual:e,possible:["never","always-where-possible"]},{actual:t,possible:{ignoreProperties:[f,p],ignore:["inside-function"]},optional:!0})&&s.walkDecls(s=>{a.acceptCustomIdents.has(s.prop)||o(t,"ignoreProperties",s.prop)||d(s.value).walk(a=>{const l=a.value,u=a.type,c=a.sourceIndex;if(o(t,"ignore","inside-function")&&"function"===u)return!1;if(!i(a))return!1;if(!n(l))return;if(!w.has(u))return;if("never"===e&&"word"===u&&/^[a-z]+$/iu.test(l)&&"transparent"!==l.toLowerCase()&&m(l).isValid())return void b(g.rejected(l),s,r(s)+c,l.length);if("always-where-possible"!==e)return;let p=null,f=null;if("function"===u)f=(p=d.stringify(a)).replace(/\s*([,/()])\s*/g,"$1").replace(/\s{2,}/g," ");else{if("word"!==u||!l.startsWith("#"))return;p=f=l}const h=m(f);if(!h.isValid())return;const y=h.toName();y&&"transparent"!==y.toLowerCase()&&b(g.expected(y,f),s,r(s)+c,p.length)})})};b.ruleName=h,b.messages=g,b.meta={url:"https://stylelint.io/user-guide/rules/list/color-named"},t.exports=b},{"../../reference/propertySets":112,"../../utils/declarationValueIndex":333,"../../utils/isStandardSyntaxFunction":390,"../../utils/isStandardSyntaxValue":398,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"./colordUtils":143,"postcss-value-parser":59}],145:[(e,t,s)=>{const r=e("postcss-value-parser"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getDeclarationValue"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u="color-no-hex",c=a(u,{rejected:e=>`Unexpected hex color "${e}"`}),d=/^#[0-9A-Za-z]+/,p=new Set(["url"]),f=e=>(t,s)=>{l(s,u,{actual:e})&&t.walkDecls(e=>{r(n(e)).walk(t=>{if((({type:e,value:t})=>"function"===e&&p.has(t.toLowerCase()))(t))return!1;if(!(({type:e,value:t})=>"word"===e&&d.test(t))(t))return;const r=i(e)+t.sourceIndex,n=r+t.value.length;o({message:c.rejected(t.value),node:e,index:r,endIndex:n,result:s,ruleName:u})})})};f.ruleName=u,f.messages=c,f.meta={url:"https://stylelint.io/user-guide/rules/list/color-no-hex"},t.exports=f},{"../../utils/declarationValueIndex":333,"../../utils/getDeclarationValue":341,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"postcss-value-parser":59}],146:[(e,t,s)=>{const r=e("../../utils/declarationValueIndex"),i=e("../../utils/isStandardSyntaxHexColor"),n=e("../../utils/isValidHex"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("postcss-value-parser"),c="color-no-invalid-hex",d=a(c,{rejected:e=>`Unexpected invalid hex color "${e}"`}),p=e=>(t,s)=>{l(s,c,{actual:e})&&t.walkDecls(e=>{i(e.value)&&u(e.value).walk(({value:t,type:i,sourceIndex:a})=>{if("function"===i&&t.endsWith("url"))return!1;if("word"!==i)return;const l=/^#[0-9A-Za-z]+/.exec(t);if(!l)return;const u=l[0];if(!u||n(u))return;const p=r(e)+a,f=p+u.length;o({message:d.rejected(u),node:e,index:p,endIndex:f,result:s,ruleName:c})})})};p.ruleName=c,p.messages=d,p.meta={url:"https://stylelint.io/user-guide/rules/list/color-no-invalid-hex"},t.exports=p},{"../../utils/declarationValueIndex":333,"../../utils/isStandardSyntaxHexColor":391,"../../utils/isValidHex":400,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"postcss-value-parser":59}],147:[(e,t,s)=>{const r=e("../../utils/addEmptyLineBefore"),i=e("../../utils/hasEmptyLine"),n=e("../../utils/isAfterComment"),o=e("../../utils/isFirstNested"),a=e("../../utils/isFirstNodeOfRoot"),l=e("../../utils/isSharedLineComment"),u=e("../../utils/isStandardSyntaxComment"),c=e("../../utils/optionsMatches"),d=e("../../utils/removeEmptyLinesBefore"),p=e("../../utils/report"),f=e("../../utils/ruleMessages"),m=e("../../utils/validateOptions"),{isRegExp:h,isString:g}=e("../../utils/validateTypes"),w="comment-empty-line-before",b=f(w,{expected:"Expected empty line before comment",rejected:"Unexpected empty line before comment"}),y=(e,t,s)=>(f,y)=>{m(y,w,{actual:e,possible:["always","never"]},{actual:t,possible:{except:["first-nested"],ignore:["stylelint-commands","after-comment"],ignoreComments:[g,h]},optional:!0})&&f.walkComments(f=>{if(a(f))return;if(f.text.startsWith("stylelint-")&&c(t,"ignore","stylelint-commands"))return;if(c(t,"ignore","after-comment")&&n(f))return;if(c(t,"ignoreComments",f.text))return;if(l(f))return;if(!u(f))return;const m=(()=>!(c(t,"except","first-nested")&&o(f)||"always"!==e))(),h=f.raws.before||"";if(m===i(h))return;if(s.fix){if("string"!=typeof s.newline)return;return void(m?r(f,s.newline):d(f,s.newline))}const g=m?b.expected:b.rejected;p({message:g,node:f,result:y,ruleName:w})})};y.ruleName=w,y.messages=b,y.meta={url:"https://stylelint.io/user-guide/rules/list/comment-empty-line-before"},t.exports=y},{"../../utils/addEmptyLineBefore":323,"../../utils/hasEmptyLine":353,"../../utils/isAfterComment":359,"../../utils/isFirstNested":372,"../../utils/isFirstNodeOfRoot":373,"../../utils/isSharedLineComment":383,"../../utils/isStandardSyntaxComment":388,"../../utils/optionsMatches":406,"../../utils/removeEmptyLinesBefore":411,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],148:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxComment"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a="comment-no-empty",l=n(a,{rejected:"Unexpected empty comment"}),u=e=>(t,s)=>{o(s,a,{actual:e})&&t.walkComments(e=>{r(e)&&(e.text&&0!==e.text.length||i({message:l.rejected,node:e,result:s,ruleName:a}))})};u.ruleName=a,u.messages=l,u.meta={url:"https://stylelint.io/user-guide/rules/list/comment-no-empty"},t.exports=u},{"../../utils/isStandardSyntaxComment":388,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420}],149:[(e,t,s)=>{const r=e("../../utils/report"),i=e("../../utils/ruleMessages"),n=e("../../utils/validateOptions"),{isRegExp:o,isString:a}=e("../../utils/validateTypes"),l="comment-pattern",u=i(l,{expected:e=>`Expected comment to match pattern "${e}"`}),c=e=>(t,s)=>{if(!n(s,l,{actual:e,possible:[o,a]}))return;const i=a(e)?new RegExp(e):e;t.walkComments(t=>{const n=t.text;i.test(n)||r({message:u.expected(e),node:t,result:s,ruleName:l})})};c.ruleName=l,c.messages=u,c.meta={url:"https://stylelint.io/user-guide/rules/list/comment-pattern"},t.exports=c},{"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],150:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxComment"),i=e("../../utils/isWhitespace"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),l="comment-whitespace-inside",u=o(l,{expectedOpening:'Expected whitespace after "/*"',rejectedOpening:'Unexpected whitespace after "/*"',expectedClosing:'Expected whitespace before "*/"',rejectedClosing:'Unexpected whitespace before "*/"'}),c=(e,t,s)=>(t,o)=>{a(o,l,{actual:e,possible:["always","never"]})&&t.walkComments(t=>{if(!r(t))return;const a=t.toString(),c=a.slice(0,4);if(/^\/\*[#!]\s/.test(c))return;const d=a.match(/(^\/\*+)(\s)?/);if(null==d||null==d[1])throw new Error(`Invalid comment: "${a}"`);const p=a.match(/(\s)?(\*+\/)$/);if(null==p||null==p[2])throw new Error(`Invalid comment: "${a}"`);const f=d[1],m=d[2]||"",h=p[1]||"",g=p[2];function w(r,i){var a,u;s.fix?"never"===e?(t.raws.left="",t.raws.right="",t.text=t.text.replace(/^(\*+)(\s+)?/,"$1").replace(/(\s+)?(\*+)$/,"$2")):(m||((u=t).text.startsWith("*")?u.text=u.text.replace(/^(\*+)/,"$1 "):u.raws.left=" "),h||("*"===(a=t).text[a.text.length-1]?a.text=a.text.replace(/(\*+)$/," $1"):a.raws.right=" ")):n({message:r,index:i,result:o,ruleName:l,node:t})}"never"===e&&""!==m&&w(u.rejectedOpening,f.length),"always"!==e||i(m)||w(u.expectedOpening,f.length),"never"===e&&""!==h&&w(u.rejectedClosing,t.toString().length-g.length-1),"always"!==e||i(h)||w(u.expectedClosing,t.toString().length-g.length-1)})};c.ruleName=l,c.messages=u,c.meta={url:"https://stylelint.io/user-guide/rules/list/comment-whitespace-inside"},t.exports=c},{"../../utils/isStandardSyntaxComment":388,"../../utils/isWhitespace":402,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420}],151:[(e,t,s)=>{const r=e("../../utils/containsString"),i=e("../../utils/matchesStringOrRegExp"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),{isRegExp:l,isString:u}=e("../../utils/validateTypes"),c="comment-word-disallowed-list",d=o(c,{rejected:e=>`Unexpected word matching pattern "${e}"`}),p=e=>(t,s)=>{a(s,c,{actual:e,possible:[u,l]})&&t.walkComments(t=>{const o=t.text;if("/*# "===t.toString().slice(0,4))return;const a=i(o,e)||r(o,e);a&&n({message:d.rejected(a.pattern),node:t,word:a.substring,result:s,ruleName:c})})};p.primaryOptionArray=!0,p.ruleName=c,p.messages=d,p.meta={url:"https://stylelint.io/user-guide/rules/list/comment-word-disallowed-list"},t.exports=p},{"../../utils/containsString":332,"../../utils/matchesStringOrRegExp":403,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],152:[(e,t,s)=>{const r=e("../../utils/atRuleParamIndex"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),{isRegExp:a,isString:l}=e("../../utils/validateTypes"),u="custom-media-pattern",c=n(u,{expected:e=>`Expected custom media query name to match pattern "${e}"`}),d=e=>(t,s)=>{if(!o(s,u,{actual:e,possible:[a,l]}))return;const n=l(e)?new RegExp(e):e;t.walkAtRules(t=>{if("custom-media"!==t.name.toLowerCase())return;const o=t.params.match(/^--(\S+)\b/);if(null==o||null==o[0])throw new Error(`Unexpected at-rule params: "${t.params}"`);const a=o[1];if(n.test(a))return;const l=r(t);i({message:c.expected(e),node:t,index:l,endIndex:l+o[0].length,result:s,ruleName:u})})};d.ruleName=u,d.messages=c,d.meta={url:"https://stylelint.io/user-guide/rules/list/custom-media-pattern"},t.exports=d},{"../../utils/atRuleParamIndex":326,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],153:[(e,t,s)=>{const r=e("../../utils/addEmptyLineBefore"),i=e("../../utils/blockString"),n=e("../../utils/getPreviousNonSharedLineCommentNode"),o=e("../../utils/hasEmptyLine"),a=e("../../utils/isAfterComment"),l=e("../../utils/isCustomProperty"),u=e("../../utils/isFirstNested"),c=e("../../utils/isSingleLineString"),d=e("../../utils/isStandardSyntaxDeclaration"),p=e("../../utils/optionsMatches"),f=e("../../utils/removeEmptyLinesBefore"),m=e("../../utils/report"),h=e("../../utils/ruleMessages"),g=e("../../utils/validateOptions"),{isAtRule:w,isDeclaration:b,isRule:y}=e("../../utils/typeGuards"),x="custom-property-empty-line-before",v=h(x,{expected:"Expected empty line before custom property",rejected:"Unexpected empty line before custom property"}),k=(e,t,s)=>(h,k)=>{g(k,x,{actual:e,possible:["always","never"]},{actual:t,possible:{except:["first-nested","after-comment","after-custom-property"],ignore:["after-comment","first-nested","inside-single-line-block"]},optional:!0})&&h.walkDecls(h=>{const g=h.prop,S=h.parent;if(!d(h))return;if(!l(g))return;if(p(t,"ignore","after-comment")&&a(h))return;if(p(t,"ignore","first-nested")&&u(h))return;if(p(t,"ignore","inside-single-line-block")&&null!=S&&(w(S)||y(S))&&c(i(S)))return;let O="always"===e;if((p(t,"except","first-nested")&&u(h)||p(t,"except","after-comment")&&a(h)||p(t,"except","after-custom-property")&&(e=>{const t=n(h);return null!=t&&b(t)&&l(t.prop)})())&&(O=!O),O===o(h.raws.before))return;if(s.fix){if(null==s.newline)return;return void(O?r(h,s.newline):f(h,s.newline))}const C=O?v.expected:v.rejected;m({message:C,node:h,result:k,ruleName:x})})};k.ruleName=x,k.messages=v,k.meta={url:"https://stylelint.io/user-guide/rules/list/custom-property-empty-line-before"},t.exports=k},{"../../utils/addEmptyLineBefore":323,"../../utils/blockString":328,"../../utils/getPreviousNonSharedLineCommentNode":347,"../../utils/hasEmptyLine":353,"../../utils/isAfterComment":359,"../../utils/isCustomProperty":370,"../../utils/isFirstNested":372,"../../utils/isSingleLineString":384,"../../utils/isStandardSyntaxDeclaration":389,"../../utils/optionsMatches":406,"../../utils/removeEmptyLinesBefore":411,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/typeGuards":417,"../../utils/validateOptions":420}],154:[(e,t,s)=>{const r=e("postcss-value-parser"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/isCustomProperty"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u="custom-property-no-missing-var-function",c=a(u,{rejected:e=>`Unexpected missing var function for "${e}"`}),d=e=>(t,s)=>{if(!l(s,u,{actual:e}))return;const a=new Set;t.walkAtRules(/^property$/i,e=>{a.add(e.params)}),t.walkDecls(({prop:e})=>{n(e)&&a.add(e)}),t.walkDecls(e=>{const{value:t}=e;r(t).walk(t=>{if((({type:e,value:t})=>"function"===e&&"var"===t)(t))return!1;if(!(({type:e,value:t})=>"word"===e&&t.startsWith("--"))(t))return;if(!a.has(t.value))return;const r=i(e)+t.sourceIndex,n=r+t.value.length;return o({message:c.rejected(t.value),node:e,index:r,endIndex:n,result:s,ruleName:u}),!1})})};d.ruleName=u,d.messages=c,d.meta={url:"https://stylelint.io/user-guide/rules/list/custom-property-no-missing-var-function"},t.exports=d},{"../../utils/declarationValueIndex":333,"../../utils/isCustomProperty":370,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"postcss-value-parser":59}],155:[(e,t,s)=>{const r=e("postcss-value-parser"),i=e("../../utils/isCustomProperty"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),l=e("../../utils/declarationValueIndex"),{isRegExp:u,isString:c}=e("../../utils/validateTypes"),{isValueFunction:d}=e("../../utils/typeGuards"),p=e("../../utils/isStandardSyntaxProperty"),f="custom-property-pattern",m=o(f,{expected:e=>`Expected custom property name to match pattern "${e}"`}),h=e=>(t,s)=>{if(!a(s,f,{actual:e,possible:[u,c]}))return;const o=c(e)?new RegExp(e):e;function h(e){return!p(e)||!i(e)||o.test(e.slice(2))}function g(t,r,i){n({result:s,ruleName:f,message:m.expected(e),node:i,index:t,endIndex:t+r})}t.walkDecls(e=>{const{prop:t,value:s}=e;r(s).walk(t=>{if(!d(t))return;if("var"!==t.value.toLowerCase())return;const{nodes:s}=t,r=s[0];r&&!h(r.value)&&g(l(e)+r.sourceIndex,r.value.length,e)}),h(t)||g(0,t.length,e)})};h.ruleName=f,h.messages=m,h.meta={url:"https://stylelint.io/user-guide/rules/list/custom-property-pattern"},t.exports=h},{"../../utils/declarationValueIndex":333,"../../utils/isCustomProperty":370,"../../utils/isStandardSyntaxProperty":393,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/typeGuards":417,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"postcss-value-parser":59}],156:[(e,t,s)=>{const r=e("../declarationBangSpaceChecker"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getDeclarationValue"),o=e("../../utils/ruleMessages"),a=e("../../utils/setDeclarationValue"),l=e("../../utils/validateOptions"),u=e("../../utils/whitespaceChecker"),c="declaration-bang-space-after",d=o(c,{expectedAfter:()=>'Expected single space after "!"',rejectedAfter:()=>'Unexpected whitespace after "!"'}),p=(e,t,s)=>{const o=u("space",e,d);return(t,u)=>{l(u,c,{actual:e,possible:["always","never"]})&&r({root:t,result:u,locationChecker:o.after,checkedRuleName:c,fix:s.fix?(t,s)=>{let r=s-i(t);const o=n(t);let l,u;if(r{a(t,e)});else{if(!t.important)return!1;l=t.raws.important||" !important",r-=o.length,u=(e=>{t.raws.important=e})}const c=l.slice(0,r+1),d=l.slice(r+1);return"always"===e?(u(c+d.replace(/^\s*/," ")),!0):"never"===e&&(u(c+d.replace(/^\s*/,"")),!0)}:null})}};p.ruleName=c,p.messages=d,p.meta={url:"https://stylelint.io/user-guide/rules/list/declaration-bang-space-after"},t.exports=p},{"../../utils/declarationValueIndex":333,"../../utils/getDeclarationValue":341,"../../utils/ruleMessages":413,"../../utils/setDeclarationValue":415,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../declarationBangSpaceChecker":178}],157:[(e,t,s)=>{const r=e("../declarationBangSpaceChecker"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getDeclarationValue"),o=e("../../utils/ruleMessages"),a=e("../../utils/setDeclarationValue"),l=e("../../utils/validateOptions"),u=e("../../utils/whitespaceChecker"),c="declaration-bang-space-before",d=o(c,{expectedBefore:()=>'Expected single space before "!"',rejectedBefore:()=>'Unexpected whitespace before "!"'}),p=(e,t,s)=>{const o=u("space",e,d);return(t,u)=>{l(u,c,{actual:e,possible:["always","never"]})&&r({root:t,result:u,locationChecker:o.before,checkedRuleName:c,fix:s.fix?(t,s)=>{let r=s-i(t);const o=n(t);let l,u;if(r{a(t,e)});else{if(!t.important)return!1;l=t.raws.important||" !important",r-=o.length,u=(e=>{t.raws.important=e})}const c=l.slice(0,r),d=l.slice(r);return"always"===e?(u(c.replace(/\s*$/,"")+" "+d),!0):"never"===e&&(u(c.replace(/\s*$/,"")+d),!0)}:null})}};p.ruleName=c,p.messages=d,p.meta={url:"https://stylelint.io/user-guide/rules/list/declaration-bang-space-before"},t.exports=p},{"../../utils/declarationValueIndex":333,"../../utils/getDeclarationValue":341,"../../utils/ruleMessages":413,"../../utils/setDeclarationValue":415,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../declarationBangSpaceChecker":178}],158:[(e,t,s)=>{const r=e("../../utils/eachDeclarationBlock"),i=e("../../utils/isCustomProperty"),n=e("../../utils/isStandardSyntaxProperty"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u="declaration-block-no-duplicate-custom-properties",c=a(u,{rejected:e=>`Unexpected duplicate "${e}"`}),d=e=>(t,s)=>{l(s,u,{actual:e})&&r(t,e=>{const t=new Set;e(e=>{const r=e.prop;n(r)&&i(r)&&(t.has(r)?o({message:c.rejected(r),node:e,result:s,ruleName:u,word:r}):t.add(r))})})};d.ruleName=u,d.messages=c,d.meta={url:"https://stylelint.io/user-guide/rules/list/declaration-block-no-duplicate-custom-properties"},t.exports=d},{"../../utils/eachDeclarationBlock":334,"../../utils/isCustomProperty":370,"../../utils/isStandardSyntaxProperty":393,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420}],159:[(e,t,s)=>{const r=e("../../utils/eachDeclarationBlock"),i=e("../../utils/isCustomProperty"),n=e("../../utils/isStandardSyntaxProperty"),o=e("../../utils/optionsMatches"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),{isString:c}=e("../../utils/validateTypes"),d=e("../../utils/vendor"),p="declaration-block-no-duplicate-properties",f=l(p,{rejected:e=>`Unexpected duplicate "${e}"`}),m=(e,t)=>(s,l)=>{if(!u(l,p,{actual:e},{actual:t,possible:{ignore:["consecutive-duplicates","consecutive-duplicates-with-different-values","consecutive-duplicates-with-same-prefixless-values"],ignoreProperties:[c]},optional:!0}))return;const m=o(t,"ignore","consecutive-duplicates"),h=o(t,"ignore","consecutive-duplicates-with-different-values"),g=o(t,"ignore","consecutive-duplicates-with-same-prefixless-values");r(s,e=>{const s=[],r=[];e(e=>{const u=e.prop,c=e.value;if(!n(u))return;if(i(u))return;if(o(t,"ignoreProperties",u))return;if("src"===u.toLowerCase())return;const w=s.indexOf(u.toLowerCase());if(-1!==w){if(h||g){if(w!==s.length-1)return void a({message:f.rejected(u),node:e,result:l,ruleName:p,word:u});const t=r[w]||"";return g&&d.unprefixed(c)!==d.unprefixed(t)?void a({message:f.rejected(u),node:e,result:l,ruleName:p,word:u}):c===t?void a({message:f.rejected(u),node:e,result:l,ruleName:p,word:u}):void 0}if(m&&w===s.length-1)return;a({message:f.rejected(u),node:e,result:l,ruleName:p,word:u})}s.push(u.toLowerCase()),r.push(c.toLowerCase())})})};m.ruleName=p,m.messages=f,m.meta={url:"https://stylelint.io/user-guide/rules/list/declaration-block-no-duplicate-properties"},t.exports=m},{"../../utils/eachDeclarationBlock":334,"../../utils/isCustomProperty":370,"../../utils/isStandardSyntaxProperty":393,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/vendor":422}],160:[(e,t,s)=>{const r=e("../../utils/arrayEqual"),i=e("../../utils/eachDeclarationBlock"),n=e("../../utils/optionsMatches"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../reference/shorthandData"),u=e("../../utils/validateOptions"),c=e("../../utils/vendor"),{isRegExp:d,isString:p}=e("../../utils/validateTypes"),f="declaration-block-no-redundant-longhand-properties",m=a(f,{expected:e=>`Expected shorthand property "${e}"`}),h=(e,t)=>(s,a)=>{if(!u(a,f,{actual:e},{actual:t,possible:{ignoreShorthands:[p,d]},optional:!0}))return;const h=Object.entries(l).reduce((e,[s,r])=>{if(n(t,"ignoreShorthands",s))return e;for(const t of r)(e[t]||(e[t]=[])).push(s);return e},{});i(s,e=>{const t={};e(e=>{const s=e.prop.toLowerCase(),i=c.unprefixed(s),n=c.prefix(s),u=h[i];if(u)for(const i of u){const u=n+i;let c=t[u];c||(c=t[u]=[]),c.push(s);const d=(l[i]||[]).map(e=>n+e);r(d.sort(),c.sort())&&o({ruleName:f,result:a,node:e,message:m.expected(u)})}})})};h.ruleName=f,h.messages=m,h.meta={url:"https://stylelint.io/user-guide/rules/list/declaration-block-no-redundant-longhand-properties"},t.exports=h},{"../../reference/shorthandData":113,"../../utils/arrayEqual":325,"../../utils/eachDeclarationBlock":334,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/vendor":422}],161:[(e,t,s)=>{const r=e("../../utils/eachDeclarationBlock"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../reference/shorthandData"),a=e("../../utils/validateOptions"),l=e("../../utils/vendor"),u="declaration-block-no-shorthand-property-overrides",c=n(u,{rejected:(e,t)=>`Unexpected shorthand "${e}" after "${t}"`}),d=e=>(t,s)=>{a(s,u,{actual:e})&&r(t,e=>{const t={};e(e=>{const r=e.prop,n=l.unprefixed(r),a=l.prefix(r).toLowerCase(),d=o[n.toLowerCase()];if(d)for(const n of d)Object.prototype.hasOwnProperty.call(t,a+n)&&i({ruleName:u,result:s,node:e,message:c.rejected(r,t[a+n]||""),word:r});else t[r.toLowerCase()]=r})})};d.ruleName=u,d.messages=c,d.meta={url:"https://stylelint.io/user-guide/rules/list/declaration-block-no-shorthand-property-overrides"},t.exports=d},{"../../reference/shorthandData":113,"../../utils/eachDeclarationBlock":334,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/vendor":422}],162:[(e,t,s)=>{const r=e("../../utils/blockString"),i=e("../../utils/nextNonCommentNode"),n=e("../../utils/rawNodeString"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("../../utils/whitespaceChecker"),{isAtRule:c,isRule:d}=e("../../utils/typeGuards"),p="declaration-block-semicolon-newline-after",f=a(p,{expectedAfter:()=>'Expected newline after ";"',expectedAfterMultiLine:()=>'Expected newline after ";" in a multi-line declaration block',rejectedAfterMultiLine:()=>'Unexpected newline after ";" in a multi-line declaration block'}),m=(e,t,s)=>{const a=u("newline",e,f);return(t,u)=>{l(u,p,{actual:e,possible:["always","always-multi-line","never-multi-line"]})&&t.walkDecls(t=>{const l=t.parent;if(!l)throw new Error("A parent node must be present");if(!c(l)&&!d(l))return;if(!l.raws.semicolon&&l.last===t)return;const f=t.next();if(!f)return;const m=i(f);m&&a.afterOneOnly({source:n(m),index:-1,lineCheckStr:r(l),err(r){if(s.fix){if(e.startsWith("always")){const e=m.raws.before.search(/\r?\n/);return void(m.raws.before=e>=0?m.raws.before.slice(e):s.newline+m.raws.before)}if("never-multi-line"===e)return void(m.raws.before="")}o({message:r,node:t,index:t.toString().length+1,result:u,ruleName:p})}})})}};m.ruleName=p,m.messages=f,m.meta={url:"https://stylelint.io/user-guide/rules/list/declaration-block-semicolon-newline-after"},t.exports=m},{"../../utils/blockString":328,"../../utils/nextNonCommentNode":404,"../../utils/rawNodeString":409,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/typeGuards":417,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423}],163:[(e,t,s)=>{const r=e("../../utils/blockString"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/whitespaceChecker"),{isAtRule:l,isRule:u}=e("../../utils/typeGuards"),c="declaration-block-semicolon-newline-before",d=n(c,{expectedBefore:()=>'Expected newline before ";"',expectedBeforeMultiLine:()=>'Expected newline before ";" in a multi-line declaration block',rejectedBeforeMultiLine:()=>'Unexpected whitespace before ";" in a multi-line declaration block'}),p=e=>{const t=a("newline",e,d);return(s,n)=>{o(n,c,{actual:e,possible:["always","always-multi-line","never-multi-line"]})&&s.walkDecls(e=>{const s=e.parent;if(!s)throw new Error("A parent node must be present");if(!l(s)&&!u(s))return;if(!s.raws.semicolon&&s.last===e)return;const o=e.toString();t.beforeAllowingIndentation({source:o,index:o.length,lineCheckStr:r(s),err(t){i({message:t,node:e,index:e.toString().length-1,result:n,ruleName:c})}})})}};p.ruleName=c,p.messages=d,p.meta={url:"https://stylelint.io/user-guide/rules/list/declaration-block-semicolon-newline-before"},t.exports=p},{"../../utils/blockString":328,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/typeGuards":417,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423}],164:[(e,t,s)=>{const r=e("../../utils/blockString"),i=e("../../utils/rawNodeString"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),l=e("../../utils/whitespaceChecker"),{isAtRule:u,isRule:c}=e("../../utils/typeGuards"),d="declaration-block-semicolon-space-after",p=o(d,{expectedAfter:()=>'Expected single space after ";"',rejectedAfter:()=>'Unexpected whitespace after ";"',expectedAfterSingleLine:()=>'Expected single space after ";" in a single-line declaration block',rejectedAfterSingleLine:()=>'Unexpected whitespace after ";" in a single-line declaration block'}),f=(e,t,s)=>{const o=l("space",e,p);return(t,l)=>{a(l,d,{actual:e,possible:["always","never","always-single-line","never-single-line"]})&&t.walkDecls(t=>{const a=t.parent;if(!a)throw new Error("A parent node must be present");if(!u(a)&&!c(a))return;if(!a.raws.semicolon&&a.last===t)return;const p=t.next();p&&o.after({source:i(p),index:-1,lineCheckStr:r(a),err(r){if(s.fix){if(e.startsWith("always"))return void(p.raws.before=" ");if(e.startsWith("never"))return void(p.raws.before="")}n({message:r,node:t,index:t.toString().length+1,result:l,ruleName:d})}})})}};f.ruleName=d,f.messages=p,f.meta={url:"https://stylelint.io/user-guide/rules/list/declaration-block-semicolon-space-after"},t.exports=f},{"../../utils/blockString":328,"../../utils/rawNodeString":409,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/typeGuards":417,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423}],165:[(e,t,s)=>{const r=e("../../utils/blockString"),i=e("../../utils/getDeclarationValue"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/setDeclarationValue"),l=e("../../utils/validateOptions"),u=e("../../utils/whitespaceChecker"),{isAtRule:c,isRule:d}=e("../../utils/typeGuards"),p="declaration-block-semicolon-space-before",f=o(p,{expectedBefore:()=>'Expected single space before ";"',rejectedBefore:()=>'Unexpected whitespace before ";"',expectedBeforeSingleLine:()=>'Expected single space before ";" in a single-line declaration block',rejectedBeforeSingleLine:()=>'Unexpected whitespace before ";" in a single-line declaration block'}),m=(e,t,s)=>{const o=u("space",e,f);return(t,u)=>{l(u,p,{actual:e,possible:["always","never","always-single-line","never-single-line"]})&&t.walkDecls(t=>{const l=t.parent;if(!l)throw new Error("A parent node must be present");if(!c(l)&&!d(l))return;if(!l.raws.semicolon&&l.last===t)return;const f=t.toString();o.before({source:f,index:f.length,lineCheckStr:r(l),err(r){if(s.fix){const s=i(t);if(e.startsWith("always"))return void(t.important?t.raws.important=" !important ":a(t,s.replace(/\s*$/," ")));if(e.startsWith("never"))return void(t.raws.important?t.raws.important=t.raws.important.replace(/\s*$/,""):a(t,s.replace(/\s*$/,"")))}n({message:r,node:t,index:t.toString().length-1,result:u,ruleName:p})}})})}};m.ruleName=p,m.messages=f,m.meta={url:"https://stylelint.io/user-guide/rules/list/declaration-block-semicolon-space-before"},t.exports=m},{"../../utils/blockString":328,"../../utils/getDeclarationValue":341,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/setDeclarationValue":415,"../../utils/typeGuards":417,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423}],166:[(e,t,s)=>{const r=e("../../utils/blockString"),i=e("../../utils/isSingleLineString"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),{isNumber:l}=e("../../utils/validateTypes"),u="declaration-block-single-line-max-declarations",c=o(u,{expected:e=>`Expected no more than ${e} ${1===e?"declaration":"declarations"}`}),d=e=>(t,s)=>{a(s,u,{actual:e,possible:[l]})&&t.walkRules(t=>{const o=r(t);i(o)&&t.nodes&&(t.nodes.filter(e=>"decl"===e.type).length<=e||n({message:c.expected(e),node:t,word:o,result:s,ruleName:u}))})};d.ruleName=u,d.messages=c,d.meta={url:"https://stylelint.io/user-guide/rules/list/declaration-block-single-line-max-declarations"},t.exports=d},{"../../utils/blockString":328,"../../utils/isSingleLineString":384,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],167:[(e,t,s)=>{const r=e("../../utils/hasBlock"),i=e("../../utils/optionsMatches"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),l="declaration-block-trailing-semicolon",u=o(l,{expected:"Expected a trailing semicolon",rejected:"Unexpected trailing semicolon"}),c=(e,t,s)=>(o,c)=>{function d(r){if(!r.parent)throw new Error("A parent node must be present");const o=r.parent.raws.semicolon;if(i(t,"ignore","single-declaration")&&r.parent.first===r)return;let a;if("always"===e){if(o)return;if(s.fix)return r.parent.raws.semicolon=!0,void("atrule"===r.type&&(r.raws.between="",r.parent.raws.after=" "));a=u.expected}else{if("never"!==e)throw new Error(`Unexpected primary option: "${e}"`);if(!o)return;if(s.fix)return void(r.parent.raws.semicolon=!1);a=u.rejected}n({message:a,node:r,index:r.toString().trim().length-1,result:c,ruleName:l})}a(c,l,{actual:e,possible:["always","never"]},{actual:t,possible:{ignore:["single-declaration"]},optional:!0})&&(o.walkAtRules(e=>{if(!e.parent)throw new Error("A parent node must be present");e.parent!==o&&e===e.parent.last&&(r(e)||d(e))}),o.walkDecls(e=>{if(!e.parent)throw new Error("A parent node must be present");"object"!==e.parent.type&&e===e.parent.last&&d(e)}))};c.ruleName=l,c.messages=u,c.meta={url:"https://stylelint.io/user-guide/rules/list/declaration-block-trailing-semicolon"},t.exports=c},{"../../utils/hasBlock":351,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420}],168:[(e,t,s)=>{const r=e("../../utils/declarationValueIndex"),i=e("../../utils/isStandardSyntaxDeclaration"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),l=e("../../utils/whitespaceChecker"),u="declaration-colon-newline-after",c=o(u,{expectedAfter:()=>'Expected newline after ":"',expectedAfterMultiLine:()=>'Expected newline after ":" with a multi-line declaration'}),d=(e,t,s)=>{const o=l("newline",e,c);return(t,l)=>{a(l,u,{actual:e,possible:["always","always-multi-line"]})&&t.walkDecls(e=>{if(!i(e))return;const t=r(e)+(e.raws.between||"").length-1,a=`${e.toString().slice(0,t)}xxx`;for(let t=0,i=a.length;t{const r=e("../declarationColonSpaceChecker"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/whitespaceChecker"),l="declaration-colon-space-after",u=n(l,{expectedAfter:()=>'Expected single space after ":"',rejectedAfter:()=>'Unexpected whitespace after ":"',expectedAfterSingleLine:()=>'Expected single space after ":" with a single-line declaration'}),c=(e,t,s)=>{const n=a("space",e,u);return(t,a)=>{o(a,l,{actual:e,possible:["always","never","always-single-line"]})&&r({root:t,result:a,locationChecker:n.after,checkedRuleName:l,fix:s.fix?(t,s)=>{const r=s-i(t),n=t.raws.between;if(null==n)throw new Error("`between` must be present");return e.startsWith("always")?(t.raws.between=n.slice(0,r)+n.slice(r).replace(/^:\s*/,": "),!0):"never"===e&&(t.raws.between=n.slice(0,r)+n.slice(r).replace(/^:\s*/,":"),!0)}:null})}};c.ruleName=l,c.messages=u,c.meta={url:"https://stylelint.io/user-guide/rules/list/declaration-colon-space-after"},t.exports=c},{"../../utils/declarationValueIndex":333,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../declarationColonSpaceChecker":179}],170:[(e,t,s)=>{const r=e("../declarationColonSpaceChecker"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/whitespaceChecker"),l="declaration-colon-space-before",u=n(l,{expectedBefore:()=>'Expected single space before ":"',rejectedBefore:()=>'Unexpected whitespace before ":"'}),c=(e,t,s)=>{const n=a("space",e,u);return(t,a)=>{o(a,l,{actual:e,possible:["always","never"]})&&r({root:t,result:a,locationChecker:n.before,checkedRuleName:l,fix:s.fix?(t,s)=>{const r=s-i(t),n=t.raws.between;if(null==n)throw new Error("`between` must be present");return"always"===e?(t.raws.between=n.slice(0,r).replace(/\s*$/," ")+n.slice(r),!0):"never"===e&&(t.raws.between=n.slice(0,r).replace(/\s*$/,"")+n.slice(r),!0)}:null})}};c.ruleName=l,c.messages=u,c.meta={url:"https://stylelint.io/user-guide/rules/list/declaration-colon-space-before"},t.exports=c},{"../../utils/declarationValueIndex":333,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../declarationColonSpaceChecker":179}],171:[(e,t,s)=>{const r=e("../../utils/addEmptyLineBefore"),i=e("../../utils/blockString"),n=e("../../utils/hasEmptyLine"),o=e("../../utils/isAfterComment"),a=e("../../utils/isAfterStandardPropertyDeclaration"),l=e("../../utils/isCustomProperty"),u=e("../../utils/isFirstNested"),c=e("../../utils/isFirstNodeOfRoot"),d=e("../../utils/isSingleLineString"),p=e("../../utils/isStandardSyntaxDeclaration"),f=e("../../utils/optionsMatches"),m=e("../../utils/removeEmptyLinesBefore"),h=e("../../utils/report"),g=e("../../utils/ruleMessages"),w=e("../../utils/validateOptions"),{isAtRule:b,isRule:y,isRoot:x}=e("../../utils/typeGuards"),v="declaration-empty-line-before",k=g(v,{expected:"Expected empty line before declaration",rejected:"Unexpected empty line before declaration"}),S=(e,t,s)=>(g,S)=>{w(S,v,{actual:e,possible:["always","never"]},{actual:t,possible:{except:["first-nested","after-comment","after-declaration"],ignore:["after-comment","after-declaration","first-nested","inside-single-line-block"]},optional:!0})&&g.walkDecls(g=>{const w=g.prop,O=g.parent;if(null==O)return;if(c(g))return;if(!b(O)&&!y(O)&&!x(O))return;if(!p(g))return;if(l(w))return;if(f(t,"ignore","after-comment")&&o(g))return;if(f(t,"ignore","after-declaration")&&a(g))return;if(f(t,"ignore","first-nested")&&u(g))return;if(f(t,"ignore","inside-single-line-block")&&d(i(O)))return;let C="always"===e;if((f(t,"except","first-nested")&&u(g)||f(t,"except","after-comment")&&o(g)||f(t,"except","after-declaration")&&a(g))&&(C=!C),C===n(g.raws.before))return;if(s.fix){if(null==s.newline)return;return void(C?r(g,s.newline):m(g,s.newline))}const M=C?k.expected:k.rejected;h({message:M,node:g,result:S,ruleName:v})})};S.ruleName=v,S.messages=k,S.meta={url:"https://stylelint.io/user-guide/rules/list/declaration-empty-line-before"},t.exports=S},{"../../utils/addEmptyLineBefore":323,"../../utils/blockString":328,"../../utils/hasEmptyLine":353,"../../utils/isAfterComment":359,"../../utils/isAfterStandardPropertyDeclaration":361,"../../utils/isCustomProperty":370,"../../utils/isFirstNested":372,"../../utils/isFirstNodeOfRoot":373,"../../utils/isSingleLineString":384,"../../utils/isStandardSyntaxDeclaration":389,"../../utils/optionsMatches":406,"../../utils/removeEmptyLinesBefore":411,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/typeGuards":417,"../../utils/validateOptions":420}],172:[(e,t,s)=>{const r=e("../../utils/getImportantPosition"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),{assert:a}=e("../../utils/validateTypes"),l="declaration-no-important",u=n(l,{rejected:"Unexpected !important"}),c=e=>(t,s)=>{o(s,l,{actual:e})&&t.walkDecls(e=>{if(!e.important)return;const t=r(e.toString());a(t),i({message:u.rejected,node:e,index:t.index,endIndex:t.endIndex,result:s,ruleName:l})})};c.ruleName=l,c.messages=u,c.meta={url:"https://stylelint.io/user-guide/rules/list/declaration-no-important"},t.exports=c},{"../../utils/getImportantPosition":344,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],173:[(e,t,s)=>{const r=e("postcss-value-parser"),i=e("../../utils/matchesStringOrRegExp"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/vendor"),l=e("../../utils/validateOptions"),{isNumber:u,assertNumber:c}=e("../../utils/validateTypes"),d=e("../../utils/validateObjectWithProps"),p="declaration-property-max-values",f=o(p,{rejected:(e,t)=>`Expected "${e}" to have no more than ${t} ${1===t?"value":"values"}`}),m=e=>"word"===e.type||"function"===e.type||"string"===e.type,h=e=>(t,s)=>{l(s,p,{actual:e,possible:[d(u)]})&&t.walkDecls(t=>{const{prop:o,value:l}=t,u=r(l).nodes.filter(m).length,d=a.unprefixed(o),h=Object.keys(e).find(e=>i(d,e));if(!h)return;const g=e[h];c(g),u<=g||n({message:f.rejected(o,g),node:t,result:s,ruleName:p})})};h.ruleName=p,h.messages=f,h.meta={url:"https://stylelint.io/user-guide/rules/list/declaration-property-max-values"},t.exports=h},{"../../utils/matchesStringOrRegExp":403,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateObjectWithProps":419,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/vendor":422,"postcss-value-parser":59}],174:[(e,t,s)=>{const r=e("postcss-value-parser"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/flattenArray"),o=e("../../utils/getUnitFromValueNode"),a=e("../../utils/matchesStringOrRegExp"),l=e("../../utils/optionsMatches"),u=e("../../utils/report"),c=e("../../utils/ruleMessages"),d=e("../../utils/validateObjectWithArrayProps"),p=e("../../utils/validateOptions"),{isString:f}=e("../../utils/validateTypes"),m=e("../../utils/vendor"),h="declaration-property-unit-allowed-list",g=c(h,{rejected:(e,t)=>`Unexpected unit "${t}" for property "${e}"`}),w=(e,t)=>(s,c)=>{p(c,h,{actual:e,possible:[d(f)]},{actual:t,possible:{ignore:["inside-function"]},optional:!0})&&s.walkDecls(s=>{const d=s.prop,p=s.value,f=m.unprefixed(d),w=Object.keys(e).find(e=>a(f,e));if(!w)return;const b=n(e[w]);b&&r(p).walk(e=>{if("function"===e.type){if("url"===e.value.toLowerCase())return!1;if(l(t,"ignore","inside-function"))return!1}if("string"===e.type)return;const r=o(e);if(!r||r&&b.includes(r.toLowerCase()))return;const n=i(s)+e.sourceIndex,a=n+e.value.length;u({message:g.rejected(d,r),node:s,index:n,endIndex:a,result:c,ruleName:h})})})};w.ruleName=h,w.messages=g,w.meta={url:"https://stylelint.io/user-guide/rules/list/declaration-property-unit-allowed-list"},t.exports=w},{"../../utils/declarationValueIndex":333,"../../utils/flattenArray":338,"../../utils/getUnitFromValueNode":350,"../../utils/matchesStringOrRegExp":403,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateObjectWithArrayProps":418,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/vendor":422,"postcss-value-parser":59}],175:[(e,t,s)=>{const r=e("postcss-value-parser"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/flattenArray"),o=e("../../utils/getUnitFromValueNode"),a=e("../../utils/matchesStringOrRegExp"),l=e("../../utils/report"),u=e("../../utils/ruleMessages"),c=e("../../utils/validateObjectWithArrayProps"),d=e("../../utils/validateOptions"),{isString:p}=e("../../utils/validateTypes"),f=e("../../utils/vendor"),m="declaration-property-unit-disallowed-list",h=u(m,{rejected:(e,t)=>`Unexpected unit "${t}" for property "${e}"`}),g=e=>(t,s)=>{d(s,m,{actual:e,possible:[c(p)]})&&t.walkDecls(t=>{const u=t.prop,c=t.value,d=f.unprefixed(u),p=Object.keys(e).find(e=>a(d,e));if(!p)return;const g=n(e[p]);g&&r(c).walk(e=>{if("function"===e.type&&"url"===e.value.toLowerCase())return!1;if("string"===e.type)return;const r=o(e);if(!r||r&&!g.includes(r.toLowerCase()))return;const n=i(t)+e.sourceIndex,a=n+e.value.length;l({message:h.rejected(u,r),node:t,index:n,endIndex:a,result:s,ruleName:m})})})};g.ruleName=m,g.messages=h,g.meta={url:"https://stylelint.io/user-guide/rules/list/declaration-property-unit-disallowed-list"},t.exports=g},{"../../utils/declarationValueIndex":333,"../../utils/flattenArray":338,"../../utils/getUnitFromValueNode":350,"../../utils/matchesStringOrRegExp":403,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateObjectWithArrayProps":418,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/vendor":422,"postcss-value-parser":59}],176:[(e,t,s)=>{const r=e("../../utils/declarationValueIndex"),i=e("../../utils/matchesStringOrRegExp"),n=e("../../utils/optionsMatches"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateObjectWithArrayProps"),u=e("../../utils/validateOptions"),{isString:c,isRegExp:d}=e("../../utils/validateTypes"),p=e("../../utils/vendor"),f="declaration-property-value-allowed-list",m=a(f,{rejected:(e,t)=>`Unexpected value "${t}" for property "${e}"`}),h=e=>(t,s)=>{u(s,f,{actual:e,possible:[l(c,d)]})&&t.walkDecls(t=>{const a=t.prop,l=t.value,u=p.unprefixed(a),c=Object.keys(e).find(e=>i(u,e));if(!c)return;if(n(e,c,l))return;const d=r(t),h=d+t.value.length;o({message:m.rejected(a,l),node:t,index:d,endIndex:h,result:s,ruleName:f})})};h.ruleName=f,h.messages=m,h.meta={url:"https://stylelint.io/user-guide/rules/list/declaration-property-value-allowed-list"},t.exports=h},{"../../utils/declarationValueIndex":333,"../../utils/matchesStringOrRegExp":403,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateObjectWithArrayProps":418,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/vendor":422}],177:[(e,t,s)=>{const r=e("../../utils/declarationValueIndex"),i=e("../../utils/matchesStringOrRegExp"),n=e("../../utils/optionsMatches"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateObjectWithArrayProps"),u=e("../../utils/validateOptions"),{isString:c,isRegExp:d}=e("../../utils/validateTypes"),p=e("../../utils/vendor"),f="declaration-property-value-disallowed-list",m=a(f,{rejected:(e,t)=>`Unexpected value "${t}" for property "${e}"`}),h=e=>(t,s)=>{u(s,f,{actual:e,possible:[l(c,d)]})&&t.walkDecls(t=>{const a=t.prop,l=t.value,u=p.unprefixed(a),c=Object.keys(e).find(e=>i(u,e));if(!c)return;if(!n(e,c,l))return;const d=r(t),h=d+t.value.length;o({message:m.rejected(a,l),node:t,index:d,endIndex:h,result:s,ruleName:f})})};h.ruleName=f,h.messages=m,h.meta={url:"https://stylelint.io/user-guide/rules/list/declaration-property-value-disallowed-list"},t.exports=h},{"../../utils/declarationValueIndex":333,"../../utils/matchesStringOrRegExp":403,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateObjectWithArrayProps":418,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/vendor":422}],178:[(e,t,s)=>{const r=e("../utils/declarationValueIndex"),i=e("../utils/report"),n=e("style-search");t.exports=(e=>{var t,s,o;e.root.walkDecls(a=>{const l=r(a),u=a.toString(),c=a.toString().slice(l);c.includes("!")&&n({source:c,target:"!"},r=>{t=u,s=r.startIndex+l,o=a,e.locationChecker({source:t,index:s,err(t){e.fix&&e.fix(o,s)||i({message:t,node:o,index:s,result:e.result,ruleName:e.checkedRuleName})}})})})})},{"../utils/declarationValueIndex":333,"../utils/report":412,"style-search":92}],179:[(e,t,s)=>{const r=e("../utils/declarationValueIndex"),i=e("../utils/isStandardSyntaxDeclaration"),n=e("../utils/report");t.exports=(e=>{e.root.walkDecls(t=>{if(!i(t))return;const s=r(t)+(t.raws.between||"").length-1,o=`${t.toString().slice(0,s)}xxx`;for(let s=0,r=o.length;s{const r=e("style-search"),i=[">=","<=",">","<","="];t.exports=((e,t)=>{if("media"!==e.name.toLowerCase())return;const s=e.raws.params?e.raws.params.raw:e.params;r({source:s,target:i},r=>{const i=s[r.startIndex-1];">"!==i&&"<"!==i&&t(r,s,e)})})},{"style-search":92}],181:[function(e,t,s){const r=e("../../utils/findFontFamily"),i=e("../../utils/isStandardSyntaxValue"),n=e("../../utils/isVariable"),o=e("../../reference/keywordSets"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),c="font-family-name-quotes",d=l(c,{expected:e=>`Expected quotes around "${e}"`,rejected:e=>`Unexpected quotes around "${e}"`}),p=(e,t)=>{const s=[];return e.forEach((e,r)=>{const i="quote"in e&&e.quote,n=e.value,o={name:n,rawName:i?`${i}${n}${i}`:n,sourceIndex:e.sourceIndex,hasQuotes:Boolean(i),resetIndexes(e){s.slice(r+1).forEach(t=>t.sourceIndex+=e)},removeQuotes(){if(!1===this.hasQuotes)return;const e=this.sourceIndex,s=e+this.name.length+2;this.hasQuotes=!1,t.value=t.value.slice(0,e)+this.name+t.value.substring(s),this.resetIndexes(-2)},addQuotes(){if(!0===this.hasQuotes)return;const e=this.sourceIndex,s=e+this.name.length;this.hasQuotes=!0;const r=`"${this.name}"`;t.value=t.value.slice(0,e)+r+t.value.substring(s),this.resetIndexes(2)}};s.push(o)}),s},f=(e,t,s)=>(t,l)=>{function f(t,r){const{name:a,rawName:l,hasQuotes:u}=t;if(!i(l))return;if(n(l))return;if(o.fontFamilyKeywords.has(a.toLowerCase())||(c=a).startsWith("-apple-")||"BlinkMacSystemFont"===c)return u?s.fix?void t.removeQuotes():m(d.rejected(a),l,r):void 0;var c;const p=a.split(/\s+/).some(e=>/^(?:-?\d|--)/.test(e)||!/^[-\w\u{00A0}-\u{10FFFF}]+$/u.test(e)),f=!/^[-a-zA-Z]+$/.test(a);switch(e){case"always-unless-keyword":return u?void 0:s.fix?void t.addQuotes():m(d.expected(a),l,r);case"always-where-recommended":return!f&&u?s.fix?void t.removeQuotes():m(d.rejected(a),l,r):f&&!u?s.fix?void t.addQuotes():m(d.expected(a),l,r):void 0;case"always-where-required":if(!p&&u)return s.fix?void t.removeQuotes():m(d.rejected(a),l,r);if(p&&!u)return s.fix?void t.addQuotes():m(d.expected(a),l,r)}}function m(e,t,s){a({result:l,ruleName:c,message:e,node:s,word:t})}u(l,c,{actual:e,possible:["always-where-required","always-where-recommended","always-unless-keyword"]})&&t.walkDecls(/^font(-family)?$/i,e=>{let t=p(r(e.value),e);if(0!==t.length)for(const s of t)f(s,e)})};f.ruleName=c,f.messages=d,f.meta={url:"https://stylelint.io/user-guide/rules/list/font-family-name-quotes"},t.exports=f},{"../../reference/keywordSets":110,"../../utils/findFontFamily":337,"../../utils/isStandardSyntaxValue":398,"../../utils/isVariable":401,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420}],182:[(e,t,s)=>{const r=e("../../utils/declarationValueIndex"),i=e("../../utils/findFontFamily"),n=e("../../reference/keywordSets"),o=e("../../utils/optionsMatches"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),{isRegExp:c,isString:d}=e("../../utils/validateTypes"),p="font-family-no-duplicate-names",f=l(p,{rejected:e=>`Unexpected duplicate name ${e}`}),m=e=>!("quote"in e)&&n.fontFamilyKeywords.has(e.value.toLowerCase()),h=(e,t)=>(s,n)=>{function l(e,t,s,r){a({result:n,ruleName:p,message:e,node:r,index:t,endIndex:t+s})}u(n,p,{actual:e},{actual:t,possible:{ignoreFontFamilyNames:[d,c]},optional:!0})&&s.walkDecls(/^font(-family)?$/i,e=>{const s=new Set,n=new Set,a=i(e.value);if(0!==a.length)for(const i of a){const a=i.value.trim();if(o(t,"ignoreFontFamilyNames",a))continue;const u="quote"in i?i.quote+a+i.quote:a;if(m(i)){if(s.has(a.toLowerCase())){l(f.rejected(a),r(e)+i.sourceIndex,u.length,e);continue}s.add(a)}else n.has(a)?l(f.rejected(a),r(e)+i.sourceIndex,u.length,e):n.add(a)}})};h.ruleName=p,h.messages=f,h.meta={url:"https://stylelint.io/user-guide/rules/list/font-family-no-duplicate-names"},t.exports=h},{"../../reference/keywordSets":110,"../../utils/declarationValueIndex":333,"../../utils/findFontFamily":337,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],183:[(e,t,s)=>{const r=e("../../utils/declarationValueIndex"),i=e("../../utils/findFontFamily"),n=e("../../utils/isStandardSyntaxValue"),o=e("../../utils/isVariable"),a=e("../../reference/keywordSets"),l=e("../../utils/optionsMatches"),u=e("postcss"),c=e("../../utils/report"),d=e("../../utils/ruleMessages"),p=e("../../utils/validateOptions"),{isAtRule:f}=e("../../utils/typeGuards"),{isRegExp:m,isString:h,assert:g}=e("../../utils/validateTypes"),w="font-family-no-missing-generic-family-keyword",b=d(w,{rejected:"Unexpected missing generic font family"}),y=(e,t)=>(s,d)=>{p(d,w,{actual:e},{actual:t,possible:{ignoreFontFamilies:[h,m]},optional:!0})&&s.walkDecls(/^font(-family)?$/i,e=>{const s=e.parent;if(s&&f(s)&&"font-face"===s.name.toLowerCase())return;if("font"===e.prop&&a.systemFontValues.has(e.value.toLowerCase()))return;if((e=>{const t=u.list.comma(e).pop();return null!=t&&(o(t)||!n(t))})(e.value))return;const p=i(e.value);if(0===p.length)return;if(p.some(e=>(e=>!("quote"in e)&&a.fontFamilyKeywords.has(e.value.toLowerCase()))(e)))return;if(p.some(e=>l(t,"ignoreFontFamilies",e.value)))return;const m=p[p.length-1];g(m);const h=r(e),y=h+m.sourceIndex,x=h+m.sourceEndIndex;c({result:d,ruleName:w,message:b.rejected,node:e,index:y,endIndex:x})})};y.ruleName=w,y.messages=b,y.meta={url:"https://stylelint.io/user-guide/rules/list/font-family-no-missing-generic-family-keyword"},t.exports=y},{"../../reference/keywordSets":110,"../../utils/declarationValueIndex":333,"../../utils/findFontFamily":337,"../../utils/isStandardSyntaxValue":398,"../../utils/isVariable":401,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/typeGuards":417,"../../utils/validateOptions":420,"../../utils/validateTypes":421,postcss:79}],184:[(e,t,s)=>{const r=e("postcss-value-parser"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/isNumbery"),o=e("../../utils/isStandardSyntaxValue"),a=e("../../utils/isVariable"),l=e("../../reference/keywordSets"),u=e("../../utils/optionsMatches"),c=e("../../utils/report"),d=e("../../utils/ruleMessages"),p=e("../../utils/validateOptions"),{isAtRule:f}=e("../../utils/typeGuards"),m="font-weight-notation",h=d(m,{expected:e=>`Expected ${e} font-weight notation`,invalidNamed:e=>`Unexpected invalid font-weight name "${e}"`}),g="inherit",w="initial",b="normal",y=new Set(["400","700"]),x=(e,t)=>(s,d)=>{function x(s,p,x){if(!o(p))return;if(a(p))return;if(r(p).nodes.every(({type:e})=>"function"===e||"comment"===e||"space"===e))return;const k=p.toLowerCase();if(!(k===g||k===w||u(t,"ignore","relative")&&l.fontWeightRelativeKeywords.has(k))){if("numeric"===e){const e=s.parent;if(e&&f(e)&&"font-face"===e.name.toLowerCase()){for(const e of v(p))if(!n(e.value))return S(h.expected("numeric"),e.value,e);return}if(!n(p))return S(h.expected("numeric"),p,x)}if("named-where-possible"===e){if(n(p))return void(y.has(p)&&S(h.expected("named"),p,x));if(!l.fontWeightKeywords.has(k)&&k!==b)return S(h.invalidNamed(p),p,x)}}function S(e,t,r){const n=i(s)+(r?r.sourceIndex:0),o=n+t.length;c({ruleName:m,result:d,message:e,node:s,index:n,endIndex:o})}}p(d,m,{actual:e,possible:["numeric","named-where-possible"]},{actual:t,possible:{ignore:["relative"]},optional:!0})&&s.walkDecls(/^font(-weight)?$/i,e=>{const t=e.prop.toLowerCase();"font-weight"===t?x(e,e.value):"font"===t&&(e=>{const t=v(e.value),s=t.some(({value:e})=>n(e));for(const r of t){const t=r.value,i=t.toLowerCase();if(i===b&&!s||n(t)||i!==b&&l.fontWeightKeywords.has(i))return void x(e,t,r)}})(e)})};function v(e){return r(e).nodes.filter((e,t,s)=>{if("word"!==e.type)return!1;const r=s[t-1],i=s[t+1];return!(r&&"div"===r.type||i&&"div"===i.type)})}x.ruleName=m,x.messages=h,x.meta={url:"https://stylelint.io/user-guide/rules/list/font-weight-notation"},t.exports=x},{"../../reference/keywordSets":110,"../../utils/declarationValueIndex":333,"../../utils/isNumbery":378,"../../utils/isStandardSyntaxValue":398,"../../utils/isVariable":401,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/typeGuards":417,"../../utils/validateOptions":420,"postcss-value-parser":59}],185:[(e,t,s)=>{const r=e("../../utils/declarationValueIndex"),i=e("../../utils/isStandardSyntaxFunction"),n=e("../../utils/matchesStringOrRegExp"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("postcss-value-parser"),c=e("../../utils/vendor"),{isRegExp:d,isString:p}=e("../../utils/validateTypes"),f="function-allowed-list",m=a(f,{rejected:e=>`Unexpected function "${e}"`}),h=e=>(t,s)=>{l(s,f,{actual:e,possible:[p,d]})&&t.walkDecls(t=>{u(t.value).walk(a=>{if("function"!==a.type)return;if(!i(a))return;if(n(c.unprefixed(a.value),e))return;const l=r(t)+a.sourceIndex,u=l+a.value.length;o({message:m.rejected(a.value),node:t,index:l,endIndex:u,result:s,ruleName:f})})})};h.primaryOptionArray=!0,h.ruleName=f,h.messages=m,h.meta={url:"https://stylelint.io/user-guide/rules/list/function-allowed-list"},t.exports=h},{"../../utils/declarationValueIndex":333,"../../utils/isStandardSyntaxFunction":390,"../../utils/matchesStringOrRegExp":403,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/vendor":422,"postcss-value-parser":59}],186:[(e,t,s)=>{const r=e("postcss-value-parser"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getDeclarationValue"),o=e("../../utils/isStandardSyntaxValue"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/setDeclarationValue"),c=e("../../utils/validateOptions"),{assert:d}=e("../../utils/validateTypes"),p="function-calc-no-unspaced-operator",f=l(p,{expectedBefore:e=>`Expected single space before "${e}" operator`,expectedAfter:e=>`Expected single space after "${e}" operator`,expectedOperatorBeforeSign:e=>`Expected an operator before sign "${e}"`}),m=new Set(["+","-"]),h=/[+-]/,g=new Set([...m,"*","/"]),w=(e,t,s)=>(t,l)=>{function w(e,t,s,r){const i=s+r.length;a({message:e,node:t,index:s,endIndex:i,result:l,ruleName:p})}c(l,p,{actual:e})&&t.walkDecls(e=>{let t=!1;const a=i(e),l=r(n(e));function c(r,i,n){const o=r.value,l=r.sourceIndex;if(i&&!y(i)){if("word"===i.type){if(n){const t=i.value.slice(-1);if(m.has(t))return s.fix?(i.value=`${i.value.slice(0,-1)} ${t}`,!0):(w(f.expectedOperatorBeforeSign(o),e,l,o),!0)}else{const t=i.value.slice(0,1);if(m.has(t))return s.fix?(i.value=`${t} ${i.value.slice(1)}`,!0):(w(f.expectedAfter(o),e,l,o),!0)}return s.fix?(t=!0,i.value=n?`${i.value} `:` ${i.value}`,!0):(w(n?f.expectedBefore(o):f.expectedAfter(o),e,a+l,o),!0)}if("space"===i.type){const r=i.value.search(/(\n|\r\n)/);if(0===r)return;return s.fix?(t=!0,i.value=-1===r?" ":i.value.slice(r),!0):(w(n?f.expectedBefore(o):f.expectedAfter(o),e,a+l,o),!0)}if("function"===i.type)return s.fix?(t=!0,i.value=n?`${i.value} `:` ${i.value}`,!0):(w(n?f.expectedBefore(o):f.expectedAfter(o),e,a+l,o),!0)}return!1}l.walk(r=>{if("function"!==r.type||"calc"!==r.value.toLowerCase())return;const{nodes:i}=r;let n=!1;for(const[e,t]of i.entries()){if(!x(t))continue;n=!0;const s=i[e-1],r=i[e+1];y(s)&&y(r)||r&&c(t,r,!1)||s&&c(t,s,!0)}n||function(r){if(!(i=>{const n=r[0];if(d(n),"word"!==n.type)return!1;if(!o(n.value))return!1;const l=n.value.search(h),u=n.value.slice(l,l+1);if(l<=0)return!1;const c=n.value.charAt(l-1),p=n.value.charAt(l+1);return c&&" "!==c&&p&&" "!==p?s.fix?(t=!0,n.value=b(n.value,l+1," "),n.value=b(n.value,l," ")):(w(f.expectedBefore(u),e,a+n.sourceIndex+l,u),w(f.expectedAfter(u),e,a+n.sourceIndex+l+1,u)):c&&" "!==c?s.fix?(t=!0,n.value=b(n.value,l," ")):w(f.expectedBefore(u),e,a+n.sourceIndex+l,u):p&&" "!==p&&(s.fix?(t=!0,n.value=b(n.value,l," ")):w(f.expectedAfter(u),e,a+n.sourceIndex+l+1,u)),!0})()&&!(r=>{if(1===r.length)return!1;const i=r[r.length-1];if(d(i),"word"!==i.type)return!1;const n=i.value.search(h);if(-1===n)return!1;if(" "===i.value.charAt(n-1))return!1;if(x(r[r.length-3],g)&&y(r[r.length-2]))return!1;if(s.fix)return t=!0,i.value=b(i.value,n+1," ").trim(),i.value=b(i.value,n," ").trim(),!0;const o=i.value.charAt(n);return w(f.expectedOperatorBeforeSign(o),e,a+i.sourceIndex+n,o),!0})(r))for(const[t,i]of r.entries()){const n=i.value.slice(-1),o=i.value.slice(0,1);if("word"===i.type)if(0===t&&m.has(n)){if(s.fix){i.value=`${i.value.slice(0,-1)} ${n}`;continue}w(f.expectedBefore(n),e,i.sourceIndex,n)}else if(t===r.length&&m.has(o)){if(s.fix){i.value=`${o} ${i.value.slice(1)}`;continue}w(f.expectedOperatorBeforeSign(o),e,i.sourceIndex,o)}}}(i)}),t&&u(e,l.toString())})};function b(e,t,s){return e.slice(0,t)+s+e.slice(t,e.length)}function y(e){return null!=e&&"space"===e.type&&" "===e.value}function x(e,t=m){return null!=e&&"word"===e.type&&t.has(e.value)}w.ruleName=p,w.messages=f,w.meta={url:"https://stylelint.io/user-guide/rules/list/function-calc-no-unspaced-operator"},t.exports=w},{"../../utils/declarationValueIndex":333,"../../utils/getDeclarationValue":341,"../../utils/isStandardSyntaxValue":398,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/setDeclarationValue":415,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"postcss-value-parser":59}],187:[(e,t,s)=>{const r=e("../functionCommaSpaceFix"),i=e("../functionCommaSpaceChecker"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/whitespaceChecker"),l="function-comma-newline-after",u=n(l,{expectedAfter:()=>'Expected newline after ","',expectedAfterMultiLine:()=>'Expected newline after "," in a multi-line function',rejectedAfterMultiLine:()=>'Unexpected whitespace after "," in a multi-line function'}),c=(e,t,s)=>{const n=a("newline",e,u);return(t,a)=>{o(a,l,{actual:e,possible:["always","always-multi-line","never-multi-line"]})&&i({root:t,result:a,locationChecker:n.afterOneOnly,checkedRuleName:l,fix:s.fix?(t,i,n)=>r({div:t,index:i,nodes:n,expectation:e,position:"after",symb:s.newline||""}):null})}};c.ruleName=l,c.messages=u,c.meta={url:"https://stylelint.io/user-guide/rules/list/function-comma-newline-after"},t.exports=c},{"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../functionCommaSpaceChecker":203,"../functionCommaSpaceFix":204}],188:[(e,t,s)=>{const r=e("../functionCommaSpaceFix"),i=e("../functionCommaSpaceChecker"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/whitespaceChecker"),l="function-comma-newline-before",u=n(l,{expectedBefore:()=>'Expected newline before ","',expectedBeforeMultiLine:()=>'Expected newline before "," in a multi-line function',rejectedBeforeMultiLine:()=>'Unexpected whitespace before "," in a multi-line function'}),c=(e,t,s)=>{const n=a("newline",e,u);return(t,a)=>{o(a,l,{actual:e,possible:["always","always-multi-line","never-multi-line"]})&&i({root:t,result:a,locationChecker:n.beforeAllowingIndentation,checkedRuleName:l,fix:s.fix?(t,i,n)=>r({div:t,index:i,nodes:n,expectation:e,position:"before",symb:s.newline||""}):null})}};c.ruleName=l,c.messages=u,c.meta={url:"https://stylelint.io/user-guide/rules/list/function-comma-newline-before"},t.exports=c},{"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../functionCommaSpaceChecker":203,"../functionCommaSpaceFix":204}],189:[(e,t,s)=>{const r=e("../functionCommaSpaceFix"),i=e("../functionCommaSpaceChecker"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/whitespaceChecker"),l="function-comma-space-after",u=n(l,{expectedAfter:()=>'Expected single space after ","',rejectedAfter:()=>'Unexpected whitespace after ","',expectedAfterSingleLine:()=>'Expected single space after "," in a single-line function',rejectedAfterSingleLine:()=>'Unexpected whitespace after "," in a single-line function'}),c=(e,t,s)=>{const n=a("space",e,u);return(t,a)=>{o(a,l,{actual:e,possible:["always","never","always-single-line","never-single-line"]})&&i({root:t,result:a,locationChecker:n.after,checkedRuleName:l,fix:s.fix?(t,s,i)=>r({div:t,index:s,nodes:i,expectation:e,position:"after",symb:" "}):null})}};c.ruleName=l,c.messages=u,c.meta={url:"https://stylelint.io/user-guide/rules/list/function-comma-space-after"},t.exports=c},{"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../functionCommaSpaceChecker":203,"../functionCommaSpaceFix":204}],190:[(e,t,s)=>{const r=e("../functionCommaSpaceFix"),i=e("../functionCommaSpaceChecker"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/whitespaceChecker"),l="function-comma-space-before",u=n(l,{expectedBefore:()=>'Expected single space before ","',rejectedBefore:()=>'Unexpected whitespace before ","',expectedBeforeSingleLine:()=>'Expected single space before "," in a single-line function',rejectedBeforeSingleLine:()=>'Unexpected whitespace before "," in a single-line function'}),c=(e,t,s)=>{const n=a("space",e,u);return(t,a)=>{o(a,l,{actual:e,possible:["always","never","always-single-line","never-single-line"]})&&i({root:t,result:a,locationChecker:n.before,checkedRuleName:l,fix:s.fix?(t,s,i)=>r({div:t,index:s,nodes:i,expectation:e,position:"before",symb:" "}):null})}};c.ruleName=l,c.messages=u,c.meta={url:"https://stylelint.io/user-guide/rules/list/function-comma-space-before"},t.exports=c},{"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../functionCommaSpaceChecker":203,"../functionCommaSpaceFix":204}],191:[(e,t,s)=>{const r=e("../../utils/declarationValueIndex"),i=e("../../utils/isStandardSyntaxFunction"),n=e("../../utils/matchesStringOrRegExp"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("postcss-value-parser"),c=e("../../utils/vendor"),{isRegExp:d,isString:p}=e("../../utils/validateTypes"),f="function-disallowed-list",m=a(f,{rejected:e=>`Unexpected function "${e}"`}),h=e=>(t,s)=>{l(s,f,{actual:e,possible:[p,d]})&&t.walkDecls(t=>{u(t.value).walk(a=>{if("function"!==a.type)return;if(!i(a))return;if(!n(c.unprefixed(a.value),e))return;const l=r(t)+a.sourceIndex,u=l+a.value.length;o({message:m.rejected(a.value),node:t,index:l,endIndex:u,result:s,ruleName:f})})})};h.primaryOptionArray=!0,h.ruleName=f,h.messages=m,h.meta={url:"https://stylelint.io/user-guide/rules/list/function-disallowed-list"},t.exports=h},{"../../utils/declarationValueIndex":333,"../../utils/isStandardSyntaxFunction":390,"../../utils/matchesStringOrRegExp":403,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/vendor":422,"postcss-value-parser":59}],192:[(e,t,s)=>{const r=e("../../utils/declarationValueIndex"),i=e("../../utils/functionArgumentsSearch"),n=e("../../utils/isStandardSyntaxValue"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("postcss-value-parser"),c=e("../../utils/vendor"),d="function-linear-gradient-no-nonstandard-direction",p=a(d,{rejected:"Unexpected nonstandard direction"}),f=e=>(t,s)=>{l(s,d,{actual:e})&&t.walkDecls(e=>{u(e.value).walk(t=>{"function"===t.type&&i(u.stringify(t).toLowerCase(),/^(-webkit-|-moz-|-o-|-ms-)?linear-gradient$/i,(i,a)=>{const l=i.split(","),u=(l[0]||"").trim();if(n(u))if(/[\d.]/.test(u.charAt(0))){if(/^[\d.]+(?:deg|grad|rad|turn)$/.test(u))return;f()}else/left|right|top|bottom/.test(u)&&(((e,s)=>{const r=!c.prefix(t.value)?/^to (top|left|bottom|right)(?: (top|left|bottom|right))?$/:/^(top|left|bottom|right)(?: (top|left|bottom|right))?$/,i=e.match(r);return!!i&&(2===i.length||3===i.length&&i[1]!==i[2])})(u)||f());function f(){const i=r(e)+t.sourceIndex+a,n=i+(l[0]||"").trimEnd().length;o({message:p.rejected,node:e,index:i,endIndex:n,result:s,ruleName:d})}})})})};f.ruleName=d,f.messages=p,f.meta={url:"https://stylelint.io/user-guide/rules/list/function-linear-gradient-no-nonstandard-direction"},t.exports=f},{"../../utils/declarationValueIndex":333,"../../utils/functionArgumentsSearch":339,"../../utils/isStandardSyntaxValue":398,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/vendor":422,"postcss-value-parser":59}],193:[(e,t,s)=>{const r=e("../../utils/getDeclarationValue"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/setDeclarationValue"),a=e("../../utils/validateOptions"),l=e("postcss-value-parser"),{isNumber:u}=e("../../utils/validateTypes"),c="function-max-empty-lines",d=n(c,{expected:e=>`Expected no more than ${e} empty ${1===e?"line":"lines"}`}),p=(e,t,s)=>{const n=e+1;return(t,p)=>{if(!a(p,c,{actual:e,possible:u}))return;const f=new RegExp(`(?:\r\n){${n+1},}`),m=new RegExp(`\n{${n+1},}`),h=s.fix?"\n".repeat(n):"",g=s.fix?"\r\n".repeat(n):"";t.walkDecls(t=>{if(!t.value.includes("("))return;const n=r(t),a=[];let u=0;if(l(n).walk(r=>{if("function"!==r.type||0===r.value.length)return;const o=l.stringify(r);if(m.test(o)||f.test(o))if(s.fix){const e=o.replace(new RegExp(m,"gm"),h).replace(new RegExp(f,"gm"),g);a.push([n.slice(u,r.sourceIndex),e]),u=r.sourceIndex+o.length}else i({message:d.expected(e),node:t,index:(e=>{if(null==e.raws.between)throw new Error("`between` must be present");return e.prop.length+e.raws.between.length-1})(t)+r.sourceIndex,result:p,ruleName:c})}),s.fix&&a.length>0){const e=a.reduce((e,t)=>e+t[0]+t[1],"")+n.slice(u);o(t,e)}})}};p.ruleName=c,p.messages=d,p.meta={url:"https://stylelint.io/user-guide/rules/list/function-max-empty-lines"},t.exports=p},{"../../utils/getDeclarationValue":341,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/setDeclarationValue":415,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"postcss-value-parser":59}],194:[(e,t,s)=>{const r=e("../../utils/declarationValueIndex"),i=e("../../utils/getDeclarationValue"),n=e("../../utils/isStandardSyntaxFunction"),o=e("../../reference/keywordSets"),a=e("../../utils/optionsMatches"),l=e("../../utils/report"),u=e("../../utils/ruleMessages"),c=e("../../utils/setDeclarationValue"),d=e("../../utils/validateOptions"),p=e("postcss-value-parser"),{isRegExp:f,isString:m}=e("../../utils/validateTypes"),h="function-name-case",g=u(h,{expected:(e,t)=>`Expected "${e}" to be "${t}"`}),w=new Map;for(const e of o.camelCaseFunctionNames)w.set(e.toLowerCase(),e);const b=(e,t,s)=>(o,u)=>{d(u,h,{actual:e,possible:["lower","upper"]},{actual:t,possible:{ignoreFunctions:[m,f]},optional:!0})&&o.walkDecls(o=>{let d=!1;const f=p(i(o));f.walk(i=>{if("function"!==i.type||!n(i))return;const c=i.value,p=c.toLowerCase();if(a(t,"ignoreFunctions",c))return;let f=null;return c!==(f="lower"===e&&w.has(p)?w.get(p):"lower"===e?p:c.toUpperCase())?s.fix?(d=!0,void(i.value=f)):void l({message:g.expected(c,f),node:o,index:r(o)+i.sourceIndex,result:u,ruleName:h}):void 0}),s.fix&&d&&c(o,f.toString())})};b.ruleName=h,b.messages=g,b.meta={url:"https://stylelint.io/user-guide/rules/list/function-name-case"},t.exports=b},{"../../reference/keywordSets":110,"../../utils/declarationValueIndex":333,"../../utils/getDeclarationValue":341,"../../utils/isStandardSyntaxFunction":390,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/setDeclarationValue":415,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"postcss-value-parser":59}],195:[(e,t,s)=>{const r=e("postcss-value-parser"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/optionsMatches"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("../../utils/isStandardSyntaxFunction"),c=e("../../utils/isCustomFunction"),{isRegExp:d,isString:p}=e("../../utils/validateTypes"),f="function-no-unknown",m=a(f,{rejected:e=>`Unexpected unknown function "${e}"`}),h=(e,t)=>(s,a)=>{if(!l(a,f,{actual:e},{actual:t,possible:{ignoreFunctions:[p,d]},optional:!0}))return;const h=JSON.parse('[\n\t"abs",\n\t"acos",\n\t"annotation",\n\t"asin",\n\t"atan",\n\t"atan2",\n\t"attr",\n\t"blur",\n\t"brightness",\n\t"calc",\n\t"character-variant",\n\t"circle",\n\t"clamp",\n\t"color",\n\t"color-contrast",\n\t"color-mix",\n\t"conic-gradient",\n\t"contrast",\n\t"cos",\n\t"counter",\n\t"counters",\n\t"cross-fade",\n\t"cubic-bezier",\n\t"device-cmyk",\n\t"drop-shadow",\n\t"element",\n\t"ellipse",\n\t"env",\n\t"exp",\n\t"fit-content",\n\t"format",\n\t"grayscale",\n\t"hsl",\n\t"hsla",\n\t"hue-rotate",\n\t"hwb",\n\t"hypot",\n\t"image",\n\t"image-set",\n\t"inset",\n\t"invert",\n\t"lab",\n\t"layer",\n\t"lch",\n\t"leader",\n\t"linear-gradient",\n\t"local",\n\t"log",\n\t"matrix",\n\t"matrix3d",\n\t"max",\n\t"min",\n\t"minmax",\n\t"mod",\n\t"oklab",\n\t"oklch",\n\t"opacity",\n\t"ornaments",\n\t"paint",\n\t"path",\n\t"perspective",\n\t"polygon",\n\t"pow",\n\t"radial-gradient",\n\t"rect",\n\t"rem",\n\t"repeat",\n\t"repeating-conic-gradient",\n\t"repeating-linear-gradient",\n\t"repeating-radial-gradient",\n\t"rgb",\n\t"rgba",\n\t"rotate",\n\t"rotate3d",\n\t"rotateX",\n\t"rotateY",\n\t"rotateZ",\n\t"rotatex",\n\t"rotatey",\n\t"rotatez",\n\t"round",\n\t"saturate",\n\t"scale",\n\t"scale3d",\n\t"scaleX",\n\t"scaleY",\n\t"scaleZ",\n\t"scalex",\n\t"scaley",\n\t"scalez",\n\t"selector",\n\t"sepia",\n\t"sign",\n\t"sin",\n\t"skew",\n\t"skewX",\n\t"skewY",\n\t"skewx",\n\t"skewy",\n\t"sqrt",\n\t"steps",\n\t"styleset",\n\t"stylistic",\n\t"swash",\n\t"symbols",\n\t"tan",\n\t"target-counter",\n\t"target-counters",\n\t"target-text",\n\t"translate",\n\t"translate3d",\n\t"translateX",\n\t"translateY",\n\t"translateZ",\n\t"translatex",\n\t"translatey",\n\t"translatez",\n\t"type",\n\t"url",\n\t"var",\n\t"-webkit-abs",\n\t"-webkit-acos",\n\t"-webkit-annotation",\n\t"-webkit-asin",\n\t"-webkit-atan",\n\t"-webkit-atan2",\n\t"-webkit-attr",\n\t"-webkit-blur",\n\t"-webkit-brightness",\n\t"-webkit-calc",\n\t"-webkit-character-variant",\n\t"-webkit-circle",\n\t"-webkit-clamp",\n\t"-webkit-color",\n\t"-webkit-color-contrast",\n\t"-webkit-color-mix",\n\t"-webkit-conic-gradient",\n\t"-webkit-contrast",\n\t"-webkit-cos",\n\t"-webkit-counter",\n\t"-webkit-counters",\n\t"-webkit-cross-fade",\n\t"-webkit-cubic-bezier",\n\t"-webkit-device-cmyk",\n\t"-webkit-drop-shadow",\n\t"-webkit-element",\n\t"-webkit-ellipse",\n\t"-webkit-env",\n\t"-webkit-exp",\n\t"-webkit-fit-content",\n\t"-webkit-format",\n\t"-webkit-grayscale",\n\t"-webkit-hsl",\n\t"-webkit-hsla",\n\t"-webkit-hue-rotate",\n\t"-webkit-hwb",\n\t"-webkit-hypot",\n\t"-webkit-image",\n\t"-webkit-image-set",\n\t"-webkit-inset",\n\t"-webkit-invert",\n\t"-webkit-lab",\n\t"-webkit-layer",\n\t"-webkit-lch",\n\t"-webkit-leader",\n\t"-webkit-linear-gradient",\n\t"-webkit-local",\n\t"-webkit-log",\n\t"-webkit-matrix",\n\t"-webkit-matrix3d",\n\t"-webkit-max",\n\t"-webkit-min",\n\t"-webkit-minmax",\n\t"-webkit-mod",\n\t"-webkit-oklab",\n\t"-webkit-oklch",\n\t"-webkit-opacity",\n\t"-webkit-ornaments",\n\t"-webkit-paint",\n\t"-webkit-path",\n\t"-webkit-perspective",\n\t"-webkit-polygon",\n\t"-webkit-pow",\n\t"-webkit-radial-gradient",\n\t"-webkit-rect",\n\t"-webkit-rem",\n\t"-webkit-repeat",\n\t"-webkit-repeating-conic-gradient",\n\t"-webkit-repeating-linear-gradient",\n\t"-webkit-repeating-radial-gradient",\n\t"-webkit-rgb",\n\t"-webkit-rgba",\n\t"-webkit-rotate",\n\t"-webkit-rotate3d",\n\t"-webkit-rotateX",\n\t"-webkit-rotateY",\n\t"-webkit-rotateZ",\n\t"-webkit-rotatex",\n\t"-webkit-rotatey",\n\t"-webkit-rotatez",\n\t"-webkit-round",\n\t"-webkit-saturate",\n\t"-webkit-scale",\n\t"-webkit-scale3d",\n\t"-webkit-scaleX",\n\t"-webkit-scaleY",\n\t"-webkit-scaleZ",\n\t"-webkit-scalex",\n\t"-webkit-scaley",\n\t"-webkit-scalez",\n\t"-webkit-selector",\n\t"-webkit-sepia",\n\t"-webkit-sign",\n\t"-webkit-sin",\n\t"-webkit-skew",\n\t"-webkit-skewX",\n\t"-webkit-skewY",\n\t"-webkit-skewx",\n\t"-webkit-skewy",\n\t"-webkit-sqrt",\n\t"-webkit-steps",\n\t"-webkit-styleset",\n\t"-webkit-stylistic",\n\t"-webkit-swash",\n\t"-webkit-symbols",\n\t"-webkit-tan",\n\t"-webkit-target-counter",\n\t"-webkit-target-counters",\n\t"-webkit-target-text",\n\t"-webkit-translate",\n\t"-webkit-translate3d",\n\t"-webkit-translateX",\n\t"-webkit-translateY",\n\t"-webkit-translateZ",\n\t"-webkit-translatex",\n\t"-webkit-translatey",\n\t"-webkit-translatez",\n\t"-webkit-type",\n\t"-webkit-url",\n\t"-webkit-var",\n\t"-moz-abs",\n\t"-moz-acos",\n\t"-moz-annotation",\n\t"-moz-asin",\n\t"-moz-atan",\n\t"-moz-atan2",\n\t"-moz-attr",\n\t"-moz-blur",\n\t"-moz-brightness",\n\t"-moz-calc",\n\t"-moz-character-variant",\n\t"-moz-circle",\n\t"-moz-clamp",\n\t"-moz-color",\n\t"-moz-color-contrast",\n\t"-moz-color-mix",\n\t"-moz-conic-gradient",\n\t"-moz-contrast",\n\t"-moz-cos",\n\t"-moz-counter",\n\t"-moz-counters",\n\t"-moz-cross-fade",\n\t"-moz-cubic-bezier",\n\t"-moz-device-cmyk",\n\t"-moz-drop-shadow",\n\t"-moz-element",\n\t"-moz-ellipse",\n\t"-moz-env",\n\t"-moz-exp",\n\t"-moz-fit-content",\n\t"-moz-format",\n\t"-moz-grayscale",\n\t"-moz-hsl",\n\t"-moz-hsla",\n\t"-moz-hue-rotate",\n\t"-moz-hwb",\n\t"-moz-hypot",\n\t"-moz-image",\n\t"-moz-image-set",\n\t"-moz-inset",\n\t"-moz-invert",\n\t"-moz-lab",\n\t"-moz-layer",\n\t"-moz-lch",\n\t"-moz-leader",\n\t"-moz-linear-gradient",\n\t"-moz-local",\n\t"-moz-log",\n\t"-moz-matrix",\n\t"-moz-matrix3d",\n\t"-moz-max",\n\t"-moz-min",\n\t"-moz-minmax",\n\t"-moz-mod",\n\t"-moz-oklab",\n\t"-moz-oklch",\n\t"-moz-opacity",\n\t"-moz-ornaments",\n\t"-moz-paint",\n\t"-moz-path",\n\t"-moz-perspective",\n\t"-moz-polygon",\n\t"-moz-pow",\n\t"-moz-radial-gradient",\n\t"-moz-rect",\n\t"-moz-rem",\n\t"-moz-repeat",\n\t"-moz-repeating-conic-gradient",\n\t"-moz-repeating-linear-gradient",\n\t"-moz-repeating-radial-gradient",\n\t"-moz-rgb",\n\t"-moz-rgba",\n\t"-moz-rotate",\n\t"-moz-rotate3d",\n\t"-moz-rotateX",\n\t"-moz-rotateY",\n\t"-moz-rotateZ",\n\t"-moz-rotatex",\n\t"-moz-rotatey",\n\t"-moz-rotatez",\n\t"-moz-round",\n\t"-moz-saturate",\n\t"-moz-scale",\n\t"-moz-scale3d",\n\t"-moz-scaleX",\n\t"-moz-scaleY",\n\t"-moz-scaleZ",\n\t"-moz-scalex",\n\t"-moz-scaley",\n\t"-moz-scalez",\n\t"-moz-selector",\n\t"-moz-sepia",\n\t"-moz-sign",\n\t"-moz-sin",\n\t"-moz-skew",\n\t"-moz-skewX",\n\t"-moz-skewY",\n\t"-moz-skewx",\n\t"-moz-skewy",\n\t"-moz-sqrt",\n\t"-moz-steps",\n\t"-moz-styleset",\n\t"-moz-stylistic",\n\t"-moz-swash",\n\t"-moz-symbols",\n\t"-moz-tan",\n\t"-moz-target-counter",\n\t"-moz-target-counters",\n\t"-moz-target-text",\n\t"-moz-translate",\n\t"-moz-translate3d",\n\t"-moz-translateX",\n\t"-moz-translateY",\n\t"-moz-translateZ",\n\t"-moz-translatex",\n\t"-moz-translatey",\n\t"-moz-translatez",\n\t"-moz-type",\n\t"-moz-url",\n\t"-moz-var",\n\t"-o-abs",\n\t"-o-acos",\n\t"-o-annotation",\n\t"-o-asin",\n\t"-o-atan",\n\t"-o-atan2",\n\t"-o-attr",\n\t"-o-blur",\n\t"-o-brightness",\n\t"-o-calc",\n\t"-o-character-variant",\n\t"-o-circle",\n\t"-o-clamp",\n\t"-o-color",\n\t"-o-color-contrast",\n\t"-o-color-mix",\n\t"-o-conic-gradient",\n\t"-o-contrast",\n\t"-o-cos",\n\t"-o-counter",\n\t"-o-counters",\n\t"-o-cross-fade",\n\t"-o-cubic-bezier",\n\t"-o-device-cmyk",\n\t"-o-drop-shadow",\n\t"-o-element",\n\t"-o-ellipse",\n\t"-o-env",\n\t"-o-exp",\n\t"-o-fit-content",\n\t"-o-format",\n\t"-o-grayscale",\n\t"-o-hsl",\n\t"-o-hsla",\n\t"-o-hue-rotate",\n\t"-o-hwb",\n\t"-o-hypot",\n\t"-o-image",\n\t"-o-image-set",\n\t"-o-inset",\n\t"-o-invert",\n\t"-o-lab",\n\t"-o-layer",\n\t"-o-lch",\n\t"-o-leader",\n\t"-o-linear-gradient",\n\t"-o-local",\n\t"-o-log",\n\t"-o-matrix",\n\t"-o-matrix3d",\n\t"-o-max",\n\t"-o-min",\n\t"-o-minmax",\n\t"-o-mod",\n\t"-o-oklab",\n\t"-o-oklch",\n\t"-o-opacity",\n\t"-o-ornaments",\n\t"-o-paint",\n\t"-o-path",\n\t"-o-perspective",\n\t"-o-polygon",\n\t"-o-pow",\n\t"-o-radial-gradient",\n\t"-o-rect",\n\t"-o-rem",\n\t"-o-repeat",\n\t"-o-repeating-conic-gradient",\n\t"-o-repeating-linear-gradient",\n\t"-o-repeating-radial-gradient",\n\t"-o-rgb",\n\t"-o-rgba",\n\t"-o-rotate",\n\t"-o-rotate3d",\n\t"-o-rotateX",\n\t"-o-rotateY",\n\t"-o-rotateZ",\n\t"-o-rotatex",\n\t"-o-rotatey",\n\t"-o-rotatez",\n\t"-o-round",\n\t"-o-saturate",\n\t"-o-scale",\n\t"-o-scale3d",\n\t"-o-scaleX",\n\t"-o-scaleY",\n\t"-o-scaleZ",\n\t"-o-scalex",\n\t"-o-scaley",\n\t"-o-scalez",\n\t"-o-selector",\n\t"-o-sepia",\n\t"-o-sign",\n\t"-o-sin",\n\t"-o-skew",\n\t"-o-skewX",\n\t"-o-skewY",\n\t"-o-skewx",\n\t"-o-skewy",\n\t"-o-sqrt",\n\t"-o-steps",\n\t"-o-styleset",\n\t"-o-stylistic",\n\t"-o-swash",\n\t"-o-symbols",\n\t"-o-tan",\n\t"-o-target-counter",\n\t"-o-target-counters",\n\t"-o-target-text",\n\t"-o-translate",\n\t"-o-translate3d",\n\t"-o-translateX",\n\t"-o-translateY",\n\t"-o-translateZ",\n\t"-o-translatex",\n\t"-o-translatey",\n\t"-o-translatez",\n\t"-o-type",\n\t"-o-url",\n\t"-o-var",\n\t"-ms-abs",\n\t"-ms-acos",\n\t"-ms-annotation",\n\t"-ms-asin",\n\t"-ms-atan",\n\t"-ms-atan2",\n\t"-ms-attr",\n\t"-ms-blur",\n\t"-ms-brightness",\n\t"-ms-calc",\n\t"-ms-character-variant",\n\t"-ms-circle",\n\t"-ms-clamp",\n\t"-ms-color",\n\t"-ms-color-contrast",\n\t"-ms-color-mix",\n\t"-ms-conic-gradient",\n\t"-ms-contrast",\n\t"-ms-cos",\n\t"-ms-counter",\n\t"-ms-counters",\n\t"-ms-cross-fade",\n\t"-ms-cubic-bezier",\n\t"-ms-device-cmyk",\n\t"-ms-drop-shadow",\n\t"-ms-element",\n\t"-ms-ellipse",\n\t"-ms-env",\n\t"-ms-exp",\n\t"-ms-fit-content",\n\t"-ms-format",\n\t"-ms-grayscale",\n\t"-ms-hsl",\n\t"-ms-hsla",\n\t"-ms-hue-rotate",\n\t"-ms-hwb",\n\t"-ms-hypot",\n\t"-ms-image",\n\t"-ms-image-set",\n\t"-ms-inset",\n\t"-ms-invert",\n\t"-ms-lab",\n\t"-ms-layer",\n\t"-ms-lch",\n\t"-ms-leader",\n\t"-ms-linear-gradient",\n\t"-ms-local",\n\t"-ms-log",\n\t"-ms-matrix",\n\t"-ms-matrix3d",\n\t"-ms-max",\n\t"-ms-min",\n\t"-ms-minmax",\n\t"-ms-mod",\n\t"-ms-oklab",\n\t"-ms-oklch",\n\t"-ms-opacity",\n\t"-ms-ornaments",\n\t"-ms-paint",\n\t"-ms-path",\n\t"-ms-perspective",\n\t"-ms-polygon",\n\t"-ms-pow",\n\t"-ms-radial-gradient",\n\t"-ms-rect",\n\t"-ms-rem",\n\t"-ms-repeat",\n\t"-ms-repeating-conic-gradient",\n\t"-ms-repeating-linear-gradient",\n\t"-ms-repeating-radial-gradient",\n\t"-ms-rgb",\n\t"-ms-rgba",\n\t"-ms-rotate",\n\t"-ms-rotate3d",\n\t"-ms-rotateX",\n\t"-ms-rotateY",\n\t"-ms-rotateZ",\n\t"-ms-rotatex",\n\t"-ms-rotatey",\n\t"-ms-rotatez",\n\t"-ms-round",\n\t"-ms-saturate",\n\t"-ms-scale",\n\t"-ms-scale3d",\n\t"-ms-scaleX",\n\t"-ms-scaleY",\n\t"-ms-scaleZ",\n\t"-ms-scalex",\n\t"-ms-scaley",\n\t"-ms-scalez",\n\t"-ms-selector",\n\t"-ms-sepia",\n\t"-ms-sign",\n\t"-ms-sin",\n\t"-ms-skew",\n\t"-ms-skewX",\n\t"-ms-skewY",\n\t"-ms-skewx",\n\t"-ms-skewy",\n\t"-ms-sqrt",\n\t"-ms-steps",\n\t"-ms-styleset",\n\t"-ms-stylistic",\n\t"-ms-swash",\n\t"-ms-symbols",\n\t"-ms-tan",\n\t"-ms-target-counter",\n\t"-ms-target-counters",\n\t"-ms-target-text",\n\t"-ms-translate",\n\t"-ms-translate3d",\n\t"-ms-translateX",\n\t"-ms-translateY",\n\t"-ms-translateZ",\n\t"-ms-translatex",\n\t"-ms-translatey",\n\t"-ms-translatez",\n\t"-ms-type",\n\t"-ms-url",\n\t"-ms-var"\n]\n');s.walkDecls(e=>{const{value:s}=e;r(s).walk(s=>{const r=s.value;"function"===s.type&&u(s)&&(c(r)||n(t,"ignoreFunctions",r)||h.includes(r.toLowerCase())||o({message:m.rejected(r),node:e,index:i(e)+s.sourceIndex,result:a,ruleName:f,word:r}))})})};h.ruleName=f,h.messages=m,h.meta={url:"https://stylelint.io/user-guide/rules/list/function-no-unknown"},t.exports=h},{"../../utils/declarationValueIndex":333,"../../utils/isCustomFunction":368,"../../utils/isStandardSyntaxFunction":390,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"postcss-value-parser":59}],196:[(e,t,s)=>{const r=e("../../utils/declarationValueIndex"),i=e("../../utils/getDeclarationValue"),n=e("../../utils/isSingleLineString"),o=e("../../utils/isStandardSyntaxFunction"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/setDeclarationValue"),c=e("../../utils/validateOptions"),d=e("postcss-value-parser"),p="function-parentheses-newline-inside",f=l(p,{expectedOpening:'Expected newline after "("',expectedClosing:'Expected newline before ")"',expectedOpeningMultiLine:'Expected newline after "(" in a multi-line function',rejectedOpeningMultiLine:'Unexpected whitespace after "(" in a multi-line function',expectedClosingMultiLine:'Expected newline before ")" in a multi-line function',rejectedClosingMultiLine:'Unexpected whitespace before ")" in a multi-line function'}),m=(e,t,s)=>(t,l)=>{c(l,p,{actual:e,possible:["always","always-multi-line","never-multi-line"]})&&t.walkDecls(t=>{if(!t.value.includes("("))return;let c=!1;const m=i(t),w=d(m);function b(e,s){a({ruleName:p,result:l,message:e,node:t,index:r(t)+s})}w.walk(t=>{if("function"!==t.type)return;if(!o(t))return;const r=d.stringify(t),i=!n(r),a=e=>e.includes("\n"),l=t.sourceIndex+t.value.length+1,u=(e=>{let t=e.before;for(const s of e.nodes)if("comment"!==s.type){if("space"!==s.type)break;t+=s.value}return t})(t);"always"!==e||a(u)||(s.fix?(c=!0,h(t,s.newline||"")):b(f.expectedOpening,l)),i&&"always-multi-line"===e&&!a(u)&&(s.fix?(c=!0,h(t,s.newline||"")):b(f.expectedOpeningMultiLine,l)),i&&"never-multi-line"===e&&""!==u&&(s.fix?(c=!0,(e=>{e.before="";for(const t of e.nodes)if("comment"!==t.type){if("space"!==t.type)break;t.value=""}})(t)):b(f.rejectedOpeningMultiLine,l));const p=t.sourceIndex+r.length-2,m=(e=>{let t="";for(const s of[...e.nodes].reverse())if("comment"!==s.type){if("space"!==s.type)break;t=s.value+t}return t+e.after})(t);"always"!==e||a(m)||(s.fix?(c=!0,g(t,s.newline||"")):b(f.expectedClosing,p)),i&&"always-multi-line"===e&&!a(m)&&(s.fix?(c=!0,g(t,s.newline||"")):b(f.expectedClosingMultiLine,p)),i&&"never-multi-line"===e&&""!==m&&(s.fix?(c=!0,(e=>{e.after="";for(const t of[...e.nodes].reverse())if("comment"!==t.type){if("space"!==t.type)break;t.value=""}})(t)):b(f.rejectedClosingMultiLine,p))}),c&&u(t,w.toString())})};function h(e,t){let s;for(const t of e.nodes)if("comment"!==t.type){if("space"!==t.type)break;s=t}s?s.value=t+s.value:e.before=t+e.before}function g(e,t){e.after=t+e.after}m.ruleName=p,m.messages=f,m.meta={url:"https://stylelint.io/user-guide/rules/list/function-parentheses-newline-inside"},t.exports=m},{"../../utils/declarationValueIndex":333,"../../utils/getDeclarationValue":341,"../../utils/isSingleLineString":384,"../../utils/isStandardSyntaxFunction":390,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/setDeclarationValue":415,"../../utils/validateOptions":420,"postcss-value-parser":59}],197:[(e,t,s)=>{const r=e("../../utils/declarationValueIndex"),i=e("../../utils/getDeclarationValue"),n=e("../../utils/isSingleLineString"),o=e("../../utils/isStandardSyntaxFunction"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/setDeclarationValue"),c=e("../../utils/validateOptions"),d=e("postcss-value-parser"),p="function-parentheses-space-inside",f=l(p,{expectedOpening:'Expected single space after "("',rejectedOpening:'Unexpected whitespace after "("',expectedClosing:'Expected single space before ")"',rejectedClosing:'Unexpected whitespace before ")"',expectedOpeningSingleLine:'Expected single space after "(" in a single-line function',rejectedOpeningSingleLine:'Unexpected whitespace after "(" in a single-line function',expectedClosingSingleLine:'Expected single space before ")" in a single-line function',rejectedClosingSingleLine:'Unexpected whitespace before ")" in a single-line function'}),m=(e,t,s)=>(t,l)=>{c(l,p,{actual:e,possible:["always","never","always-single-line","never-single-line"]})&&t.walkDecls(t=>{if(!t.value.includes("("))return;let c=!1;const m=i(t),h=d(m);function g(e,s){a({ruleName:p,result:l,message:e,node:t,index:r(t)+s})}h.walk(t=>{if("function"!==t.type)return;if(!o(t))return;if(!t.nodes.length)return;const r=d.stringify(t),i=n(r),a=t.sourceIndex+t.value.length+1;"always"===e&&" "!==t.before&&(s.fix?(c=!0,t.before=" "):g(f.expectedOpening,a)),"never"===e&&""!==t.before&&(s.fix?(c=!0,t.before=""):g(f.rejectedOpening,a)),i&&"always-single-line"===e&&" "!==t.before&&(s.fix?(c=!0,t.before=" "):g(f.expectedOpeningSingleLine,a)),i&&"never-single-line"===e&&""!==t.before&&(s.fix?(c=!0,t.before=""):g(f.rejectedOpeningSingleLine,a));const l=t.sourceIndex+r.length-2;"always"===e&&" "!==t.after&&(s.fix?(c=!0,t.after=" "):g(f.expectedClosing,l)),"never"===e&&""!==t.after&&(s.fix?(c=!0,t.after=""):g(f.rejectedClosing,l)),i&&"always-single-line"===e&&" "!==t.after&&(s.fix?(c=!0,t.after=" "):g(f.expectedClosingSingleLine,l)),i&&"never-single-line"===e&&""!==t.after&&(s.fix?(c=!0,t.after=""):g(f.rejectedClosingSingleLine,l))}),c&&u(t,h.toString())})};m.ruleName=p,m.messages=f,m.meta={url:"https://stylelint.io/user-guide/rules/list/function-parentheses-space-inside"},t.exports=m},{"../../utils/declarationValueIndex":333,"../../utils/getDeclarationValue":341,"../../utils/isSingleLineString":384,"../../utils/isStandardSyntaxFunction":390,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/setDeclarationValue":415,"../../utils/validateOptions":420,"postcss-value-parser":59}],198:[(e,t,s)=>{const r=e("../../utils/functionArgumentsSearch"),i=e("../../utils/isStandardSyntaxUrl"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),l="function-url-no-scheme-relative",u=o(l,{rejected:"Unexpected scheme-relative url"}),c=e=>(t,s)=>{a(s,l,{actual:e})&&t.walkDecls(e=>{r(e.toString().toLowerCase(),"url",(t,r)=>{const o=t.trim().replace(/^['"]+|['"]+$/g,"");i(o)&&o.startsWith("//")&&n({message:u.rejected,node:e,index:r,endIndex:r+t.length,result:s,ruleName:l})})})};c.ruleName=l,c.messages=u,c.meta={url:"https://stylelint.io/user-guide/rules/list/function-url-no-scheme-relative"},t.exports=c},{"../../utils/functionArgumentsSearch":339,"../../utils/isStandardSyntaxUrl":397,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420}],199:[(e,t,s)=>{const r=e("../../utils/atRuleParamIndex"),i=e("../../utils/functionArgumentsSearch"),n=e("../../utils/isStandardSyntaxUrl"),o=e("../../utils/optionsMatches"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),c="function-url-quotes",d=l(c,{expected:e=>`Expected quotes around "${e}" function argument`,rejected:e=>`Unexpected quotes around "${e}" function argument`}),p=(e,t)=>(s,l)=>{function p(s,r,i,a){let l="always"===e;const u=s.trimStart();if(!n(u))return;const c=i+s.length-u.length,p=i+s.length,m=u.startsWith("'")||u.startsWith('"'),h=s.trim(),g=["","''",'""'].includes(h);if(o(t,"except","empty")&&g&&(l=!l),l){if(m)return;f(d.expected(a),r,c,p)}else{if(!m)return;f(d.rejected(a),r,c,p)}}function f(e,t,s,r){a({message:e,node:t,index:s,endIndex:r,result:l,ruleName:c})}u(l,c,{actual:e,possible:["always","never"]},{actual:t,possible:{except:["empty"]},optional:!0})&&(s.walkAtRules(e=>{const t=e.params.toLowerCase();i(t,"url",(t,s)=>{p(t,e,s+r(e),"url")}),i(t,"url-prefix",(t,s)=>{p(t,e,s+r(e),"url-prefix")}),i(t,"domain",(t,s)=>{p(t,e,s+r(e),"domain")})}),s.walkDecls(e=>{i(e.toString().toLowerCase(),"url",(t,s)=>{p(t,e,s,"url")})}))};p.ruleName=c,p.messages=d,p.meta={url:"https://stylelint.io/user-guide/rules/list/function-url-quotes"},t.exports=p},{"../../utils/atRuleParamIndex":326,"../../utils/functionArgumentsSearch":339,"../../utils/isStandardSyntaxUrl":397,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420}],200:[(e,t,s)=>{const r=e("../../utils/functionArgumentsSearch"),i=e("../../utils/getSchemeFromUrl"),n=e("../../utils/isStandardSyntaxUrl"),o=e("../../utils/matchesStringOrRegExp"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),{isRegExp:c,isString:d}=e("../../utils/validateTypes"),p="function-url-scheme-allowed-list",f=l(p,{rejected:e=>`Unexpected URL scheme "${e}:"`}),m=e=>(t,s)=>{u(s,p,{actual:e,possible:[d,c]})&&t.walkDecls(t=>{r(t.toString().toLowerCase(),"url",(r,l)=>{const u=r.trim();if(!n(u))return;const c=u.replace(/^['"]+|['"]+$/g,""),d=i(c);null!==d&&(o(d,e)||a({message:f.rejected(d),node:t,index:l,endIndex:l+r.length,result:s,ruleName:p}))})})};m.primaryOptionArray=!0,m.ruleName=p,m.messages=f,m.meta={url:"https://stylelint.io/user-guide/rules/list/function-url-scheme-allowed-list"},t.exports=m},{"../../utils/functionArgumentsSearch":339,"../../utils/getSchemeFromUrl":349,"../../utils/isStandardSyntaxUrl":397,"../../utils/matchesStringOrRegExp":403,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],201:[(e,t,s)=>{const r=e("../../utils/functionArgumentsSearch"),i=e("../../utils/getSchemeFromUrl"),n=e("../../utils/isStandardSyntaxUrl"),o=e("../../utils/matchesStringOrRegExp"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),{isRegExp:c,isString:d}=e("../../utils/validateTypes"),p="function-url-scheme-disallowed-list",f=l(p,{rejected:e=>`Unexpected URL scheme "${e}:"`}),m=e=>(t,s)=>{u(s,p,{actual:e,possible:[d,c]})&&t.walkDecls(t=>{r(t.toString().toLowerCase(),"url",(r,l)=>{const u=r.trim();if(!n(u))return;const c=u.replace(/^['"]+|['"]+$/g,""),d=i(c);null!==d&&o(d,e)&&a({message:f.rejected(d),node:t,index:l,endIndex:l+r.length,result:s,ruleName:p})})})};m.primaryOptionArray=!0,m.ruleName=p,m.messages=f,m.meta={url:"https://stylelint.io/user-guide/rules/list/function-url-scheme-disallowed-list"},t.exports=m},{"../../utils/functionArgumentsSearch":339,"../../utils/getSchemeFromUrl":349,"../../utils/isStandardSyntaxUrl":397,"../../utils/matchesStringOrRegExp":403,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],202:[(e,t,s)=>{const r=e("../../utils/atRuleParamIndex"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getDeclarationValue"),o=e("../../utils/isWhitespace"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/setDeclarationValue"),c=e("style-search"),d=e("../../utils/validateOptions"),p="function-whitespace-after",f=l(p,{expected:'Expected whitespace after ")"',rejected:'Unexpected whitespace after ")"'}),m=new Set([")",",","}",":","/",void 0]),h=(e,t,s)=>(t,l)=>{function h(t,s,r,i){c({source:s,target:")",functionArguments:"only"},n=>{((t,s,r,i,n)=>{const u=t.charAt(s);if(u)if("always"===e){if(" "===u)return;if("\n"===u)return;if("\r\n"===t.slice(s,s+2))return;if(m.has(u))return;if(n)return void n(s);a({message:f.expected,node:r,index:i+s,result:l,ruleName:p})}else if("never"===e&&o(u)){if(n)return void n(s);a({message:f.rejected,node:r,index:i+s,result:l,ruleName:p})}})(s,n.startIndex+1,t,r,i)})}function g(t){let s,r="",i=0;if("always"===e)s=(e=>{r+=t.slice(i,e)+" ",i=e});else{if("never"!==e)throw new Error(`Unexpected option: "${e}"`);s=(e=>{let s=e+1;for(;s{const t=e.raws.params&&e.raws.params.raw||e.params,i=s.fix&&g(t);h(e,t,r(e),i?i.applyFix:void 0),i&&i.hasFixed&&(e.raws.params?e.raws.params.raw=i.fixed:e.params=i.fixed)}),t.walkDecls(e=>{const t=n(e),r=s.fix&&g(t);h(e,t,i(e),r?r.applyFix:void 0),r&&r.hasFixed&&u(e,r.fixed)}))};h.ruleName=p,h.messages=f,h.meta={url:"https://stylelint.io/user-guide/rules/list/function-whitespace-after"},t.exports=h},{"../../utils/atRuleParamIndex":326,"../../utils/declarationValueIndex":333,"../../utils/getDeclarationValue":341,"../../utils/isWhitespace":402,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/setDeclarationValue":415,"../../utils/validateOptions":420,"style-search":92}],203:[(e,t,s)=>{const r=e("../utils/declarationValueIndex"),i=e("../utils/getDeclarationValue"),n=e("../utils/isStandardSyntaxFunction"),o=e("../utils/report"),a=e("../utils/setDeclarationValue"),l=e("postcss-value-parser");t.exports=(e=>{e.root.walkDecls(t=>{const s=i(t);let u;const c=l(s);c.walk(s=>{if("function"!==s.type)return;if(!n(s))return;if("url"===s.value.toLowerCase())return;const i=s.nodes.map(e=>l.stringify(e)),a=(()=>{let e=s.before+i.join("")+s.after;return e.replace(/( *\/(\*.*\*\/(?!\S)|\/.*)|(\/(\*.*\*\/|\/.*)))/,"")})(),c=(e,t)=>{let r=s.before+i.slice(0,t).join("")+e.before;return(r=r.replace(/( *\/(\*.*\*\/(?!\S)|\/.*)|(\/(\*.*\*\/|\/.*)))/,"")).length},d=[];for(const[e,t]of s.nodes.entries()){if("div"!==t.type||","!==t.value)continue;const s=c(t,e);d.push({commaNode:t,checkIndex:s,nodeIndex:e})}for(const{commaNode:i,checkIndex:n,nodeIndex:l}of d)e.locationChecker({source:a,index:n,err(n){const a=r(t)+i.sourceIndex+i.before.length;e.fix&&e.fix(i,l,s.nodes)?u=!0:o({index:a,message:n,node:t,result:e.result,ruleName:e.checkedRuleName})}})}),u&&a(t,c.toString())})})},{"../utils/declarationValueIndex":333,"../utils/getDeclarationValue":341,"../utils/isStandardSyntaxFunction":390,"../utils/report":412,"../utils/setDeclarationValue":415,"postcss-value-parser":59}],204:[(e,t,s)=>{t.exports=(e=>{const{div:t,index:s,nodes:r,expectation:i,position:n,symb:o}=e;if(i.startsWith("always"))return t[n]=o,!0;if(i.startsWith("never")){t[n]="";for(let e=s+1;e{const r=e("postcss-value-parser"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getDeclarationValue"),o=e("../../utils/isStandardSyntaxValue"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/setDeclarationValue"),c=e("../../utils/validateOptions"),d="hue-degree-notation",p=l(d,{expected:(e,t)=>`Expected "${e}" to be "${t}"`}),f=["hsl","hsla","hwb"],m=["lch"],h=new Set([...f,...m]),g=(e,t,s)=>(t,l)=>{c(l,d,{actual:e,possible:["angle","number"]})&&t.walkDecls(t=>{let c=!1;const g=r(n(t));g.walk(n=>{if("function"!==n.type)return;if(!h.has(n.value.toLowerCase()))return;const u=(e=>{const t=e.nodes.filter(({type:e})=>"word"===e||"function"===e),s=e.value.toLowerCase();return f.includes(s)?t[0]:m.includes(s)?t[2]:void 0})(n);if(!u)return;const{value:g}=u;if(!o(g))return;if(!w(g)&&!b(g))return;if("angle"===e&&w(g))return;if("number"===e&&b(g))return;const y="angle"===e?`${g}deg`:(e=>{const t=r.unit(e);if(t)return t.number;throw new TypeError(`The "${e}" value must have a unit`)})(g),x=g;if(s.fix)return u.value=y,void(c=!0);const v=i(t);a({message:p.expected(x,y),node:t,index:v+u.sourceIndex,endIndex:v+u.sourceEndIndex,result:l,ruleName:d})}),c&&u(t,g.toString())})};function w(e){const t=r.unit(e);return t&&"deg"===t.unit.toLowerCase()}function b(e){const t=r.unit(e);return t&&""===t.unit}g.ruleName=d,g.messages=p,g.meta={url:"https://stylelint.io/user-guide/rules/list/hue-degree-notation"},t.exports=g},{"../../utils/declarationValueIndex":333,"../../utils/getDeclarationValue":341,"../../utils/isStandardSyntaxValue":398,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/setDeclarationValue":415,"../../utils/validateOptions":420,"postcss-value-parser":59}],206:[(e,t,s)=>{const r=e("postcss-value-parser"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/setAtRuleParams"),l=e("../../utils/getAtRuleParams"),u=e("../../utils/atRuleParamIndex"),c="import-notation",d=n(c,{expected:(e,t)=>`Expected "${e}" to be "${t}"`}),p=(e,t,s)=>(t,n)=>{function p(e,t,s,r){i({message:e,node:t,index:s,endIndex:r,result:n,ruleName:c})}o(n,c,{actual:e,possible:["string","url"]})&&t.walkAtRules(/^import$/i,t=>{const i=l(t),n=r(i);for(const i of n.nodes){const n=u(t),o=n+i.sourceEndIndex;if("string"===e&&"function"===i.type&&"url"===i.value.toLowerCase()){const e=r.stringify(i),l=r.stringify(i.nodes),u=i.nodes[0]&&"word"===i.nodes[0].type?`"${l}"`:l;if(s.fix){const e=t.params.slice(i.sourceEndIndex);return void a(t,`${u}${e}`)}return void p(d.expected(e,u),t,n,o)}if("url"===e){if("space"===i.type)return;if("word"===i.type||"string"===i.type){const e=`url(${r.stringify(i)})`;if(s.fix){const s=t.params.slice(i.sourceEndIndex);return void a(t,`${e}${s}`)}const l="word"===i.type?`"${i.value}"`:`${i.quote}${i.value}${i.quote}`;return void p(d.expected(l,e),t,n,o)}}}})};p.ruleName=c,p.messages=d,p.meta={url:"https://stylelint.io/user-guide/rules/list/import-notation"},t.exports=p},{"../../utils/atRuleParamIndex":326,"../../utils/getAtRuleParams":340,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/setAtRuleParams":414,"../../utils/validateOptions":420,"postcss-value-parser":59}],207:[(e,t,s)=>{const r=e("../../utils/beforeBlockString"),i=e("../../utils/hasBlock"),n=e("../../utils/optionsMatches"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("style-search"),u=e("../../utils/validateOptions"),{isAtRule:c,isDeclaration:d,isRoot:p,isRule:f}=e("../../utils/typeGuards"),{isBoolean:m,isNumber:h,isString:g,assertString:w}=e("../../utils/validateTypes"),b="indentation",y=a(b,{expected:e=>`Expected indentation of ${e}`}),x=(e,t={},s)=>(a,x)=>{if(!u(x,b,{actual:e,possible:[h,"tab"]},{actual:t,possible:{baseIndentLevel:[h,"auto"],except:["block","value","param"],ignore:["value","param","inside-parens"],indentInsideParens:["twice","once-at-root-twice-in-block"],indentClosingBrace:[m]},optional:!0}))return;const O=h(e)?e:null,C=null==O?"\t":" ".repeat(O),M="tab"===e?"tab":"space",N=t.baseIndentLevel,E=t.indentClosingBrace,R=e=>{const t=null==O?e:e*O;return`${t} ${1===t?M:`${M}s`}`};function I(e,r,i){if(!e.includes("\n"))return;const a=[];let u=0;const p=n(t,"ignore","inside-parens");if(l({source:e,target:"\n",outsideParens:p},(n,l)=>{const c=/^[ \t]*\)/.test(e.slice(n.startIndex+1));if(p&&(c||n.insideParens))return;let d=r;if(!p&&n.insideParens){1===l&&(u-=1);let s=n.startIndex;switch("\r"===e[n.startIndex-1]&&s--,/\([ \t]*$/.test(e.slice(0,s))&&(u+=1),/\{[ \t]*$/.test(e.slice(0,s))&&(u+=1),/^[ \t]*\}/.test(e.slice(n.startIndex+1))&&(u-=1),d+=u,c&&(u-=1),t.indentInsideParens){case"twice":c&&!E||(d+=1);break;case"once-at-root-twice-in-block":if(i.parent===i.root()){c&&!E&&(d-=1);break}c&&!E||(d+=1);break;default:c&&!E&&(d-=1)}}const f=/^([ \t]*)\S/.exec(e.slice(n.startIndex+1));if(!f)return;const m=f[1]||"",h=C.repeat(d>0?d:0);m!==h&&(s.fix?a.unshift({expectedIndentation:h,currentIndentation:m,startIndex:n.startIndex}):o({message:y.expected(R(d)),node:i,index:n.startIndex+m.length+1,result:x,ruleName:b}))}),a.length){if(f(i))for(const e of a)i.selector=S(i.selector,e.currentIndentation,e.expectedIndentation,e.startIndex);if(d(i)){const e=i.prop,t=i.raws.between;if(!g(t))throw new TypeError("The `between` property must be a string");for(const s of a)s.startIndex{if(p(a))return;const l=function s(r,o=0){if(!r.parent)throw new Error("A parent node must be present");if(p(r.parent))return o+((e,t,s)=>{const r=v(e);if(!r)return 0;if(!e.source)throw new Error("The root node must have a source");const i=e.source,n=i.baseIndentLevel;if(h(n)&&Number.isSafeInteger(n))return n;const o=((e,t,s)=>{function r(e){const t=e.match(/\t/g),r=t?t.length:0,i=e.match(/ /g);return r+(i?Math.round(i.length/s()):0)}let i=0;if(h(t)&&Number.isSafeInteger(t))i=t;else{if(!e.source)throw new Error("The root node must have a source");let t=e.source.input.css;const s=(t=t.replace(/^[^\r\n]+/,t=>{const s=e.raws.codeBefore&&/(?:^|\n)([ \t]*)$/.exec(e.raws.codeBefore);return s?s[1]+t:""})).match(/^[ \t]*(?=\S)/gm);if(s)return Math.min(...s.map(e=>r(e)));i=1}const n=[],o=e.raws.codeBefore&&/(?:^|\n)([ \t]*)\S/m.exec(e.raws.codeBefore);if(o){let e=Number.MAX_SAFE_INTEGER,t=0;for(;++tr(e)))+i:i})(e,t,()=>((e,t)=>{if(!e.source)throw new Error("The document node must have a source");const s=e.source;let r=s.indentSize;if(h(r)&&Number.isSafeInteger(r))return r;const i=e.source.input.css.match(/^ *(?=\S)/gm);if(i){const e=new Map;let t=0,s=0;const n=r=>{if(r){if((t=Math.abs(r-s)||t)>1){const s=e.get(t);s?e.set(t,s+1):e.set(t,1)}}else t=0;s=r};for(const e of i)n(e.length);let o=0;for(const[t,s]of e.entries())s>o&&(o=s,r=t)}return r=Number(r)||i&&i[0]&&i[0].length||Number(t)||2,s.indentSize=r,r})(r,s));return i.baseIndentLevel=o,o})(r.parent,N,e);let a;return a=s(r.parent,o+1),n(t,"except","block")&&(f(r)||c(r))&&i(r)&&a--,a}(a),u=(a.raws.before||"").replace(/[*_]$/,""),m="string"==typeof a.raws.after?a.raws.after:"",S=a.parent;if(!S)throw new Error("A parent node must be present");const O=C.repeat(l),M="root"===S.type&&S.first===a,A=u.lastIndexOf("\n");(-1!==A||M&&(!v(S)||S.raws.codeBefore&&S.raws.codeBefore.endsWith("\n")))&&u.slice(A+1)!==O&&(s.fix?(M&&g(a.raws.before)&&(a.raws.before=a.raws.before.replace(/^[ \t]*(?=\S|$)/,O)),a.raws.before=k(a.raws.before,O)):o({message:y.expected(R(l)),node:a,result:x,ruleName:b}));const P=E?l+1:l,T=C.repeat(P);(f(a)||c(a))&&i(a)&&m&&m.includes("\n")&&m.slice(m.lastIndexOf("\n")+1)!==T&&(s.fix?a.raws.after=k(a.raws.after,T):o({message:y.expected(R(P)),node:a,index:a.toString().length-1,result:x,ruleName:b})),d(a)&&((e,s)=>{if(!e.value.includes("\n"))return;if(n(t,"ignore","value"))return;I(e.toString(),n(t,"except","value")?s:s+1,e)})(a,l),f(a)&&((e,t)=>{const s=e.selector;e.params&&(t+=1),I(s,t,e)})(a,l),c(a)&&((e,s)=>{if(n(t,"ignore","param"))return;const i=n(t,"except","param")||"nest"===e.name||"at-root"===e.name?s:s+1;I(r(e).trim(),i,e)})(a,l)})};function v(e){const t=e.document;if(t)return t;const s=e.root();return s&&s.document}function k(e,t){return g(e)?e.replace(/\n[ \t]*(?=\S|$)/g,`\n${t}`):e}function S(e,t,s,r){const i=r+1;return e.slice(0,i)+s+e.slice(i+t.length)}x.ruleName=b,x.messages=y,x.meta={url:"https://stylelint.io/user-guide/rules/list/indentation"},t.exports=x},{"../../utils/beforeBlockString":327,"../../utils/hasBlock":351,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/typeGuards":417,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"style-search":92}],208:[(e,t,s)=>{const r={"alpha-value-notation":e("./alpha-value-notation"),"at-rule-allowed-list":e("./at-rule-allowed-list"),"at-rule-disallowed-list":e("./at-rule-disallowed-list"),"at-rule-empty-line-before":e("./at-rule-empty-line-before"),"at-rule-name-case":e("./at-rule-name-case"),"at-rule-name-newline-after":e("./at-rule-name-newline-after"),"at-rule-semicolon-space-before":e("./at-rule-semicolon-space-before"),"at-rule-name-space-after":e("./at-rule-name-space-after"),"at-rule-no-unknown":e("./at-rule-no-unknown"),"at-rule-property-required-list":e("./at-rule-property-required-list"),"at-rule-semicolon-newline-after":e("./at-rule-semicolon-newline-after"),"block-closing-brace-empty-line-before":e("./block-closing-brace-empty-line-before"),"block-closing-brace-newline-after":e("./block-closing-brace-newline-after"),"block-closing-brace-newline-before":e("./block-closing-brace-newline-before"),"block-closing-brace-space-after":e("./block-closing-brace-space-after"),"block-closing-brace-space-before":e("./block-closing-brace-space-before"),"block-no-empty":e("./block-no-empty"),"block-opening-brace-newline-after":e("./block-opening-brace-newline-after"),"block-opening-brace-newline-before":e("./block-opening-brace-newline-before"),"block-opening-brace-space-after":e("./block-opening-brace-space-after"),"block-opening-brace-space-before":e("./block-opening-brace-space-before"),"color-function-notation":e("./color-function-notation"),"color-hex-alpha":e("./color-hex-alpha"),"color-hex-case":e("./color-hex-case"),"color-hex-length":e("./color-hex-length"),"color-named":e("./color-named"),"color-no-hex":e("./color-no-hex"),"color-no-invalid-hex":e("./color-no-invalid-hex"),"comment-empty-line-before":e("./comment-empty-line-before"),"comment-no-empty":e("./comment-no-empty"),"comment-pattern":e("./comment-pattern"),"comment-whitespace-inside":e("./comment-whitespace-inside"),"comment-word-disallowed-list":e("./comment-word-disallowed-list"),"custom-media-pattern":e("./custom-media-pattern"),"custom-property-empty-line-before":e("./custom-property-empty-line-before"),"custom-property-no-missing-var-function":e("./custom-property-no-missing-var-function"),"custom-property-pattern":e("./custom-property-pattern"),"declaration-bang-space-after":e("./declaration-bang-space-after"),"declaration-bang-space-before":e("./declaration-bang-space-before"),"declaration-block-no-duplicate-custom-properties":e("./declaration-block-no-duplicate-custom-properties"),"declaration-block-no-duplicate-properties":e("./declaration-block-no-duplicate-properties"),"declaration-block-no-redundant-longhand-properties":e("./declaration-block-no-redundant-longhand-properties"),"declaration-block-no-shorthand-property-overrides":e("./declaration-block-no-shorthand-property-overrides"),"declaration-block-semicolon-newline-after":e("./declaration-block-semicolon-newline-after"),"declaration-block-semicolon-newline-before":e("./declaration-block-semicolon-newline-before"),"declaration-block-semicolon-space-after":e("./declaration-block-semicolon-space-after"),"declaration-block-semicolon-space-before":e("./declaration-block-semicolon-space-before"),"declaration-block-single-line-max-declarations":e("./declaration-block-single-line-max-declarations"),"declaration-block-trailing-semicolon":e("./declaration-block-trailing-semicolon"),"declaration-colon-newline-after":e("./declaration-colon-newline-after"),"declaration-colon-space-after":e("./declaration-colon-space-after"),"declaration-colon-space-before":e("./declaration-colon-space-before"),"declaration-empty-line-before":e("./declaration-empty-line-before"),"declaration-no-important":e("./declaration-no-important"),"declaration-property-max-values":e("./declaration-property-max-values"),"declaration-property-unit-allowed-list":e("./declaration-property-unit-allowed-list"),"declaration-property-unit-disallowed-list":e("./declaration-property-unit-disallowed-list"),"declaration-property-value-allowed-list":e("./declaration-property-value-allowed-list"),"declaration-property-value-disallowed-list":e("./declaration-property-value-disallowed-list"),"font-family-no-missing-generic-family-keyword":e("./font-family-no-missing-generic-family-keyword"),"font-family-name-quotes":e("./font-family-name-quotes"),"font-family-no-duplicate-names":e("./font-family-no-duplicate-names"),"font-weight-notation":e("./font-weight-notation"),"function-allowed-list":e("./function-allowed-list"),"function-calc-no-unspaced-operator":e("./function-calc-no-unspaced-operator"),"function-comma-newline-after":e("./function-comma-newline-after"),"function-comma-newline-before":e("./function-comma-newline-before"),"function-comma-space-after":e("./function-comma-space-after"),"function-comma-space-before":e("./function-comma-space-before"),"function-disallowed-list":e("./function-disallowed-list"),"function-linear-gradient-no-nonstandard-direction":e("./function-linear-gradient-no-nonstandard-direction"),"function-max-empty-lines":e("./function-max-empty-lines"),"function-name-case":e("./function-name-case"),"function-no-unknown":e("./function-no-unknown"),"function-parentheses-newline-inside":e("./function-parentheses-newline-inside"),"function-parentheses-space-inside":e("./function-parentheses-space-inside"),"function-url-no-scheme-relative":e("./function-url-no-scheme-relative"),"function-url-quotes":e("./function-url-quotes"),"function-url-scheme-allowed-list":e("./function-url-scheme-allowed-list"),"function-url-scheme-disallowed-list":e("./function-url-scheme-disallowed-list"),"function-whitespace-after":e("./function-whitespace-after"),"hue-degree-notation":e("./hue-degree-notation"),"import-notation":e("./import-notation"),"keyframe-block-no-duplicate-selectors":e("./keyframe-block-no-duplicate-selectors"),"keyframe-declaration-no-important":e("./keyframe-declaration-no-important"),"keyframes-name-pattern":e("./keyframes-name-pattern"),"length-zero-no-unit":e("./length-zero-no-unit"),linebreaks:e("./linebreaks"),"max-empty-lines":e("./max-empty-lines"),"max-line-length":e("./max-line-length"),"max-nesting-depth":e("./max-nesting-depth"),"media-feature-colon-space-after":e("./media-feature-colon-space-after"),"media-feature-colon-space-before":e("./media-feature-colon-space-before"),"media-feature-name-allowed-list":e("./media-feature-name-allowed-list"),"media-feature-name-case":e("./media-feature-name-case"),"media-feature-name-disallowed-list":e("./media-feature-name-disallowed-list"),"media-feature-name-no-unknown":e("./media-feature-name-no-unknown"),"media-feature-name-value-allowed-list":e("./media-feature-name-value-allowed-list"),"media-feature-parentheses-space-inside":e("./media-feature-parentheses-space-inside"),"media-feature-range-operator-space-after":e("./media-feature-range-operator-space-after"),"media-feature-range-operator-space-before":e("./media-feature-range-operator-space-before"),"media-query-list-comma-newline-after":e("./media-query-list-comma-newline-after"),"media-query-list-comma-newline-before":e("./media-query-list-comma-newline-before"),"media-query-list-comma-space-after":e("./media-query-list-comma-space-after"),"media-query-list-comma-space-before":e("./media-query-list-comma-space-before"),"named-grid-areas-no-invalid":e("./named-grid-areas-no-invalid"),"no-descending-specificity":e("./no-descending-specificity"),"no-duplicate-at-import-rules":e("./no-duplicate-at-import-rules"),"no-duplicate-selectors":e("./no-duplicate-selectors"),"no-empty-source":e("./no-empty-source"),"no-empty-first-line":e("./no-empty-first-line"),"no-eol-whitespace":e("./no-eol-whitespace"),"no-extra-semicolons":e("./no-extra-semicolons"),"no-invalid-double-slash-comments":e("./no-invalid-double-slash-comments"),"no-invalid-position-at-import-rule":e("./no-invalid-position-at-import-rule"),"no-irregular-whitespace":e("./no-irregular-whitespace"),"no-missing-end-of-source-newline":e("./no-missing-end-of-source-newline"),"no-unknown-animations":e("./no-unknown-animations"),"number-leading-zero":e("./number-leading-zero"),"number-max-precision":e("./number-max-precision"),"number-no-trailing-zeros":e("./number-no-trailing-zeros"),"property-allowed-list":e("./property-allowed-list"),"property-case":e("./property-case"),"property-disallowed-list":e("./property-disallowed-list"),"property-no-unknown":e("./property-no-unknown"),"rule-empty-line-before":e("./rule-empty-line-before"),"rule-selector-property-disallowed-list":e("./rule-selector-property-disallowed-list"),"selector-attribute-brackets-space-inside":e("./selector-attribute-brackets-space-inside"),"selector-attribute-name-disallowed-list":e("./selector-attribute-name-disallowed-list"),"selector-attribute-operator-allowed-list":e("./selector-attribute-operator-allowed-list"),"selector-attribute-operator-disallowed-list":e("./selector-attribute-operator-disallowed-list"),"selector-attribute-operator-space-after":e("./selector-attribute-operator-space-after"),"selector-attribute-operator-space-before":e("./selector-attribute-operator-space-before"),"selector-attribute-quotes":e("./selector-attribute-quotes"),"selector-class-pattern":e("./selector-class-pattern"),"selector-combinator-allowed-list":e("./selector-combinator-allowed-list"),"selector-combinator-disallowed-list":e("./selector-combinator-disallowed-list"),"selector-combinator-space-after":e("./selector-combinator-space-after"),"selector-combinator-space-before":e("./selector-combinator-space-before"),"selector-descendant-combinator-no-non-space":e("./selector-descendant-combinator-no-non-space"),"selector-disallowed-list":e("./selector-disallowed-list"),"selector-id-pattern":e("./selector-id-pattern"),"selector-list-comma-newline-after":e("./selector-list-comma-newline-after"),"selector-list-comma-newline-before":e("./selector-list-comma-newline-before"),"selector-list-comma-space-after":e("./selector-list-comma-space-after"),"selector-list-comma-space-before":e("./selector-list-comma-space-before"),"selector-max-attribute":e("./selector-max-attribute"),"selector-max-class":e("./selector-max-class"),"selector-max-combinators":e("./selector-max-combinators"),"selector-max-compound-selectors":e("./selector-max-compound-selectors"),"selector-max-empty-lines":e("./selector-max-empty-lines"),"selector-max-id":e("./selector-max-id"),"selector-max-pseudo-class":e("./selector-max-pseudo-class"),"selector-max-specificity":e("./selector-max-specificity"),"selector-max-type":e("./selector-max-type"),"selector-max-universal":e("./selector-max-universal"),"selector-nested-pattern":e("./selector-nested-pattern"),"selector-no-qualifying-type":e("./selector-no-qualifying-type"),"selector-not-notation":e("./selector-not-notation"),"selector-pseudo-class-allowed-list":e("./selector-pseudo-class-allowed-list"),"selector-pseudo-class-case":e("./selector-pseudo-class-case"),"selector-pseudo-class-disallowed-list":e("./selector-pseudo-class-disallowed-list"),"selector-pseudo-class-no-unknown":e("./selector-pseudo-class-no-unknown"),"selector-pseudo-class-parentheses-space-inside":e("./selector-pseudo-class-parentheses-space-inside"),"selector-pseudo-element-allowed-list":e("./selector-pseudo-element-allowed-list"),"selector-pseudo-element-case":e("./selector-pseudo-element-case"),"selector-pseudo-element-colon-notation":e("./selector-pseudo-element-colon-notation"),"selector-pseudo-element-disallowed-list":e("./selector-pseudo-element-disallowed-list"),"selector-pseudo-element-no-unknown":e("./selector-pseudo-element-no-unknown"),"selector-type-case":e("./selector-type-case"),"selector-type-no-unknown":e("./selector-type-no-unknown"),"shorthand-property-no-redundant-values":e("./shorthand-property-no-redundant-values"),"string-no-newline":e("./string-no-newline"),"string-quotes":e("./string-quotes"),"time-min-milliseconds":e("./time-min-milliseconds"),"unicode-bom":e("./unicode-bom"),"unit-allowed-list":e("./unit-allowed-list"),"unit-case":e("./unit-case"),"unit-disallowed-list":e("./unit-disallowed-list"),"unit-no-unknown":e("./unit-no-unknown"),"value-keyword-case":e("./value-keyword-case"),"value-list-comma-newline-after":e("./value-list-comma-newline-after"),"value-list-comma-newline-before":e("./value-list-comma-newline-before"),"value-list-comma-space-after":e("./value-list-comma-space-after"),"value-list-comma-space-before":e("./value-list-comma-space-before"),"value-list-max-empty-lines":e("./value-list-max-empty-lines"),indentation:e("./indentation")};t.exports=r},{"./alpha-value-notation":117,"./at-rule-allowed-list":118,"./at-rule-disallowed-list":119,"./at-rule-empty-line-before":120,"./at-rule-name-case":121,"./at-rule-name-newline-after":122,"./at-rule-name-space-after":123,"./at-rule-no-unknown":124,"./at-rule-property-required-list":125,"./at-rule-semicolon-newline-after":126,"./at-rule-semicolon-space-before":127,"./block-closing-brace-empty-line-before":129,"./block-closing-brace-newline-after":130,"./block-closing-brace-newline-before":131,"./block-closing-brace-space-after":132,"./block-closing-brace-space-before":133,"./block-no-empty":134,"./block-opening-brace-newline-after":135,"./block-opening-brace-newline-before":136,"./block-opening-brace-space-after":137,"./block-opening-brace-space-before":138,"./color-function-notation":139,"./color-hex-alpha":140,"./color-hex-case":141,"./color-hex-length":142,"./color-named":144,"./color-no-hex":145,"./color-no-invalid-hex":146,"./comment-empty-line-before":147,"./comment-no-empty":148,"./comment-pattern":149,"./comment-whitespace-inside":150,"./comment-word-disallowed-list":151,"./custom-media-pattern":152,"./custom-property-empty-line-before":153,"./custom-property-no-missing-var-function":154,"./custom-property-pattern":155,"./declaration-bang-space-after":156,"./declaration-bang-space-before":157,"./declaration-block-no-duplicate-custom-properties":158,"./declaration-block-no-duplicate-properties":159,"./declaration-block-no-redundant-longhand-properties":160,"./declaration-block-no-shorthand-property-overrides":161,"./declaration-block-semicolon-newline-after":162,"./declaration-block-semicolon-newline-before":163,"./declaration-block-semicolon-space-after":164,"./declaration-block-semicolon-space-before":165,"./declaration-block-single-line-max-declarations":166,"./declaration-block-trailing-semicolon":167,"./declaration-colon-newline-after":168,"./declaration-colon-space-after":169,"./declaration-colon-space-before":170,"./declaration-empty-line-before":171,"./declaration-no-important":172,"./declaration-property-max-values":173,"./declaration-property-unit-allowed-list":174,"./declaration-property-unit-disallowed-list":175,"./declaration-property-value-allowed-list":176,"./declaration-property-value-disallowed-list":177,"./font-family-name-quotes":181,"./font-family-no-duplicate-names":182,"./font-family-no-missing-generic-family-keyword":183,"./font-weight-notation":184,"./function-allowed-list":185,"./function-calc-no-unspaced-operator":186,"./function-comma-newline-after":187,"./function-comma-newline-before":188,"./function-comma-space-after":189,"./function-comma-space-before":190,"./function-disallowed-list":191,"./function-linear-gradient-no-nonstandard-direction":192,"./function-max-empty-lines":193,"./function-name-case":194,"./function-no-unknown":195,"./function-parentheses-newline-inside":196,"./function-parentheses-space-inside":197,"./function-url-no-scheme-relative":198,"./function-url-quotes":199,"./function-url-scheme-allowed-list":200,"./function-url-scheme-disallowed-list":201,"./function-whitespace-after":202,"./hue-degree-notation":205,"./import-notation":206,"./indentation":207,"./keyframe-block-no-duplicate-selectors":209,"./keyframe-declaration-no-important":210,"./keyframes-name-pattern":211,"./length-zero-no-unit":212,"./linebreaks":213,"./max-empty-lines":214,"./max-line-length":215,"./max-nesting-depth":216,"./media-feature-colon-space-after":217,"./media-feature-colon-space-before":218,"./media-feature-name-allowed-list":219,"./media-feature-name-case":220,"./media-feature-name-disallowed-list":221,"./media-feature-name-no-unknown":222,"./media-feature-name-value-allowed-list":223,"./media-feature-parentheses-space-inside":224,"./media-feature-range-operator-space-after":225,"./media-feature-range-operator-space-before":226,"./media-query-list-comma-newline-after":227,"./media-query-list-comma-newline-before":228,"./media-query-list-comma-space-after":229,"./media-query-list-comma-space-before":230,"./named-grid-areas-no-invalid":233,"./no-descending-specificity":236,"./no-duplicate-at-import-rules":237,"./no-duplicate-selectors":238,"./no-empty-first-line":239,"./no-empty-source":240,"./no-eol-whitespace":241,"./no-extra-semicolons":242,"./no-invalid-double-slash-comments":243,"./no-invalid-position-at-import-rule":244,"./no-irregular-whitespace":245,"./no-missing-end-of-source-newline":246,"./no-unknown-animations":247,"./number-leading-zero":248,"./number-max-precision":249,"./number-no-trailing-zeros":250,"./property-allowed-list":251,"./property-case":252,"./property-disallowed-list":253,"./property-no-unknown":254,"./rule-empty-line-before":256,"./rule-selector-property-disallowed-list":257,"./selector-attribute-brackets-space-inside":258,"./selector-attribute-name-disallowed-list":259,"./selector-attribute-operator-allowed-list":260,"./selector-attribute-operator-disallowed-list":261,"./selector-attribute-operator-space-after":262,"./selector-attribute-operator-space-before":263,"./selector-attribute-quotes":264,"./selector-class-pattern":265,"./selector-combinator-allowed-list":266,"./selector-combinator-disallowed-list":267,"./selector-combinator-space-after":268,"./selector-combinator-space-before":269,"./selector-descendant-combinator-no-non-space":270,"./selector-disallowed-list":271,"./selector-id-pattern":272,"./selector-list-comma-newline-after":273,"./selector-list-comma-newline-before":274,"./selector-list-comma-space-after":275,"./selector-list-comma-space-before":276,"./selector-max-attribute":277,"./selector-max-class":278,"./selector-max-combinators":279,"./selector-max-compound-selectors":280,"./selector-max-empty-lines":281,"./selector-max-id":282,"./selector-max-pseudo-class":283,"./selector-max-specificity":284,"./selector-max-type":285,"./selector-max-universal":286,"./selector-nested-pattern":287,"./selector-no-qualifying-type":288,"./selector-not-notation":289,"./selector-pseudo-class-allowed-list":290,"./selector-pseudo-class-case":291,"./selector-pseudo-class-disallowed-list":292,"./selector-pseudo-class-no-unknown":293,"./selector-pseudo-class-parentheses-space-inside":294,"./selector-pseudo-element-allowed-list":295,"./selector-pseudo-element-case":296,"./selector-pseudo-element-colon-notation":297,"./selector-pseudo-element-disallowed-list":298,"./selector-pseudo-element-no-unknown":299,"./selector-type-case":300,"./selector-type-no-unknown":301,"./shorthand-property-no-redundant-values":305,"./string-no-newline":306,"./string-quotes":307,"./time-min-milliseconds":308,"./unicode-bom":309,"./unit-allowed-list":310,"./unit-case":311,"./unit-disallowed-list":312,"./unit-no-unknown":313,"./value-keyword-case":314,"./value-list-comma-newline-after":315,"./value-list-comma-newline-before":316,"./value-list-comma-space-after":317,"./value-list-comma-space-before":318,"./value-list-max-empty-lines":319}],209:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxSelector"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a="keyframe-block-no-duplicate-selectors",l=n(a,{rejected:e=>`Unexpected duplicate "${e}"`}),u=e=>(t,s)=>{o(s,a,{actual:e})&&t.walkAtRules(/^(-(moz|webkit)-)?keyframes$/i,e=>{const t=new Set;e.walkRules(e=>{e.selectors.forEach(n=>{if(!r(n))return;const o=n.toLowerCase();t.has(o)?i({message:l.rejected(n),node:e,result:s,ruleName:a,word:n}):t.add(o)})})})};u.ruleName=a,u.messages=l,u.meta={url:"https://stylelint.io/user-guide/rules/list/keyframe-block-no-duplicate-selectors"},t.exports=u},{"../../utils/isStandardSyntaxSelector":395,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420}],210:[(e,t,s)=>{const r=e("../../utils/getImportantPosition"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),{assert:a}=e("../../utils/validateTypes"),l="keyframe-declaration-no-important",u=n(l,{rejected:"Unexpected !important"}),c=e=>(t,s)=>{o(s,l,{actual:e})&&t.walkAtRules(/^(-(moz|webkit)-)?keyframes$/i,e=>{e.walkDecls(e=>{if(!e.important)return;const t=r(e.toString());a(t),i({message:u.rejected,node:e,index:t.index,endIndex:t.endIndex,result:s,ruleName:l})})})};c.ruleName=l,c.messages=u,c.meta={url:"https://stylelint.io/user-guide/rules/list/keyframe-declaration-no-important"},t.exports=c},{"../../utils/getImportantPosition":344,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],211:[(e,t,s)=>{const r=e("../../utils/atRuleParamIndex"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),{isRegExp:a,isString:l}=e("../../utils/validateTypes"),u="keyframes-name-pattern",c=n(u,{expected:(e,t)=>`Expected keyframe name "${e}" to match pattern "${t}"`}),d=e=>(t,s)=>{if(!o(s,u,{actual:e,possible:[a,l]}))return;const n=l(e)?new RegExp(e):e;t.walkAtRules(/keyframes/i,t=>{const o=t.params;if(n.test(o))return;const a=r(t),l=a+o.length;i({index:a,endIndex:l,message:c.expected(o,e),node:t,ruleName:u,result:s})})};d.ruleName=u,d.messages=c,d.meta={url:"https://stylelint.io/user-guide/rules/list/keyframes-name-pattern"},t.exports=d},{"../../utils/atRuleParamIndex":326,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],212:[(e,t,s)=>{const r=e("postcss-value-parser"),i=e("../../utils/atRuleParamIndex"),n=e("../../utils/declarationValueIndex"),o=e("../../utils/getAtRuleParams"),a=e("../../utils/getDeclarationValue"),l=e("../../utils/isCustomProperty"),u=e("../../utils/isMathFunction"),c=e("../../utils/isStandardSyntaxAtRule"),d=e("../../reference/keywordSets"),p=e("../../utils/optionsMatches"),f=e("../../utils/report"),m=e("../../utils/ruleMessages"),h=e("../../utils/setAtRuleParams"),g=e("../../utils/setDeclarationValue"),w=e("../../utils/validateOptions"),{isRegExp:b,isString:y}=e("../../utils/validateTypes"),x="length-zero-no-unit",v=m(x,{rejected:"Unexpected unit"}),k=(e,t,s)=>(m,k)=>{if(!w(k,x,{actual:e},{actual:t,possible:{ignore:["custom-properties"],ignoreFunctions:[y,b]},optional:!0}))return;let S;function O(e,i,n){const{value:o,sourceIndex:a}=n;if(u(n))return!1;if((({type:e})=>"function"===e)(n)&&p(t,"ignoreFunctions",o))return!1;if(!(({type:e})=>"word"===e)(n))return;const l=r.unit(o);if(!1===l)return;const{number:c,unit:m}=l;if(""===m)return;if(h=m,!d.lengthUnits.has(h.toLowerCase()))return;var h,g;if("fr"===m.toLowerCase())return;if(g=c,0!==Number.parseFloat(g))return;if(s.fix){let e=c;return e.startsWith(".")&&(e=c.slice(1)),n.value=e,void(S=!0)}const w=i+a+c.length,b=w+m.length;f({index:w,endIndex:b,message:v.rejected,node:e,result:k,ruleName:x})}m.walkAtRules(e=>{if(!c(e))return;S=!1;const t=i(e),s=r(o(e));s.walk(s=>O(e,t,s)),S&&h(e,s.toString())}),m.walkDecls(e=>{S=!1;const{prop:s}=e;if("line-height"===s.toLowerCase())return;if("flex"===s.toLowerCase())return;if(p(t,"ignore","custom-properties")&&l(s))return;const i=n(e),o=r(a(e));o.walk((t,s,r)=>{if(!(({prop:e},t,i)=>{const n=r[s-1];return"font"===e.toLowerCase()&&n&&"div"===n.type&&"/"===n.value})(e))return O(e,i,t)}),S&&g(e,o.toString())})};k.ruleName=x,k.messages=v,k.meta={url:"https://stylelint.io/user-guide/rules/list/length-zero-no-unit"},t.exports=k},{"../../reference/keywordSets":110,"../../utils/atRuleParamIndex":326,"../../utils/declarationValueIndex":333,"../../utils/getAtRuleParams":340,"../../utils/getDeclarationValue":341,"../../utils/isCustomProperty":370,"../../utils/isMathFunction":376,"../../utils/isStandardSyntaxAtRule":385,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/setAtRuleParams":414,"../../utils/setDeclarationValue":415,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"postcss-value-parser":59}],213:[(e,t,s)=>{const r=e("postcss"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a="linebreaks",l=n(a,{expected:e=>`Expected linebreak to be ${e}`}),u=(e,t,s)=>(t,n)=>{if(!o(n,a,{actual:e,possible:["unix","windows"]}))return;const u="windows"===e;if(s.fix)t.walk(e=>{"selector"in e&&(e.selector=d(e.selector)),"value"in e&&(e.value=d(e.value)),"text"in e&&(e.text=d(e.text)),e.raws.before&&(e.raws.before=d(e.raws.before)),"string"==typeof e.raws.after&&(e.raws.after=d(e.raws.after))}),"string"==typeof t.raws.after&&(t.raws.after=d(t.raws.after));else{if(null==t.source)throw new Error("The root node must have a source");const e=t.source.input.css.split("\n");for(let[t,s]of e.entries())t{const r=e("../../utils/optionsMatches"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("style-search"),a=e("../../utils/validateOptions"),{isNumber:l}=e("../../utils/validateTypes"),u="max-empty-lines",c=n(u,{expected:e=>`Expected no more than ${e} empty ${1===e?"line":"lines"}`}),d=(e,t,s)=>{let n=0,d=-1;return(p,f)=>{if(!a(f,u,{actual:e,possible:l},{actual:t,possible:{ignore:["comments"]},optional:!0}))return;const m=r(t,"ignore","comments"),h=w.bind(null,e);if(s.fix){p.walk(e=>{"comment"!==e.type||m||(e.raws.left=h(e.raws.left),e.raws.right=h(e.raws.right)),e.raws.before&&(e.raws.before=h(e.raws.before))});const t=p.first&&p.first.raws.before,s=p.raws.after;return void("Document"!==(p.document&&p.document.constructor.name)?(t&&(p.first.raws.before=h(t,!0)),s&&(p.raws.after=w(0===e?1:e,s,!0))):s&&(p.raws.after=w(0===e?1:e,s)))}n=0,d=-1;const g=p.toString();function w(e,t,s=!1){const r=s?e:e+1;if(0===r||"string"!=typeof t)return"";const i="\n".repeat(r),n="\r\n".repeat(r);return/(?:\r\n)+/.test(t)?t.replace(/(\r\n)+/g,e=>e.length/2>r?n:e):t.replace(/(\n)+/g,e=>e.length>r?i:e)}o({source:g,target:/\r\n/.test(g)?"\r\n":"\n",comments:m?"skip":"check"},t=>{((t,s,r,o)=>{const a=r===t.length;let l=!1;s&&d!==s?n=0:n++,d=r,n>e&&(l=!0),(a||l)&&(l&&i({message:c.expected(e),node:o,index:s,result:f,ruleName:u}),a&&e&&++n>e&&((e,t)=>{if(!(e&&"Document"===e.constructor.name&&"type"in e))return!0;let s;if(t===e.last)s=e.raws&&e.raws.codeAfter;else{const r=e.index(t),i=e.nodes[r+1];s=i&&i.raws&&i.raws.codeBefore}return!String(s).trim()})(f.root,o)&&i({message:c.expected(e),node:o,index:r,result:f,ruleName:u}))})(g,t.startIndex,t.endIndex,p)})}};d.ruleName=u,d.messages=c,d.meta={url:"https://stylelint.io/user-guide/rules/list/max-empty-lines"},t.exports=d},{"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"style-search":92}],215:[(e,t,s)=>{const r=e("execall"),i=e("../../utils/optionsMatches"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("style-search"),l=e("../../utils/validateOptions"),{isNumber:u,isRegExp:c,isString:d,assert:p}=e("../../utils/validateTypes"),f="max-line-length",m=[/url\(\s*(\S.*\S)\s*\)/gi,/@import\s+(['"].*['"])/gi],h=o(f,{expected:e=>`Expected line length to be no more than ${e} ${1===e?"character":"characters"}`}),g=(e,t,s)=>(o,g)=>{if(!l(g,f,{actual:e,possible:u},{actual:t,possible:{ignore:["non-comments","comments"],ignorePattern:[d,c]},optional:!0}))return;if(null==o.source)throw new Error("The root node must have a source");const w=i(t,"ignore","non-comments"),b=i(t,"ignore","comments"),y=s.fix?o.toString():o.source.input.css;let x=[],v=0;for(const e of m)for(const t of r(e,y)){const e=t.subMatches[0]||"",s=t.index+t.match.indexOf(e);x.push([s,s+e.length])}function k(t){n({index:t,result:g,ruleName:f,message:h.expected(e),node:o})}function S(s){let r=y.indexOf("\n",s.endIndex);"\r"===y[r-1]&&(r-=1),-1===r&&(r=y.length);const n=r-s.endIndex,o=x[v]?((e,t)=>{const s=x[v];p(s);const[r,i]=s;if(te[0]-t[0]),S({endIndex:0}),a({source:y,target:["\n"],comments:"check"},e=>S(e))};g.ruleName=f,g.messages=h,g.meta={url:"https://stylelint.io/user-guide/rules/list/max-line-length"},t.exports=g},{"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,execall:11,"style-search":92}],216:[(e,t,s)=>{const r=e("../../utils/hasBlock"),i=e("../../utils/isStandardSyntaxRule"),n=e("../../utils/optionsMatches"),o=e("postcss-selector-parser"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),{isAtRule:c,isDeclaration:d,isRoot:p,isRule:f}=e("../../utils/typeGuards"),{isNumber:m,isRegExp:h,isString:g}=e("../../utils/validateTypes"),w="max-nesting-depth",b=l(w,{expected:e=>`Expected nesting depth to be no more than ${e}`}),y=(e,t)=>{const s=e=>c(e)&&n(t,"ignoreAtRules",e.name);return(l,y)=>{function v(l){s(l)||r(l)&&(f(l)&&!i(l)||function e(r,i){const a=r.parent;if(null==a)throw new Error("The parent node must exist");return s(a)?0:p(a)||c(a)&&a.parent&&p(a.parent)?i:n(t,"ignore","blockless-at-rules")&&c(r)&&r.every(e=>!d(e))||n(t,"ignore","pseudo-classes")&&f(r)&&(u=r.selector,o().processSync(u,{lossless:!1}).split(",").every(e=>x(e)))||f(r)&&(l=r.selectors,t&&t.ignorePseudoClasses&&l.every(e=>{const s=x(e);return!!s&&n(t,"ignorePseudoClasses",s)}))?e(a,i):e(a,i+1);var l,u}(l,0)>e&&a({ruleName:w,result:y,node:l,message:b.expected(e)}))}u(y,w,{actual:e,possible:[m]},{optional:!0,actual:t,possible:{ignore:["blockless-at-rules","pseudo-classes"],ignoreAtRules:[g,h],ignorePseudoClasses:[g,h]}})&&(l.walkRules(v),l.walkAtRules(v))}};function x(e){return e.startsWith("&:")&&":"!==e[2]?e.slice(2):void 0}y.ruleName=w,y.messages=b,y.meta={url:"https://stylelint.io/user-guide/rules/list/max-nesting-depth"},t.exports=y},{"../../utils/hasBlock":351,"../../utils/isStandardSyntaxRule":394,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/typeGuards":417,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"postcss-selector-parser":29}],217:[(e,t,s)=>{const r=e("../../utils/atRuleParamIndex"),i=e("../mediaFeatureColonSpaceChecker"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/whitespaceChecker"),l="media-feature-colon-space-after",u=n(l,{expectedAfter:()=>'Expected single space after ":"',rejectedAfter:()=>'Unexpected whitespace after ":"'}),c=(e,t,s)=>{const n=a("space",e,u);return(t,a)=>{if(!o(a,l,{actual:e,possible:["always","never"]}))return;let u;if(i({root:t,result:a,locationChecker:n.after,checkedRuleName:l,fix:s.fix?(e,t)=>{const s=t-r(e),i=(u=u||new Map).get(e)||[];return i.push(s),u.set(e,i),!0}:null}),u)for(const[t,s]of u.entries()){let r=t.raws.params?t.raws.params.raw:t.params;for(const t of s.sort((e,t)=>t-e)){const s=r.slice(0,t+1),i=r.slice(t+1);"always"===e?r=s+i.replace(/^\s*/," "):"never"===e&&(r=s+i.replace(/^\s*/,""))}t.raws.params?t.raws.params.raw=r:t.params=r}}};c.ruleName=l,c.messages=u,c.meta={url:"https://stylelint.io/user-guide/rules/list/media-feature-colon-space-after"},t.exports=c},{"../../utils/atRuleParamIndex":326,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../mediaFeatureColonSpaceChecker":231}],218:[(e,t,s)=>{const r=e("../../utils/atRuleParamIndex"),i=e("../mediaFeatureColonSpaceChecker"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/whitespaceChecker"),l="media-feature-colon-space-before",u=n(l,{expectedBefore:()=>'Expected single space before ":"',rejectedBefore:()=>'Unexpected whitespace before ":"'}),c=(e,t,s)=>{const n=a("space",e,u);return(t,a)=>{if(!o(a,l,{actual:e,possible:["always","never"]}))return;let u;if(i({root:t,result:a,locationChecker:n.before,checkedRuleName:l,fix:s.fix?(e,t)=>{const s=t-r(e),i=(u=u||new Map).get(e)||[];return i.push(s),u.set(e,i),!0}:null}),u)for(const[t,s]of u.entries()){let r=t.raws.params?t.raws.params.raw:t.params;for(const t of s.sort((e,t)=>t-e)){const s=r.slice(0,t),i=r.slice(t);"always"===e?r=s.replace(/\s*$/," ")+i:"never"===e&&(r=s.replace(/\s*$/,"")+i)}t.raws.params?t.raws.params.raw=r:t.params=r}}};c.ruleName=l,c.messages=u,c.meta={url:"https://stylelint.io/user-guide/rules/list/media-feature-colon-space-before"},t.exports=c},{"../../utils/atRuleParamIndex":326,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../mediaFeatureColonSpaceChecker":231}],219:[(e,t,s)=>{const r=e("../../utils/atRuleParamIndex"),i=e("../../utils/isCustomMediaQuery"),n=e("../../utils/isRangeContextMediaFeature"),o=e("../../utils/isStandardSyntaxMediaFeatureName"),a=e("../../utils/matchesStringOrRegExp"),l=e("postcss-media-query-parser").default,u=e("../rangeContextNodeParser"),c=e("../../utils/report"),d=e("../../utils/ruleMessages"),p=e("../../utils/validateOptions"),{isRegExp:f,isString:m}=e("../../utils/validateTypes"),h="media-feature-name-allowed-list",g=d(h,{rejected:e=>`Unexpected media feature name "${e}"`}),w=e=>(t,s)=>{p(s,h,{actual:e,possible:[m,f]})&&t.walkAtRules(/^media$/i,t=>{l(t.params).walk(/^media-feature$/i,l=>{const d=l.parent;let p,f;if(n(d.value)){const e=u(l);p=e.name.value,f=e.name.sourceIndex}else p=l.value,f=l.sourceIndex;if(!o(p)||i(p))return;if(a(p,e))return;const m=r(t)+f,w=m+p.length;c({index:m,endIndex:w,message:g.rejected(p),node:t,ruleName:h,result:s})})})};w.primaryOptionArray=!0,w.ruleName=h,w.messages=g,w.meta={url:"https://stylelint.io/user-guide/rules/list/media-feature-name-allowed-list"},t.exports=w},{"../../utils/atRuleParamIndex":326,"../../utils/isCustomMediaQuery":369,"../../utils/isRangeContextMediaFeature":381,"../../utils/isStandardSyntaxMediaFeatureName":392,"../../utils/matchesStringOrRegExp":403,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../rangeContextNodeParser":255,"postcss-media-query-parser":24}],220:[(e,t,s)=>{const r=e("../../utils/atRuleParamIndex"),i=e("../../utils/isCustomMediaQuery"),n=e("../../utils/isRangeContextMediaFeature"),o=e("../../utils/isStandardSyntaxMediaFeatureName"),a=e("postcss-media-query-parser").default,l=e("../rangeContextNodeParser"),u=e("../../utils/report"),c=e("../../utils/ruleMessages"),d=e("../../utils/validateOptions"),p="media-feature-name-case",f=c(p,{expected:(e,t)=>`Expected "${e}" to be "${t}"`}),m=(e,t,s)=>(t,c)=>{d(c,p,{actual:e,possible:["lower","upper"]})&&t.walkAtRules(/^media$/i,t=>{let d=t.raws.params&&t.raws.params.raw;const m=d||t.params;a(m).walk(/^media-feature$/i,a=>{const m=a.parent;let h,g;if(n(m.value)){const e=l(a);h=e.name.value,g=e.name.sourceIndex}else h=a.value,g=a.sourceIndex;if(!o(h)||i(h))return;const w="lower"===e?h.toLowerCase():h.toUpperCase();if(h!==w)if(s.fix)if(d){if(d=d.slice(0,g)+w+d.slice(g+w.length),null==t.raws.params)throw new Error("The `AtRuleRaws` node must have a `params` property");t.raws.params.raw=d}else t.params=t.params.slice(0,g)+w+t.params.slice(g+w.length);else u({index:r(t)+g,message:f.expected(h,w),node:t,ruleName:p,result:c})})})};m.ruleName=p,m.messages=f,m.meta={url:"https://stylelint.io/user-guide/rules/list/media-feature-name-case"},t.exports=m},{"../../utils/atRuleParamIndex":326,"../../utils/isCustomMediaQuery":369,"../../utils/isRangeContextMediaFeature":381,"../../utils/isStandardSyntaxMediaFeatureName":392,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../rangeContextNodeParser":255,"postcss-media-query-parser":24}],221:[(e,t,s)=>{const r=e("../../utils/atRuleParamIndex"),i=e("../../utils/isCustomMediaQuery"),n=e("../../utils/isRangeContextMediaFeature"),o=e("../../utils/isStandardSyntaxMediaFeatureName"),a=e("../../utils/matchesStringOrRegExp"),l=e("postcss-media-query-parser").default,u=e("../rangeContextNodeParser"),c=e("../../utils/report"),d=e("../../utils/ruleMessages"),p=e("../../utils/validateOptions"),{isRegExp:f,isString:m}=e("../../utils/validateTypes"),h="media-feature-name-disallowed-list",g=d(h,{rejected:e=>`Unexpected media feature name "${e}"`}),w=e=>(t,s)=>{p(s,h,{actual:e,possible:[m,f]})&&t.walkAtRules(/^media$/i,t=>{l(t.params).walk(/^media-feature$/i,l=>{const d=l.parent;let p,f;if(n(d.value)){const e=u(l);p=e.name.value,f=e.name.sourceIndex}else p=l.value,f=l.sourceIndex;if(!o(p)||i(p))return;if(!a(p,e))return;const m=r(t)+f,w=m+p.length;c({index:m,endIndex:w,message:g.rejected(p),node:t,ruleName:h,result:s})})})};w.primaryOptionArray=!0,w.ruleName=h,w.messages=g,w.meta={url:"https://stylelint.io/user-guide/rules/list/media-feature-name-disallowed-list"},t.exports=w},{"../../utils/atRuleParamIndex":326,"../../utils/isCustomMediaQuery":369,"../../utils/isRangeContextMediaFeature":381,"../../utils/isStandardSyntaxMediaFeatureName":392,"../../utils/matchesStringOrRegExp":403,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../rangeContextNodeParser":255,"postcss-media-query-parser":24}],222:[(e,t,s)=>{const r=e("../../utils/atRuleParamIndex"),i=e("../../utils/isCustomMediaQuery"),n=e("../../utils/isRangeContextMediaFeature"),o=e("../../utils/isStandardSyntaxMediaFeatureName"),a=e("../../reference/keywordSets"),l=e("postcss-media-query-parser").default,u=e("../../utils/optionsMatches"),c=e("../rangeContextNodeParser"),d=e("../../utils/report"),p=e("../../utils/ruleMessages"),f=e("../../utils/validateOptions"),m=e("../../utils/vendor"),{isRegExp:h,isString:g}=e("../../utils/validateTypes"),w="media-feature-name-no-unknown",b=p(w,{rejected:e=>`Unexpected unknown media feature name "${e}"`}),y=(e,t)=>(s,p)=>{f(p,w,{actual:e},{actual:t,possible:{ignoreMediaFeatureNames:[g,h]},optional:!0})&&s.walkAtRules(/^media$/i,e=>{l(e.params).walk(/^media-feature$/i,s=>{const l=s.parent;let f,h;if(n(l.value)){const e=c(s);f=e.name.value,h=e.name.sourceIndex}else f=s.value,h=s.sourceIndex;if(!o(f)||i(f))return;if(u(t,"ignoreMediaFeatureNames",f))return;if(m.prefix(f)||a.mediaFeatureNames.has(f.toLowerCase()))return;const g=r(e)+h,y=g+f.length;d({index:g,endIndex:y,message:b.rejected(f),node:e,ruleName:w,result:p})})})};y.ruleName=w,y.messages=b,y.meta={url:"https://stylelint.io/user-guide/rules/list/media-feature-name-no-unknown"},t.exports=y},{"../../reference/keywordSets":110,"../../utils/atRuleParamIndex":326,"../../utils/isCustomMediaQuery":369,"../../utils/isRangeContextMediaFeature":381,"../../utils/isStandardSyntaxMediaFeatureName":392,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/vendor":422,"../rangeContextNodeParser":255,"postcss-media-query-parser":24}],223:[(e,t,s)=>{const r=e("postcss-media-query-parser").default,i=e("../../utils/atRuleParamIndex"),n=e("../../utils/isRangeContextMediaFeature"),o=e("../../utils/matchesStringOrRegExp"),a=e("../../utils/optionsMatches"),l=e("../rangeContextNodeParser"),u=e("../../utils/report"),c=e("../../utils/ruleMessages"),d=e("../../utils/validateObjectWithArrayProps"),p=e("../../utils/validateOptions"),{isString:f,isRegExp:m}=e("../../utils/validateTypes"),h=e("../../utils/vendor"),g="media-feature-name-value-allowed-list",w=c(g,{rejected:(e,t)=>`Unexpected value "${t}" for name "${e}"`}),b=e=>(t,s)=>{p(s,g,{actual:e,possible:[d(f,m)]})&&t.walkAtRules(/^media$/i,t=>{r(t.params).walk(/^media-feature-expression$/i,r=>{if(!r.nodes)return;const c=n(r.parent.value);if(!r.value.includes(":")&&!c)return;const d=r.nodes.find(e=>"media-feature"===e.type);if(null==d)throw new Error("A `media-feature` node must be present");let p,f;if(c){const e=l(d);p=e.name.value,f=e.values}else{p=d.value;const e=r.nodes.find(e=>"value"===e.type);if(null==e)throw new Error("A `value` node must be present");f=[e]}for(const r of f){const n=r.value,l=h.unprefixed(p),c=Object.keys(e).find(e=>o(l,e));if(null==c)return;if(a(e,c,n))return;const d=i(t)+r.sourceIndex,f=d+n.length;u({index:d,endIndex:f,message:w.rejected(p,n),node:t,ruleName:g,result:s})}})})};b.ruleName=g,b.messages=w,b.meta={url:"https://stylelint.io/user-guide/rules/list/media-feature-name-value-allowed-list"},t.exports=b},{"../../utils/atRuleParamIndex":326,"../../utils/isRangeContextMediaFeature":381,"../../utils/matchesStringOrRegExp":403,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateObjectWithArrayProps":418,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/vendor":422,"../rangeContextNodeParser":255,"postcss-media-query-parser":24}],224:[(e,t,s)=>{const r=e("../../utils/atRuleParamIndex"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("postcss-value-parser"),l="media-feature-parentheses-space-inside",u=n(l,{expectedOpening:'Expected single space after "("',rejectedOpening:'Unexpected whitespace after "("',expectedClosing:'Expected single space before ")"',rejectedClosing:'Unexpected whitespace before ")"'}),c=(e,t,s)=>(t,n)=>{o(n,l,{actual:e,possible:["always","never"]})&&t.walkAtRules(/^media$/i,t=>{const o=t.raws.params&&t.raws.params.raw||t.params,c=r(t),d=[],p=a(o).walk(t=>{if("function"===t.type){const r=a.stringify(t).length;"never"===e?(/[ \t]/.test(t.before)&&(s.fix&&(t.before=""),d.push({message:u.rejectedOpening,index:t.sourceIndex+1+c})),/[ \t]/.test(t.after)&&(s.fix&&(t.after=""),d.push({message:u.rejectedClosing,index:t.sourceIndex-2+r+c}))):"always"===e&&(""===t.before&&(s.fix&&(t.before=" "),d.push({message:u.expectedOpening,index:t.sourceIndex+1+c})),""===t.after&&(s.fix&&(t.after=" "),d.push({message:u.expectedClosing,index:t.sourceIndex-2+r+c})))}});if(d.length){if(s.fix)return void(t.params=p.toString());for(const e of d)i({message:e.message,node:t,index:e.index,result:n,ruleName:l})}})};c.ruleName=l,c.messages=u,c.meta={url:"https://stylelint.io/user-guide/rules/list/media-feature-parentheses-space-inside"},t.exports=c},{"../../utils/atRuleParamIndex":326,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"postcss-value-parser":59}],225:[(e,t,s)=>{const r=e("../../utils/atRuleParamIndex"),i=e("../findMediaOperator"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),l=e("../../utils/whitespaceChecker"),u="media-feature-range-operator-space-after",c=o(u,{expectedAfter:()=>"Expected single space after range operator",rejectedAfter:()=>"Unexpected whitespace after range operator"}),d=(e,t,s)=>{const o=l("space",e,c);return(t,l)=>{a(l,u,{actual:e,possible:["always","never"]})&&t.walkAtRules(/^media$/i,t=>{const a=[],c=s.fix?e=>a.push(e):null;if(i(t,(e,t,s)=>{((e,t,s,i)=>{const a=e.startIndex+e.target.length-1;o.after({source:t,index:a,err(e){i?i(a):n({message:e,node:s,index:a+r(s)+1,result:l,ruleName:u})}})})(e,t,s,c)}),a.length){let s=t.raws.params?t.raws.params.raw:t.params;for(const t of a.sort((e,t)=>t-e)){const r=s.slice(0,t+1),i=s.slice(t+1);"always"===e?s=r+i.replace(/^\s*/," "):"never"===e&&(s=r+i.replace(/^\s*/,""))}t.raws.params?t.raws.params.raw=s:t.params=s}})}};d.ruleName=u,d.messages=c,d.meta={url:"https://stylelint.io/user-guide/rules/list/media-feature-range-operator-space-after"},t.exports=d},{"../../utils/atRuleParamIndex":326,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../findMediaOperator":180}],226:[(e,t,s)=>{const r=e("../../utils/atRuleParamIndex"),i=e("../findMediaOperator"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),l=e("../../utils/whitespaceChecker"),u="media-feature-range-operator-space-before",c=o(u,{expectedBefore:()=>"Expected single space before range operator",rejectedBefore:()=>"Unexpected whitespace before range operator"}),d=(e,t,s)=>{const o=l("space",e,c);return(t,l)=>{a(l,u,{actual:e,possible:["always","never"]})&&t.walkAtRules(/^media$/i,t=>{const a=[],c=s.fix?e=>a.push(e):null;if(i(t,(e,t,s)=>{p=e,f=t,m=s,h=c,o.before({source:f,index:p.startIndex,err(e){h?h(p.startIndex):n({message:e,node:m,index:p.startIndex-1+r(m),result:l,ruleName:u})}})}),a.length){let s=t.raws.params?t.raws.params.raw:t.params;for(const t of a.sort((e,t)=>t-e)){const r=s.slice(0,t),i=s.slice(t);"always"===e?s=r.replace(/\s*$/," ")+i:"never"===e&&(s=r.replace(/\s*$/,"")+i)}t.raws.params?t.raws.params.raw=s:t.params=s}})}};var p,f,m,h;d.ruleName=u,d.messages=c,d.meta={url:"https://stylelint.io/user-guide/rules/list/media-feature-range-operator-space-before"},t.exports=d},{"../../utils/atRuleParamIndex":326,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../findMediaOperator":180}],227:[(e,t,s)=>{const r=e("../../utils/atRuleParamIndex"),i=e("../mediaQueryListCommaWhitespaceChecker"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/whitespaceChecker"),l="media-query-list-comma-newline-after",u=n(l,{expectedAfter:()=>'Expected newline after ","',expectedAfterMultiLine:()=>'Expected newline after "," in a multi-line list',rejectedAfterMultiLine:()=>'Unexpected whitespace after "," in a multi-line list'}),c=(e,t,s)=>{const n=a("newline",e,u);return(t,a)=>{if(!o(a,l,{actual:e,possible:["always","always-multi-line","never-multi-line"]}))return;let u;if(i({root:t,result:a,locationChecker:n.afterOneOnly,checkedRuleName:l,allowTrailingComments:e.startsWith("always"),fix:s.fix?(e,t)=>{const s=t-r(e),i=(u=u||new Map).get(e)||[];return i.push(s),u.set(e,i),!0}:null}),u)for(const[t,r]of u.entries()){let i=t.raws.params?t.raws.params.raw:t.params;for(const t of r.sort((e,t)=>t-e)){const r=i.slice(0,t+1),n=i.slice(t+1);e.startsWith("always")?i=/^\s*\n/.test(n)?r+n.replace(/^[^\S\r\n]*/,""):r+s.newline+n:e.startsWith("never")&&(i=r+n.replace(/^\s*/,""))}t.raws.params?t.raws.params.raw=i:t.params=i}}};c.ruleName=l,c.messages=u,c.meta={url:"https://stylelint.io/user-guide/rules/list/media-query-list-comma-newline-after"},t.exports=c},{"../../utils/atRuleParamIndex":326,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../mediaQueryListCommaWhitespaceChecker":232}],228:[(e,t,s)=>{const r=e("../mediaQueryListCommaWhitespaceChecker"),i=e("../../utils/ruleMessages"),n=e("../../utils/validateOptions"),o=e("../../utils/whitespaceChecker"),a="media-query-list-comma-newline-before",l=i(a,{expectedBefore:()=>'Expected newline before ","',expectedBeforeMultiLine:()=>'Expected newline before "," in a multi-line list',rejectedBeforeMultiLine:()=>'Unexpected whitespace before "," in a multi-line list'}),u=e=>{const t=o("newline",e,l);return(s,i)=>{n(i,a,{actual:e,possible:["always","always-multi-line","never-multi-line"]})&&r({root:s,result:i,locationChecker:t.beforeAllowingIndentation,checkedRuleName:a})}};u.ruleName=a,u.messages=l,u.meta={url:"https://stylelint.io/user-guide/rules/list/media-query-list-comma-newline-before"},t.exports=u},{"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../mediaQueryListCommaWhitespaceChecker":232}],229:[(e,t,s)=>{const r=e("../../utils/atRuleParamIndex"),i=e("../mediaQueryListCommaWhitespaceChecker"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/whitespaceChecker"),l="media-query-list-comma-space-after",u=n(l,{expectedAfter:()=>'Expected single space after ","',rejectedAfter:()=>'Unexpected whitespace after ","',expectedAfterSingleLine:()=>'Expected single space after "," in a single-line list',rejectedAfterSingleLine:()=>'Unexpected whitespace after "," in a single-line list'}),c=(e,t,s)=>{const n=a("space",e,u);return(t,a)=>{if(!o(a,l,{actual:e,possible:["always","never","always-single-line","never-single-line"]}))return;let u;if(i({root:t,result:a,locationChecker:n.after,checkedRuleName:l,fix:s.fix?(e,t)=>{const s=t-r(e),i=(u=u||new Map).get(e)||[];return i.push(s),u.set(e,i),!0}:null}),u)for(const[t,s]of u.entries()){let r=t.raws.params?t.raws.params.raw:t.params;for(const t of s.sort((e,t)=>t-e)){const s=r.slice(0,t+1),i=r.slice(t+1);e.startsWith("always")?r=s+i.replace(/^\s*/," "):e.startsWith("never")&&(r=s+i.replace(/^\s*/,""))}t.raws.params?t.raws.params.raw=r:t.params=r}}};c.ruleName=l,c.messages=u,c.meta={url:"https://stylelint.io/user-guide/rules/list/media-query-list-comma-space-after"},t.exports=c},{"../../utils/atRuleParamIndex":326,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../mediaQueryListCommaWhitespaceChecker":232}],230:[(e,t,s)=>{const r=e("../../utils/atRuleParamIndex"),i=e("../mediaQueryListCommaWhitespaceChecker"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("../../utils/whitespaceChecker"),l="media-query-list-comma-space-before",u=n(l,{expectedBefore:()=>'Expected single space before ","',rejectedBefore:()=>'Unexpected whitespace before ","',expectedBeforeSingleLine:()=>'Expected single space before "," in a single-line list',rejectedBeforeSingleLine:()=>'Unexpected whitespace before "," in a single-line list'}),c=(e,t,s)=>{const n=a("space",e,u);return(t,a)=>{if(!o(a,l,{actual:e,possible:["always","never","always-single-line","never-single-line"]}))return;let u;if(i({root:t,result:a,locationChecker:n.before,checkedRuleName:l,fix:s.fix?(e,t)=>{const s=t-r(e),i=(u=u||new Map).get(e)||[];return i.push(s),u.set(e,i),!0}:null}),u)for(const[t,s]of u.entries()){let r=t.raws.params?t.raws.params.raw:t.params;for(const t of s.sort((e,t)=>t-e)){const s=r.slice(0,t),i=r.slice(t);e.startsWith("always")?r=s.replace(/\s*$/," ")+i:e.startsWith("never")&&(r=s.replace(/\s*$/,"")+i)}t.raws.params?t.raws.params.raw=r:t.params=r}}};c.ruleName=l,c.messages=u,c.meta={url:"https://stylelint.io/user-guide/rules/list/media-query-list-comma-space-before"},t.exports=c},{"../../utils/atRuleParamIndex":326,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../mediaQueryListCommaWhitespaceChecker":232}],231:[(e,t,s)=>{const r=e("../utils/atRuleParamIndex"),i=e("../utils/report"),n=e("style-search");t.exports=(e=>{var t,s,o;e.root.walkAtRules(/^media$/i,a=>{const l=a.raws.params?a.raws.params.raw:a.params;n({source:l,target:":"},n=>{t=l,s=n.startIndex,o=a,e.locationChecker({source:t,index:s,err(t){const n=s+r(o);e.fix&&e.fix(o,n)||i({message:t,node:o,index:n,result:e.result,ruleName:e.checkedRuleName})}})})})})},{"../utils/atRuleParamIndex":326,"../utils/report":412,"style-search":92}],232:[(e,t,s)=>{const r=e("style-search"),i=e("../utils/atRuleParamIndex"),n=e("../utils/report"),{assertString:o}=e("../utils/validateTypes");t.exports=(e=>{var t,s,a;e.root.walkAtRules(/^media$/i,l=>{const u=l.raws.params?l.raws.params.raw:l.params;r({source:u,target:","},r=>{let c=r.startIndex;if(e.allowTrailingComments){let e;for(;e=/^[^\S\r\n]*\/\*([\s\S]*?)\*\//.exec(u.slice(c+1));)o(e[0]),c+=e[0].length;(e=/^([^\S\r\n]*\/\/[\s\S]*?)\r?\n/.exec(u.slice(c+1)))&&(o(e[1]),c+=e[1].length)}t=u,s=c,a=l,e.locationChecker({source:t,index:s,err(t){const r=s+i(a);e.fix&&e.fix(a,r)||n({message:t,node:a,index:r,result:e.result,ruleName:e.checkedRuleName})}})})})})},{"../utils/atRuleParamIndex":326,"../utils/report":412,"../utils/validateTypes":421,"style-search":92}],233:[(e,t,s)=>{const r=e("../../utils/declarationValueIndex"),i=e("./utils/findNotContiguousOrRectangular"),n=e("./utils/isRectangular"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("postcss-value-parser"),c="named-grid-areas-no-invalid",d=a(c,{expectedToken:()=>"Expected cell token within string",expectedSameNumber:()=>"Expected same number of cell tokens in each string",expectedRectangle:e=>`Expected single filled-in rectangle for "${e}"`}),p=e=>(t,s)=>{l(s,c,{actual:e})&&t.walkDecls(/^(?:grid|grid-template|grid-template-areas)$/i,e=>{const{value:t}=e;if("none"===t.toLowerCase().trim())return;const a=[];let l=!1;if(u(t).walk(({sourceIndex:e,type:t,value:s})=>{if("string"===t)return""===s?(f(d.expectedToken(),e),void(l=!0)):void a.push(s.trim().split(" ").filter(e=>e.length>0))}),l)return;if(0===a.length)return;if(!n(a))return void f(d.expectedSameNumber());const p=i(a);for(const e of p.sort())f(d.expectedRectangle(e));function f(t,i=0){o({message:t,node:e,index:r(e)+i,result:s,ruleName:c})}})};p.ruleName=c,p.messages=d,p.meta={url:"https://stylelint.io/user-guide/rules/list/named-grid-areas-no-invalid"},t.exports=p},{"../../utils/declarationValueIndex":333,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"./utils/findNotContiguousOrRectangular":234,"./utils/isRectangular":235,"postcss-value-parser":59}],234:[(e,t,s)=>{const r=e("../../../utils/arrayEqual");t.exports=(e=>(t=>{const s=new Set(e.flat());return s.delete("."),[...s]})().filter(t=>!((t,s)=>{const i=e.map(e=>{const t=[];let r=e.indexOf(s);for(;-1!==r;)t.push(r),r=e.indexOf(s,r+1);return t});for(let e=0;e{t.exports=(e=>{const t=e[0];return void 0!==t&&e.every(e=>e.length===t.length)})},{}],236:[(e,t,s)=>{const r=e("postcss-resolve-nested-selector"),{selectorSpecificity:i,compare:n}=e("@csstools/selector-specificity"),o=e("../../utils/findAtRuleContext"),a=e("../../utils/isStandardSyntaxRule"),l=e("../../utils/isStandardSyntaxSelector"),u=e("../../reference/keywordSets"),c=e("../../utils/nodeContextLookup"),d=e("../../utils/optionsMatches"),p=e("../../utils/parseSelector"),f=e("../../utils/report"),m=e("../../utils/ruleMessages"),h=e("../../utils/validateOptions"),{assert:g}=e("../../utils/validateTypes"),w="no-descending-specificity",b=m(w,{rejected:(e,t)=>`Expected selector "${e}" to come before selector "${t}"`}),y=(e,t)=>(s,m)=>{if(!h(m,w,{actual:e},{optional:!0,actual:t,possible:{ignore:["selectors-within-list"]}}))return;const y=c();function x(e,t,s){const r=e.toString(),o=(t=>{const s=e.nodes[0];g(s);const r=s.split(e=>"combinator"===e.type),i=r[r.length-1];return g(i),i.filter(e=>"pseudo"!==e.type||e.value.startsWith("::")||u.pseudoElements.has(e.value.replace(/:/g,""))).join("").toString()})(),a=i(e),l={selector:r,specificity:a};if(!s.has(o))return void s.set(o,[l]);const c=s.get(o);for(const e of c)n(a,e.specificity)<0&&f({ruleName:w,result:m,node:t,message:b.rejected(r,e.selector),word:r});c.push(l)}s.walkRules(e=>{if(!a(e))return;if(d(t,"ignore","selectors-within-list")&&e.selectors.length>1)return;const s=y.getContext(e,o(e));for(const t of e.selectors)if(""!==t.trim())for(const i of r(t,e))p(i,m,e,t=>{l(i)&&x(t,e,s)})})};y.ruleName=w,y.messages=b,y.meta={url:"https://stylelint.io/user-guide/rules/list/no-descending-specificity"},t.exports=y},{"../../reference/keywordSets":110,"../../utils/findAtRuleContext":336,"../../utils/isStandardSyntaxRule":394,"../../utils/isStandardSyntaxSelector":395,"../../utils/nodeContextLookup":405,"../../utils/optionsMatches":406,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"@csstools/selector-specificity":2,"postcss-resolve-nested-selector":28}],237:[(e,t,s)=>{const r=e("postcss-media-query-parser").default,i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),a=e("postcss-value-parser"),l="no-duplicate-at-import-rules",u=n(l,{rejected:e=>`Unexpected duplicate @import rule ${e}`}),c=e=>(t,s)=>{if(!o(s,l,{actual:e}))return;const n={};t.walkAtRules(/^import$/i,e=>{const[t,...o]=a(e.params).nodes;if(!t)return;const c="function"===t.type&&"url"===t.value&&t.nodes[0]?t.nodes[0].value:t.value,d=(r(a.stringify(o)).nodes||[]).map(e=>e.value.replace(/\s/g,"")).filter(e=>e.length);let p=n[c];(d.length?d.some(e=>p&&p.includes(e)):p)?i({message:u.rejected(c),node:e,result:s,ruleName:l,word:e.toString()}):(p||(p=n[c]=[]),p.push(...d))})};c.ruleName=l,c.messages=u,c.meta={url:"https://stylelint.io/user-guide/rules/list/no-duplicate-at-import-rules"},t.exports=c},{"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"postcss-media-query-parser":24,"postcss-value-parser":59}],238:[(e,t,s)=>{const r=e("postcss-resolve-nested-selector"),i=e("postcss-selector-parser"),n=e("../../utils/findAtRuleContext"),o=e("../../utils/isKeyframeRule"),a=e("../../utils/isStandardSyntaxSelector"),l=e("../../utils/nodeContextLookup"),u=e("../../utils/parseSelector"),c=e("../../utils/report"),d=e("../../utils/ruleMessages"),p=e("../../utils/validateOptions"),{isBoolean:f}=e("../../utils/validateTypes"),m="no-duplicate-selectors",h=d(m,{rejected:(e,t)=>`Unexpected duplicate selector "${e}", first used at line ${t}`}),g=(e,t)=>(s,i)=>{if(!p(i,m,{actual:e},{actual:t,possible:{disallowInList:[f]},optional:!0}))return;const a=t&&t.disallowInList,d=l();s.walkRules(e=>{if(o(e))return;const t=d.getContext(e,n(e)),s=[...new Set(e.selectors.flatMap(t=>r(t,e)))],l=[...s.map(w)].sort().join(",");if(!e.source)throw new Error("The rule node must have a source");if(!e.source.start)throw new Error("The rule source must have a start position");const p=e.source.start.line;let f;const g=[];if(a?u(l,i,e,e=>{e.each(e=>{const s=String(e);g.push(s),t.get(s)&&(f=t.get(s))})}):f=t.get(l),f){const t=s.join(",")!==e.selectors.join(",")?s.join(", "):e.selector;return c({result:i,ruleName:m,node:e,message:h.rejected(t,f),word:t})}const b=new Set,y=new Set;for(const t of e.selectors){const s=w(t);if(b.has(s)){if(y.has(s))continue;c({result:i,ruleName:m,node:e,message:h.rejected(t,p),word:t}),y.add(s)}else b.add(s)}if(a)for(const e of g)t.set(e,p);else t.set(l,p)})};function w(e){return a(e)?i().processSync(e,{lossless:!1}):e}g.ruleName=m,g.messages=h,g.meta={url:"https://stylelint.io/user-guide/rules/list/no-duplicate-selectors"},t.exports=g},{"../../utils/findAtRuleContext":336,"../../utils/isKeyframeRule":374,"../../utils/isStandardSyntaxSelector":395,"../../utils/nodeContextLookup":405,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"postcss-resolve-nested-selector":28,"postcss-selector-parser":29}],239:[(e,t,s)=>{const r=e("../../utils/report"),i=e("../../utils/ruleMessages"),n=e("../../utils/validateOptions"),o="no-empty-first-line",a=/^\s*[\r\n]/,l=i(o,{rejected:"Unexpected empty line"}),u=(e,t,s)=>(t,i)=>{if(!n(i,o,{actual:e})||t.source.inline||"object-literal"===t.source.lang)return;const u=s.fix?t.toString():t.source&&t.source.input.css||"";if(u.trim()&&a.test(u)){if(s.fix){if(null==t.first)throw new Error("The root node must have the first node.");if(null==t.first.raws.before)throw new Error("The first node must have spaces before.");return void(t.first.raws.before=t.first.raws.before.trimStart())}r({message:l.rejected,node:t,result:i,ruleName:o})}};u.ruleName=o,u.messages=l,u.meta={url:"https://stylelint.io/user-guide/rules/list/no-empty-first-line"},t.exports=u},{"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420}],240:[(e,t,s)=>{const r=e("../../utils/report"),i=e("../../utils/ruleMessages"),n=e("../../utils/validateOptions"),o="no-empty-source",a=i(o,{rejected:"Unexpected empty source"}),l=(e,t,s)=>(t,i)=>{n(i,o,{actual:e})&&((s.fix?t.toString():t.source&&t.source.input.css||"").trim()||r({message:a.rejected,node:t,result:i,ruleName:o}))};l.ruleName=o,l.messages=a,l.meta={url:"https://stylelint.io/user-guide/rules/list/no-empty-source"},t.exports=l},{"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420}],241:[(e,t,s)=>{const r=e("style-search"),i=e("../../utils/isOnlyWhitespace"),n=e("../../utils/isStandardSyntaxComment"),o=e("../../utils/optionsMatches"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),{isAtRule:u,isComment:c,isDeclaration:d,isRule:p}=e("../../utils/typeGuards"),f=e("../../utils/validateOptions"),m="no-eol-whitespace",h=l(m,{rejected:"Unexpected whitespace at end of line"}),g=new Set([" ","\t"]);function w(e){return e.replace(/[ \t]+$/,"")}function b(e,t,{ignoreEmptyLines:s,isRootFirst:r}={ignoreEmptyLines:!1,isRootFirst:!1}){const n=e-1;if(!g.has(t.charAt(n)))return-1;if(s){const e=t.lastIndexOf("\n",n);if(e>=0||r){const s=t.substring(e,n);if(i(s))return-1}}return n}const y=(e,t,s)=>(i,l)=>{if(!f(l,m,{actual:e},{optional:!0,actual:t,possible:{ignore:["empty-lines"]}}))return;const g=o(t,"ignore","empty-lines");s.fix&&(e=>{let t=!0;if(e.walk(e=>{if(S(e.raws.before,t=>{e.raws.before=t},t),t=!1,u(e)){S(e.raws.afterName,t=>{e.raws.afterName=t});const t=e.raws.params;t?S(t.raw,e=>{t.raw=e}):S(e.params,t=>{e.params=t})}if(p(e)){const t=e.raws.selector;t?S(t.raw,e=>{t.raw=e}):S(e.selector,t=>{e.selector=t})}if((u(e)||p(e)||d(e))&&S(e.raws.between,t=>{e.raws.between=t}),d(e)){const t=e.raws.value;t?S(t.raw,e=>{t.raw=e}):S(e.value,t=>{e.value=t})}c(e)&&(S(e.raws.left,t=>{e.raws.left=t}),n(e)?S(e.raws.right,t=>{e.raws.right=t}):e.raws.right=e.raws.right&&w(e.raws.right),S(e.text,t=>{e.text=t})),(u(e)||p(e))&&S(e.raws.after,t=>{e.raws.after=t})}),S(e.raws.after,t=>{e.raws.after=t},t),"string"==typeof e.raws.after){const t=Math.max(e.raws.after.lastIndexOf("\n"),e.raws.after.lastIndexOf("\r"));t!==e.raws.after.length-1&&(e.raws.after=e.raws.after.slice(0,t+1)+w(e.raws.after.slice(t+1)))}})(i);const y=s.fix?i.toString():i.source&&i.source.input.css||"",x=e=>{a({message:h.rejected,node:i,index:e,result:l,ruleName:m})};k(y,x,!0);const v=b(y.length,y,{ignoreEmptyLines:g,isRootFirst:!0});function k(e,t,s){r({source:e,target:["\n","\r"],comments:"check"},r=>{const i=b(r.startIndex,e,{ignoreEmptyLines:g,isRootFirst:s});i>-1&&t(i)})}function S(e,t,s=!1){if(!e)return;let r="",i=0;k(e,t=>{const s=t+1;r+=w(e.slice(i,s)),i=s},s),i&&t(r+=e.slice(i))}v>-1&&x(v)};y.ruleName=m,y.messages=h,y.meta={url:"https://stylelint.io/user-guide/rules/list/no-eol-whitespace"},t.exports=y},{"../../utils/isOnlyWhitespace":379,"../../utils/isStandardSyntaxComment":388,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/typeGuards":417,"../../utils/validateOptions":420,"style-search":92}],242:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxAtRule"),i=e("../../utils/isStandardSyntaxRule"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("style-search"),l=e("../../utils/validateOptions"),u="no-extra-semicolons",c=o(u,{rejected:"Unexpected extra semicolon"});function d(e){if(e.parent&&e.parent.document)return 0;const t=e.root();if(!t.source)throw new Error("The root node must have a source");if(!e.source)throw new Error("The node must have a source");if(!e.source.start)throw new Error("The source must have a start position");const s=t.source.input.css,r=e.source.start.column,i=e.source.start.line;let n=1,o=1,a=0;for(let e=0;e(t,o)=>{if(l(o,u,{actual:e})){if(t.raws.after&&0!==t.raws.after.trim().length){const e=t.raws.after,r=[];a({source:e,target:";"},i=>{if(s.fix)r.push(i.startIndex);else{if(!t.source)throw new Error("The root node must have a source");p(t.source.input.css.length-e.length+i.startIndex)}}),r.length&&(t.raws.after=f(e,r))}t.walk(e=>{if(("atrule"!==e.type||r(e))&&("rule"!==e.type||i(e))){if(e.raws.before&&0!==e.raws.before.trim().length){const t=e.raws.before,r=0,i=0,n=[];a({source:t,target:";"},(o,a)=>{a!==r&&(s.fix?n.push(o.startIndex-i):p(d(e)-t.length+o.startIndex))}),n.length&&(e.raws.before=f(t,n))}if("string"==typeof e.raws.after&&0!==e.raws.after.trim().length){const t=e.raws.after;if("last"in e&&e.last&&"atrule"===e.last.type&&!r(e.last))return;const i=[];a({source:t,target:";"},r=>{s.fix?i.push(r.startIndex):p(d(e)+e.toString().length-1-t.length+r.startIndex)}),i.length&&(e.raws.after=f(t,i))}if("string"==typeof e.raws.ownSemicolon){const t=e.raws.ownSemicolon,r=0,i=[];a({source:t,target:";"},(n,o)=>{o!==r&&(s.fix?i.push(n.startIndex):p(d(e)+e.toString().length-t.length+n.startIndex))}),i.length&&(e.raws.ownSemicolon=f(t,i))}}})}function p(e){n({message:c.rejected,node:t,index:e,result:o,ruleName:u})}function f(e,t){for(const s of t.reverse())e=e.slice(0,s)+e.slice(s+1);return e}};p.ruleName=u,p.messages=c,p.meta={url:"https://stylelint.io/user-guide/rules/list/no-extra-semicolons"},t.exports=p},{"../../utils/isStandardSyntaxAtRule":385,"../../utils/isStandardSyntaxRule":394,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"style-search":92}],243:[(e,t,s)=>{const r=e("../../utils/report"),i=e("../../utils/ruleMessages"),n=e("../../utils/validateOptions"),o="no-invalid-double-slash-comments",a=i(o,{rejected:"Unexpected double-slash CSS comment"}),l=e=>(t,s)=>{n(s,o,{actual:e})&&(t.walkDecls(e=>{e.prop.startsWith("//")&&r({message:a.rejected,node:e,result:s,ruleName:o,word:e.toString()})}),t.walkRules(e=>{for(const t of e.selectors)t.startsWith("//")&&r({message:a.rejected,node:e,result:s,ruleName:o,word:e.toString()})}))};l.ruleName=o,l.messages=a,l.meta={url:"https://stylelint.io/user-guide/rules/list/no-invalid-double-slash-comments"},t.exports=l},{"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420}],244:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxAtRule"),i=e("../../utils/isStandardSyntaxRule"),n=e("../../utils/optionsMatches"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),{isRegExp:u,isString:c}=e("../../utils/validateTypes"),d="no-invalid-position-at-import-rule",p=a(d,{rejected:"Unexpected invalid position @import rule"}),f=(e,t)=>(s,a)=>{if(!l(a,d,{actual:e},{actual:t,possible:{ignoreAtRules:[c,u]},optional:!0}))return;let f=!1;s.walk(e=>{const s="name"in e&&e.name&&e.name.toLowerCase()||"";"atrule"===e.type&&"charset"!==s&&"import"!==s&&"layer"!==s&&!n(t,"ignoreAtRules",e.name)&&r(e)||"rule"===e.type&&i(e)?f=!0:"atrule"===e.type&&"import"===s&&f&&o({message:p.rejected,node:e,result:a,ruleName:d,word:e.toString()})})};f.ruleName=d,f.messages=p,f.meta={url:"https://stylelint.io/user-guide/rules/list/no-invalid-position-at-import-rule"},t.exports=f},{"../../utils/isStandardSyntaxAtRule":385,"../../utils/isStandardSyntaxRule":394,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],245:[(e,t,s)=>{const r=e("../../utils/report"),i=e("../../utils/ruleMessages"),n=e("../../utils/validateOptions"),o="no-irregular-whitespace",a=i(o,{unexpected:"Unexpected irregular whitespace"}),l=new RegExp(`([${["\v","\f"," ","…"," ","᠎","\ufeff"," "," "," "," "," "," "," "," "," "," "," ","​","\u2028","\u2029"," "," "," "].join("")}])`),u=e=>(t,s)=>{if(!n(s,o,{actual:e}))return;const i=(e,t)=>{const i=t&&(e=>{const t=l.exec(e);return t&&t[1]||null})(t);i&&r({ruleName:o,result:s,message:a.unexpected,node:e,word:i})};t.walkAtRules(e=>{i(e,e.name),i(e,e.params),i(e,e.raws.before),i(e,e.raws.after),i(e,e.raws.afterName),i(e,e.raws.between)}),t.walkRules(e=>{i(e,e.selector),i(e,e.raws.before),i(e,e.raws.after),i(e,e.raws.between)}),t.walkDecls(e=>{i(e,e.prop),i(e,e.value),i(e,e.raws.before),i(e,e.raws.between)})};u.ruleName=o,u.messages=a,u.meta={url:"https://stylelint.io/user-guide/rules/list/no-irregular-whitespace"},t.exports=u},{"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420}],246:[(e,t,s)=>{const r=e("../../utils/report"),i=e("../../utils/ruleMessages"),n=e("../../utils/validateOptions"),o="no-missing-end-of-source-newline",a=i(o,{rejected:"Unexpected missing end-of-source newline"}),l=(e,t,s)=>(t,i)=>{if(!n(i,o,{actual:e}))return;if(null==t.source)throw new Error("The root node must have a source property");if(t.source.inline||"object-literal"===t.source.lang)return;const l=s.fix?t.toString():t.source.input.css;l.trim()&&!l.endsWith("\n")&&(s.fix?t.raws.after=s.newline:r({message:a.rejected,node:t,index:l.length-1,result:i,ruleName:o}))};l.ruleName=o,l.messages=a,l.meta={url:"https://stylelint.io/user-guide/rules/list/no-missing-end-of-source-newline"},t.exports=l},{"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420}],247:[(e,t,s)=>{const r=e("../../utils/declarationValueIndex"),i=e("../../utils/findAnimationName"),n=e("../../reference/keywordSets"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u="no-unknown-animations",c=a(u,{rejected:e=>`Unexpected unknown animation name "${e}"`}),d=e=>(t,s)=>{if(!l(s,u,{actual:e}))return;const a=new Set;t.walkAtRules(/(-(moz|webkit)-)?keyframes/i,e=>{a.add(e.params)}),t.walkDecls(e=>{if("animation"===e.prop.toLowerCase()||"animation-name"===e.prop.toLowerCase()){const t=i(e.value);if(0===t.length)return;for(const i of t)n.animationNameKeywords.has(i.value.toLowerCase())||a.has(i.value)||o({result:s,ruleName:u,message:c.rejected(i.value),node:e,index:r(e)+i.sourceIndex})}})};d.ruleName=u,d.messages=c,d.meta={url:"https://stylelint.io/user-guide/rules/list/no-unknown-animations"},t.exports=d},{"../../reference/keywordSets":110,"../../utils/declarationValueIndex":333,"../../utils/findAnimationName":335,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420}],248:[(e,t,s)=>{const r=e("postcss-value-parser"),i=e("../../utils/atRuleParamIndex"),n=e("../../utils/declarationValueIndex"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u="number-leading-zero",c=a(u,{expected:"Expected a leading zero",rejected:"Unexpected leading zero"}),d=(e,t,s)=>(t,a)=>{function d(t,o){const a=[],l=[];if(o.includes(".")){if(r(o).walk(r=>{if("function"===r.type&&"url"===r.value.toLowerCase())return!1;if("word"===r.type){if("always"===e){const e=/(?:\D|^)(\.\d+)/.exec(r.value);if(null==e||null==e[0]||null==e[1])return;const o=e[0].length-e[1].length,a=r.sourceIndex+e.index+o;if(s.fix)return void l.unshift({index:a});const u="atrule"===t.type?i(t):n(t);m(c.expected,t,u+a)}if("never"===e){const e=/(?:\D|^)(0+)(\.\d+)/.exec(r.value);if(null==e||null==e[0]||null==e[1]||null==e[2])return;const o=e[0].length-(e[1].length+e[2].length),l=r.sourceIndex+e.index+o;if(s.fix)return void a.unshift({startIndex:l,endIndex:l+e[1].length});const u="atrule"===t.type?i(t):n(t);m(c.rejected,t,u+l)}}}),l.length)for(const e of l){const s=e.index;"atrule"===t.type?t.params=p(t.params,s):t.value=p(t.value,s)}if(a.length)for(const e of a){const s=e.startIndex,r=e.endIndex;"atrule"===t.type?t.params=f(t.params,s,r):t.value=f(t.value,s,r)}}}function m(e,t,s){o({result:a,ruleName:u,message:e,node:t,index:s})}l(a,u,{actual:e,possible:["always","never"]})&&(t.walkAtRules(e=>{"import"!==e.name.toLowerCase()&&d(e,e.params)}),t.walkDecls(e=>d(e,e.value)))};function p(e,t){return e.slice(0,t)+"0"+e.slice(t)}function f(e,t,s){return e.slice(0,t)+e.slice(s)}d.ruleName=u,d.messages=c,d.meta={url:"https://stylelint.io/user-guide/rules/list/number-leading-zero"},t.exports=d},{"../../utils/atRuleParamIndex":326,"../../utils/declarationValueIndex":333,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"postcss-value-parser":59}],249:[(e,t,s)=>{const r=e("postcss-value-parser"),i=e("../../utils/atRuleParamIndex"),n=e("../../utils/declarationValueIndex"),o=e("../../utils/getUnitFromValueNode"),a=e("../../utils/optionsMatches"),l=e("../../utils/report"),u=e("../../utils/ruleMessages"),c=e("../../utils/validateOptions"),{isNumber:d,isRegExp:p,isString:f}=e("../../utils/validateTypes"),m="number-max-precision",h=u(m,{expected:(e,t)=>`Expected "${e}" to be "${t}"`}),g=(e,t)=>(s,u)=>{function g(s,c){if(!c.includes("."))return;const d="prop"in s?s.prop:void 0;a(t,"ignoreProperties",d)||r(c).walk(r=>{const c=o(r);if(a(t,"ignoreUnits",c))return;if("function"===r.type&&"url"===r.value.toLowerCase())return!1;if("word"!==r.type)return;const d=/\d*\.(\d+)/.exec(r.value);if(null==d||null==d[0]||null==d[1])return;if(d[1].length<=e)return;const p="atrule"===s.type?i(s):n(s),f=Number.parseFloat(d[0]);l({result:u,ruleName:m,node:s,index:p+r.sourceIndex+d.index,message:h.expected(f,f.toFixed(e))})})}c(u,m,{actual:e,possible:[d]},{optional:!0,actual:t,possible:{ignoreProperties:[f,p],ignoreUnits:[f,p]}})&&(s.walkAtRules(e=>{"import"!==e.name.toLowerCase()&&g(e,e.params)}),s.walkDecls(e=>g(e,e.value)))};g.ruleName=m,g.messages=h,g.meta={url:"https://stylelint.io/user-guide/rules/list/number-max-precision"},t.exports=g},{"../../utils/atRuleParamIndex":326,"../../utils/declarationValueIndex":333,"../../utils/getUnitFromValueNode":350,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"postcss-value-parser":59}],250:[(e,t,s)=>{const r=e("postcss-value-parser"),i=e("../../utils/atRuleParamIndex"),n=e("../../utils/declarationValueIndex"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u="number-no-trailing-zeros",c=a(u,{rejected:"Unexpected trailing zero(s)"}),d=(e,t,s)=>(t,a)=>{function d(e,t){const l=[];if(t.includes(".")&&(r(t).walk(t=>{if("function"===t.type&&"url"===t.value.toLowerCase())return!1;if("word"!==t.type)return;const r=/\.(\d{0,100}?)(0+)(?:\D|$)/.exec(t.value);if(null==r||null==r[1]||null==r[2])return;const d=t.sourceIndex+r.index+1+r[1].length,p=r[1].length>0?d:d-1,f=d+r[2].length;if(s.fix)return void l.unshift({startIndex:p,endIndex:f});const m="atrule"===e.type?i(e):n(e);o({message:c.rejected,node:e,index:m+d,result:a,ruleName:u})}),l.length))for(const t of l){const s=t.startIndex,r=t.endIndex;"atrule"===e.type?e.params=p(e.params,s,r):e.value=p(e.value,s,r)}}l(a,u,{actual:e})&&(t.walkAtRules(e=>{"import"!==e.name.toLowerCase()&&d(e,e.params)}),t.walkDecls(e=>d(e,e.value)))};function p(e,t,s){return e.slice(0,t)+e.slice(s)}d.ruleName=u,d.messages=c,d.meta={url:"https://stylelint.io/user-guide/rules/list/number-no-trailing-zeros"},t.exports=d},{"../../utils/atRuleParamIndex":326,"../../utils/declarationValueIndex":333,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"postcss-value-parser":59}],251:[(e,t,s)=>{const r=e("../../utils/isCustomProperty"),i=e("../../utils/isStandardSyntaxProperty"),n=e("../../utils/matchesStringOrRegExp"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("../../utils/vendor"),{isRegExp:c,isString:d}=e("../../utils/validateTypes"),p="property-allowed-list",f=a(p,{rejected:e=>`Unexpected property "${e}"`}),m=e=>(t,s)=>{l(s,p,{actual:e,possible:[d,c]})&&t.walkDecls(t=>{const a=t.prop;i(a)&&(r(a)||n([a,u.unprefixed(a)],e)||o({message:f.rejected(a),node:t,result:s,ruleName:p}))})};m.primaryOptionArray=!0,m.ruleName=p,m.messages=f,m.meta={url:"https://stylelint.io/user-guide/rules/list/property-allowed-list"},t.exports=m},{"../../utils/isCustomProperty":370,"../../utils/isStandardSyntaxProperty":393,"../../utils/matchesStringOrRegExp":403,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/vendor":422}],252:[(e,t,s)=>{const r=e("../../utils/isCustomProperty"),i=e("../../utils/isStandardSyntaxProperty"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),l=e("../../utils/optionsMatches"),{isRegExp:u,isString:c}=e("../../utils/validateTypes"),{isRule:d}=e("../../utils/typeGuards"),p="property-case",f=o(p,{expected:(e,t)=>`Expected "${e}" to be "${t}"`}),m=(e,t,s)=>(o,m)=>{a(m,p,{actual:e,possible:["lower","upper"]},{actual:t,possible:{ignoreSelectors:[c,u]},optional:!0})&&o.walkDecls(o=>{const a=o.prop;if(!i(a))return;if(r(a))return;const{parent:u}=o;if(!u)throw new Error("A parent node must be present");if(d(u)){const{selector:e}=u;if(e&&l(t,"ignoreSelectors",e))return}const c="lower"===e?a.toLowerCase():a.toUpperCase();a!==c&&(s.fix?o.prop=c:n({message:f.expected(a,c),node:o,ruleName:p,result:m}))})};m.ruleName=p,m.messages=f,m.meta={url:"https://stylelint.io/user-guide/rules/list/property-case"},t.exports=m},{"../../utils/isCustomProperty":370,"../../utils/isStandardSyntaxProperty":393,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/typeGuards":417,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],253:[(e,t,s)=>{const r=e("../../utils/isCustomProperty"),i=e("../../utils/isStandardSyntaxProperty"),n=e("../../utils/matchesStringOrRegExp"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("../../utils/vendor"),{isRegExp:c,isString:d}=e("../../utils/validateTypes"),p="property-disallowed-list",f=a(p,{rejected:e=>`Unexpected property "${e}"`}),m=e=>(t,s)=>{l(s,p,{actual:e,possible:[d,c]})&&t.walkDecls(t=>{const a=t.prop;i(a)&&(r(a)||n([a,u.unprefixed(a)],e)&&o({message:f.rejected(a),node:t,result:s,ruleName:p}))})};m.primaryOptionArray=!0,m.ruleName=p,m.messages=f,m.meta={url:"https://stylelint.io/user-guide/rules/list/property-disallowed-list"},t.exports=m},{"../../utils/isCustomProperty":370,"../../utils/isStandardSyntaxProperty":393,"../../utils/matchesStringOrRegExp":403,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/vendor":422}],254:[(e,t,s)=>{const r=e("../../utils/isCustomProperty"),i=e("../../utils/isStandardSyntaxDeclaration"),n=e("../../utils/isStandardSyntaxProperty"),o=e("../../utils/optionsMatches"),a=e("known-css-properties").all,l=e("../../utils/report"),u=e("../../utils/ruleMessages"),{isAtRule:c,isRule:d}=e("../../utils/typeGuards"),p=e("../../utils/validateOptions"),f=e("../../utils/vendor"),{isBoolean:m,isRegExp:h,isString:g}=e("../../utils/validateTypes"),w="property-no-unknown",b=u(w,{rejected:e=>`Unexpected unknown property "${e}"`}),y=(e,t)=>{const s=new Set(a);return(a,u)=>{if(!p(u,w,{actual:e},{actual:t,possible:{ignoreProperties:[g,h],checkPrefixed:[m],ignoreSelectors:[g,h],ignoreAtRules:[g,h]},optional:!0}))return;const y=t&&t.checkPrefixed;a.walkDecls(e=>{const a=e.prop;if(!n(a))return;if(!i(e))return;if(r(a))return;if(!y&&f.prefix(a))return;if(o(t,"ignoreProperties",a))return;const p=e.parent;if(p&&d(p)&&o(t,"ignoreSelectors",p.selector))return;let m=p;for(;m&&"root"!==m.type;){if(c(m)&&o(t,"ignoreAtRules",m.name))return;m=m.parent}s.has(a.toLowerCase())||l({message:b.rejected(a),node:e,result:u,ruleName:w,word:a})})}};y.ruleName=w,y.messages=b,y.meta={url:"https://stylelint.io/user-guide/rules/list/property-no-unknown"},t.exports=y},{"../../utils/isCustomProperty":370,"../../utils/isStandardSyntaxDeclaration":389,"../../utils/isStandardSyntaxProperty":393,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/typeGuards":417,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/vendor":422,"known-css-properties":19}],255:[(e,t,s)=>{const r=e("postcss-value-parser"),{assert:i}=e("../utils/validateTypes"),n=new Set([">=","<=",">","<","="]);t.exports=(e=>{let t;const s=[];var o;return r(e.value).walk(e=>{"word"===e.type&&(n.has(e.value)||(null==t&&(o=e.value,/^(?!--)\D/.test(o)||/^--./.test(o))?t=e:s.push(e)))}),i(t),{name:{value:t.value,sourceIndex:e.sourceIndex+t.sourceIndex},values:s.map(t=>({value:t.value,sourceIndex:e.sourceIndex+t.sourceIndex}))}})},{"../utils/validateTypes":421,"postcss-value-parser":59}],256:[(e,t,s)=>{const r=e("../../utils/addEmptyLineBefore"),i=e("../../utils/getPreviousNonSharedLineCommentNode"),n=e("../../utils/hasEmptyLine"),o=e("../../utils/isAfterSingleLineComment"),a=e("../../utils/isFirstNested"),l=e("../../utils/isFirstNodeOfRoot"),u=e("../../utils/isSingleLineString"),c=e("../../utils/isStandardSyntaxRule"),d=e("../../utils/optionsMatches"),p=e("../../utils/removeEmptyLinesBefore"),f=e("../../utils/report"),m=e("../../utils/ruleMessages"),h=e("../../utils/validateOptions"),g="rule-empty-line-before",w=m(g,{expected:"Expected empty line before rule",rejected:"Unexpected empty line before rule"}),b=(e,t,s)=>(i,m)=>{if(!h(m,g,{actual:e,possible:["always","never","always-multi-line","never-multi-line"]},{actual:t,possible:{ignore:["after-comment","first-nested","inside-block"],except:["after-rule","after-single-line-comment","first-nested","inside-block-and-after-rule","inside-block"]},optional:!0}))return;const b=e;i.walkRules(e=>{if(!c(e))return;if(l(e))return;if(d(t,"ignore","after-comment")){const t=e.prev();if(t&&"comment"===t.type)return}if(d(t,"ignore","first-nested")&&a(e))return;const i=e.parent&&"root"!==e.parent.type;if(d(t,"ignore","inside-block")&&i)return;if(b.includes("multi-line")&&u(e.toString()))return;let h=b.includes("always");if((d(t,"except","first-nested")&&a(e)||d(t,"except","after-rule")&&y(e)||d(t,"except","inside-block-and-after-rule")&&i&&y(e)||d(t,"except","after-single-line-comment")&&o(e)||d(t,"except","inside-block")&&i)&&(h=!h),h===n(e.raws.before))return;if(s.fix){const t=s.newline;if("string"!=typeof t)throw new Error(`The "newline" property must be a string: ${t}`);return void(h?r(e,t):p(e,t))}const x=h?w.expected:w.rejected;f({message:x,node:e,result:m,ruleName:g})})};function y(e){const t=i(e);return null!=t&&"rule"===t.type}b.ruleName=g,b.messages=w,b.meta={url:"https://stylelint.io/user-guide/rules/list/rule-empty-line-before"},t.exports=b},{"../../utils/addEmptyLineBefore":323,"../../utils/getPreviousNonSharedLineCommentNode":347,"../../utils/hasEmptyLine":353,"../../utils/isAfterSingleLineComment":360,"../../utils/isFirstNested":372,"../../utils/isFirstNodeOfRoot":373,"../../utils/isSingleLineString":384,"../../utils/isStandardSyntaxRule":394,"../../utils/optionsMatches":406,"../../utils/removeEmptyLinesBefore":411,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420}],257:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/matchesStringOrRegExp"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateObjectWithArrayProps"),l=e("../../utils/validateOptions"),{isString:u,isRegExp:c}=e("../../utils/validateTypes"),d="rule-selector-property-disallowed-list",p=o(d,{rejected:(e,t)=>`Unexpected property "${e}" for selector "${t}"`}),f=e=>(t,s)=>{if(!l(s,d,{actual:e,possible:[a(u,c)]}))return;const o=Object.keys(e);t.walkRules(t=>{if(!r(t))return;const a=o.find(e=>i(t.selector,e));if(!a)return;const l=e[a];if(l)for(const e of t.nodes)"decl"===e.type&&i(e.prop,l)&&n({message:p.rejected(e.prop,t.selector),node:e,result:s,ruleName:d})})};f.primaryOptionArray=!0,f.ruleName=d,f.messages=p,f.meta={url:"https://stylelint.io/user-guide/rules/list/rule-selector-property-disallowed-list"},t.exports=f},{"../../utils/isStandardSyntaxRule":394,"../../utils/matchesStringOrRegExp":403,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateObjectWithArrayProps":418,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],258:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/parseSelector"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("style-search"),l=e("../../utils/validateOptions"),u="selector-attribute-brackets-space-inside",c=o(u,{expectedOpening:'Expected single space after "["',rejectedOpening:'Unexpected whitespace after "["',expectedClosing:'Expected single space before "]"',rejectedClosing:'Unexpected whitespace before "]"'}),d=(e,t,s)=>{return(t,p)=>{l(p,u,{actual:e,possible:["always","never"]})&&t.walkRules(t=>{if(!r(t))return;if(!t.selector.includes("["))return;const l=t.raws.selector?t.raws.selector.raw:t.selector;let f;const m=i(l,p,t,t=>{t.walkAttributes(t=>{const r=t.toString();a({source:r,target:"["},i=>{const n=" "===r[i.startIndex+1],a=t.sourceIndex+i.startIndex+1;if(n&&"never"===e){if(s.fix)return f=!0,void o(t);h(c.rejectedOpening,a)}if(!n&&"always"===e){if(s.fix)return f=!0,void o(t);h(c.expectedOpening,a)}}),a({source:r,target:"]"},i=>{const n=" "===r[i.startIndex-1],o=t.sourceIndex+i.startIndex-1;if(n&&"never"===e){if(s.fix)return f=!0,void d(t);h(c.rejectedClosing,o)}if(!n&&"always"===e){if(s.fix)return f=!0,void d(t);h(c.expectedClosing,o)}})})});function h(e,s){n({message:e,index:s,result:p,ruleName:u,node:t})}f&&m&&(t.raws.selector?t.raws.selector.raw=m:t.selector=m)})};function o(t){const s=t.raws.spaces&&t.raws.spaces.attribute,r=s&&s.before,{attrBefore:i,setAttrBefore:n}=r?{attrBefore:r,setAttrBefore(e){s.before=e}}:{attrBefore:t.spaces.attribute&&t.spaces.attribute.before||"",setAttrBefore(e){t.spaces.attribute||(t.spaces.attribute={}),t.spaces.attribute.before=e}};"always"===e?n(i.replace(/^\s*/," ")):"never"===e&&n(i.replace(/^\s*/,""))}function d(t){const s=t.operator?t.insensitive?"insensitive":"value":"attribute",r=t.raws.spaces&&t.raws.spaces[s],i=r&&r.after,n=t.spaces[s],{after:o,setAfter:a}=i?{after:i,setAfter(e){r.after=e}}:{after:n&&n.after||"",setAfter(e){t.spaces[s]||(t.spaces[s]={}),t.spaces[s].after=e}};"always"===e?a(o.replace(/\s*$/," ")):"never"===e&&a(o.replace(/\s*$/,""))}};d.ruleName=u,d.messages=c,d.meta={url:"https://stylelint.io/user-guide/rules/list/selector-attribute-brackets-space-inside"},t.exports=d},{"../../utils/isStandardSyntaxRule":394,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"style-search":92}],259:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/matchesStringOrRegExp"),n=e("../../utils/parseSelector"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),{isRegExp:u,isString:c}=e("../../utils/validateTypes"),d="selector-attribute-name-disallowed-list",p=a(d,{rejected:e=>`Unexpected name "${e}"`}),f=e=>(t,s)=>{l(s,d,{actual:e,possible:[c,u]})&&t.walkRules(t=>{r(t)&&t.selector.includes("[")&&n(t.selector,s,t,r=>{r.walkAttributes(r=>{const n=r.qualifiedAttribute;i(n,e)&&o({message:p.rejected(n),node:t,index:r.sourceIndex+r.offsetOf("attribute"),result:s,ruleName:d})})})})};f.primaryOptionArray=!0,f.ruleName=d,f.messages=p,f.meta={url:"https://stylelint.io/user-guide/rules/list/selector-attribute-name-disallowed-list"},t.exports=f},{"../../utils/isStandardSyntaxRule":394,"../../utils/matchesStringOrRegExp":403,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],260:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/parseSelector"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),{isString:l}=e("../../utils/validateTypes"),u="selector-attribute-operator-allowed-list",c=o(u,{rejected:e=>`Unexpected operator "${e}"`}),d=e=>(t,s)=>{if(!a(s,u,{actual:e,possible:[l]}))return;const o=[e].flat();t.walkRules(e=>{r(e)&&e.selector.includes("[")&&e.selector.includes("=")&&i(e.selector,s,e,t=>{t.walkAttributes(t=>{const r=t.operator;!r||r&&o.includes(r)||n({message:c.rejected(r),node:e,index:t.sourceIndex+t.offsetOf("operator"),result:s,ruleName:u})})})})};d.primaryOptionArray=!0,d.ruleName=u,d.messages=c,d.meta={url:"https://stylelint.io/user-guide/rules/list/selector-attribute-operator-allowed-list"},t.exports=d},{"../../utils/isStandardSyntaxRule":394,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],261:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/parseSelector"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),{isString:l}=e("../../utils/validateTypes"),u="selector-attribute-operator-disallowed-list",c=o(u,{rejected:e=>`Unexpected operator "${e}"`}),d=e=>(t,s)=>{if(!a(s,u,{actual:e,possible:[l]}))return;const o=[e].flat();t.walkRules(e=>{r(e)&&e.selector.includes("[")&&e.selector.includes("=")&&i(e.selector,s,e,t=>{t.walkAttributes(t=>{const r=t.operator;!r||r&&!o.includes(r)||n({message:c.rejected(r),node:e,index:t.sourceIndex+t.offsetOf("operator"),result:s,ruleName:u})})})})};d.primaryOptionArray=!0,d.ruleName=u,d.messages=c,d.meta={url:"https://stylelint.io/user-guide/rules/list/selector-attribute-operator-disallowed-list"},t.exports=d},{"../../utils/isStandardSyntaxRule":394,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],262:[(e,t,s)=>{const r=e("../../utils/ruleMessages"),i=e("../selectorAttributeOperatorSpaceChecker"),n=e("../../utils/validateOptions"),o=e("../../utils/whitespaceChecker"),a="selector-attribute-operator-space-after",l=r(a,{expectedAfter:e=>`Expected single space after "${e}"`,rejectedAfter:e=>`Unexpected whitespace after "${e}"`}),u=(e,t,s)=>(t,r)=>{const u=o("space",e,l);n(r,a,{actual:e,possible:["always","never"]})&&i({root:t,result:r,locationChecker:u.after,checkedRuleName:a,checkBeforeOperator:!1,fix:s.fix?t=>{const{operatorAfter:s,setOperatorAfter:r}=(()=>{const e=t.raws.operator;if(e)return{operatorAfter:e.slice(t.operator?t.operator.length:0),setOperatorAfter(e){delete t.raws.operator,t.raws.spaces||(t.raws.spaces={}),t.raws.spaces.operator||(t.raws.spaces.operator={}),t.raws.spaces.operator.after=e}};const s=t.raws.spaces&&t.raws.spaces.operator,r=s&&s.after;return r?{operatorAfter:r,setOperatorAfter(e){s.after=e}}:{operatorAfter:t.spaces.operator&&t.spaces.operator.after||"",setOperatorAfter(e){t.spaces.operator||(t.spaces.operator={}),t.spaces.operator.after=e}}})();return"always"===e?(r(s.replace(/^\s*/," ")),!0):"never"===e&&(r(s.replace(/^\s*/,"")),!0)}:null})};u.ruleName=a,u.messages=l,u.meta={url:"https://stylelint.io/user-guide/rules/list/selector-attribute-operator-space-after"},t.exports=u},{"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../selectorAttributeOperatorSpaceChecker":302}],263:[(e,t,s)=>{const r=e("../../utils/ruleMessages"),i=e("../selectorAttributeOperatorSpaceChecker"),n=e("../../utils/validateOptions"),o=e("../../utils/whitespaceChecker"),a="selector-attribute-operator-space-before",l=r(a,{expectedBefore:e=>`Expected single space before "${e}"`,rejectedBefore:e=>`Unexpected whitespace before "${e}"`}),u=(e,t,s)=>{const r=o("space",e,l);return(t,o)=>{n(o,a,{actual:e,possible:["always","never"]})&&i({root:t,result:o,locationChecker:r.before,checkedRuleName:a,checkBeforeOperator:!0,fix:s.fix?t=>{const s=t.raws.spaces&&t.raws.spaces.attribute,r=s&&s.after,{attrAfter:i,setAttrAfter:n}=r?{attrAfter:r,setAttrAfter(e){s.after=e}}:{attrAfter:t.spaces.attribute&&t.spaces.attribute.after||"",setAttrAfter(e){t.spaces.attribute||(t.spaces.attribute={}),t.spaces.attribute.after=e}};return"always"===e?(n(i.replace(/\s*$/," ")),!0):"never"===e&&(n(i.replace(/\s*$/,"")),!0)}:null})}};u.ruleName=a,u.messages=l,u.meta={url:"https://stylelint.io/user-guide/rules/list/selector-attribute-operator-space-before"},t.exports=u},{"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../selectorAttributeOperatorSpaceChecker":302}],264:[(e,t,s)=>{const r=e("../../utils/getRuleSelector"),i=e("../../utils/isStandardSyntaxRule"),n=e("../../utils/parseSelector"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),{assertString:u}=e("../../utils/validateTypes"),c="selector-attribute-quotes",d=a(c,{expected:e=>`Expected quotes around "${e}"`,rejected:e=>`Unexpected quotes around "${e}"`}),p=(e,t,s)=>(t,a)=>{l(a,c,{actual:e,possible:["always","never"]})&&t.walkRules(t=>{function l(e,s){o({message:e,index:s,result:a,ruleName:c,node:t})}i(t)&&t.selector.includes("[")&&t.selector.includes("=")&&n(r(t),a,t,r=>{let i=!1;r.walkAttributes(t=>{t.operator&&(t.quoted||"always"!==e||(s.fix?(i=!0,t.quoteMark='"'):(u(t.value),l(d.expected(t.value),t.sourceIndex+t.offsetOf("value")))),t.quoted&&"never"===e&&(s.fix?(i=!0,t.quoteMark=null):(u(t.value),l(d.rejected(t.value),t.sourceIndex+t.offsetOf("value")))))}),i&&(t.selector=r.toString())})})};p.ruleName=c,p.messages=d,p.meta={url:"https://stylelint.io/user-guide/rules/list/selector-attribute-quotes"},t.exports=p},{"../../utils/getRuleSelector":348,"../../utils/isStandardSyntaxRule":394,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],265:[(e,t,s)=>{const r=e("../../utils/isKeyframeSelector"),i=e("../../utils/isStandardSyntaxRule"),n=e("../../utils/isStandardSyntaxSelector"),o=e("../../utils/parseSelector"),a=e("../../utils/report"),l=e("postcss-resolve-nested-selector"),u=e("../../utils/ruleMessages"),c=e("../../utils/validateOptions"),{isBoolean:d,isRegExp:p,isString:f}=e("../../utils/validateTypes"),m="selector-class-pattern",h=u(m,{expected:(e,t)=>`Expected class selector ".${e}" to match pattern "${t}"`}),g=(e,t)=>(s,u)=>{if(!c(u,m,{actual:e,possible:[p,f]},{actual:t,possible:{resolveNestedSelectors:[d]},optional:!0}))return;const g=t&&t.resolveNestedSelectors,b=f(e)?new RegExp(e):e;function y(t,s){t.walkClasses(t=>{const r=t.value,i=t.sourceIndex;b.test(r)||a({result:u,ruleName:m,message:h.expected(r,e),node:s,index:i})})}s.walkRules(e=>{const t=e.selector,s=e.selectors;if(i(e)&&!s.some(e=>r(e)))if(g&&(e=>{for(const[t,s]of Array.from(e).entries()){if("&"!==s)continue;const r=e.charAt(t-1);if(r&&!w(r))return!0;const i=e.charAt(t+1);if(i&&!w(i))return!0}return!1})(t))for(const s of l(t,e))n(s)&&o(s,u,e,t=>y(t,e));else o(t,u,e,t=>y(t,e))})};function w(e){return/[\s+>~]/.test(e)}g.ruleName=m,g.messages=h,g.meta={url:"https://stylelint.io/user-guide/rules/list/selector-class-pattern"},t.exports=g},{"../../utils/isKeyframeSelector":375,"../../utils/isStandardSyntaxRule":394,"../../utils/isStandardSyntaxSelector":395,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"postcss-resolve-nested-selector":28}],266:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxCombinator"),i=e("../../utils/isStandardSyntaxRule"),n=e("../../utils/parseSelector"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),{isString:u}=e("../../utils/validateTypes"),c="selector-combinator-allowed-list",d=a(c,{rejected:e=>`Unexpected combinator "${e}"`}),p=e=>(t,s)=>{l(s,c,{actual:e,possible:[u]})&&t.walkRules(t=>{if(!i(t))return;const a=t.selector;n(a,s,t,i=>{i.walkCombinators(i=>{if(!r(i))return;const n=i.value.replace(/\s+/g," ");e.includes(n)||o({result:s,ruleName:c,message:d.rejected(n),node:t,index:i.sourceIndex})})})})};p.primaryOptionArray=!0,p.ruleName=c,p.messages=d,p.meta={url:"https://stylelint.io/user-guide/rules/list/selector-combinator-allowed-list"},t.exports=p},{"../../utils/isStandardSyntaxCombinator":387,"../../utils/isStandardSyntaxRule":394,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],267:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxCombinator"),i=e("../../utils/isStandardSyntaxRule"),n=e("../../utils/parseSelector"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),{isString:u}=e("../../utils/validateTypes"),c="selector-combinator-disallowed-list",d=a(c,{rejected:e=>`Unexpected combinator "${e}"`}),p=e=>(t,s)=>{l(s,c,{actual:e,possible:[u]})&&t.walkRules(t=>{if(!i(t))return;const a=t.selector;n(a,s,t,i=>{i.walkCombinators(i=>{if(!r(i))return;const n=i.value.replace(/\s+/g," ");e.includes(n)&&o({result:s,ruleName:c,message:d.rejected(n),node:t,index:i.sourceIndex})})})})};p.primaryOptionArray=!0,p.ruleName=c,p.messages=d,p.meta={url:"https://stylelint.io/user-guide/rules/list/selector-combinator-disallowed-list"},t.exports=p},{"../../utils/isStandardSyntaxCombinator":387,"../../utils/isStandardSyntaxRule":394,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],268:[(e,t,s)=>{const r=e("../../utils/ruleMessages"),i=e("../selectorCombinatorSpaceChecker"),n=e("../../utils/validateOptions"),o=e("../../utils/whitespaceChecker"),a="selector-combinator-space-after",l=r(a,{expectedAfter:e=>`Expected single space after "${e}"`,rejectedAfter:e=>`Unexpected whitespace after "${e}"`}),u=(e,t,s)=>{const r=o("space",e,l);return(t,o)=>{n(o,a,{actual:e,possible:["always","never"]})&&i({root:t,result:o,locationChecker:r.after,locationType:"after",checkedRuleName:a,fix:s.fix?t=>"always"===e?(t.spaces.after=" ",!0):"never"===e&&(t.spaces.after="",!0):null})}};u.ruleName=a,u.messages=l,u.meta={url:"https://stylelint.io/user-guide/rules/list/selector-combinator-space-after"},t.exports=u},{"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../selectorCombinatorSpaceChecker":303}],269:[(e,t,s)=>{const r=e("../../utils/ruleMessages"),i=e("../selectorCombinatorSpaceChecker"),n=e("../../utils/validateOptions"),o=e("../../utils/whitespaceChecker"),a="selector-combinator-space-before",l=r(a,{expectedBefore:e=>`Expected single space before "${e}"`,rejectedBefore:e=>`Unexpected whitespace before "${e}"`}),u=(e,t,s)=>{const r=o("space",e,l);return(t,o)=>{n(o,a,{actual:e,possible:["always","never"]})&&i({root:t,result:o,locationChecker:r.before,locationType:"before",checkedRuleName:a,fix:s.fix?t=>"always"===e?(t.spaces.before=" ",!0):"never"===e&&(t.spaces.before="",!0):null})}};u.ruleName=a,u.messages=l,u.meta={url:"https://stylelint.io/user-guide/rules/list/selector-combinator-space-before"},t.exports=u},{"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../selectorCombinatorSpaceChecker":303}],270:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/parseSelector"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),l="selector-descendant-combinator-no-non-space",u=o(l,{rejected:e=>`Unexpected "${e}"`}),c=(e,t,s)=>(t,o)=>{a(o,l,{actual:e})&&t.walkRules(e=>{if(!r(e))return;let t=!1;const a=e.raws.selector?e.raws.selector.raw:e.selector;if(a.includes("/*"))return;const c=i(a,o,e,r=>{r.walkCombinators(r=>{if(" "!==r.value)return;const i=r.toString();if(i.includes(" ")||i.includes("\t")||i.includes("\n")||i.includes("\r")){if(s.fix&&/^\s+$/.test(i))return t=!0,r.raws||(r.raws={}),r.raws.value=" ",r.rawSpaceBefore=r.rawSpaceBefore.replace(/^\s+/,""),void(r.rawSpaceAfter=r.rawSpaceAfter.replace(/\s+$/,""));n({result:o,ruleName:l,message:u.rejected(i),node:e,index:r.sourceIndex})}})});t&&c&&(e.raws.selector?e.raws.selector.raw=c:e.selector=c)})};c.ruleName=l,c.messages=u,c.meta={url:"https://stylelint.io/user-guide/rules/list/selector-descendant-combinator-no-non-space"},t.exports=c},{"../../utils/isStandardSyntaxRule":394,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420}],271:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/matchesStringOrRegExp"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),{isRegExp:l,isString:u}=e("../../utils/validateTypes"),c="selector-disallowed-list",d=o(c,{rejected:e=>`Unexpected selector "${e}"`}),p=e=>(t,s)=>{a(s,c,{actual:e,possible:[u,l]})&&t.walkRules(t=>{if(!r(t))return;const o=t.selector;i(o,e)&&n({result:s,ruleName:c,message:d.rejected(o),node:t})})};p.primaryOptionArray=!0,p.ruleName=c,p.messages=d,p.meta={url:"https://stylelint.io/user-guide/rules/list/selector-disallowed-list"},t.exports=p},{"../../utils/isStandardSyntaxRule":394,"../../utils/matchesStringOrRegExp":403,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],272:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/parseSelector"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),{isRegExp:l,isString:u}=e("../../utils/validateTypes"),c="selector-id-pattern",d=o(c,{expected:(e,t)=>`Expected ID selector "#${e}" to match pattern "${t}"`}),p=e=>(t,s)=>{if(!a(s,c,{actual:e,possible:[l,u]}))return;const o=u(e)?new RegExp(e):e;t.walkRules(t=>{if(!r(t))return;const a=t.selector;i(a,s,t,r=>{r.walk(r=>{if("id"!==r.type)return;const i=r.value,a=r.sourceIndex;o.test(i)||n({result:s,ruleName:c,message:d.expected(i,e),node:t,index:a})})})})};p.ruleName=c,p.messages=d,p.meta={url:"https://stylelint.io/user-guide/rules/list/selector-id-pattern"},t.exports=p},{"../../utils/isStandardSyntaxRule":394,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],273:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("style-search"),a=e("../../utils/validateOptions"),l=e("../../utils/whitespaceChecker"),u="selector-list-comma-newline-after",c=n(u,{expectedAfter:()=>'Expected newline after ","',expectedAfterMultiLine:()=>'Expected newline after "," in a multi-line list',rejectedAfterMultiLine:()=>'Unexpected whitespace after "," in a multi-line list'}),d=(e,t,s)=>{const n=l("newline",e,c);return(t,l)=>{a(l,u,{actual:e,possible:["always","always-multi-line","never-multi-line"]})&&t.walkRules(t=>{if(!r(t))return;const a=t.raws.selector?t.raws.selector.raw:t.selector,c=[];if(o({source:a,target:",",functionArguments:"skip"},e=>{const r=a.slice(e.endIndex);if(/^\s+\/\//.test(r))return;const o=/^\s+\/\*/.test(r)?a.indexOf("*/",e.endIndex)+1:e.startIndex;n.afterOneOnly({source:a,index:o,err(r){s.fix?c.push(o+1):i({message:r,node:t,index:e.startIndex,result:l,ruleName:u})}})}),c.length){let r=a;for(const t of c.sort((e,t)=>t-e)){const i=r.slice(0,t);let n=r.slice(t);e.startsWith("always")?n=s.newline+n:e.startsWith("never-multi-line")&&(n=n.replace(/^\s*/,"")),r=i+n}t.raws.selector?t.raws.selector.raw=r:t.selector=r}})}};d.ruleName=u,d.messages=c,d.meta={url:"https://stylelint.io/user-guide/rules/list/selector-list-comma-newline-after"},t.exports=d},{"../../utils/isStandardSyntaxRule":394,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"style-search":92}],274:[(e,t,s)=>{const r=e("../../utils/ruleMessages"),i=e("../selectorListCommaWhitespaceChecker"),n=e("../../utils/validateOptions"),o=e("../../utils/whitespaceChecker"),a="selector-list-comma-newline-before",l=r(a,{expectedBefore:()=>'Expected newline before ","',expectedBeforeMultiLine:()=>'Expected newline before "," in a multi-line list',rejectedBeforeMultiLine:()=>'Unexpected whitespace before "," in a multi-line list'}),u=(e,t,s)=>{const r=o("newline",e,l);return(t,o)=>{if(!n(o,a,{actual:e,possible:["always","always-multi-line","never-multi-line"]}))return;let l;if(i({root:t,result:o,locationChecker:r.beforeAllowingIndentation,checkedRuleName:a,fix:s.fix?(e,t)=>{const s=(l=l||new Map).get(e)||[];return s.push(t),l.set(e,s),!0}:null}),l)for(const[t,r]of l.entries()){let i=t.raws.selector?t.raws.selector.raw:t.selector;for(const t of r.sort((e,t)=>t-e)){let r=i.slice(0,t);const n=i.slice(t);if(e.startsWith("always")){const e=r.search(/\s+$/);e>=0?r=r.slice(0,e)+s.newline+r.slice(e):r+=s.newline}else"never-multi-line"===e&&(r=r.replace(/\s*$/,""));i=r+n}t.raws.selector?t.raws.selector.raw=i:t.selector=i}}};u.ruleName=a,u.messages=l,u.meta={url:"https://stylelint.io/user-guide/rules/list/selector-list-comma-newline-before"},t.exports=u},{"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../selectorListCommaWhitespaceChecker":304}],275:[(e,t,s)=>{const r=e("../../utils/ruleMessages"),i=e("../selectorListCommaWhitespaceChecker"),n=e("../../utils/validateOptions"),o=e("../../utils/whitespaceChecker"),a="selector-list-comma-space-after",l=r(a,{expectedAfter:()=>'Expected single space after ","',rejectedAfter:()=>'Unexpected whitespace after ","',expectedAfterSingleLine:()=>'Expected single space after "," in a single-line list',rejectedAfterSingleLine:()=>'Unexpected whitespace after "," in a single-line list'}),u=(e,t,s)=>{const r=o("space",e,l);return(t,o)=>{if(!n(o,a,{actual:e,possible:["always","never","always-single-line","never-single-line"]}))return;let l;if(i({root:t,result:o,locationChecker:r.after,checkedRuleName:a,fix:s.fix?(e,t)=>{const s=(l=l||new Map).get(e)||[];return s.push(t),l.set(e,s),!0}:null}),l)for(const[t,s]of l.entries()){let r=t.raws.selector?t.raws.selector.raw:t.selector;for(const t of s.sort((e,t)=>t-e)){const s=r.slice(0,t+1);let i=r.slice(t+1);e.startsWith("always")?i=i.replace(/^\s*/," "):e.startsWith("never")&&(i=i.replace(/^\s*/,"")),r=s+i}t.raws.selector?t.raws.selector.raw=r:t.selector=r}}};u.ruleName=a,u.messages=l,u.meta={url:"https://stylelint.io/user-guide/rules/list/selector-list-comma-space-after"},t.exports=u},{"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../selectorListCommaWhitespaceChecker":304}],276:[(e,t,s)=>{const r=e("../../utils/ruleMessages"),i=e("../selectorListCommaWhitespaceChecker"),n=e("../../utils/validateOptions"),o=e("../../utils/whitespaceChecker"),a="selector-list-comma-space-before",l=r(a,{expectedBefore:()=>'Expected single space before ","',rejectedBefore:()=>'Unexpected whitespace before ","',expectedBeforeSingleLine:()=>'Expected single space before "," in a single-line list',rejectedBeforeSingleLine:()=>'Unexpected whitespace before "," in a single-line list'}),u=(e,t,s)=>{const r=o("space",e,l);return(t,o)=>{if(!n(o,a,{actual:e,possible:["always","never","always-single-line","never-single-line"]}))return;let l;if(i({root:t,result:o,locationChecker:r.before,checkedRuleName:a,fix:s.fix?(e,t)=>{const s=(l=l||new Map).get(e)||[];return s.push(t),l.set(e,s),!0}:null}),l)for(const[t,s]of l.entries()){let r=t.raws.selector?t.raws.selector.raw:t.selector;for(const t of s.sort((e,t)=>t-e)){let s=r.slice(0,t);const i=r.slice(t);e.includes("always")?s=s.replace(/\s*$/," "):e.includes("never")&&(s=s.replace(/\s*$/,"")),r=s+i}t.raws.selector?t.raws.selector.raw=r:t.selector=r}}};u.ruleName=a,u.messages=l,u.meta={url:"https://stylelint.io/user-guide/rules/list/selector-list-comma-space-before"},t.exports=u},{"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../selectorListCommaWhitespaceChecker":304}],277:[(e,t,s)=>{const r=e("../../utils/isContextFunctionalPseudoClass"),i=e("../../utils/isNonNegativeInteger"),n=e("../../utils/isStandardSyntaxRule"),o=e("../../utils/optionsMatches"),a=e("../../utils/parseSelector"),l=e("../../utils/report"),u=e("postcss-resolve-nested-selector"),c=e("../../utils/ruleMessages"),d=e("../../utils/validateOptions"),{isRegExp:p,isString:f}=e("../../utils/validateTypes"),m="selector-max-attribute",h=c(m,{expected:(e,t)=>`Expected "${e}" to have no more than ${t} attribute ${1===t?"selector":"selectors"}`}),g=(e,t)=>(s,c)=>{function g(s,i){const n=s.reduce((e,s)=>(("selector"===s.type||r(s))&&g(s,i),"attribute"!==s.type?e:o(t,"ignoreAttributes",s.attribute)?e:e+=1),0);if("root"!==s.type&&"pseudo"!==s.type&&n>e){const t=s.toString();l({ruleName:m,result:c,node:i,message:h.expected(t,e),word:t})}}d(c,m,{actual:e,possible:i},{actual:t,possible:{ignoreAttributes:[f,p]},optional:!0})&&s.walkRules(e=>{if(n(e))for(const t of e.selectors)for(const s of u(t,e))a(s,c,e,t=>g(t,e))})};g.ruleName=m,g.messages=h,g.meta={url:"https://stylelint.io/user-guide/rules/list/selector-max-attribute"},t.exports=g},{"../../utils/isContextFunctionalPseudoClass":364,"../../utils/isNonNegativeInteger":377,"../../utils/isStandardSyntaxRule":394,"../../utils/optionsMatches":406,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"postcss-resolve-nested-selector":28}],278:[(e,t,s)=>{const r=e("../../utils/isContextFunctionalPseudoClass"),i=e("../../utils/isNonNegativeInteger"),n=e("../../utils/isStandardSyntaxRule"),o=e("../../utils/parseSelector"),a=e("../../utils/report"),l=e("postcss-resolve-nested-selector"),u=e("../../utils/ruleMessages"),c=e("../../utils/validateOptions"),d="selector-max-class",p=u(d,{expected:(e,t)=>`Expected "${e}" to have no more than ${t} ${1===t?"class":"classes"}`}),f=e=>(t,s)=>{function u(t,i){const n=t.reduce((e,t)=>(("selector"===t.type||r(t))&&u(t,i),"class"===t.type&&(e+=1),e),0);if("root"!==t.type&&"pseudo"!==t.type&&n>e){const r=t.toString();a({ruleName:d,result:s,node:i,message:p.expected(r,e),word:r})}}c(s,d,{actual:e,possible:i})&&t.walkRules(e=>{if(n(e))for(const t of e.selectors)for(const r of l(t,e))o(r,s,e,t=>u(t,e))})};f.ruleName=d,f.messages=p,f.meta={url:"https://stylelint.io/user-guide/rules/list/selector-max-class"},t.exports=f},{"../../utils/isContextFunctionalPseudoClass":364,"../../utils/isNonNegativeInteger":377,"../../utils/isStandardSyntaxRule":394,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"postcss-resolve-nested-selector":28}],279:[(e,t,s)=>{const r=e("../../utils/isNonNegativeInteger"),i=e("../../utils/isStandardSyntaxRule"),n=e("../../utils/parseSelector"),o=e("../../utils/report"),a=e("postcss-resolve-nested-selector"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),c="selector-max-combinators",d=l(c,{expected:(e,t)=>`Expected "${e}" to have no more than ${t} ${1===t?"combinator":"combinators"}`}),p=e=>(t,s)=>{function l(t,r){const i=t.reduce((e,t)=>("selector"===t.type&&l(t,r),"combinator"===t.type&&(e+=1),e),0);if("root"!==t.type&&"pseudo"!==t.type&&i>e){const i=t.toString();o({ruleName:c,result:s,node:r,message:d.expected(i,e),word:i})}}u(s,c,{actual:e,possible:r})&&t.walkRules(e=>{if(i(e))for(const t of e.selectors)for(const r of a(t,e))n(r,s,e,t=>l(t,e))})};p.ruleName=c,p.messages=d,p.meta={url:"https://stylelint.io/user-guide/rules/list/selector-max-combinators"},t.exports=p},{"../../utils/isNonNegativeInteger":377,"../../utils/isStandardSyntaxRule":394,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"postcss-resolve-nested-selector":28}],280:[(e,t,s)=>{const r=e("../../utils/isContextFunctionalPseudoClass"),i=e("../../utils/isNonNegativeInteger"),n=e("../../utils/isStandardSyntaxRule"),o=e("../../utils/parseSelector"),a=e("../../utils/report"),l=e("postcss-resolve-nested-selector"),u=e("../../utils/ruleMessages"),c=e("../../utils/validateOptions"),d="selector-max-compound-selectors",p=u(d,{expected:(e,t)=>`Expected "${e}" to have no more than ${t} compound ${1===t?"selector":"selectors"}`}),f=e=>(t,s)=>{function u(t,i){let n=1;if(t.each(e=>{("selector"===e.type||r(e))&&u(e,i),"combinator"===e.type&&n++}),"root"!==t.type&&"pseudo"!==t.type&&n>e){const r=t.toString();a({ruleName:d,result:s,node:i,message:p.expected(r,e),word:r})}}c(s,d,{actual:e,possible:i})&&t.walkRules(e=>{if(n(e))for(const t of e.selectors)for(const r of l(t,e))o(r,s,e,t=>u(t,e))})};f.ruleName=d,f.messages=p,f.meta={url:"https://stylelint.io/user-guide/rules/list/selector-max-compound-selectors"},t.exports=f},{"../../utils/isContextFunctionalPseudoClass":364,"../../utils/isNonNegativeInteger":377,"../../utils/isStandardSyntaxRule":394,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"postcss-resolve-nested-selector":28}],281:[(e,t,s)=>{const r=e("../../utils/report"),i=e("../../utils/ruleMessages"),n=e("../../utils/validateOptions"),{isNumber:o}=e("../../utils/validateTypes"),a="selector-max-empty-lines",l=i(a,{expected:e=>`Expected no more than ${e} empty ${1===e?"line":"lines"}`}),u=(e,t,s)=>{const i=e+1;return(t,u)=>{if(!n(u,a,{actual:e,possible:o}))return;const c=new RegExp(`(?:\r\n){${i+1},}`),d=new RegExp(`\n{${i+1},}`),p=s.fix?"\n".repeat(i):"",f=s.fix?"\r\n".repeat(i):"";t.walkRules(t=>{const i=t.raws.selector?t.raws.selector.raw:t.selector;if(s.fix){const e=i.replace(new RegExp(d,"gm"),p).replace(new RegExp(c,"gm"),f);t.raws.selector?t.raws.selector.raw=e:t.selector=e}else(d.test(i)||c.test(i))&&r({message:l.expected(e),node:t,index:0,result:u,ruleName:a})})}};u.ruleName=a,u.messages=l,u.meta={url:"https://stylelint.io/user-guide/rules/list/selector-max-empty-lines"},t.exports=u},{"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],282:[(e,t,s)=>{const r=e("../../utils/isContextFunctionalPseudoClass"),i=e("../../utils/isNonNegativeInteger"),n=e("../../utils/isStandardSyntaxRule"),o=e("../../utils/optionsMatches"),a=e("../../utils/parseSelector"),l=e("../../utils/report"),u=e("postcss-resolve-nested-selector"),c=e("../../utils/ruleMessages"),d=e("../../utils/validateOptions"),{isRegExp:p,isString:f}=e("../../utils/validateTypes"),m="selector-max-id",h=c(m,{expected:(e,t)=>`Expected "${e}" to have no more than ${t} ID ${1===t?"selector":"selectors"}`}),g=(e,t)=>(s,c)=>{function g(s,i){const n=s.reduce((e,s)=>(("selector"===s.type||r(s)&&("pseudo"!==(a=s).type||!o(t,"ignoreContextFunctionalPseudoClasses",a.value)))&&g(s,i),"id"===s.type&&(e+=1),e),0);var a;if("root"!==s.type&&"pseudo"!==s.type&&n>e){const t=s.toString();l({ruleName:m,result:c,node:i,message:h.expected(t,e),word:t})}}d(c,m,{actual:e,possible:i},{actual:t,possible:{ignoreContextFunctionalPseudoClasses:[f,p]},optional:!0})&&s.walkRules(e=>{if(n(e))for(const t of e.selectors)for(const s of u(t,e))a(s,c,e,t=>g(t,e))})};g.ruleName=m,g.messages=h,g.meta={url:"https://stylelint.io/user-guide/rules/list/selector-max-id"},t.exports=g},{"../../utils/isContextFunctionalPseudoClass":364,"../../utils/isNonNegativeInteger":377,"../../utils/isStandardSyntaxRule":394,"../../utils/optionsMatches":406,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"postcss-resolve-nested-selector":28}],283:[(e,t,s)=>{const r=e("../../utils/isContextFunctionalPseudoClass"),i=e("../../utils/isNonNegativeInteger"),n=e("../../utils/isStandardSyntaxRule"),o=e("../../reference/keywordSets"),a=e("../../utils/parseSelector"),l=e("../../utils/report"),u=e("postcss-resolve-nested-selector"),c=e("../../utils/ruleMessages"),d=e("../../utils/validateOptions"),p="selector-max-pseudo-class",f=c(p,{expected:(e,t)=>`Expected "${e}" to have no more than ${t} pseudo-${1===t?"class":"classes"}`}),m=e=>(t,s)=>{function c(t,i){if(t.reduce((e,t)=>(("selector"===t.type||r(t))&&c(t,i),"pseudo"===t.type&&(t.value.includes("::")||o.levelOneAndTwoPseudoElements.has(t.value.toLowerCase().slice(1)))?e:("pseudo"===t.type&&(e+=1),e)),0)>e){const r=t.toString();l({ruleName:p,result:s,node:i,message:f.expected(r,e),word:r})}}d(s,p,{actual:e,possible:i})&&t.walkRules(e=>{if(n(e))for(const t of e.selectors)for(const r of u(t,e))a(r,s,e,t=>{c(t,e)})})};m.ruleName=p,m.messages=f,m.meta={url:"https://stylelint.io/user-guide/rules/list/selector-max-pseudo-class"},t.exports=m},{"../../reference/keywordSets":110,"../../utils/isContextFunctionalPseudoClass":364,"../../utils/isNonNegativeInteger":377,"../../utils/isStandardSyntaxRule":394,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"postcss-resolve-nested-selector":28}],284:[(e,t,s)=>{const r=e("postcss-resolve-nested-selector"),{selectorSpecificity:i,compare:n}=e("@csstools/selector-specificity"),o=e("../../utils/isStandardSyntaxRule"),a=e("../../utils/isStandardSyntaxSelector"),l=e("../../reference/keywordSets"),u=e("../../utils/optionsMatches"),c=e("../../utils/parseSelector"),d=e("../../utils/report"),p=e("../../utils/ruleMessages"),f=e("../../utils/validateOptions"),{isRegExp:m,isString:h,assertNumber:g}=e("../../utils/validateTypes"),w="selector-max-specificity",b=p(w,{expected:(e,t)=>`Expected "${e}" to have a specificity no more than "${t}"`}),y=e=>{const t={a:0,b:0,c:0};for(const{a:s,b:r,c:i}of e)t.a+=s,t.b+=r,t.c+=i;return t},x=(e,t)=>(s,p)=>{if(!f(p,w,{actual:e,possible:[e=>h(e)&&/^\d+,\d+,\d+$/.test(e)]},{actual:t,possible:{ignoreSelectors:[h,m]},optional:!0}))return;const x=e=>e.reduce((e,t)=>{const s=v(t);return n(s,e)>0?s:e},{a:0,b:0,c:0}),v=e=>{if((e=>{const t=e.parent&&e.parent.parent;if(t&&"pseudo"===t.type&&t.value){const e=t.value.toLowerCase().replace(/^:/,"");return l.aNPlusBNotationPseudoClasses.has(e)||l.linguisticPseudoClasses.has(e)}return!1})(e))return{a:0,b:0,c:0};switch(e.type){case"attribute":case"class":case"id":case"tag":return(e=>u(t,"ignoreSelectors",e.toString())?{a:0,b:0,c:0}:i(e))(e);case"pseudo":return(e=>{const s=e.value.toLowerCase();if(":where"===s)return{a:0,b:0,c:0};let r;if(u(t,"ignoreSelectors",s))r={a:0,b:0,c:0};else{if(l.aNPlusBOfSNotationPseudoClasses.has(s.replace(/^:/,"")))return i(e);r=i(e.clone({nodes:[]}))}return y([r,x(e)])})(e);case"selector":return y(e.map(e=>v(e)));default:return{a:0,b:0,c:0}}},[k,S,O]=e.split(",").map(e=>Number.parseFloat(e));g(k),g(S),g(O);const C={a:k,b:S,c:O};s.walkRules(t=>{if(o(t))for(const s of t.selectors)for(const i of r(s,t))a(i)&&c(i,p,t,r=>{n(x(r),C)>0&&d({ruleName:w,result:p,node:t,message:b.expected(i,e),word:s})})})};x.ruleName=w,x.messages=b,x.meta={url:"https://stylelint.io/user-guide/rules/list/selector-max-specificity"},t.exports=x},{"../../reference/keywordSets":110,"../../utils/isStandardSyntaxRule":394,"../../utils/isStandardSyntaxSelector":395,"../../utils/optionsMatches":406,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"@csstools/selector-specificity":2,"postcss-resolve-nested-selector":28}],285:[(e,t,s)=>{const r=e("../../utils/isContextFunctionalPseudoClass"),i=e("../../utils/isKeyframeSelector"),n=e("../../utils/isNonNegativeInteger"),o=e("../../utils/isOnlyWhitespace"),a=e("../../utils/isStandardSyntaxRule"),l=e("../../utils/isStandardSyntaxSelector"),u=e("../../utils/isStandardSyntaxTypeSelector"),c=e("../../utils/optionsMatches"),d=e("../../utils/parseSelector"),p=e("../../utils/report"),f=e("postcss-resolve-nested-selector"),m=e("../../utils/ruleMessages"),h=e("../../utils/validateOptions"),{isRegExp:g,isString:w}=e("../../utils/validateTypes"),b="selector-max-type",y=m(b,{expected:(e,t)=>`Expected "${e}" to have no more than ${t} type ${1===t?"selector":"selectors"}`}),x=(e,t)=>(s,m)=>{if(!h(m,b,{actual:e,possible:n},{actual:t,possible:{ignore:["descendant","child","compounded","next-sibling"],ignoreTypes:[w,g]},optional:!0}))return;const x=c(t,"ignore","descendant"),k=c(t,"ignore","child"),S=c(t,"ignore","compounded"),O=c(t,"ignore","next-sibling");function C(s,i){const n=s.reduce((e,s)=>(("selector"===s.type||r(s))&&C(s,i),c(t,"ignoreTypes",s.value)?e:x&&(e=>{if(!e.parent)return!1;const t=e.parent.nodes.indexOf(e);return e.parent.nodes.slice(0,t).some(e=>(s=e,!!s&&v(s)&&w(s.value)&&o(s.value)));var s})(s)?e:k&&(e=>{if(!e.parent)return!1;const t=e.parent.nodes.indexOf(e);return e.parent.nodes.slice(0,t).some(e=>(s=e,!!s&&v(s)&&">"===s.value));var s})(s)?e:S&&(e=>!(!e.prev()||v(e.prev()))||e.next()&&!v(e.next()))(s)?e:O&&(a=s).prev()&&v(l=a.prev())&&"+"===l.value?e:"tag"===s.type&&!u(s)||"tag"!==s.type?e:e+1),0);var a,l;if("root"!==s.type&&"pseudo"!==s.type&&n>e){const t=s.toString();p({ruleName:b,result:m,node:i,message:y.expected(t,e),word:t})}}s.walkRules(e=>{const t=e.selectors;if(a(e)&&!t.some(e=>i(e)))for(const t of e.selectors)for(const s of f(t,e))l(s)&&d(s,m,e,t=>C(t,e))})};function v(e){return!!e&&"combinator"===e.type}x.ruleName=b,x.messages=y,x.meta={url:"https://stylelint.io/user-guide/rules/list/selector-max-type"},t.exports=x},{"../../utils/isContextFunctionalPseudoClass":364,"../../utils/isKeyframeSelector":375,"../../utils/isNonNegativeInteger":377,"../../utils/isOnlyWhitespace":379,"../../utils/isStandardSyntaxRule":394,"../../utils/isStandardSyntaxSelector":395,"../../utils/isStandardSyntaxTypeSelector":396,"../../utils/optionsMatches":406,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"postcss-resolve-nested-selector":28}],286:[(e,t,s)=>{const r=e("../../utils/isNonNegativeInteger"),i=e("../../utils/isStandardSyntaxRule"),n=e("../../utils/parseSelector"),o=e("../../utils/report"),a=e("postcss-resolve-nested-selector"),l=e("../../utils/ruleMessages"),u=e("postcss-selector-parser"),c=e("../../utils/validateOptions"),d="selector-max-universal",p=l(d,{expected:(e,t)=>`Expected "${e}" to have no more than ${t} universal ${1===t?"selector":"selectors"}`}),f=e=>(t,s)=>{function l(t,r){const i=t.reduce((e,t)=>("selector"===t.type&&l(t,r),"universal"===t.type&&(e+=1),e),0);if("root"!==t.type&&"pseudo"!==t.type&&i>e){const i=t.toString();o({ruleName:d,result:s,node:r,message:p.expected(i,e),word:i})}}c(s,d,{actual:e,possible:r})&&t.walkRules(e=>{if(!i(e))return;const t=[];u().astSync(e.selector).walk(e=>{"selector"===e.type&&t.push(String(e).trim())});for(const r of t)for(const t of a(r,e))n(t,s,e,t=>l(t,e))})};f.ruleName=d,f.messages=p,f.meta={url:"https://stylelint.io/user-guide/rules/list/selector-max-universal"},t.exports=f},{"../../utils/isNonNegativeInteger":377,"../../utils/isStandardSyntaxRule":394,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"postcss-resolve-nested-selector":28,"postcss-selector-parser":29}],287:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/validateOptions"),{isRegExp:a,isString:l}=e("../../utils/validateTypes"),u="selector-nested-pattern",c=n(u,{expected:(e,t)=>`Expected nested selector "${e}" to match pattern "${t}"`}),d=e=>(t,s)=>{if(!o(s,u,{actual:e,possible:[a,l]}))return;const n=l(e)?new RegExp(e):e;t.walkRules(t=>{if(t.parent&&"rule"!==t.parent.type)return;if(!r(t))return;const o=t.selector;n.test(o)||i({result:s,ruleName:u,message:c.expected(o,e),node:t})})};d.ruleName=u,d.messages=c,d.meta={url:"https://stylelint.io/user-guide/rules/list/selector-nested-pattern"},t.exports=d},{"../../utils/isStandardSyntaxRule":394,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],288:[(e,t,s)=>{const r=e("../../utils/isKeyframeRule"),i=e("../../utils/isStandardSyntaxRule"),n=e("../../utils/isStandardSyntaxSelector"),o=e("../../utils/optionsMatches"),a=e("../../utils/parseSelector"),l=e("../../utils/report"),u=e("postcss-resolve-nested-selector"),c=e("../../utils/ruleMessages"),d=e("../../utils/validateOptions"),p="selector-no-qualifying-type",f=c(p,{rejected:"Unexpected qualifying type selector"}),m=["#",".","["],h=(e,t)=>(s,c)=>{d(c,p,{actual:e,possible:[!0,!1]},{actual:t,possible:{ignore:["attribute","class","id"]},optional:!0})&&s.walkRules(e=>{if(i(e)&&!r(e)&&(g=e.selector,m.some(e=>g.includes(e))))for(const t of u(e.selector,e))n(t)&&a(t,c,e,s);function s(e){e.walkTags(e=>{const s=e.parent;if(s&&1===s.nodes.length)return;const r=(t=>{const s=[];let r=e;for(;(r=r.next())&&"combinator"!==r.type;)"id"!==r.type&&"class"!==r.type&&"attribute"!==r.type||s.push(r);return s})(),i=e.sourceIndex;for(const e of r)"id"!==e.type||o(t,"ignore","id")||d(i),"class"!==e.type||o(t,"ignore","class")||d(i),"attribute"!==e.type||o(t,"ignore","attribute")||d(i)})}function d(t){l({ruleName:p,result:c,node:e,message:f.rejected,index:t})}})};var g;h.ruleName=p,h.messages=f,h.meta={url:"https://stylelint.io/user-guide/rules/list/selector-no-qualifying-type"},t.exports=h},{"../../utils/isKeyframeRule":374,"../../utils/isStandardSyntaxRule":394,"../../utils/isStandardSyntaxSelector":395,"../../utils/optionsMatches":406,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"postcss-resolve-nested-selector":28}],289:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/isStandardSyntaxSelector"),n=e("../../utils/parseSelector"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),{isPseudoClass:u,isAttribute:c,isClassName:d,isUniversal:p,isIdentifier:f,isTag:m}=e("postcss-selector-parser"),{assert:h}=e("../../utils/validateTypes"),g="selector-not-notation",w=a(g,{expected:e=>`Expected ${e} :not() pseudo-class notation`}),b=e=>u(e)||c(e)||d(e)||p(e)||f(e)||m(e),y=e=>u(e)&&void 0!==e.value&&":not"===e.value.toLowerCase(),x=(e,t,s)=>(t,a)=>{l(a,g,{actual:e,possible:["simple","complex"]})&&t.walkRules(t=>{if(!r(t))return;const l=t.selector;if(!l.includes(":not("))return;if(!i(l))return;const u=n(l,a,t,r=>{r.walkPseudos(r=>{if(y(r)){if("complex"===e){const e=r.prev();if(!e||!y(e))return;if(s.fix)return(e=>{const t=e=>{for(const t of e)h(t.nodes[0]),t.nodes[0].rawSpaceBefore=" ",t.nodes[0].rawSpaceAfter=""},[s,...r]=e.nodes;let i=e.next();if(null!=s&&0!==s.nodes.length)for(h(s.nodes[0]),s.nodes[0].rawSpaceBefore="",s.nodes[0].rawSpaceAfter="",t(r);y(i);){const s=i.nodes,r=i;t(s),e.nodes=e.nodes.concat(s),i=i.next(),r.remove()}})(e)}else{const e=r.nodes;if((e=>{if(e.length>1)return!1;h(e[0],"list is never empty");const[t,s]=e[0].nodes;return!t||!s&&b(t)&&!y(t)})(e))return;if(s.fix&&e.length>1&&e[1]&&(0===e[1].nodes.length||e.every(({nodes:e})=>1===e.length)))return(e=>{const t=e.nodes.filter(({nodes:e})=>e[0]&&b(e[0])).map(e=>(h(e.nodes[0]),e.nodes[0].rawSpaceBefore="",e.nodes[0].rawSpaceAfter="",e)),s=t.shift();h(s),h(e.parent),e.empty(),e.nodes.push(s);for(const s of t){const t=e.parent.last;e.parent.insertAfter(t,t.clone({nodes:[s]}))}})(r)}o({message:w.expected(e),node:t,index:r.sourceIndex,result:a,ruleName:g})}})});s.fix&&u&&(t.selector=u)})};x.ruleName=g,x.messages=w,x.meta={url:"https://stylelint.io/user-guide/rules/list/selector-not-notation"},t.exports=x},{"../../utils/isStandardSyntaxRule":394,"../../utils/isStandardSyntaxSelector":395,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"postcss-selector-parser":29}],290:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/matchesStringOrRegExp"),n=e("../../utils/parseSelector"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("../../utils/vendor"),{isRegExp:c,isString:d}=e("../../utils/validateTypes"),p="selector-pseudo-class-allowed-list",f=a(p,{rejected:e=>`Unexpected pseudo-class "${e}"`}),m=e=>(t,s)=>{l(s,p,{actual:e,possible:[d,c]})&&t.walkRules(t=>{if(!r(t))return;const a=t.selector;a.includes(":")&&n(a,s,t,r=>{r.walkPseudos(r=>{const n=r.value;if("::"===n.slice(0,2))return;const a=n.slice(1);i(u.unprefixed(a),e)||o({index:r.sourceIndex,message:f.rejected(a),node:t,result:s,ruleName:p})})})})};m.primaryOptionArray=!0,m.ruleName=p,m.messages=f,m.meta={url:"https://stylelint.io/user-guide/rules/list/selector-pseudo-class-allowed-list"},t.exports=m},{"../../utils/isStandardSyntaxRule":394,"../../utils/matchesStringOrRegExp":403,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/vendor":422}],291:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/isStandardSyntaxSelector"),n=e("../../reference/keywordSets"),o=e("../../utils/parseSelector"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),c="selector-pseudo-class-case",d=l(c,{expected:(e,t)=>`Expected "${e}" to be "${t}"`}),p=(e,t,s)=>(t,l)=>{u(l,c,{actual:e,possible:["lower","upper"]})&&t.walkRules(t=>{if(!r(t))return;if(!t.selector.includes(":"))return;const u=o(t.raws.selector?t.raws.selector.raw:t.selector,l,t,r=>{r.walkPseudos(r=>{const o=r.value;if(!i(o))return;if(o.includes("::")||n.levelOneAndTwoPseudoElements.has(o.toLowerCase().slice(1)))return;const u="lower"===e?o.toLowerCase():o.toUpperCase();o!==u&&(s.fix?r.value=u:a({message:d.expected(o,u),node:t,index:r.sourceIndex,ruleName:c,result:l}))})});s.fix&&u&&(t.raws.selector?t.raws.selector.raw=u:t.selector=u)})};p.ruleName=c,p.messages=d,p.meta={url:"https://stylelint.io/user-guide/rules/list/selector-pseudo-class-case"},t.exports=p},{"../../reference/keywordSets":110,"../../utils/isStandardSyntaxRule":394,"../../utils/isStandardSyntaxSelector":395,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420}],292:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/matchesStringOrRegExp"),n=e("../../utils/parseSelector"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("../../utils/vendor"),{isRegExp:c,isString:d}=e("../../utils/validateTypes"),p="selector-pseudo-class-disallowed-list",f=a(p,{rejected:e=>`Unexpected pseudo-class "${e}"`}),m=e=>(t,s)=>{l(s,p,{actual:e,possible:[d,c]})&&t.walkRules(t=>{if(!r(t))return;const a=t.selector;a.includes(":")&&n(a,s,t,r=>{r.walkPseudos(r=>{const n=r.value;if("::"===n.slice(0,2))return;const a=n.slice(1);i(u.unprefixed(a),e)&&o({index:r.sourceIndex,message:f.rejected(a),node:t,result:s,ruleName:p})})})})};m.primaryOptionArray=!0,m.ruleName=p,m.messages=f,m.meta={url:"https://stylelint.io/user-guide/rules/list/selector-pseudo-class-disallowed-list"},t.exports=m},{"../../utils/isStandardSyntaxRule":394,"../../utils/matchesStringOrRegExp":403,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/vendor":422}],293:[(e,t,s)=>{const r=e("../../utils/atRuleParamIndex"),i=e("../../utils/isCustomSelector"),n=e("../../utils/isStandardSyntaxAtRule"),o=e("../../utils/isStandardSyntaxRule"),a=e("../../utils/isStandardSyntaxSelector"),l=e("../../reference/keywordSets"),u=e("../../utils/optionsMatches"),c=e("../../utils/parseSelector"),d=e("../../utils/report"),p=e("../../utils/ruleMessages"),f=e("../../utils/validateOptions"),m=e("../../utils/vendor"),{isString:h}=e("../../utils/validateTypes"),g="selector-pseudo-class-no-unknown",w=p(g,{rejected:e=>`Unexpected unknown pseudo-class selector "${e}"`}),b=(e,t)=>(s,p)=>{f(p,g,{actual:e},{actual:t,possible:{ignorePseudoClasses:[h]},optional:!0})&&s.walk(e=>{let s=null;if("rule"===e.type){if(!o(e))return;s=e.selector}else if("atrule"===e.type&&"page"===e.name&&e.params){if(!n(e))return;s=e.params}s&&s.includes(":")&&c(s,p,y=e,e=>{e.walkPseudos(e=>{const s=e.value;if(!a(s))return;if(i(s))return;if("::"===s.slice(0,2))return;if(u(t,"ignorePseudoClasses",e.value.slice(1)))return;let n=null;const o=s.slice(1).toLowerCase();if("atrule"===y.type&&"page"===y.name){if(l.atRulePagePseudoClasses.has(o))return;n=r(y)+e.sourceIndex}else{if(m.prefix(o)||l.pseudoClasses.has(o)||l.pseudoElements.has(o))return;let t=e;do{if((t=t.prev())&&"::"===t.value.slice(0,2))break}while(t);if(t){const e=t.value.toLowerCase().slice(2);if(l.webkitScrollbarPseudoElements.has(e)&&l.webkitScrollbarPseudoClasses.has(o))return}n=e.sourceIndex}d({message:w.rejected(s),node:y,index:n,ruleName:g,result:p,word:s})})})})};var y;b.ruleName=g,b.messages=w,b.meta={url:"https://stylelint.io/user-guide/rules/list/selector-pseudo-class-no-unknown"},t.exports=b},{"../../reference/keywordSets":110,"../../utils/atRuleParamIndex":326,"../../utils/isCustomSelector":371,"../../utils/isStandardSyntaxAtRule":385,"../../utils/isStandardSyntaxRule":394,"../../utils/isStandardSyntaxSelector":395,"../../utils/optionsMatches":406,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/vendor":422}],294:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/parseSelector"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),l="selector-pseudo-class-parentheses-space-inside",u=o(l,{expectedOpening:'Expected single space after "("',rejectedOpening:'Unexpected whitespace after "("',expectedClosing:'Expected single space before ")"',rejectedClosing:'Unexpected whitespace before ")"'}),c=(e,t,s)=>(t,o)=>{a(o,l,{actual:e,possible:["always","never"]})&&t.walkRules(t=>{if(!r(t))return;if(!t.selector.includes("("))return;let a=!1;const c=t.raws.selector?t.raws.selector.raw:t.selector,f=i(c,o,t,t=>{t.walkPseudos(t=>{if(!t.length)return;const r=t.map(e=>String(e)).join(","),i=r.startsWith(" "),n=t.sourceIndex+t.value.length+1;i&&"never"===e&&(s.fix?(a=!0,d(t,"")):m(u.rejectedOpening,n)),i||"always"!==e||(s.fix?(a=!0,d(t," ")):m(u.expectedOpening,n));const o=r.endsWith(" "),l=n+r.length-1;o&&"never"===e&&(s.fix?(a=!0,p(t,"")):m(u.rejectedClosing,l)),o||"always"!==e||(s.fix?(a=!0,p(t," ")):m(u.expectedClosing,l))})});function m(e,s){n({message:e,index:s,result:o,ruleName:l,node:t})}a&&f&&(t.raws.selector?t.raws.selector.raw=f:t.selector=f)})};function d(e,t){const s=e.first;"selector"===s.type?d(s,t):s.spaces.before=t}function p(e,t){const s=e.last;"selector"===s.type?p(s,t):s.spaces.after=t}c.ruleName=l,c.messages=u,c.meta={url:"https://stylelint.io/user-guide/rules/list/selector-pseudo-class-parentheses-space-inside"},t.exports=c},{"../../utils/isStandardSyntaxRule":394,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420}],295:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/matchesStringOrRegExp"),n=e("../../utils/parseSelector"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("../../utils/vendor"),{isRegExp:c,isString:d}=e("../../utils/validateTypes"),p="selector-pseudo-element-allowed-list",f=a(p,{rejected:e=>`Unexpected pseudo-element "${e}"`}),m=e=>(t,s)=>{l(s,p,{actual:e,possible:[d,c]})&&t.walkRules(t=>{if(!r(t))return;const a=t.selector;a.includes("::")&&n(a,s,t,r=>{r.walkPseudos(r=>{const n=r.value;if(":"!==n[1])return;const a=n.slice(2);i(u.unprefixed(a),e)||o({index:r.sourceIndex,message:f.rejected(a),node:t,result:s,ruleName:p})})})})};m.primaryOptionArray=!0,m.ruleName=p,m.messages=f,m.meta={url:"https://stylelint.io/user-guide/rules/list/selector-pseudo-element-allowed-list"},t.exports=m},{"../../utils/isStandardSyntaxRule":394,"../../utils/matchesStringOrRegExp":403,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/vendor":422}],296:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/isStandardSyntaxSelector"),n=e("../../reference/keywordSets"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/transformSelector"),u=e("../../utils/validateOptions"),c="selector-pseudo-element-case",d=a(c,{expected:(e,t)=>`Expected "${e}" to be "${t}"`}),p=(e,t,s)=>(t,a)=>{u(a,c,{actual:e,possible:["lower","upper"]})&&t.walkRules(t=>{r(t)&&t.selector.includes(":")&&l(a,t,r=>{r.walkPseudos(r=>{const l=r.value;if(!i(l))return;if(!l.includes("::")&&!n.levelOneAndTwoPseudoElements.has(l.toLowerCase().slice(1)))return;const u="lower"===e?l.toLowerCase():l.toUpperCase();l!==u&&(s.fix?r.value=u:o({message:d.expected(l,u),node:t,index:r.sourceIndex,ruleName:c,result:a}))})})})};p.ruleName=c,p.messages=d,p.meta={url:"https://stylelint.io/user-guide/rules/list/selector-pseudo-element-case"},t.exports=p},{"../../reference/keywordSets":110,"../../utils/isStandardSyntaxRule":394,"../../utils/isStandardSyntaxSelector":395,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/transformSelector":416,"../../utils/validateOptions":420}],297:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxRule"),i=e("../../reference/keywordSets"),n=e("../../utils/parseSelector"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u="selector-pseudo-element-colon-notation",c=a(u,{expected:e=>`Expected ${e} colon pseudo-element notation`}),d=(e,t,s)=>(t,a)=>{if(!l(a,u,{actual:e,possible:["single","double"]}))return;let d="";"single"===e?d=":":"double"===e&&(d="::"),t.walkRules(t=>{if(!r(t))return;const l=t.selector;if(!l.includes(":"))return;const p=n(l,a,t,r=>{r.walkPseudos(r=>{const n=r.value.replace(/:/g,"");if(!i.levelOneAndTwoPseudoElements.has(n.toLowerCase()))return;const l=r.value.startsWith("::");("single"!==e||l)&&("double"===e&&l||(s.fix?r.replaceWith(r.clone({value:d+n})):o({message:c.expected(e),node:t,index:r.sourceIndex,result:a,ruleName:u})))})});s.fix&&p&&(t.selector=p)})};d.ruleName=u,d.messages=c,d.meta={url:"https://stylelint.io/user-guide/rules/list/selector-pseudo-element-colon-notation"},t.exports=d},{"../../reference/keywordSets":110,"../../utils/isStandardSyntaxRule":394,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420}],298:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/matchesStringOrRegExp"),n=e("../../utils/parseSelector"),o=e("../../utils/report"),a=e("../../utils/ruleMessages"),l=e("../../utils/validateOptions"),u=e("../../utils/vendor"),{isRegExp:c,isString:d}=e("../../utils/validateTypes"),p="selector-pseudo-element-disallowed-list",f=a(p,{rejected:e=>`Unexpected pseudo-element "${e}"`}),m=e=>(t,s)=>{l(s,p,{actual:e,possible:[d,c]})&&t.walkRules(t=>{if(!r(t))return;const a=t.selector;a.includes("::")&&n(a,s,t,r=>{r.walkPseudos(r=>{const n=r.value;if(":"!==n[1])return;const a=n.slice(2);i(u.unprefixed(a),e)&&o({index:r.sourceIndex,message:f.rejected(a),node:t,result:s,ruleName:p})})})})};m.primaryOptionArray=!0,m.ruleName=p,m.messages=f,m.meta={url:"https://stylelint.io/user-guide/rules/list/selector-pseudo-element-disallowed-list"},t.exports=m},{"../../utils/isStandardSyntaxRule":394,"../../utils/matchesStringOrRegExp":403,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/vendor":422}],299:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxRule"),i=e("../../utils/isStandardSyntaxSelector"),n=e("../../reference/keywordSets"),o=e("../../utils/optionsMatches"),a=e("../../utils/parseSelector"),l=e("../../utils/report"),u=e("../../utils/ruleMessages"),c=e("../../utils/validateOptions"),d=e("../../utils/vendor"),{isString:p}=e("../../utils/validateTypes"),f="selector-pseudo-element-no-unknown",m=u(f,{rejected:e=>`Unexpected unknown pseudo-element selector "${e}"`}),h=(e,t)=>(s,u)=>{c(u,f,{actual:e},{actual:t,possible:{ignorePseudoElements:[p]},optional:!0})&&s.walkRules(e=>{if(!r(e))return;const s=e.selector;s.includes(":")&&a(s,u,e,s=>{s.walkPseudos(s=>{const r=s.value;if(!i(r))return;if("::"!==r.slice(0,2))return;if(o(t,"ignorePseudoElements",s.value.slice(2)))return;const a=r.slice(2);d.prefix(a)||n.pseudoElements.has(a.toLowerCase())||l({message:m.rejected(r),node:e,index:s.sourceIndex,ruleName:f,result:u,word:r})})})})};h.ruleName=f,h.messages=m,h.meta={url:"https://stylelint.io/user-guide/rules/list/selector-pseudo-element-no-unknown"},t.exports=h},{"../../reference/keywordSets":110,"../../utils/isStandardSyntaxRule":394,"../../utils/isStandardSyntaxSelector":395,"../../utils/optionsMatches":406,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/vendor":422}],300:[(e,t,s)=>{const r=e("../../utils/isKeyframeSelector"),i=e("../../utils/isStandardSyntaxRule"),n=e("../../utils/isStandardSyntaxTypeSelector"),o=e("../../utils/optionsMatches"),a=e("../../utils/parseSelector"),l=e("../../utils/report"),u=e("../../utils/ruleMessages"),c=e("../../utils/validateOptions"),{isString:d}=e("../../utils/validateTypes"),p=e("../../reference/keywordSets"),f="selector-type-case",m=u(f,{expected:(e,t)=>`Expected "${e}" to be "${t}"`}),h=(e,t,s)=>(u,h)=>{c(h,f,{actual:e,possible:["lower","upper"]},{actual:t,possible:{ignoreTypes:[d]},optional:!0})&&u.walkRules(u=>{let c=u.raws.selector&&u.raws.selector.raw;const d=c||u.selector,g=u.selectors;i(u)&&(g.some(e=>r(e))||a(d,h,u,r=>{r.walkTags(r=>{if(!n(r))return;if(p.validMixedCaseSvgElements.has(r.value))return;if(o(t,"ignoreTypes",r.value))return;const i=r.sourceIndex,a=r.value,d="lower"===e?a.toLowerCase():a.toUpperCase();if(a!==d)if(s.fix)if(c){if(c=c.slice(0,i)+d+c.slice(i+a.length),null==u.raws.selector)throw new Error("The `raw` property must be present");u.raws.selector.raw=c}else u.selector=u.selector.slice(0,i)+d+u.selector.slice(i+a.length);else l({message:m.expected(a,d),node:u,index:i,ruleName:f,result:h})})}))})};h.ruleName=f,h.messages=m,h.meta={url:"https://stylelint.io/user-guide/rules/list/selector-type-case"},t.exports=h},{"../../reference/keywordSets":110,"../../utils/isKeyframeSelector":375,"../../utils/isStandardSyntaxRule":394,"../../utils/isStandardSyntaxTypeSelector":396,"../../utils/optionsMatches":406,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],301:[(e,t,s)=>{const r=e("../../utils/isCustomElement"),i=e("../../utils/isKeyframeSelector"),n=e("../../utils/isStandardSyntaxRule"),o=e("../../utils/isStandardSyntaxTypeSelector"),a=e("../../reference/keywordSets"),l=e("mathml-tag-names"),u=e("../../utils/optionsMatches"),c=e("../../utils/parseSelector"),d=e("../../utils/report"),p=e("../../utils/ruleMessages"),f=e("svg-tags"),m=e("../../utils/validateOptions"),{isRegExp:h,isString:g}=e("../../utils/validateTypes"),w="selector-type-no-unknown",b=p(w,{rejected:e=>`Unexpected unknown type selector "${e}"`}),y=(e,t)=>(s,p)=>{m(p,w,{actual:e},{actual:t,possible:{ignore:["custom-elements","default-namespace"],ignoreNamespaces:[g,h],ignoreTypes:[g,h]},optional:!0})&&s.walkRules(e=>{const s=e.selector,m=e.selectors;n(e)&&(m.some(e=>i(e))||c(s,p,e,s=>{s.walkTags(s=>{if(!o(s))return;if(u(t,"ignore","custom-elements")&&r(s.value))return;if(u(t,"ignore","default-namespace")&&"string"!=typeof s.namespace)return;if(u(t,"ignoreNamespaces",s.namespace))return;if(u(t,"ignoreTypes",s.value))return;const i=s.value,n=i.toLowerCase();a.standardHtmlTags.has(n)||f.includes(i)||a.nonStandardHtmlTags.has(n)||l.includes(n)||d({message:b.rejected(i),node:e,index:s.sourceIndex,ruleName:w,result:p,word:i})})}))})};y.ruleName=w,y.messages=b,y.meta={url:"https://stylelint.io/user-guide/rules/list/selector-type-no-unknown"},t.exports=y},{"../../reference/keywordSets":110,"../../utils/isCustomElement":367,"../../utils/isKeyframeSelector":375,"../../utils/isStandardSyntaxRule":394,"../../utils/isStandardSyntaxTypeSelector":396,"../../utils/optionsMatches":406,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"mathml-tag-names":20,"svg-tags":434}],302:[(e,t,s)=>{const r=e("../utils/isStandardSyntaxRule"),i=e("../utils/parseSelector"),n=e("../utils/report"),o=e("style-search");t.exports=(e=>{var t,s,a,l,u;e.root.walkRules(c=>{if(!r(c))return;if(!c.selector.includes("[")||!c.selector.includes("="))return;let d=!1;const p=c.raws.selector?c.raws.selector.raw:c.selector,f=i(p,e.result,c,r=>{r.walkAttributes(r=>{const i=r.operator;if(!i)return;const p=r.toString();o({source:p,target:i},o=>{const f=e.checkBeforeOperator?o.startIndex:o.endIndex-1;t=p,s=f,a=c,l=r,u=i,e.locationChecker({source:t,index:s,err(t){e.fix&&e.fix(l)?d=!0:n({message:t.replace(e.checkBeforeOperator?u.charAt(0):u.charAt(u.length-1),u),node:a,index:l.sourceIndex+s,result:e.result,ruleName:e.checkedRuleName})}})})})});d&&f&&(c.raws.selector?c.raws.selector.raw=f:c.selector=f)})})},{"../utils/isStandardSyntaxRule":394,"../utils/parseSelector":407,"../utils/report":412,"style-search":92}],303:[(e,t,s)=>{const r=e("../utils/isStandardSyntaxCombinator"),i=e("../utils/isStandardSyntaxRule"),n=e("../utils/parseSelector"),o=e("../utils/report");t.exports=(e=>{let t;var s,a,l,u,c;e.root.walkRules(d=>{if(!i(d))return;t=!1;const p=d.raws.selector?d.raws.selector.raw:d.selector,f=n(p,e.result,d,i=>{i.walkCombinators(i=>{if(!r(i))return;if(/\s/.test(i.value))return;if("before"===e.locationType&&!i.prev())return;const n=i.parent&&i.parent.parent;if(n&&"pseudo"===n.type)return;const f=i.sourceIndex,m=i.value.length>1&&"before"===e.locationType?f:f+i.value.length-1;s=p,a=i,l=m,u=d,c=f,e.locationChecker({source:s,index:l,errTarget:a.value,err(s){e.fix&&e.fix(a)?t=!0:o({message:s,node:u,index:c,result:e.result,ruleName:e.checkedRuleName})}})})});t&&f&&(d.raws.selector?d.raws.selector.raw=f:d.selector=f)})})},{"../utils/isStandardSyntaxCombinator":387,"../utils/isStandardSyntaxRule":394,"../utils/parseSelector":407,"../utils/report":412}],304:[(e,t,s)=>{const r=e("../utils/isStandardSyntaxRule"),i=e("../utils/report"),n=e("style-search");t.exports=(e=>{var t,s,o;e.root.walkRules(a=>{if(!r(a))return;const l=a.raws.selector?a.raws.selector.raw:a.selector;n({source:l,target:",",functionArguments:"skip"},r=>{t=l,s=r.startIndex,o=a,e.locationChecker({source:t,index:s,err(t){e.fix&&e.fix(o,s)||i({message:t,node:o,index:s,result:e.result,ruleName:e.checkedRuleName})}})})})})},{"../utils/isStandardSyntaxRule":394,"../utils/report":412,"style-search":92}],305:[(e,t,s)=>{const r=e("../../utils/isStandardSyntaxDeclaration"),i=e("../../utils/isStandardSyntaxProperty"),n=e("../../utils/report"),o=e("../../utils/ruleMessages"),a=e("../../utils/validateOptions"),l=e("postcss-value-parser"),u=e("../../utils/vendor"),c="shorthand-property-no-redundant-values",d=o(c,{rejected:(e,t)=>`Unexpected longhand value '${e}' instead of '${t}'`}),p=new Set(["margin","padding","border-color","border-radius","border-style","border-width","grid-gap"]),f=["+","*","/","(",")","$","@","--","var("],m=(e,t,s)=>(t,o)=>{a(o,c,{actual:e})&&t.walkDecls(e=>{if(!r(e)||!i(e.prop))return;const t=e.prop,a=e.value,m=u.unprefixed(t.toLowerCase());if(g=a,f.some(e=>g.includes(e))||(h=m,!p.has(h)))return;const w=[];if(l(a).walk(e=>{"word"===e.type&&w.push(l.stringify(e))}),w.length<=1||w.length>4)return;const b=((e,t,s,r)=>{const i=e.toLowerCase(),n=t.toLowerCase(),o=s&&s.toLowerCase(),a=r&&r.toLowerCase();return((e,t,s,r)=>e===t&&(e===s&&(s===r||!r)||!s&&!r))(i,n,o,a)?[e]:(u=n,d=a,(l=i)===(c=o)&&u===d||l===c&&!d&&l!==u?[e,t]:n===a?[e,t,s]:[e,t,s,r]);var l,u,c,d})(w[0]||"",w[1]||"",w[2]||"",w[3]||"").filter(Boolean).join(" "),y=w.join(" ");b.toLowerCase()!==y.toLowerCase()&&(s.fix?e.value=e.value.replace(a,b):n({message:d.rejected(a,b),node:e,result:o,ruleName:c}))})};var h,g;m.ruleName=c,m.messages=d,m.meta={url:"https://stylelint.io/user-guide/rules/list/shorthand-property-no-redundant-values"},t.exports=m},{"../../utils/isStandardSyntaxDeclaration":389,"../../utils/isStandardSyntaxProperty":393,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/vendor":422,"postcss-value-parser":59}],306:[(e,t,r)=>{const i=e("../../utils/atRuleParamIndex"),n=e("../../utils/declarationValueIndex"),o=e("../../utils/isStandardSyntaxSelector"),a=e("../../utils/parseSelector"),l=e("../../utils/report"),u=e("../../utils/ruleMessages"),c=e("../../utils/validateOptions"),d=e("postcss-value-parser"),p="string-no-newline",f=/\r?\n/,m=u(p,{rejected:"Unexpected newline in string"}),h=e=>(t,r)=>{function u(e,t,s){f.test(t)&&d(t).walk(t=>{if("string"!==t.type)return;const i=f.exec(t.value);if(!i)return;const n=[t.quote,i.input.slice(0,i.index)].reduce((e,t)=>e+t.length,t.sourceIndex);l({message:m.rejected,node:e,index:s(e)+n,result:r,ruleName:p})})}c(r,p,{actual:e})&&t.walk(e=>{switch(e.type){case"atrule":u(e,e.params,i);break;case"decl":u(e,e.value,n);break;case"rule":s=e,f.test(s.selector)&&o(s.selector)&&a(s.selector,r,s,e=>{e.walkAttributes(e=>{const t=f.exec(e.value||"");if(!t)return;const i=[e.attribute,e.operator||"",t.input.slice(0,t.index)].reduce((e,t)=>e+t.length,e.sourceIndex+1);l({message:m.rejected,node:s,index:i,result:r,ruleName:p})})})}})};h.ruleName=p,h.messages=m,h.meta={url:"https://stylelint.io/user-guide/rules/list/string-no-newline"},t.exports=h},{"../../utils/atRuleParamIndex":326,"../../utils/declarationValueIndex":333,"../../utils/isStandardSyntaxSelector":395,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"postcss-value-parser":59}],307:[(e,t,s)=>{const r=e("../../utils/atRuleParamIndex"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/isStandardSyntaxRule"),o=e("../../utils/parseSelector"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),c=e("postcss-value-parser"),{isBoolean:d,assertString:p}=e("../../utils/validateTypes"),f="string-quotes",m=l(f,{expected:e=>`Expected ${e} quotes`}),h=(e,t,s)=>{const l="single"===e?"'":'"',h="single"===e?'"':"'";return(w,b)=>{if(!u(b,f,{actual:e,possible:["single","double"]},{actual:t,possible:{avoidEscape:[d]},optional:!0}))return;const y=!t||void 0===t.avoidEscape||t.avoidEscape;function x(t,r,i){const n=[];if(r.includes(h)&&("atrule"!==t.type||"charset"!==t.name)){c(r).walk(r=>{if("string"===r.type&&r.quote===h){const o=r.value.includes(l);if(y&&o)return;const u=r.sourceIndex;if(s.fix&&!o){const e=u+r.value.length+h.length;n.push(u,e)}else a({message:m.expected(e),node:t,index:i(t)+u,result:b,ruleName:f})}});for(const e of n)"atrule"===t.type?t.params=g(t.params,e,l):t.value=g(t.value,e,l)}}w.walk(t=>{switch(t.type){case"atrule":x(t,t.params,r);break;case"decl":x(t,t.value,i);break;case"rule":(t=>{if(!n(t))return;if(!t.selector.includes("[")||!t.selector.includes("="))return;const r=[];o(t.selector,b,t,r=>{let i=!1;r.walkAttributes(r=>{if(r.quoted){if(r.quoteMark===l&&y){p(r.value);const n=r.value.includes(l);if(r.value.includes(h))return;n&&(s.fix?(i=!0,r.quoteMark=h):a({message:m.expected("single"===e?"double":e),node:t,index:r.sourceIndex+r.offsetOf("value"),result:b,ruleName:f}))}if(r.quoteMark===h){if(y){p(r.value);const n=r.value.includes(l);if(r.value.includes(h))return void(s.fix?(i=!0,r.quoteMark=l):a({message:m.expected(e),node:t,index:r.sourceIndex+r.offsetOf("value"),result:b,ruleName:f}));if(n)return}s.fix?(i=!0,r.quoteMark=l):a({message:m.expected(e),node:t,index:r.sourceIndex+r.offsetOf("value"),result:b,ruleName:f})}}}),i&&(t.selector=r.toString())});for(const e of r)t.selector=g(t.selector,e,l)})(t)}})}};function g(e,t,s){return e.substring(0,t)+s+e.substring(t+s.length)}h.ruleName=f,h.messages=m,h.meta={url:"https://stylelint.io/user-guide/rules/list/string-quotes"},t.exports=h},{"../../utils/atRuleParamIndex":326,"../../utils/declarationValueIndex":333,"../../utils/isStandardSyntaxRule":394,"../../utils/parseSelector":407,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"postcss-value-parser":59}],308:[(e,t,s)=>{const r=e("../../utils/declarationValueIndex"),i=e("../../reference/keywordSets"),n=e("../../utils/optionsMatches"),o=e("postcss"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),c=e("postcss-value-parser"),d=e("../../utils/vendor"),{isNumber:p}=e("../../utils/validateTypes"),f="time-min-milliseconds",m=l(f,{expected:e=>`Expected a minimum of ${e} milliseconds`}),h=new Set(["animation-delay","transition-delay"]),g=(e,t)=>(s,l)=>{if(!u(l,f,{actual:e,possible:p},{actual:t,possible:{ignore:["delay"]},optional:!0}))return;const g=e;function w(e){for(const t of e)if(c.unit(t))return t}function b(e){const t=c.unit(e);if(!t)return!0;const s=Number(t.number);if(s<=0)return!0;const r=t.unit.toLowerCase();return!("ms"===r&&s{const s=d.unprefixed(e.prop.toLowerCase());if(!i.longhandTimeProperties.has(s)||(e=>!(!n(t,"ignore","delay")||!h.has(e)))(s)||b(e.value)||y(e),i.shorthandTimeProperties.has(s)){const s=o.list.comma(e.value);for(const r of s){const s=o.list.space(r);if(n(t,"ignore","delay")){const t=w(s);t&&!b(t)&&y(e,e.value.indexOf(t))}else for(const t of s)b(t)||y(e,e.value.indexOf(t))}}})};g.ruleName=f,g.messages=m,g.meta={url:"https://stylelint.io/user-guide/rules/list/time-min-milliseconds"},t.exports=g},{"../../reference/keywordSets":110,"../../utils/declarationValueIndex":333,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/vendor":422,postcss:79,"postcss-value-parser":59}],309:[(e,t,s)=>{const r=e("../../utils/report"),i=e("../../utils/ruleMessages"),n=e("../../utils/validateOptions"),o="unicode-bom",a=i(o,{expected:"Expected Unicode BOM",rejected:"Unexpected Unicode BOM"}),l=e=>(t,s)=>{if(!n(s,o,{actual:e,possible:["always","never"]})||!t.source||t.source.inline||"object-literal"===t.source.lang||void 0!==t.document)return;const{hasBOM:i}=t.source.input;"always"!==e||i||r({result:s,ruleName:o,message:a.expected,node:t,line:1}),"never"===e&&i&&r({result:s,ruleName:o,message:a.rejected,node:t,line:1})};l.ruleName=o,l.messages=a,l.meta={url:"https://stylelint.io/user-guide/rules/list/unicode-bom"},t.exports=l},{"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420}],310:[(e,t,s)=>{const r=e("../../utils/atRuleParamIndex"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getUnitFromValueNode"),o=e("../../utils/optionsMatches"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateObjectWithArrayProps"),c=e("../../utils/validateOptions"),d=e("postcss-value-parser"),{isRegExp:p,isString:f}=e("../../utils/validateTypes"),m="unit-allowed-list",h=l(m,{rejected:e=>`Unexpected unit "${e}"`}),g=(e,t)=>(s,l)=>{if(!c(l,m,{actual:e,possible:[f]},{optional:!0,actual:t,possible:{ignoreFunctions:[f,p],ignoreProperties:[u(f,p)]}}))return;const g=[e].flat();function w(e,s,r){s=s.replace(/\*/g,","),d(s).walk(s=>{if("function"===s.type){const e=s.value.toLowerCase();if("url"===e)return!1;if(o(t,"ignoreFunctions",e))return!1}const i=n(s);!i||i&&g.includes(i.toLowerCase())||"prop"in e&&t&&o(t.ignoreProperties,i.toLowerCase(),e.prop)||a({index:r(e)+s.sourceIndex,message:h.rejected(i),node:e,result:l,ruleName:m})})}s.walkAtRules(/^media$/i,e=>w(e,e.params,r)),s.walkDecls(e=>w(e,e.value,i))};g.primaryOptionArray=!0,g.ruleName=m,g.messages=h,g.meta={url:"https://stylelint.io/user-guide/rules/list/unit-allowed-list"},t.exports=g},{"../../utils/atRuleParamIndex":326,"../../utils/declarationValueIndex":333,"../../utils/getUnitFromValueNode":350,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateObjectWithArrayProps":418,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"postcss-value-parser":59}],311:[(e,s,r)=>{const i=e("../../utils/atRuleParamIndex"),n=e("../../utils/declarationValueIndex"),o=e("../../utils/getUnitFromValueNode"),a=e("../../utils/report"),l=e("../../utils/ruleMessages"),u=e("../../utils/validateOptions"),c=e("postcss-value-parser"),d="unit-case",p=l(d,{expected:(e,t)=>`Expected "${e}" to be "${t}"`}),f=(e,s,r)=>(s,l)=>{function f(s,i,n){const u=[];function f(t){const r=o(t);if(!r)return!1;const i="lower"===e?r.toLowerCase():r.toUpperCase();return r!==i&&(u.push({index:n(s)+t.sourceIndex,message:p.expected(r,i)}),!0)}const m=c(i).walk(s=>{let i=!1;const n=s.value;if("function"===s.type&&"url"===n.toLowerCase())return!1;n.includes("*")&&n.split("*").some(e=>f(t({},s,{sourceIndex:n.indexOf(e)+e.length+1,value:e}))),(i=f(s))&&r.fix&&(s.value="lower"===e?n.toLowerCase():n.toUpperCase())});if(u.length)if(r.fix)"name"in s&&"media"===s.name?s.params=m.toString():"value"in s&&(s.value=m.toString());else for(const e of u)a({index:e.index,message:e.message,node:s,result:l,ruleName:d})}u(l,d,{actual:e,possible:["lower","upper"]})&&(s.walkAtRules(e=>{(/^media$/i.test(e.name)||"variable"in e)&&f(e,e.params,i)}),s.walkDecls(e=>f(e,e.value,n)))};f.ruleName=d,f.messages=p,f.meta={url:"https://stylelint.io/user-guide/rules/list/unit-case"},s.exports=f},{"../../utils/atRuleParamIndex":326,"../../utils/declarationValueIndex":333,"../../utils/getUnitFromValueNode":350,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"postcss-value-parser":59}],312:[(e,t,s)=>{const r=e("../../utils/atRuleParamIndex"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getUnitFromValueNode"),o=e("postcss-media-query-parser").default,a=e("../../utils/optionsMatches"),l=e("../../utils/report"),u=e("../../utils/ruleMessages"),c=e("../../utils/validateObjectWithArrayProps"),d=e("../../utils/validateOptions"),p=e("postcss-value-parser"),{isRegExp:f,isString:m}=e("../../utils/validateTypes"),h="unit-disallowed-list",g=u(h,{rejected:e=>`Unexpected unit "${e}"`}),w=(e,t)=>(s,u)=>{if(!d(u,h,{actual:e,possible:[m]},{optional:!0,actual:t,possible:{ignoreProperties:[c(m,f)],ignoreMediaFeatureNames:[c(m,f)]}}))return;const w=[e].flat();function O(e,t,s,r,i){const o=n(s);!o||o&&!w.includes(o.toLowerCase())||a(i,o.toLowerCase(),r)||l({index:t+s.sourceIndex,message:g.rejected(o),node:e,result:u,ruleName:h})}s.walkAtRules(/^media$/i,e=>(v=e,k=e.params,S=r,void o(v.params).walk(/^media-feature$/i,e=>{const s=(e=>{const t=e.value.toLowerCase(),s=/((?:-?\w*)*)/.exec(t);return s?s[1]:void 0})(e),r=e.parent.value;p(k).walk(e=>{"word"===e.type&&r.includes(e.value)&&O(v,S(v),e,s,t?t.ignoreMediaFeatureNames:{})})}))),s.walkDecls(e=>(b=e,y=e.value,x=i,y=y.replace(/\*/g,","),void p(y).walk(e=>{if("function"===e.type&&"url"===e.value.toLowerCase())return!1;O(b,x(b),e,b.prop,t?t.ignoreProperties:{})})))};var b,y,x,v,k,S;w.primaryOptionArray=!0,w.ruleName=h,w.messages=g,w.meta={url:"https://stylelint.io/user-guide/rules/list/unit-disallowed-list"},t.exports=w},{"../../utils/atRuleParamIndex":326,"../../utils/declarationValueIndex":333,"../../utils/getUnitFromValueNode":350,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateObjectWithArrayProps":418,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"postcss-media-query-parser":24,"postcss-value-parser":59}],313:[(e,t,s)=>{const r=e("../../utils/atRuleParamIndex"),i=e("../../utils/declarationValueIndex"),n=e("../../utils/getUnitFromValueNode"),o=e("../../utils/isStandardSyntaxAtRule"),a=e("../../utils/isStandardSyntaxDeclaration"),l=e("../../reference/keywordSets"),u=e("postcss-media-query-parser").default,c=e("../../utils/optionsMatches"),d=e("../../utils/report"),p=e("../../utils/ruleMessages"),f=e("../../utils/validateOptions"),m=e("postcss-value-parser"),h=e("../../utils/vendor"),{isRegExp:g,isString:w,assert:b}=e("../../utils/validateTypes"),y="unit-no-unknown",x=p(y,{rejected:e=>`Unexpected unknown unit "${e}"`}),v=(e,t)=>(s,p)=>{function v(e,s,r){s=s.replace(/\*/g,",");const i=m(s);i.walk(o=>{if("function"===o.type&&("url"===o.value.toLowerCase()||c(t,"ignoreFunctions",o.value)))return!1;const a=n(o);if(a&&!(c(t,"ignoreUnits",a)||l.units.has(a.toLowerCase())&&"x"!==a.toLowerCase())){if("x"===a.toLowerCase()){if("atrule"===e.type&&"media"===e.name&&e.params.toLowerCase().includes("resolution")){let t=!1;if(u(e.params).walk((e,s,r)=>{const i=r[r.length-1];if(e.value.toLowerCase().includes("resolution")&&i&&i.sourceIndex===o.sourceIndex)return t=!0,!1}),t)return}if("decl"===e.type){if("image-resolution"===e.prop.toLowerCase())return;if(/^(?:-webkit-)?image-set[\s(]/i.test(s)){const e=i.nodes.find(e=>"image-set"===h.unprefixed(e.value));b(e),b("nodes"in e);const t=e.nodes[e.nodes.length-1];if(b(t),t.sourceIndex>=o.sourceIndex)return}}}d({index:r(e)+o.sourceIndex,message:x.rejected(a),node:e,result:p,ruleName:y})}})}f(p,y,{actual:e},{actual:t,possible:{ignoreUnits:[w,g],ignoreFunctions:[w,g]},optional:!0})&&(s.walkAtRules(/^media$/i,e=>{o(e)&&v(e,e.params,r)}),s.walkDecls(e=>{a(e)&&v(e,e.value,i)}))};v.ruleName=y,v.messages=x,v.meta={url:"https://stylelint.io/user-guide/rules/list/unit-no-unknown"},t.exports=v},{"../../reference/keywordSets":110,"../../utils/atRuleParamIndex":326,"../../utils/declarationValueIndex":333,"../../utils/getUnitFromValueNode":350,"../../utils/isStandardSyntaxAtRule":385,"../../utils/isStandardSyntaxDeclaration":389,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"../../utils/vendor":422,"postcss-media-query-parser":24,"postcss-value-parser":59}],314:[(e,t,s)=>{const r=e("../../utils/declarationValueIndex"),i=e("../../utils/getDeclarationValue"),n=e("../../utils/getUnitFromValueNode"),o=e("../../utils/isCounterIncrementCustomIdentValue"),a=e("../../utils/isCounterResetCustomIdentValue"),l=e("../../utils/isStandardSyntaxValue"),u=e("../../reference/keywordSets"),c=e("../../utils/optionsMatches"),d=e("../../utils/report"),p=e("../../utils/ruleMessages"),f=e("../../utils/validateOptions"),m=e("postcss-value-parser"),{isBoolean:h,isRegExp:g,isString:w}=e("../../utils/validateTypes"),b="value-keyword-case",y=p(b,{expected:(e,t)=>`Expected "${e}" to be "${t}"`}),x=new Set(["+","-","/","*","%"]),v=new Set(["grid-row","grid-row-start","grid-row-end"]),k=new Set(["grid-column","grid-column-start","grid-column-end"]),S=new Map;for(const e of u.camelCaseKeywords)S.set(e.toLowerCase(),e);const O=(e,t,s)=>(p,O)=>{f(O,b,{actual:e,possible:["lower","upper"]},{actual:t,possible:{ignoreProperties:[w,g],ignoreKeywords:[w,g],ignoreFunctions:[w,g],camelCaseSvgKeywords:[h]},optional:!0})&&p.walkDecls(p=>{const f=p.prop,h=p.prop.toLowerCase(),g=p.value,w=m(i(p));let C=!1;w.walk(i=>{const m=i.value.toLowerCase();if(u.systemColors.has(m))return;if("function"===i.type&&("url"===m||"var"===m||"counter"===m||"counters"===m||"attr"===m))return!1;if("function"===i.type&&c(t,"ignoreFunctions",m))return!1;const w=i.value;if("word"!==i.type||!l(i.value)||g.includes("#")||x.has(w)||n(i))return;if("animation"===h&&!u.animationShorthandKeywords.has(m)&&!u.animationNameKeywords.has(m))return;if("animation-name"===h&&!u.animationNameKeywords.has(m))return;if("font"===h&&!u.fontShorthandKeywords.has(m)&&!u.fontFamilyKeywords.has(m))return;if("font-family"===h&&!u.fontFamilyKeywords.has(m))return;if("counter-increment"===h&&o(m))return;if("counter-reset"===h&&a(m))return;if(v.has(h)&&!u.gridRowKeywords.has(m))return;if(k.has(h)&&!u.gridColumnKeywords.has(m))return;if("grid-area"===h&&!u.gridAreaKeywords.has(m))return;if("list-style"===h&&!u.listStyleShorthandKeywords.has(m)&&!u.listStyleTypeKeywords.has(m))return;if("list-style-type"===h&&!u.listStyleTypeKeywords.has(m))return;if(c(t,"ignoreKeywords",w))return;if(c(t,"ignoreProperties",f))return;const M=w.toLocaleLowerCase();let N=null;const E=t&&t.camelCaseSvgKeywords||!1;return w!==(N="lower"===e&&S.has(M)&&E?S.get(M):"lower"===e?w.toLowerCase():w.toUpperCase())?s.fix?(C=!0,void(i.value=N)):void d({message:y.expected(w,N),node:p,index:r(p)+i.sourceIndex,result:O,ruleName:b}):void 0}),s.fix&&C&&(p.value=w.toString())})};O.ruleName=b,O.messages=y,O.meta={url:"https://stylelint.io/user-guide/rules/list/value-keyword-case"},t.exports=O},{"../../reference/keywordSets":110,"../../utils/declarationValueIndex":333,"../../utils/getDeclarationValue":341,"../../utils/getUnitFromValueNode":350,"../../utils/isCounterIncrementCustomIdentValue":365,"../../utils/isCounterResetCustomIdentValue":366,"../../utils/isStandardSyntaxValue":398,"../../utils/optionsMatches":406,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/validateTypes":421,"postcss-value-parser":59}],315:[(e,t,s)=>{const r=e("../../utils/declarationValueIndex"),i=e("../../utils/getDeclarationValue"),n=e("../../utils/ruleMessages"),o=e("../../utils/setDeclarationValue"),a=e("../../utils/validateOptions"),l=e("../valueListCommaWhitespaceChecker"),u=e("../../utils/whitespaceChecker"),c="value-list-comma-newline-after",d=n(c,{expectedAfter:()=>'Expected newline after ","',expectedAfterMultiLine:()=>'Expected newline after "," in a multi-line list',rejectedAfterMultiLine:()=>'Unexpected whitespace after "," in a multi-line list'}),p=(e,t,s)=>{const n=u("newline",e,d);return(t,u)=>{if(!a(u,c,{actual:e,possible:["always","always-multi-line","never-multi-line"]}))return;let d;if(l({root:t,result:u,locationChecker:n.afterOneOnly,checkedRuleName:c,fix:s.fix?(e,t)=>{if(t<=r(e))return!1;const s=(d=d||new Map).get(e)||[];return s.push(t),d.set(e,s),!0}:null,determineIndex(e,t){const s=e.substring(t.endIndex,e.length);return!/^[ \t]*\/\//.test(s)&&(/^[ \t]*\/\*/.test(s)?e.indexOf("*/",t.endIndex)+1:t.startIndex)}}),d)for(const[t,n]of d.entries())for(const a of n.sort((e,t)=>e-t).reverse()){const n=i(t),l=a-r(t),u=n.slice(0,l+1);let c=n.slice(l+1);e.startsWith("always")?c=s.newline+c:e.startsWith("never-multi-line")&&(c=c.replace(/^\s*/,"")),o(t,u+c)}}};p.ruleName=c,p.messages=d,p.meta={url:"https://stylelint.io/user-guide/rules/list/value-list-comma-newline-after"},t.exports=p},{"../../utils/declarationValueIndex":333,"../../utils/getDeclarationValue":341,"../../utils/ruleMessages":413,"../../utils/setDeclarationValue":415,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../valueListCommaWhitespaceChecker":320}],316:[(e,t,s)=>{const r=e("../../utils/ruleMessages"),i=e("../../utils/validateOptions"),n=e("../valueListCommaWhitespaceChecker"),o=e("../../utils/whitespaceChecker"),a="value-list-comma-newline-before",l=r(a,{expectedBefore:()=>'Expected newline before ","',expectedBeforeMultiLine:()=>'Expected newline before "," in a multi-line list',rejectedBeforeMultiLine:()=>'Unexpected whitespace before "," in a multi-line list'}),u=e=>{const t=o("newline",e,l);return(s,r)=>{i(r,a,{actual:e,possible:["always","always-multi-line","never-multi-line"]})&&n({root:s,result:r,locationChecker:t.beforeAllowingIndentation,checkedRuleName:a})}};u.ruleName=a,u.messages=l,u.meta={url:"https://stylelint.io/user-guide/rules/list/value-list-comma-newline-before"},t.exports=u},{"../../utils/ruleMessages":413,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../valueListCommaWhitespaceChecker":320}],317:[(e,t,s)=>{const r=e("../../utils/declarationValueIndex"),i=e("../../utils/getDeclarationValue"),n=e("../../utils/ruleMessages"),o=e("../../utils/setDeclarationValue"),a=e("../../utils/validateOptions"),l=e("../valueListCommaWhitespaceChecker"),u=e("../../utils/whitespaceChecker"),c="value-list-comma-space-after",d=n(c,{expectedAfter:()=>'Expected single space after ","',rejectedAfter:()=>'Unexpected whitespace after ","',expectedAfterSingleLine:()=>'Expected single space after "," in a single-line list',rejectedAfterSingleLine:()=>'Unexpected whitespace after "," in a single-line list'}),p=(e,t,s)=>{const n=u("space",e,d);return(t,u)=>{if(!a(u,c,{actual:e,possible:["always","never","always-single-line","never-single-line"]}))return;let d;if(l({root:t,result:u,locationChecker:n.after,checkedRuleName:c,fix:s.fix?(e,t)=>{if(t<=r(e))return!1;const s=(d=d||new Map).get(e)||[];return s.push(t),d.set(e,s),!0}:null}),d)for(const[t,s]of d.entries())for(const n of s.sort((e,t)=>t-e)){const s=i(t),a=n-r(t),l=s.slice(0,a+1);let u=s.slice(a+1);e.startsWith("always")?u=u.replace(/^\s*/," "):e.startsWith("never")&&(u=u.replace(/^\s*/,"")),o(t,l+u)}}};p.ruleName=c,p.messages=d,p.meta={url:"https://stylelint.io/user-guide/rules/list/value-list-comma-space-after"},t.exports=p},{"../../utils/declarationValueIndex":333,"../../utils/getDeclarationValue":341,"../../utils/ruleMessages":413,"../../utils/setDeclarationValue":415,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../valueListCommaWhitespaceChecker":320}],318:[(e,t,s)=>{const r=e("../../utils/declarationValueIndex"),i=e("../../utils/getDeclarationValue"),n=e("../../utils/ruleMessages"),o=e("../../utils/setDeclarationValue"),a=e("../../utils/validateOptions"),l=e("../valueListCommaWhitespaceChecker"),u=e("../../utils/whitespaceChecker"),c="value-list-comma-space-before",d=n(c,{expectedBefore:()=>'Expected single space before ","',rejectedBefore:()=>'Unexpected whitespace before ","',expectedBeforeSingleLine:()=>'Unexpected whitespace before "," in a single-line list',rejectedBeforeSingleLine:()=>'Unexpected whitespace before "," in a single-line list'}),p=(e,t,s)=>{const n=u("space",e,d);return(t,u)=>{if(!a(u,c,{actual:e,possible:["always","never","always-single-line","never-single-line"]}))return;let d;if(l({root:t,result:u,locationChecker:n.before,checkedRuleName:c,fix:s.fix?(e,t)=>{if(t<=r(e))return!1;const s=(d=d||new Map).get(e)||[];return s.push(t),d.set(e,s),!0}:null}),d)for(const[t,s]of d.entries())for(const n of s.sort((e,t)=>t-e)){const s=i(t),a=n-r(t);let l=s.slice(0,a);const u=s.slice(a);e.startsWith("always")?l=l.replace(/\s*$/," "):e.startsWith("never")&&(l=l.replace(/\s*$/,"")),o(t,l+u)}}};p.ruleName=c,p.messages=d,p.meta={url:"https://stylelint.io/user-guide/rules/list/value-list-comma-space-before"},t.exports=p},{"../../utils/declarationValueIndex":333,"../../utils/getDeclarationValue":341,"../../utils/ruleMessages":413,"../../utils/setDeclarationValue":415,"../../utils/validateOptions":420,"../../utils/whitespaceChecker":423,"../valueListCommaWhitespaceChecker":320}],319:[(e,t,s)=>{const r=e("../../utils/getDeclarationValue"),i=e("../../utils/report"),n=e("../../utils/ruleMessages"),o=e("../../utils/setDeclarationValue"),a=e("../../utils/validateOptions"),{isNumber:l}=e("../../utils/validateTypes"),u="value-list-max-empty-lines",c=n(u,{expected:e=>`Expected no more than ${e} empty ${1===e?"line":"lines"}`}),d=(e,t,s)=>{const n=e+1;return(t,d)=>{if(!a(d,u,{actual:e,possible:l}))return;const p=new RegExp(`(?:\r\n){${n+1},}`),f=new RegExp(`\n{${n+1},}`),m=s.fix?"\n".repeat(n):"",h=s.fix?"\r\n".repeat(n):"";t.walkDecls(t=>{const n=r(t);if(s.fix){const e=n.replace(new RegExp(f,"gm"),m).replace(new RegExp(p,"gm"),h);o(t,e)}else(f.test(n)||p.test(n))&&i({message:c.expected(e),node:t,index:0,result:d,ruleName:u})})}};d.ruleName=u,d.messages=c,d.meta={url:"https://stylelint.io/user-guide/rules/list/value-list-max-empty-lines"},t.exports=d},{"../../utils/getDeclarationValue":341,"../../utils/report":412,"../../utils/ruleMessages":413,"../../utils/setDeclarationValue":415,"../../utils/validateOptions":420,"../../utils/validateTypes":421}],320:[(e,t,s)=>{const r=e("../utils/isStandardSyntaxDeclaration"),i=e("../utils/isStandardSyntaxProperty"),n=e("../utils/report"),o=e("style-search");t.exports=(e=>{var t,s,a;e.root.walkDecls(l=>{if(!r(l)||!i(l.prop))return;const u=l.toString();o({source:u,target:",",functionArguments:"skip"},r=>{const i=e.determineIndex?e.determineIndex(u,r):r.startIndex;!1!==i&&(t=u,s=i,a=l,e.locationChecker({source:t,index:s,err(t){e.fix&&e.fix(a,s)||n({message:t,node:a,index:s,result:e.result,ruleName:e.checkedRuleName})}}))})})})},{"../utils/isStandardSyntaxDeclaration":389,"../utils/isStandardSyntaxProperty":393,"../utils/report":412,"style-search":92}],321:[function(e,t,s){(function(s){(()=>{const r=e("./createStylelint"),i=e("./createStylelintResult"),n=e("./formatters"),o=(e("./utils/getFileIgnorer"),e("./utils/getFormatterOptionsText")),{assert:a}=e("./utils/validateTypes"),l=(e("./utils/allFilesIgnoredError"),e("./prepareReturnValue"));t.exports=(async({allowEmptyInput:e=!1,cache:t=!1,cacheLocation:u,code:c,codeFilename:d,config:p,configBasedir:f,configFile:m,customSyntax:h,cwd:g=s.cwd(),disableDefaultIgnores:w,files:b,fix:y,formatter:x,globbyOptions:v,ignoreDisables:k,ignorePath:S,ignorePattern:O,maxWarnings:C,quiet:M,reportDescriptionlessDisables:N,reportInvalidScopeDisables:E,reportNeedlessDisables:R,syntax:I})=>{Date.now();const A="string"==typeof c;if(!b&&!A||b&&(c||A))return Promise.reject(new Error("You must pass stylelint a `files` glob or a `code` string, though not both"));let P;try{P=(e=>{if("string"==typeof e){const t=n[e];if(void 0===t)throw new Error(`You must use a valid formatter option: ${o()} or a function`);return t}return"function"==typeof e?e:(a(n.json),n.json)})(x)}catch(e){return Promise.reject(e)}const T=r({config:p,configFile:m,configBasedir:f,cwd:g,ignoreDisables:k,ignorePath:S,reportNeedlessDisables:R,reportInvalidScopeDisables:E,reportDescriptionlessDisables:N,syntax:I,customSyntax:h,fix:y,quiet:M});if(!b){const e=d;let t;try{const s=await T._lintSource({code:c,codeFilename:e});t=await T._createStylelintResult(s,e)}catch(e){t=await((e,t,s)=>{if("CssSyntaxError"===t.name)return i(e,void 0,void 0,t);throw t})(T,e)}const s=t._postcssResult,r=l([t],C,P,g);return y&&s&&!s.stylelint.ignored&&!s.stylelint.ruleDisableFix&&(r.output=!s.stylelint.disableWritingFix&&s.opts?s.root.toString(s.opts.syntax):c),r}})}).call(this)}).call(this,e("_process"))},{"./createStylelint":96,"./createStylelintResult":97,"./formatters":99,"./prepareReturnValue":109,"./utils/allFilesIgnoredError":324,"./utils/getFileIgnorer":342,"./utils/getFormatterOptionsText":343,"./utils/validateTypes":421,_process:91}],322:[(e,t,s)=>{t.exports=((e,t)=>{const{raws:s}=e;if("string"!=typeof s.after)return e;const r=s.after.split(";"),i=r[r.length-1]||"";return/\r?\n/.test(i)?s.after=s.after.replace(/(\r?\n)/,`${t}$1`):s.after+=t.repeat(2),e})},{}],323:[(e,t,s)=>{t.exports=((e,t)=>{const{raws:s}=e;return"string"!=typeof s.before?e:(s.before=/\r?\n/.test(s.before)?s.before.replace(/(\r?\n)/,`${t}$1`):t.repeat(2)+s.before,e)})},{}],324:[function(e,t,s){t.exports=class extends Error{constructor(){super(),this.message='All input files were ignored because of the ignore pattern. Either change your input, ignore pattern or use "--allow-empty-input" to allow no inputs'}}},{}],325:[(e,t,s)=>{t.exports=((e,t)=>!(!Array.isArray(e)||!Array.isArray(t))&&e.length===t.length&&e.every((e,s)=>e===t[s]))},{}],326:[(e,t,s)=>{t.exports=(e=>{let t=1+e.name.length;return e.raws.afterName&&(t+=e.raws.afterName.length),t})},{}],327:[(e,t,s)=>{const{isAtRule:r,isRule:i}=e("./typeGuards");t.exports=((e,{noRawBefore:t}={noRawBefore:!1})=>{let s="";const n=e.raws.before||"";if(t||(s+=n),i(e))s+=e.selector;else{if(!r(e))return"";s+=`@${e.name}${e.raws.afterName||""}${e.params}`}return s+(e.raws.between||"")})},{"./typeGuards":417}],328:[(e,t,s)=>{const r=e("./beforeBlockString"),i=e("./hasBlock"),n=e("./rawNodeString");t.exports=(e=>i(e)?n(e).slice(r(e).length):"")},{"./beforeBlockString":327,"./hasBlock":351,"./rawNodeString":409}],329:[(e,t,s)=>{t.exports=((e,t=" ")=>e.replace(/[#@{}]+/g,t))},{}],330:[(e,t,s)=>{const r=e("../normalizeRuleSettings"),i=e("postcss/lib/result"),n=e("../rules");t.exports=((e,t)=>{if(!e)throw new Error("checkAgainstRule requires an options object with 'ruleName', 'ruleSettings', and 'root' properties");if(!t)throw new Error("checkAgainstRule requires a callback");if(!e.ruleName)throw new Error("checkAgainstRule requires a 'ruleName' option");const s=n[e.ruleName];if(!s)throw new Error(`Rule '${e.ruleName}' does not exist`);if(!e.ruleSettings)throw new Error("checkAgainstRule requires a 'ruleSettings' option");if(!e.root)throw new Error("checkAgainstRule requires a 'root' option");const o=r(e.ruleSettings,e.ruleName);if(!o)return;const a=new i;s(o[0],o[1],{})(e.root,a);for(const e of a.warnings())t(e)})},{"../normalizeRuleSettings":107,"../rules":208,"postcss/lib/result":82}],331:[(e,t,s)=>{t.exports=(e=>{const t=new Error(e);return t.code=78,t})},{}],332:[(e,t,s)=>{const{isString:r}=e("./validateTypes");function i(e,t){return!!t&&!!r(t)&&(!t.startsWith("/")||!t.endsWith("/"))&&!!e.includes(t)&&{match:e,pattern:t,substring:t}}t.exports=((e,t)=>{if(!Array.isArray(t))return i(e,t);for(const s of t){const t=i(e,s);if(t)return t}return!1})},{"./validateTypes":421}],333:[(e,t,s)=>{t.exports=(e=>{const t=e.raws;return[t.prop&&t.prop.prefix,t.prop&&t.prop.raw||e.prop,t.prop&&t.prop.suffix,t.between||":",t.value&&t.value.prefix].reduce((e,t)=>t?e+t.length:e,0)})},{}],334:[(e,t,s)=>{const{isRoot:r,isAtRule:i,isRule:n}=e("./typeGuards");t.exports=((e,t)=>{!function e(s){var o;if((n(o=s)||i(o)||r(o))&&s.nodes&&s.nodes.length){const r=[];for(const t of s.nodes)"decl"===t.type&&r.push(t),e(t);r.length&&t(r.forEach.bind(r))}}(e)})},{"./typeGuards":417}],335:[(e,t,s)=>{const r=e("./getUnitFromValueNode"),i=e("./isStandardSyntaxValue"),n=e("./isVariable"),o=e("../reference/keywordSets"),a=e("postcss-value-parser");t.exports=(e=>{const t=[],s=a(e),{nodes:l}=s;return 1===l.length&&l[0]&&o.basicKeywords.has(l[0].value.toLowerCase())?[l[0]]:(s.walk(e=>{if("function"===e.type)return!1;if("word"!==e.type)return;const s=e.value.toLowerCase();if(!i(s))return;if(n(s))return;if(o.animationShorthandKeywords.has(s))return;const a=r(e);a||""===a||t.push(e)}),t)})},{"../reference/keywordSets":110,"./getUnitFromValueNode":350,"./isStandardSyntaxValue":398,"./isVariable":401,"postcss-value-parser":59}],336:[(e,t,s)=>{const{isAtRule:r,isRule:i}=e("./typeGuards");t.exports=function e(t){const s=t.parent;return s?r(s)?s:i(s)?e(s):null:null}},{"./typeGuards":417}],337:[(e,t,s)=>{const r=e("postcss-value-parser"),i=e("./isNumbery"),n=e("./isStandardSyntaxValue"),o=e("./isValidFontSize"),a=e("./isVariable"),{assert:l}=e("./validateTypes"),u=e("../reference/keywordSets"),c=new Set(["word","string","space","div"]);t.exports=(e=>{const t=[],s=r(e),{nodes:d}=s;if(1===d.length&&d[0]&&u.basicKeywords.has(d[0].value.toLowerCase()))return[d[0]];let p=!1,f=null;var m,h,g;return s.walk((e,s,r)=>{if("function"===e.type)return!1;if(!c.has(e.type))return;const d=e.value.toLowerCase();if(!n(d))return;if(a(d))return;if(u.fontShorthandKeywords.has(d)&&!u.fontFamilyKeywords.has(d))return;if(o(e.value))return;const w=r[s-1],b=r[s-2];if(w&&"/"===w.value&&b&&o(b.value))return;if(i(d))return;if(("space"===e.type||"div"===e.type&&","!==e.value)&&0!==t.length)return p=!0,void(f=e.value);if("space"===e.type||"div"===e.type)return;const y=e;if(p){const e=t[t.length-1];l(e),h=y,g=f,(m=e).value=m.value+g+h.value,p=!1,f=null}else t.push(y)}),t})},{"../reference/keywordSets":110,"./isNumbery":378,"./isStandardSyntaxValue":398,"./isValidFontSize":399,"./isVariable":401,"./validateTypes":421,"postcss-value-parser":59}],338:[(e,t,s)=>{t.exports=(e=>{if(null!=e)return Array.isArray(e)?e:[e]})},{}],339:[(e,t,s)=>{const r=e("balanced-match"),i=e("postcss-value-parser"),{assert:n,isString:o,isRegExp:a}=e("./validateTypes");t.exports=((e,t,s)=>{i(e).walk(i=>{if("function"!==i.type)return;const{value:l}=i;if(o(t)&&l!==t)return;if(a(t)&&!t.test(i.value))return;const u=r("(",")",e.slice(i.sourceIndex));n(u);const c=u.body,d=i.sourceIndex+l.length+1;s(c,d)})})},{"./validateTypes":421,"balanced-match":425,"postcss-value-parser":59}],340:[(e,t,s)=>{t.exports=(e=>{const t=e.raws;return t.params&&t.params.raw||e.params})},{}],341:[(e,t,s)=>{t.exports=(e=>{const t=e.raws;return t.value&&t.value.raw||e.value})},{}],342:[(e,t,s)=>{const r=e("fs"),i=e("path"),{default:n}=e("ignore"),o=e("./isPathNotFoundError");t.exports=(e=>{const t=e.ignorePath||".stylelintignore",s=i.isAbsolute(t)?t:i.resolve(e.cwd,t);let a="";try{a=r.readFileSync(s,"utf8")}catch(e){if(!o(e))throw e}return n().add(a).add(e.ignorePattern||[])})},{"./isPathNotFoundError":380,fs:1,ignore:15,path:22}],343:[(e,t,s)=>{const r=e("../formatters");t.exports=((e={})=>{let t=Object.keys(r).map(e=>`"${e}"`).join(", ");return e.useOr&&(t=t.replace(/, ([a-z"]+)$/u," or $1")),t})},{"../formatters":99}],344:[(e,t,s)=>{t.exports=(e=>{const t=/!\s*important\b/gi,s=t.exec(e);if(s)return{index:s.index,endIndex:t.lastIndex}})},{}],345:[(e,t,s)=>{function r(e){return e&&e.source&&e.source.start&&e.source.start.line}t.exports=function e(t){if(void 0===t)return;const s=t.next();return!s||"comment"!==s.type||r(t)!==r(s)&&r(s)!==r(s.next())?s:e(s)}},{}],346:[(e,t,s)=>{const r=e("os");t.exports=(()=>r.EOL)},{os:1}],347:[(e,t,s)=>{function r(e){return e.source&&e.source.start&&e.source.start.line}t.exports=function e(t){if(void 0===t)return;const s=t.prev();if(!s||"comment"!==s.type)return s;if(r(t)===r(s))return e(s);const i=s.prev();return i&&r(s)===r(i)?e(s):s}},{}],348:[(e,t,s)=>{t.exports=(e=>{const t=e.raws;return t.selector&&t.selector.raw||e.selector})},{}],349:[(e,t,s)=>{const{URL:r}=e("url");t.exports=(e=>{let t=null;try{t=new r(e).protocol}catch(e){return null}if(null===t||void 0===t)return null;const s=t.slice(0,-1),i=t.length;return"//"!==e.slice(i,i+2)&&"data"!==s?null:s})},{url:1}],350:[(e,t,s)=>{const r=e("./blurInterpolation"),i=e("./isStandardSyntaxValue"),n=e("postcss-value-parser");t.exports=(e=>{if(!e||!e.value)return null;if("word"!==e.type)return null;if(!i(e.value))return null;if(e.value.startsWith("#"))return null;const t=r(e.value,"").replace("\\0","").replace("\\9",""),s=n.unit(t);return s?s.unit:null})},{"./blurInterpolation":329,"./isStandardSyntaxValue":398,"postcss-value-parser":59}],351:[(e,t,s)=>{t.exports=(e=>void 0!==e.nodes)},{}],352:[(e,t,s)=>{t.exports=(e=>void 0!==e.nodes&&0===e.nodes.length)},{}],353:[(e,t,s)=>{t.exports=(e=>""!==e&&void 0!==e&&/\n[\r\t ]*\n/.test(e))},{}],354:[(e,t,s)=>{const r=e("../utils/hasLessInterpolation"),i=e("../utils/hasPsvInterpolation"),n=e("../utils/hasScssInterpolation"),o=e("../utils/hasTplInterpolation");t.exports=(e=>!!(r(e)||n(e)||o(e)||i(e)))},{"../utils/hasLessInterpolation":355,"../utils/hasPsvInterpolation":356,"../utils/hasScssInterpolation":357,"../utils/hasTplInterpolation":358}],355:[(e,t,s)=>{t.exports=(e=>/@\{.+?\}/.test(e))},{}],356:[(e,t,s)=>{t.exports=(e=>/\$\(.+?\)/.test(e))},{}],357:[(e,t,s)=>{t.exports=(e=>/#\{.+?\}/.test(e))},{}],358:[(e,t,s)=>{t.exports=(e=>/\{.+?\}/.test(e))},{}],359:[(e,t,s)=>{const r=e("./isSharedLineComment");t.exports=(e=>{const t=e.prev();return!(!t||"comment"!==t.type||r(t))})},{"./isSharedLineComment":383}],360:[(e,t,s)=>{const r=e("./isSharedLineComment");t.exports=(e=>{const t=e.prev();return void 0!==t&&"comment"===t.type&&!r(t)&&t.source&&t.source.start&&t.source.end&&t.source.start.line===t.source.end.line})},{"./isSharedLineComment":383}],361:[(e,t,s)=>{const r=e("./getPreviousNonSharedLineCommentNode"),i=e("./isCustomProperty"),n=e("./isStandardSyntaxDeclaration"),{isDeclaration:o}=e("./typeGuards");t.exports=(e=>{const t=r(e);return void 0!==t&&o(t)&&n(t)&&!i(t.prop||"")})},{"./getPreviousNonSharedLineCommentNode":347,"./isCustomProperty":370,"./isStandardSyntaxDeclaration":389,"./typeGuards":417}],362:[(e,t,s)=>{const r=e("./getPreviousNonSharedLineCommentNode"),i=e("./hasBlock"),{isAtRule:n}=e("./typeGuards");t.exports=(e=>{if("atrule"!==e.type)return!1;const t=r(e);return void 0!==t&&n(t)&&!i(t)&&!i(e)})},{"./getPreviousNonSharedLineCommentNode":347,"./hasBlock":351,"./typeGuards":417}],363:[(e,t,s)=>{const r=e("./getPreviousNonSharedLineCommentNode"),i=e("./isBlocklessAtRuleAfterBlocklessAtRule"),{isAtRule:n}=e("./typeGuards");t.exports=(e=>{if(!i(e))return!1;const t=r(e);return!(!t||!n(t))&&t.name===e.name})},{"./getPreviousNonSharedLineCommentNode":347,"./isBlocklessAtRuleAfterBlocklessAtRule":362,"./typeGuards":417}],364:[(e,t,s)=>{const r=e("../reference/keywordSets");t.exports=(e=>{if("pseudo"===e.type){const t=e.value.toLowerCase().replace(/:+/,"");return r.logicalCombinationsPseudoClasses.has(t)||r.aNPlusBOfSNotationPseudoClasses.has(t)}return!1})},{"../reference/keywordSets":110}],365:[(e,t,s)=>{const r=e("../reference/keywordSets");t.exports=(e=>{const t=e.toLowerCase();return!r.counterIncrementKeywords.has(t)&&!Number.isFinite(Number.parseInt(t,10))})},{"../reference/keywordSets":110}],366:[(e,t,s)=>{const r=e("../reference/keywordSets");t.exports=(e=>{const t=e.toLowerCase();return!r.counterResetKeywords.has(t)&&!Number.isFinite(Number.parseInt(t,10))})},{"../reference/keywordSets":110}],367:[(e,t,s)=>{const r=e("../reference/keywordSets"),i=e("mathml-tag-names"),n=e("svg-tags");t.exports=(e=>{if(!/^[a-z]/.test(e))return!1;if(!e.includes("-"))return!1;const t=e.toLowerCase();return!(t!==e||n.includes(t)||r.standardHtmlTags.has(t)||r.nonStandardHtmlTags.has(t)||i.includes(t))})},{"../reference/keywordSets":110,"mathml-tag-names":20,"svg-tags":434}],368:[(e,t,s)=>{t.exports=(e=>e.startsWith("--"))},{}],369:[(e,t,s)=>{t.exports=(e=>e.startsWith("--"))},{}],370:[(e,t,s)=>{t.exports=(e=>e.startsWith("--"))},{}],371:[(e,t,s)=>{t.exports=(e=>e.startsWith(":--"))},{}],372:[(e,t,s)=>{const{isComment:r,hasSource:i}=e("./typeGuards");t.exports=(e=>{const t=e.parent;if(void 0===t||"root"===t.type)return!1;if(e===t.first)return!0;const s=t.nodes;if(!s)return!1;const n=s[0];if(!n)return!1;if(!r(n)||"string"==typeof n.raws.before&&n.raws.before.includes("\n"))return!1;if(!i(n)||!n.source.start)return!1;const o=n.source.start.line;if(!n.source.end||o!==n.source.end.line)return!1;for(const[t,n]of s.entries())if(0!==t){if(n===e)return!0;if(!r(n)||i(n)&&n.source.end&&n.source.end.line!==o)return!1}return!1})},{"./typeGuards":417}],373:[(e,t,s)=>{const{isRoot:r}=e("./typeGuards");t.exports=(e=>{if(r(e))return!1;const t=e.parent;return!!t&&r(t)&&e===t.first})},{"./typeGuards":417}],374:[(e,t,s)=>{const{isAtRule:r}=e("./typeGuards");t.exports=(e=>{const t=e.parent;return!!t&&r(t)&&"keyframes"===t.name.toLowerCase()})},{"./typeGuards":417}],375:[(e,t,s)=>{const r=e("../reference/keywordSets");t.exports=(e=>!!r.keyframeSelectorKeywords.has(e)||!!/^(?:\d+|\d*\.\d+)%$/.test(e))},{"../reference/keywordSets":110}],376:[(e,t,s)=>{const r=e("../reference/mathFunctions");t.exports=(e=>"function"===e.type&&r.includes(e.value.toLowerCase()))},{"../reference/mathFunctions":111}],377:[(e,t,s)=>{t.exports=(e=>Number.isInteger(e)&&"number"==typeof e&&e>=0)},{}],378:[(e,t,s)=>{t.exports=(e=>0!==e.toString().trim().length&&Number(e)==e)},{}],379:[(e,t,s)=>{const r=e("./isWhitespace");t.exports=(e=>{let t=!0;for(const s of e)if(!r(s)){t=!1;break}return t})},{"./isWhitespace":402}],380:[(e,t,s)=>{const r=e("util");t.exports=(e=>r.types.isNativeError(e)&&"ENOENT"===e.code)},{util:1}],381:[(e,t,s)=>{t.exports=(e=>e.includes("=")||e.includes("<")||e.includes(">"))},{}],382:[(e,t,s)=>{t.exports=(e=>!!e.startsWith("$")||!!e.includes(".$"))},{}],383:[(e,t,s)=>{const r=e("./getNextNonSharedLineCommentNode"),i=e("./getPreviousNonSharedLineCommentNode"),{isRoot:n,isComment:o}=e("./typeGuards");function a(e,t){return(e&&e.source&&e.source.end&&e.source.end.line)===(t&&t.source&&t.source.start&&t.source.start.line)}t.exports=(e=>{if(!o(e))return!1;if(a(i(e),e))return!0;const t=r(e);if(t&&a(e,t))return!0;const s=e.parent;return void 0!==s&&!n(s)&&0===s.index(e)&&void 0!==e.raws.before&&!e.raws.before.includes("\n")})},{"./getNextNonSharedLineCommentNode":345,"./getPreviousNonSharedLineCommentNode":347,"./typeGuards":417}],384:[(e,t,s)=>{t.exports=(e=>!/[\n\r]/.test(e))},{}],385:[(e,t,s)=>{t.exports=(e=>!(!e.nodes&&""===e.params||"mixin"in e&&e.mixin||"variable"in e&&e.variable||!e.nodes&&""===e.raws.afterName&&"("===e.params[0]))},{}],386:[(e,t,s)=>{const r=e("./isStandardSyntaxFunction");t.exports=function e(t){if(!r(t))return!1;for(const s of t.nodes){if("function"===s.type)return e(s);if("word"===s.type&&(s.value.startsWith("#")||s.value.startsWith("$")))return!1}return!0}},{"./isStandardSyntaxFunction":390}],387:[(e,t,s)=>{t.exports=(e=>{if("combinator"!==e.type)return!1;if(e.value.startsWith("/")||e.value.endsWith("/"))return!1;if(void 0!==e.parent&&null!==e.parent){const t=e.parent;if(e===t.first)return!1;if(e===t.last)return!1}return!0})},{}],388:[(e,t,s)=>{t.exports=(e=>!("inline"in e||"inline"in e.raws))},{}],389:[(e,t,s)=>{const r=e("./isScssVariable"),{isRoot:i,isRule:n}=e("./typeGuards");t.exports=(e=>{const t=e.prop,s=e.parent;return!(s&&i(s)&&s.source&&(o=s.source.lang,!o||"css"!==o&&"custom-template"!==o&&"template-literal"!==o)||r(t)||"@"===t[0]&&"{"!==t[1]||s&&"atrule"===s.type&&":"===s.raws.afterName||s&&n(s)&&s.selector&&s.selector.startsWith("#")&&s.selector.endsWith("()")||s&&n(s)&&s.selector&&":"===s.selector[s.selector.length-1]&&"--"!==s.selector.substring(0,2)||"extend"in e&&e.extend);var o})},{"./isScssVariable":382,"./typeGuards":417}],390:[(e,t,s)=>{t.exports=(e=>!!e.value&&!e.value.startsWith("#{"))},{}],391:[(e,t,s)=>{t.exports=(e=>!e.includes("["))},{}],392:[(e,t,s)=>{t.exports=(e=>!/#\{.+?\}|\$.+/.test(e))},{}],393:[(e,t,s)=>{const r=e("../utils/hasInterpolation"),i=e("./isScssVariable");t.exports=(e=>!(i(e)||e.startsWith("@")||e.endsWith("+")||e.endsWith("+_")||r(e)))},{"../utils/hasInterpolation":354,"./isScssVariable":382}],394:[(e,t,s)=>{const r=e("../utils/isStandardSyntaxSelector");t.exports=(e=>!("rule"!==e.type||"extend"in e&&e.extend||!r(e.selector)))},{"../utils/isStandardSyntaxSelector":395}],395:[(e,t,s)=>{const r=e("../utils/hasInterpolation");t.exports=(e=>!(r(e)||e.startsWith("%")||e.endsWith(":")||/:extend(?:\(.*?\))?/.test(e)||/\.[\w-]+\(.*\).+/.test(e)||e.endsWith(")")&&!e.includes(":")||/\(@.*\)$/.test(e)||e.includes("<%")||e.includes("%>")||e.includes("//")))},{"../utils/hasInterpolation":354}],396:[(e,t,s)=>{const r=e("../reference/keywordSets");t.exports=(e=>{if(!e.parent||!e.parent.parent)return!1;const t=e.parent.parent,s=t.type,i=t.value;if(i){const e=i.toLowerCase().replace(/:+/,"");if("pseudo"===s&&(r.aNPlusBNotationPseudoClasses.has(e)||r.aNPlusBOfSNotationPseudoClasses.has(e)||r.linguisticPseudoClasses.has(e)||r.shadowTreePseudoElements.has(e)))return!1}return!(e.prev()&&"nesting"===e.prev().type||e.value.startsWith("%")||e.value.startsWith("/")&&e.value.endsWith("/"))})},{"../reference/keywordSets":110}],397:[(e,t,s)=>{const r=e("../utils/hasLessInterpolation"),i=e("../utils/hasPsvInterpolation"),n=e("../utils/hasScssInterpolation"),o=e("../utils/hasTplInterpolation");t.exports=(e=>!(0!==e.length&&(n(e)||o(e)||i(e)||(e.startsWith("'")&&e.endsWith("'")||e.startsWith('"')&&e.endsWith('"')?r(e):e.startsWith("@")&&/^@@?[\w-]+$/.test(e)||e.includes("$")&&/^[$\s\w+\-,./*'"]+$/.test(e)&&!e.endsWith("/")))))},{"../utils/hasLessInterpolation":355,"../utils/hasPsvInterpolation":356,"../utils/hasScssInterpolation":357,"../utils/hasTplInterpolation":358}],398:[(e,t,s)=>{const r=e("../utils/hasInterpolation");t.exports=(e=>{let t=e;return/^[-+*/]/.test(e.charAt(0))&&(t=t.slice(1)),!(t.startsWith("$")||/^.+\.\$/.test(e)||t.startsWith("@")||r(t)||/__MSG_\S+__/.test(e))})},{"../utils/hasInterpolation":354}],399:[(e,t,s)=>{const r=e("../reference/keywordSets"),i=e("postcss-value-parser");t.exports=(e=>{if(!e)return!1;if(r.fontSizeKeywords.has(e))return!0;const t=i.unit(e);if(!t)return!1;const s=t.unit;return"%"===s||!!r.lengthUnits.has(s.toLowerCase())})},{"../reference/keywordSets":110,"postcss-value-parser":59}],400:[(e,t,s)=>{t.exports=(e=>/^#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(e))},{}],401:[(e,t,s)=>{t.exports=(e=>e.toLowerCase().startsWith("var("))},{}],402:[(e,t,s)=>{t.exports=(e=>[" ","\n","\t","\r","\f"].includes(e))},{}],403:[(e,t,s)=>{function r(e,t){if(!Array.isArray(t))return i(e,t);for(const s of t){const t=i(e,s);if(t)return t}return!1}function i(e,t){if(t instanceof RegExp){const s=e.match(t);return!!s&&{match:e,pattern:t,substring:s[0]||""}}const s=t[0],r=t[t.length-1],i=t[t.length-2],n="/"===s&&("/"===r||"/"===i&&"i"===r);if(n){const s=n&&"i"===r?e.match(new RegExp(t.slice(1,-2),"i")):e.match(new RegExp(t.slice(1,-1)));return!!s&&{match:e,pattern:t,substring:s[0]||""}}return e===t&&{match:e,pattern:t,substring:e}}t.exports=((e,t)=>{if(!Array.isArray(e))return r(e,t);for(const s of e){const e=r(s,t);if(e)return e}return!1})},{}],404:[(e,t,s)=>{t.exports=function e(t){return t&&t.next?"comment"===t.type?e(t.next()):t:null}},{}],405:[(e,t,s)=>{function r(e,t){return e.has(t)||e.set(t,new Map),e.get(t)}t.exports=(()=>{const e=new Map;return{getContext(t,...s){if(!t.source)throw new Error("The node source must be present");const i=t.source.input.from,n=r(e,i);return s.reduce((e,t)=>r(e,t),n)}}})},{}],406:[(e,t,s)=>{const r=e("./matchesStringOrRegExp");t.exports=((e,t,s)=>Boolean(e&&e[t]&&"string"==typeof s&&r(s,e[t])))},{"./matchesStringOrRegExp":403}],407:[(e,t,s)=>{const r=e("postcss-selector-parser");t.exports=((e,t,s,i)=>{try{return r(i).processSync(e)}catch(e){return void t.warn(`Cannot parse selector (${e})`,{node:s,stylelintType:"parseError"})}})},{"postcss-selector-parser":29}],408:[(e,t,s)=>{t.exports=((e,t,s)=>{if(e.has(t))return e.get(t);const r=s();return e.set(t,r),r})},{}],409:[(e,t,s)=>{t.exports=(e=>{let t="";return e.raws.before&&(t+=e.raws.before),t+e.toString()})},{}],410:[(e,t,s)=>{t.exports=((e,t)=>(e.raws.after=e.raws.after?e.raws.after.replace(/(\r?\n\s*\n)+/g,t):"",e))},{}],411:[(e,t,s)=>{t.exports=((e,t)=>(e.raws.before=e.raws.before?e.raws.before.replace(/(\r?\n\s*\n)+/g,t):"",e))},{}],412:[(e,t,s)=>{t.exports=(e=>{const{ruleName:t,result:s,message:r,line:i,node:n,index:o,endIndex:a,word:l}=e;if(s.stylelint=s.stylelint||{ruleSeverities:{},customMessages:{},ruleMetadata:{}},s.stylelint.quiet&&"error"!==s.stylelint.ruleSeverities[t])return;const{start:u}=n&&n.rangeBy({index:o,endIndex:a})||{},c=i||u&&u.line;if(!c)throw new Error("You must pass either a node or a line number");const{ignoreDisables:d}=s.stylelint.config||{};if(s.stylelint.disabledRanges){const e=s.stylelint.disabledRanges[t]||s.stylelint.disabledRanges.all||[];for(const r of e)if(r.start<=c&&(void 0===r.end||r.end>=c)&&(!r.rules||r.rules.includes(t))){if((s.stylelint.disabledWarnings||(s.stylelint.disabledWarnings=[])).push({rule:t,line:c}),!d)return;break}}const p=s.stylelint.ruleSeverities&&s.stylelint.ruleSeverities[t];s.stylelint.stylelintError||"error"!==p||(s.stylelint.stylelintError=!0);const f={severity:p,rule:t};n&&(f.node=n),e.start?f.start=e.start:o&&(f.index=o),e.end?f.end=e.end:a&&(f.endIndex=a),l&&(f.word=l);const m=s.stylelint.customMessages&&s.stylelint.customMessages[t]||r;s.warn(m,f)})},{}],413:[(e,t,s)=>{t.exports=((e,t)=>{const s={};for(const[r,i]of Object.entries(t))s[r]="string"==typeof i?`${i} (${e})`:(...t)=>`${i(...t)} (${e})`;return s})},{}],414:[(e,t,s)=>{t.exports=((e,t)=>{const s=e.raws;return s.params?s.params.raw=t:e.params=t,e})},{}],415:[(e,t,s)=>{t.exports=((e,t)=>{const s=e.raws;return s.value?s.value.raw=t:e.value=t,e})},{}],416:[(e,t,s)=>{const r=e("postcss-selector-parser");t.exports=((e,t,s)=>{try{return r(s).processSync(t,{updateSelector:!0})}catch(s){return void e.warn("Cannot parse selector",{node:t,stylelintType:"parseError"})}})},{"postcss-selector-parser":29}],417:[(e,t,s)=>{t.exports.isRoot=(e=>"root"===e.type),t.exports.isRule=(e=>"rule"===e.type),t.exports.isAtRule=(e=>"atrule"===e.type),t.exports.isComment=(e=>"comment"===e.type),t.exports.isDeclaration=(e=>"decl"===e.type),t.exports.isValueFunction=(e=>"function"===e.type),t.exports.hasSource=(e=>Boolean(e.source))},{}],418:[(e,t,s)=>{const{isPlainObject:r}=e("./validateTypes");t.exports=((...e)=>t=>!!r(t)&&Object.values(t).flat().every(t=>e.some(e=>e(t))))},{"./validateTypes":421}],419:[(e,t,s)=>{const{isPlainObject:r}=e("./validateTypes");t.exports=(e=>t=>!!r(t)&&Object.values(t).every(t=>e(t)))},{"./validateTypes":421}],420:[(e,t,s)=>{const r=e("./arrayEqual"),{isPlainObject:i}=e("./validateTypes"),n=new Set(["severity","message","reportDisables","disableFix"]);function o(e,t,s){const o=e.possible,u=e.actual,c=e.optional;if(null===u||r(u,[null]))return;const d=void 0===o||Array.isArray(o)&&0===o.length;if(!d||!0!==u)if(void 0!==u){if(d)return c?void s(`Incorrect configuration for rule "${t}". Rule should have "possible" values for options validation`):void s(`Unexpected option value ${l(u)} for rule "${t}"`);if("function"!=typeof o)if(Array.isArray(o))for(const e of[u].flat())a(o,e)||s(`Invalid option value ${l(e)} for rule "${t}"`);else if(i(u)&&"object"==typeof u&&null!=u)for(const[e,r]of Object.entries(u)){if(n.has(e))continue;const i=o&&o[e];if(i)for(const n of[r].flat())a(i,n)||s(`Invalid value ${l(n)} for option "${e}" of rule "${t}"`);else s(`Invalid option name "${e}" for rule "${t}"`)}else s(`Invalid option value ${l(u)} for rule "${t}": should be an object`);else o(u)||s(`Invalid option ${l(u)} for rule "${t}"`)}else{if(d||c)return;s(`Expected option value for rule "${t}"`)}}function a(e,t){for(const s of[e].flat()){if("function"==typeof s&&s(t))return!0;if(t===s)return!0}return!1}function l(e){return"string"==typeof e?`"${e}"`:`"${JSON.stringify(e)}"`}t.exports=((e,t,...s)=>{let r=!0;for(const e of s)o(e,t,i);function i(t){r=!1,e.warn(t,{stylelintType:"invalidOption"}),e.stylelint=e.stylelint||{disabledRanges:{},ruleSeverities:{},customMessages:{},ruleMetadata:{}},e.stylelint.stylelintError=!0}return r})},{"./arrayEqual":325,"./validateTypes":421}],421:[(e,t,s)=>{const{isPlainObject:r}=e("is-plain-object");function i(e){return"function"==typeof e||e instanceof Function}function n(e){return"number"==typeof e||e instanceof Number}function o(e){return"string"==typeof e||e instanceof String}t.exports={isBoolean:e=>"boolean"==typeof e||e instanceof Boolean,isFunction:i,isNullish:e=>null==e,isNumber:n,isRegExp:e=>e instanceof RegExp,isString:o,isPlainObject:e=>r(e),assert(e,t){t?console.assert(e,t):console.assert(e)},assertFunction(e){console.assert(i(e),`"${e}" must be a function`)},assertNumber(e){console.assert(n(e),`"${e}" must be a number`)},assertString(e){console.assert(o(e),`"${e}" must be a string`)}}},{"is-plain-object":16}],422:[(e,t,s)=>{t.exports={prefix(e){const t=e.match(/^(-\w+-)/);return t&&t[0]||""},unprefixed:e=>e.replace(/^-\w+-/,"")}},{}],423:[(e,s,r)=>{const i=e("./configurationError"),n=e("./isSingleLineString"),o=e("./isWhitespace"),{assertFunction:a,isNullish:l}=e("./validateTypes");s.exports=((e,s,r)=>{let u;function c({source:e,index:t,err:o,errTarget:a,lineCheckStr:l,onlyOneChar:c=!1,allowIndentation:d=!1}){switch(u={source:e,index:t,err:o,errTarget:a,onlyOneChar:c,allowIndentation:d},s){case"always":p();break;case"never":f();break;case"always-single-line":if(!n(l||e))return;p(r.expectedBeforeSingleLine);break;case"never-single-line":if(!n(l||e))return;f(r.rejectedBeforeSingleLine);break;case"always-multi-line":if(n(l||e))return;p(r.expectedBeforeMultiLine);break;case"never-multi-line":if(n(l||e))return;f(r.rejectedBeforeMultiLine);break;default:throw i(`Unknown expectation "${s}"`)}}function d({source:e,index:t,err:o,errTarget:a,lineCheckStr:l,onlyOneChar:c=!1}){switch(u={source:e,index:t,err:o,errTarget:a,onlyOneChar:c},s){case"always":m();break;case"never":h();break;case"always-single-line":if(!n(l||e))return;m(r.expectedAfterSingleLine);break;case"never-single-line":if(!n(l||e))return;h(r.rejectedAfterSingleLine);break;case"always-multi-line":if(n(l||e))return;m(r.expectedAfterMultiLine);break;case"never-multi-line":if(n(l||e))return;h(r.rejectedAfterMultiLine);break;default:throw i(`Unknown expectation "${s}"`)}}function p(t=r.expectedBefore){if(u.allowIndentation)return void((t=r.expectedBefore)=>{const s=u,i=s.source,n=s.index,o=s.err,l="newline"===e?"\n":void 0;let c=n-1;for(;i[c]!==l;){if("\t"!==i[c]&&" "!==i[c])return a(t),void o(t(u.errTarget||i.charAt(n)));c--}})(t);const s=u,i=s.source,n=s.index,c=i[n-1],d=i[n-2];l(c)||("space"!==e||" "!==c||!u.onlyOneChar&&!l(d)&&o(d))&&(a(t),u.err(t(u.errTarget||i.charAt(n))))}function f(e=r.rejectedBefore){const t=u,s=t.source,i=t.index,n=s[i-1];!l(n)&&o(n)&&(a(e),u.err(e(u.errTarget||s.charAt(i))))}function m(t=r.expectedAfter){const s=u,i=s.source,n=s.index,c=i[n+1],d=i[n+2],p=i[n+3];if(!l(c)){if("newline"===e){if("\r"===c&&"\n"===d&&(u.onlyOneChar||l(p)||!o(p)))return;if("\n"===c&&(u.onlyOneChar||l(d)||!o(d)))return}("space"!==e||" "!==c||!u.onlyOneChar&&!l(d)&&o(d))&&(a(t),u.err(t(u.errTarget||i.charAt(n))))}}function h(e=r.rejectedAfter){const t=u,s=t.source,i=t.index,n=s[i+1];!l(n)&&o(n)&&(a(e),u.err(e(u.errTarget||s.charAt(i))))}return{before:c,beforeAllowingIndentation(e){c(t({},e,{allowIndentation:!0}))},after:d,afterOneOnly(e){d(t({},e,{onlyOneChar:!0}))}}})},{"./configurationError":331,"./isSingleLineString":384,"./isWhitespace":402,"./validateTypes":421}],424:[(e,t,s)=>{const r=e("./utils/validateOptions"),{isRegExp:i,isString:n}=e("./utils/validateTypes");t.exports=((e,t)=>{if(!e)return null;const s=e.stylelint;if(!s.config)return null;const o=s.config[t];let a,l;return Array.isArray(o)?(a=o[0],l=o[1]||{}):(a=o||!1,l={}),r(e,t,{actual:a,possible:[!0,!1]},{actual:l,possible:{except:[n,i]}})&&(a||l.except)?[a,{except:l.except||[],severity:l.severity||s.config.defaultSeverity||"error"},s]:null})},{"./utils/validateOptions":420,"./utils/validateTypes":421}],425:[(e,t,s)=>{function r(e,t,s){e instanceof RegExp&&(e=i(e,s)),t instanceof RegExp&&(t=i(t,s));const r=n(e,t,s);return r&&{start:r[0],end:r[1],pre:s.slice(0,r[0]),body:s.slice(r[0]+e.length,r[1]),post:s.slice(r[1]+t.length)}}function i(e,t){const s=t.match(e);return s?s[0]:null}function n(e,t,s){let r,i,n,o,a,l=s.indexOf(e),u=s.indexOf(t,l+1),c=l;if(l>=0&&u>0){if(e===t)return[l,u];for(r=[],n=s.length;c>=0&&!a;)c===l?(r.push(c),l=s.indexOf(e,c+1)):1===r.length?a=[r.pop(),u]:((i=r.pop())=0?l:u;r.length&&(a=[n,o])}return a}t.exports=r,r.range=n},{}],426:[(e,t,s)=>{let r=e("./stringify"),i=e("./parse");t.exports={stringify:r,parse:i}},{"./parse":428,"./stringify":432}],427:[(e,t,s)=>{t.exports=(e=>{let t=[],s=[t],r=0;for(let i of e)t.push(i),"("===i[0]?r+=1:")"===i[0]?r-=1:"newline"===i[0]&&0===r&&(t=[],s.push(t));return s})},{}],428:[(e,t,s)=>{let{Input:r}=e("postcss"),i=e("./preprocess"),n=e("./tokenize"),o=e("./parser"),a=e("./liner");t.exports=((e,t)=>{let s=new r(e,t),l=new o(s);return l.tokens=n(s),l.parts=i(s,a(l.tokens)),l.loop(),l.root})},{"./liner":427,"./parser":429,"./preprocess":430,"./tokenize":433,postcss:79}],429:[function(e,t,s){let{Declaration:r,Comment:i,AtRule:n,Rule:o,Root:a}=e("postcss");t.exports=class{constructor(e){this.input=e,this.pos=0,this.root=new a,this.current=this.root,this.spaces="",this.extraIndent=!1,this.prevIndent=void 0,this.step=void 0,this.root.source={input:e,start:{line:1,column:1}}}loop(){let e;for(;this.pose.indent.length;s?s&&t.colon?this.rule(e):s&&!t.colon&&this.decl(e):this.decl(e)}}else e.end?this.root.raws.after=e.before:this.rule(e);this.pos+=1}for(let e=this.tokens.length-1;e>=0;e--)if(this.tokens[e].length>3){let t=this.tokens[e];this.root.source.end={line:t[4]||t[2],column:t[5]||t[3]};break}}comment(e){let t=e.tokens[0],s=new i;this.init(s,e),s.source.end={line:t[4],column:t[5]},this.commentText(s,t)}atrule(e){let t=e.tokens[0],s=e.tokens.slice(1),r=new n;for(r.name=t[1].slice(1),this.init(r,e),""===r.name&&this.unnamedAtrule(t);!e.end&&e.lastComma;)this.pos+=1,e=this.parts[this.pos],s.push(["space",e.before+e.indent]),s=s.concat(e.tokens);r.raws.afterName=this.firstSpaces(s),this.keepTrailingSpace(r,s),this.checkSemicolon(s),this.checkCurly(s),this.raw(r,"params",s,t)}decl(e){let t=new r;this.init(t,e);let s="",n=0,o=[],a="";for(let t=0;te.indent.length;)o.push(["space",l.before+l.indent]),o=o.concat(l.tokens),this.pos+=1,l=this.parts[this.pos+1];let u=o[o.length-1];if(u&&"comment"===u[0]){o.pop();let e=new i;this.current.push(e),e.source={input:this.input,start:{line:u[2],column:u[3]},end:{line:u[4],column:u[5]}};let t=o[o.length-1];t&&"space"===t[0]&&(o.pop(),e.raws.before=t[1]),this.commentText(e,u)}for(let e=o.length-1;e>0;e--){let s=o[e][0];if("word"===s&&"!important"===o[e][1]){t.important=!0,e>0&&"space"===o[e-1][0]?(t.raws.important=o[e-1][1]+"!important",o.splice(e-1,2)):(t.raws.important="!important",o.splice(e,1));break}if("space"!==s&&"newline"!==s&&"comment"!==s)break}t.raws.between=s+this.firstSpaces(o),this.checkSemicolon(o),this.raw(t,"value",o,n)}rule(e){let t=new o;this.init(t,e);let s=e.tokens,r=this.parts[this.pos+1];for(;!r.end&&r.indent.length===e.indent.length;)s.push(["space",r.before+r.indent]),s=s.concat(r.tokens),this.pos+=1,r=this.parts[this.pos+1];this.keepTrailingSpace(t,s),this.checkCurly(s),this.raw(t,"selector",s)}indent(e){let t=e.indent.length,s=void 0!==this.prevIndent;if(!s&&t&&this.indentedFirstLine(e),!this.step&&t&&(this.step=t,this.root.raws.indent=e.indent),s&&this.prevIndent!==t){let s=t-this.prevIndent;if(s>0)if(s!==this.step)this.wrongIndent(this.prevIndent+this.step,t,e);else if(this.current.last.push)this.current=this.current.last;else{this.extraIndent="";for(let e=0;ee+t[1],""),i=s.reduce((e,t)=>"comment"===t[0]&&"inline"===t[6]?e+"/* "+t[1].slice(2).trim()+" */":e+t[1],"");e.raws[t]={value:l,raw:i},r!==i&&(e.raws[t].sss=r)}e[t]=l;for(let e=s.length-1;e>=0;e--)if(s[e].length>2){o=s[e];break}o||(o=r),e.source.end={line:o[4]||o[2],column:o[5]||o[3]}}nextNonComment(e){let t,s=e;for(;s{function r(e,t,s){throw e.error("Mixed tabs and spaces are not allowed",t,s+1)}t.exports=((e,t)=>{let s,i=0,n=t.map(t=>{let n=!1,o=!1,a=i+1,l=!1,u="",c=[],d=!1;if(t.length>0){if("space"===t[0][0]?(u=t[0][1],c=t.slice(1)):(u="",c=t),!s&&u.length&&(s=" "===u[0]?"space":"tab"),"space"===s?u.includes("\t")&&r(e,a,u.indexOf("\t")):"tab"===s&&u.includes(" ")&&r(e,a,u.indexOf(" ")),c.length){for(let e=c.length-1;e>=0;e--){let t=c[e][0];if(","===t){n=!0;break}if("space"!==t&&"comment"!==t&&"newline"!==t)break}o="comment"===c[0][0],l="at-word"===c[0][0];let e=0;for(let t=0;t{if(!t.tokens.length||t.tokens.every(e=>"newline"===e[0])){let s=e[0],r=t.indent+t.tokens.map(e=>e[1]).join("");s.before=r+s.before}else e.unshift(t);return e},[{end:!0,before:""}])).forEach((e,t)=>{if(0===t)return;let s=n[t-1],r=s.tokens[s.tokens.length-1];r&&"newline"===r[0]&&(e.before=r[1]+e.before,s.tokens.pop())}),n})},{}],431:[function(e,t,s){t.exports=class{constructor(e){this.builder=e}stringify(e,t){this[e.type](e,t)}root(e){this.body(e),e.raws.after&&this.builder(e.raws.after)}comment(e){let t=" ",s=" ";this.has(e.raws.left)&&(t=e.raws.left),e.raws.inline?(s=this.has(e.raws.inlineRight)?e.raws.inlineRight:"",e.raws.extraIndent&&this.builder(e.raws.extraIndent),this.builder("//"+t+e.text+s,e)):(this.has(e.raws.right)&&(s=e.raws.right),this.builder("/*"+t+e.text+s+"*/",e))}decl(e){let t=e.raws.between||": ",s=e.prop+t+this.rawValue(e,"value");e.important&&(s+=e.raws.important||" !important"),this.builder(s,e)}rule(e){this.block(e,this.rawValue(e,"selector"))}atrule(e){let t="@"+e.name,s=e.params?this.rawValue(e,"params"):"";this.has(e.raws.afterName)?t+=e.raws.afterName:s&&(t+=" "),this.block(e,t+s)}body(e){let t=e.root().raws.indent||" ";for(let s=0;s{let r=e("./stringifier");t.exports=((e,t)=>{new r(t).stringify(e)})},{"./stringifier":431}],433:[(e,t,s)=>{const r="'".charCodeAt(0),i='"'.charCodeAt(0),n="\\".charCodeAt(0),o="/".charCodeAt(0),a="\n".charCodeAt(0),l=" ".charCodeAt(0),u="\f".charCodeAt(0),c="\t".charCodeAt(0),d="\r".charCodeAt(0),p="(".charCodeAt(0),f=")".charCodeAt(0),m="{".charCodeAt(0),h="}".charCodeAt(0),g=";".charCodeAt(0),w="*".charCodeAt(0),b=":".charCodeAt(0),y="@".charCodeAt(0),x=",".charCodeAt(0),v=/[\t\n\f\r "'()/;\\{]/g,k=/[\n\f\r]/g,S=/[\t\n\f\r !"'(),:;@\\{}]|\/(?=\*)/g,O=/.[\n"'(/\\]/;t.exports=(e=>{let t,s,C,M,N,E,R,I,A,P,T,j,L,$=[],_=e.css.valueOf(),z=_.length,D=-1,F=1,B=0;function U(t){throw e.error("Unclosed "+t,F,B-D)}for(;B0?(I=F+N,A=s-M[N].length):(I=F,A=D),$.push(["string",_.slice(B,s+1),F,B-D,I,s-A]),D=A,F=I,B=s;break;case y:v.lastIndex=B+1,v.test(_),s=0===v.lastIndex?_.length-1:v.lastIndex-2,$.push(["at-word",_.slice(B,s+1),F,B-D,F,s-D]),B=s;break;case n:for(s=B,R=!0,I=F;_.charCodeAt(s+1)===n;)s+=1,R=!R;t=_.charCodeAt(s+1),R&&(t===d&&_.charCodeAt(s+2)===a?(I+=1,A=s+=2):t===d||t===a||t===u?(I+=1,A=s+=1):s+=1),$.push(["word",_.slice(B,s+1),F,B-D,F,s-D]),I!==F&&(F=I,D=A),B=s;break;default:L=_.charCodeAt(B+1),t===o&&L===w?(0===(s=_.indexOf("*/",B+2)+1)&&U("comment"),(N=(M=(E=_.slice(B,s+1)).split("\n")).length-1)>0?(I=F+N,A=s-M[N].length):(I=F,A=D),$.push(["comment",E,F,B-D,I,s-A]),D=A,F=I,B=s):t===o&&L===o?(k.lastIndex=B+1,k.test(_),s=0===k.lastIndex?_.length-1:k.lastIndex-2,E=_.slice(B,s+1),$.push(["comment",E,F,B-D,F,s-D,"inline"]),B=s):(S.lastIndex=B+1,S.test(_),s=0===S.lastIndex?_.length-1:S.lastIndex-2,$.push(["word",_.slice(B,s+1),F,B-D,F,s-D]),B=s)}B++}return $})},{}],434:[(e,t,s)=>{t.exports=e("./svg-tags.json")},{"./svg-tags.json":435}],435:[(e,t,s)=>{t.exports=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignObject","g","glyph","glyphRef","hkern","image","line","linearGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"]},{}],436:[function(e,t,s){(function(e){(function(){function s(t){try{if(!e.localStorage)return!1}catch(e){return!1}var s=e.localStorage[t];return null!=s&&"true"===String(s).toLowerCase()}t.exports=function(e,t){if(s("noDeprecation"))return e;var r=!1;return function(){if(!r){if(s("throwDeprecation"))throw new Error(t);s("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],stylelint:[(e,t,s)=>{const r=e("./utils/checkAgainstRule"),i=e("./createPlugin"),n=e("./createStylelint"),o=e("./formatters"),a=e("./postcssPlugin"),l=e("./utils/report"),u=e("./utils/ruleMessages"),c=e("./rules"),d=e("./standalone"),p=e("./utils/validateOptions"),f=e("./resolveConfig"),m=Object.assign(a,{lint:d,rules:c,formatters:o,createPlugin:i,resolveConfig:f,createLinter:n,SugarSSParser:e("sugarss/parser"),utils:{report:l,ruleMessages:u,validateOptions:p,checkAgainstRule:r}});t.exports=m},{"./createPlugin":95,"./createStylelint":96,"./formatters":99,"./postcssPlugin":108,"./resolveConfig":116,"./rules":208,"./standalone":321,"./utils/checkAgainstRule":330,"./utils/report":412,"./utils/ruleMessages":413,"./utils/validateOptions":420,"sugarss/parser":429}]},{},[])("stylelint");var s})})(); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 5deba12..5d7efc2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,18 +1,19 @@ { "name": "stylelint-bundle", - "version": "14.2.0", + "version": "14.9.1", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "stylelint-bundle", - "version": "14.2.0", + "version": "14.9.1", "license": "MIT", "devDependencies": { "@babel/core": "^7.12.10", "@babel/preset-env": "^7.12.11", "browserify": "^17.0.0", + "fs-extra": "^10.1.0", "mocha": "^5.2.0", + "sugarss": "^4.0.1", "uglify-es": "3.3.7" }, "engines": { @@ -2145,6 +2146,20 @@ "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", "dev": true }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -2215,6 +2230,12 @@ "node": ">=4" } }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, "node_modules/growl": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", @@ -2571,6 +2592,18 @@ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, "node_modules/jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", @@ -2775,6 +2808,19 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true, + "peer": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, "node_modules/node-releases": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", @@ -2921,6 +2967,31 @@ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", "dev": true }, + "node_modules/postcss": { + "version": "8.4.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", + "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "peer": true, + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -3230,6 +3301,16 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/stream-browserify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", @@ -3350,6 +3431,22 @@ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, + "node_modules/sugarss": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-4.0.1.tgz", + "integrity": "sha512-WCjS5NfuVJjkQzK10s8WOBY+hhDxxNt/N6ZaGwxFZ+wN3/lKKFSaaKUNecULcTTvE4urLcKaZFQD8vO0mOZujw==", + "dev": true, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.3.3" + } + }, "node_modules/supports-color": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", @@ -3374,7 +3471,7 @@ "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, "node_modules/through2": { @@ -3517,6 +3614,15 @@ "node": ">=4" } }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", @@ -5409,6 +5515,17 @@ "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", "dev": true }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -5464,6 +5581,12 @@ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, "growl": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", @@ -5717,6 +5840,16 @@ } } }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, "jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", @@ -5890,6 +6023,13 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true, + "peer": true + }, "node-releases": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", @@ -6012,6 +6152,18 @@ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", "dev": true }, + "postcss": { + "version": "8.4.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", + "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "dev": true, + "peer": true, + "requires": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -6266,6 +6418,13 @@ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "peer": true + }, "stream-browserify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", @@ -6380,6 +6539,13 @@ } } }, + "sugarss": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-4.0.1.tgz", + "integrity": "sha512-WCjS5NfuVJjkQzK10s8WOBY+hhDxxNt/N6ZaGwxFZ+wN3/lKKFSaaKUNecULcTTvE4urLcKaZFQD8vO0mOZujw==", + "dev": true, + "requires": {} + }, "supports-color": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", @@ -6401,7 +6567,7 @@ "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, "through2": { @@ -6512,6 +6678,12 @@ "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", "dev": true }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, "url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", diff --git a/package.json b/package.json index e1d1e7f..21e8050 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "stylelint-bundle", - "version": "14.2.0", + "version": "14.9.1", "description": "Create & provide a bundled version of Stylelint", "keywords": [ "css", @@ -27,7 +27,9 @@ "@babel/core": "^7.12.10", "@babel/preset-env": "^7.12.11", "browserify": "^17.0.0", + "fs-extra": "^10.1.0", "mocha": "^5.2.0", + "sugarss": "^4.0.1", "uglify-es": "3.3.7" }, "engines": {