-
Notifications
You must be signed in to change notification settings - Fork 9
/
index.mjs.map
1 lines (1 loc) · 22.6 KB
/
index.mjs.map
1
{"version":3,"file":"index.mjs","sources":["lib/maps.js","lib/validate.js","lib/rule-name.js","lib/messages.js","lib/walk.js","index.js"],"sourcesContent":["const inline = {\n\tstart: { ltr: 'left', rtl: 'right' },\n\tend: { ltr: 'right', rtl: 'left' }\n}\n\nexport const physical4Prop = [\n\t[ [ 'top', 'left', 'bottom', 'right' ], 'inset' ],\n\t[ [ 'margin-top', 'margin-left', 'margin-bottom', 'margin-right' ], 'margin' ],\n\t[ [ 'padding-top', 'padding-left', 'padding-bottom', 'padding-right' ], 'padding' ]\n];\n\nexport const physical2Prop = () => [\n\t[ [ 'top', 'bottom' ], 'inset-block' ],\n\t[ [ 'left', 'right' ], 'inset-inline' ],\n\n\t[ [ 'margin-top', 'margin-bottom' ], 'margin-block' ],\n\t[ [ 'margin-left', 'margin-right' ], 'margin-inline' ],\n\n\t[ [ 'padding-top', 'padding-bottom' ], 'padding-block' ],\n\t[ [ 'padding-left', 'padding-right' ], 'padding-inline' ],\n];\n\nexport const physicalProp = dir => [\n\t[ [ 'top' ], 'inset-block-start' ],\n\t[ [ 'bottom' ], 'inset-block-end' ],\n\t[ [ inline.start[dir] ], 'inset-inline-start' ],\n\t[ [ inline.end[dir] ], 'inset-inline-end' ],\n\n\t[ [ 'margin-top' ], 'margin-block-start' ],\n\t[ [ 'margin-bottom' ], 'margin-block-end' ],\n\t[ [ `margin-${inline.start[dir]}` ], 'margin-inline-start' ],\n\t[ [ `margin-${inline.end[dir]}` ], 'margin-inline-end' ],\n\n\t[ [ 'padding-top' ], 'padding-block-start' ],\n\t[ [ 'padding-bottom' ], 'padding-block-end' ],\n\t[ [ `padding-${inline.start[dir]}` ], 'padding-inline-start' ],\n\t[ [ `padding-${inline.end[dir]}` ], 'padding-inline-end' ],\n\n\t// width, height\n\t[ [ 'width' ], 'inline-size' ],\n\t[ [ 'min-width' ], 'min-inline-size' ],\n\t[ [ 'max-width' ], 'max-inline-size' ],\n\t[ [ 'height' ], 'block-size' ],\n\t[ [ 'min-height' ], 'min-block-size' ],\n\t[ [ 'max-height' ], 'max-block-size' ],\n\n\t// border\n\t[ [ 'border-top' ], 'border-block-start' ],\n\t[ [ 'border-bottom' ], 'border-block-end' ],\n\t[ [ `border-${inline.start[dir]}` ], 'border-inline-start' ],\n\t[ [ `border-${inline.end[dir]}` ], 'border-inline-end' ],\n\n\t[ [ 'border-top-color' ], 'border-block-start-color' ],\n\t[ [ 'border-top-style' ], 'border-block-start-style' ],\n\t[ [ 'border-top-width' ], 'border-block-start-width' ],\n\t[ [ 'border-bottom-color' ], 'border-block-end-color' ],\n\t[ [ 'border-bottom-style' ], 'border-block-end-style' ],\n\t[ [ 'border-bottom-width' ], 'border-block-end-width' ],\n\n\n\t[ [ `border-${inline.start[dir]}-color` ], 'border-inline-start-color' ],\n\t[ [ `border-${inline.start[dir]}-style` ], 'border-inline-start-style' ],\n\t[ [ `border-${inline.start[dir]}-width` ], 'border-inline-start-width' ],\n\t[ [ `border-${inline.end[dir]}-color` ], 'border-inline-end-color' ],\n\t[ [ `border-${inline.end[dir]}-style` ], 'border-inline-end-style' ],\n\t[ [ `border-${inline.end[dir]}-width` ], 'border-inline-end-width' ],\n\n\n\n\t[ [ `border-top-${inline.start[dir]}-radius` ], 'border-start-start-radius' ],\n\t[ [ `border-bottom-${inline.start[dir]}-radius` ], 'border-end-start-radius' ],\n\t[ [ `border-top-${inline.end[dir]}-radius` ], 'border-start-end-radius' ],\n\t[ [ `border-bottom-${inline.end[dir]}-radius` ], 'border-end-end-radius' ],\n\n];\n\nexport const physicalValue = dir => [\n\t[ /^clear$/i, {\n\t\t[inline.start[dir]]: 'inline-start',\n\t\t[inline.end[dir]]: 'inline-end'\n\t}],\n\t[ /^float$/i, {\n\t\t[inline.start[dir]]: 'inline-start',\n\t\t[inline.end[dir]]: 'inline-end'\n\t}],\n\t[ /^text-align$/i, {\n\t\t[inline.start[dir]]: 'start',\n\t\t[inline.end[dir]]: 'end'\n\t}]\n];\n","export const validateRuleWithProps = (root, props, fn) => {\n\t// conditionally walk nodes with children\n\tif (root.nodes && root.nodes.length) {\n\t\tconst args = [];\n\n\t\tconst hasProps = props.every(prop => {\n\t\t\tconst declIndex = root.nodes.findIndex(child => child.type === 'decl' && child.prop === prop);\n\t\t\tconst decl = root.nodes[declIndex];\n\n\t\t\tif (decl) {\n\t\t\t\targs.push(decl, declIndex);\n\t\t\t}\n\n\t\t\treturn decl;\n\t\t});\n\n\t\tif (hasProps) {\n\t\t\tfn(...args);\n\t\t}\n\t}\n};\n","export default 'csstools/use-logical';\n","import stylelint from 'stylelint';\nimport ruleName from './rule-name';\n\nexport default stylelint.utils.ruleMessages(ruleName, {\n\tunexpectedProp(physicalProperty, logicalProperty) {\n\t\treturn `Unexpected \"${physicalProperty}\" property. Use \"${logicalProperty}\".`;\n\t},\n\tunexpectedValue(property, physicalValue, logicalValue) {\n\t\treturn `Unexpected \"${physicalValue}\" value in \"${property}\" property. Use \"${logicalValue}\".`;\n\t}\n});\n","// walk all container nodes\nexport default function walk(node, fn) {\n\tif (node.nodes && node.nodes.length) {\n\t\tconst nodes = node.nodes.slice();\n\t\tconst length = nodes.length;\n\t\tlet index = -1;\n\n\t\twhile (++index < length) {\n\t\t\tconst child = nodes[index];\n\n\t\t\tif (!isDirRule(child)) {\n\t\t\t\tfn(child);\n\n\t\t\t\twalk(child, fn);\n\t\t\t}\n\t\t}\n\t}\n}\n\nconst dirSelectorRegExp = /:dir\\(ltr|rtl\\)/i;\nconst isDirRule = node => node.type === 'rule' && dirSelectorRegExp.test(node.selector);\n","import stylelint from 'stylelint';\nimport { physicalProp, physical2Prop, physical4Prop, physicalValue } from './lib/maps';\nimport { validateRuleWithProps } from './lib/validate';\nimport ruleName from './lib/rule-name';\nimport messages from './lib/messages';\nimport walk from './lib/walk';\n\nconst reportedDecls = new WeakMap();\n\nfunction ruleFunc(method, opts, context) {\n\tconst propExceptions = [].concat(Object(opts).except || []);\n\tconst isAutofix = isContextAutofixing(context);\n\tconst dir = /^rtl$/i.test(Object(opts).direction) ? 'rtl' : 'ltr';\n\n\treturn (root, result) => {\n\t\t// validate the method\n\t\tconst isMethodValid = stylelint.utils.validateOptions(result, ruleName, {\n\t\t\tactual: method,\n\t\t\tpossible() {\n\t\t\t\treturn isMethodIndifferent(method) ||\n\t\t\t\t\tisMethodAlways(method)\n\t\t\t}\n\t\t});\n\n\t\tconst reportUnexpectedProperty = (decl, logicalProperty) => stylelint.utils.report({\n\t\t\tmessage: messages.unexpectedProp(decl.prop, logicalProperty),\n\t\t\tnode: decl,\n\t\t\tresult,\n\t\t\truleName\n\t\t});\n\n\t\tconst reportUnexpectedValue = (node, value) => stylelint.utils.report({\n\t\t\tmessage: messages.unexpectedValue(node.prop, node.value, value),\n\t\t\tnode,\n\t\t\tresult,\n\t\t\truleName\n\t\t});\n\n\t\tif (isMethodValid && isMethodAlways(method)) {\n\t\t\twalk(root, node => {\n\t\t\t\t// validate or autofix 4 physical properties as logical shorthands\n\t\t\t\tphysical4Prop.forEach(([ props, prop ]) => {\n\t\t\t\t\tvalidateRuleWithProps(node, props, (blockStartDecl, blockStartIndex, inlineStartDecl, inlineStartIndex, blockEndDecl, blockEndIndex, inlineEndDecl, inlineEndIndex) => { // eslint-disable-line\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tisDeclAnException(blockStartDecl, propExceptions) ||\n\t\t\t\t\t\t\tisDeclAnException(inlineStartDecl, propExceptions) ||\n\t\t\t\t\t\t\tisDeclAnException(blockEndDecl, propExceptions) ||\n\t\t\t\t\t\t\tisDeclAnException(inlineEndDecl, propExceptions)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst firstInlineDecl = blockStartDecl;\n\n\t\t\t\t\t\tif (isAutofix) {\n\t\t\t\t\t\t\tconst values = [ blockStartDecl.value, inlineStartDecl.value, blockEndDecl.value, inlineEndDecl.value ];\n\n\t\t\t\t\t\t\tif (values[1] === values[3]) {\n\t\t\t\t\t\t\t\tvalues.pop();\n\n\t\t\t\t\t\t\t\tif (values[2] === values[1]) {\n\t\t\t\t\t\t\t\t\tvalues.pop();\n\n\t\t\t\t\t\t\t\t\tif (values[1] === values[0]) {\n\t\t\t\t\t\t\t\t\t\tvalues.pop();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tfirstInlineDecl.cloneBefore({\n\t\t\t\t\t\t\t\tprop,\n\t\t\t\t\t\t\t\tvalue: values.length <= 2 ? values.join(' ') : `logical ${values.join(' ')}`\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tblockStartDecl.remove();\n\t\t\t\t\t\t\tinlineStartDecl.remove();\n\t\t\t\t\t\t\tblockEndDecl.remove();\n\t\t\t\t\t\t\tinlineEndDecl.remove();\n\t\t\t\t\t\t} else if (!isDeclReported(blockStartDecl) && !isDeclReported(inlineStartDecl) && !isDeclReported(blockEndDecl) && !isDeclReported(inlineEndDecl)) {\n\t\t\t\t\t\t\treportUnexpectedProperty(firstInlineDecl, prop);\n\n\t\t\t\t\t\t\treportedDecls.set(blockStartDecl);\n\t\t\t\t\t\t\treportedDecls.set(inlineStartDecl);\n\t\t\t\t\t\t\treportedDecls.set(blockEndDecl);\n\t\t\t\t\t\t\treportedDecls.set(inlineEndDecl);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\t// validate or autofix 2 physical properties as logical shorthands\n\t\t\t\tphysical2Prop().forEach(([ props, prop ]) => {\n\t\t\t\t\tvalidateRuleWithProps(node, props, (blockStartDecl, blockStartIndex, inlineStartDecl, inlineStartIndex) => { // eslint-disable-line\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tisDeclAnException(blockStartDecl, propExceptions) ||\n\t\t\t\t\t\t\tisDeclAnException(inlineStartDecl, propExceptions)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst firstInlineDecl = blockStartIndex < inlineStartIndex\n\t\t\t\t\t\t\t? blockStartDecl\n\t\t\t\t\t\t: inlineStartDecl;\n\n\t\t\t\t\t\tif (isAutofix) {\n\t\t\t\t\t\t\tfirstInlineDecl.cloneBefore({\n\t\t\t\t\t\t\t\tprop,\n\t\t\t\t\t\t\t\tvalue: blockStartDecl.value === inlineStartDecl.value\n\t\t\t\t\t\t\t\t\t? blockStartDecl.value\n\t\t\t\t\t\t\t\t: [ blockStartDecl.value, inlineStartDecl.value ].join(' ')\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tblockStartDecl.remove();\n\t\t\t\t\t\t\tinlineStartDecl.remove();\n\t\t\t\t\t\t} else if (!isDeclReported(blockStartDecl) && !isDeclReported(inlineStartDecl)) {\n\t\t\t\t\t\t\treportUnexpectedProperty(firstInlineDecl, prop);\n\n\t\t\t\t\t\t\treportedDecls.set(blockStartDecl);\n\t\t\t\t\t\t\treportedDecls.set(inlineStartDecl);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\t// validate or autofix physical properties as logical\n\t\t\t\tphysicalProp(dir).forEach(([ props, prop ]) => {\n\t\t\t\t\tvalidateRuleWithProps(node, props, physicalDecl => {\n\t\t\t\t\t\tif (isDeclAnException(physicalDecl, propExceptions)) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (isAutofix) {\n\t\t\t\t\t\t\tphysicalDecl.prop = prop;\n\t\t\t\t\t\t} else if (!isDeclReported(physicalDecl)) {\n\t\t\t\t\t\t\treportUnexpectedProperty(physicalDecl, prop);\n\n\t\t\t\t\t\t\treportedDecls.set(physicalDecl);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\t// validate or autofix physical values as logical\n\t\t\t\tphysicalValue(dir).forEach(([ regexp, props ]) => {\n\t\t\t\t\tif (!isNodeMatchingDecl(node, regexp)) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (isDeclAnException(node, propExceptions)) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst valuekey = node.value.toLowerCase();\n\n\t\t\t\t\tif (valuekey in props) {\n\t\t\t\t\t\tconst value = props[valuekey];\n\n\t\t\t\t\t\tif (isAutofix) {\n\t\t\t\t\t\t\tnode.value = value;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treportUnexpectedValue(node, value);\n\n\t\t\t\t\t\t\treportedDecls.set(node);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t};\n};\nruleFunc.ruleName = ruleName;\n\nexport default stylelint.createPlugin(ruleName, ruleFunc);\n\nconst isMethodIndifferent = method => method === 'ignore' || method === false || method === null;\nconst isMethodAlways = method => method === 'always' || method === true;\nconst isContextAutofixing = context => Boolean(Object(context).fix);\nconst isNodeMatchingDecl = (decl, regexp) => decl.type === 'decl' && regexp.test(decl.prop);\n\nconst isDeclAnException = (decl, propExceptions) => {\n\tif (!decl || decl.type !== 'decl') {\n\t\treturn false;\n\t}\n\n\treturn propExceptions.some((match) => {\n\t\tif (match instanceof RegExp) {\n\t\t\treturn match.test(decl.prop);\n\t\t}\n\n\t\treturn String(match || '').toLowerCase() === String(decl.prop || '').toLowerCase();\n\t});\n}\n\nconst isDeclReported = decl => reportedDecls.has(decl);\n"],"names":[],"mappings":"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"}