the-forest/client/node_modules/@csstools/postcss-is-pseudo-class/dist/index.cjs

2 lines
6.3 KiB
JavaScript
Raw Normal View History

2024-09-17 20:35:18 -04:00
"use strict";var e=require("postcss-selector-parser"),o=require("@csstools/selector-specificity");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=s(e);function t(e,o){return n.default.isPseudoElement(e)?d.pseudoElement:d[o]}const d={universal:0,tag:1,pseudoElement:2,id:3,class:4,attribute:5,pseudo:6,selector:7,string:8,root:9,comment:10};function r(e,o,s,d){return e.flatMap((e=>{if(-1===e.indexOf(":-csstools-matches")&&-1===e.toLowerCase().indexOf(":is"))return e;const r=n.default().astSync(e);return r.walkPseudos((e=>{if(":is"===e.value.toLowerCase()&&e.nodes&&e.nodes.length&&"selector"===e.nodes[0].type&&0===e.nodes[0].nodes.length)return e.value=":not",void e.nodes[0].append(n.default.universal());if(":-csstools-matches"===e.value)if(!e.nodes||e.nodes.length){if(e.walkPseudos((e=>{if(n.default.isPseudoElement(e)){let o=e.value;if(o.startsWith("::-csstools-invalid-"))return;for(;o.startsWith(":");)o=o.slice(1);e.value=`::-csstools-invalid-${o}`,d()}})),1===e.nodes.length&&"selector"===e.nodes[0].type){if(1===e.nodes[0].nodes.length)return void e.replaceWith(e.nodes[0].nodes[0]);if(!e.nodes[0].some((e=>"combinator"===e.type)))return void e.replaceWith(...e.nodes[0].nodes)}1!==r.nodes.length||"selector"!==r.nodes[0].type||1!==r.nodes[0].nodes.length||r.nodes[0].nodes[0]!==e?function(e){return!(!e||!e.nodes||"selector"!==e.type||3!==e.nodes.length||!e.nodes[0]||"pseudo"!==e.nodes[0].type||":-csstools-matches"!==e.nodes[0].value||!e.nodes[1]||"combinator"!==e.nodes[1].type||"+"!==e.nodes[1].value||!e.nodes[2]||"pseudo"!==e.nodes[2].type||":-csstools-matches"!==e.nodes[2].value||!e.nodes[0].nodes||1!==e.nodes[0].nodes.length||"selector"!==e.nodes[0].nodes[0].type||!e.nodes[0].nodes[0].nodes||3!==e.nodes[0].nodes[0].nodes.length||!e.nodes[0].nodes[0].nodes||"combinator"!==e.nodes[0].nodes[0].nodes[1].type||">"!==e.nodes[0].nodes[0].nodes[1].value||!e.nodes[2].nodes||1!==e.nodes[2].nodes.length||"selector"!==e.nodes[2].nodes[0].type||!e.nodes[2].nodes[0].nodes||3!==e.nodes[2].nodes[0].nodes.length||!e.nodes[2].nodes[0].nodes||"combinator"!==e.nodes[2].nodes[0].nodes[1].type||">"!==e.nodes[2].nodes[0].nodes[1].value||(e.nodes[0].nodes[0].insertAfter(e.nodes[0].nodes[0].nodes[0],e.nodes[2].nodes[0].nodes[0].clone()),e.nodes[2].nodes[0].nodes[1].remove(),e.nodes[2].nodes[0].nodes[0].remove(),e.nodes[0].replaceWith(e.nodes[0].nodes[0]),e.nodes[2].replaceWith(e.nodes[2].nodes[0]),0))}(e.parent)||function(e){if(!e||!e.nodes)return!1;if("selector"!==e.type)return!1;if(2!==e.nodes.length)return!1;let o,s;return e.nodes[0]&&"pseudo"===e.nodes[0].type&&":-csstools-matches"===e.nodes[0].value?(o=0,s=1):e.nodes[1]&&"pseudo"===e.nodes[1].type&&":-csstools-matches"===e.nodes[1].value&&(o=1,s=0),!(!o||!e.nodes[s]||"selector"===e.nodes[s].type&&e.nodes[s].some((e=>"combinator"===e.type||n.default.isPseudoElement(e)))||(e.nodes[o].append(e.nodes[s].clone()),e.nodes[o].replaceWith(...e.nodes[o].nodes),e.nodes[s].remove(),0))}(e.parent)||("warning"===o.onComplexSelector&&s(),e.value=":is"):e.replaceWith(...e.nodes[0].nodes)}else e.remove()})),r.walk((e=>{"selector"===e.type&&"nodes"in e&&1===e.nodes.length&&"selector"===e.nodes[0].type&&e.replaceWith(e.nodes[0])})),r.walk((e=>{"nodes"in e&&function(e){if(!e||!e.nodes)return;const o=[];let s=[];for(let t=0;t<e.nodes.length;t++)"combinator"!==e.nodes[t].type?n.default.isPseudoElement(e.nodes[t])?(o.push(s),s=[e.nodes[t]]):s.push(e.nodes[t]):(o.push(s),o.push([e.nodes[t]]),s=[]);o.push(s);const d=[];for(let e=0;e<o.length;e++){const s=o[e];s.sort(((e,o)=>"selector"===e.type&&"selector"===o.type&&e.nodes.length&&o.nodes.length?t(e.nodes[0],e.nodes[0].type)-t(o.nodes[0],o.nodes[0].type):"selector"===e.type&&e.nodes.length?t(e.nodes[0],e.nodes[0].type)-t(o,o.type):"selector"===o.type&&o.nodes.length?t(e,e.type)-t(o.nodes[0],o.nodes[0].type):t(e,e.type)-t(o,o.type)));for(let e=0;e<s.length;e++)d.push(s[e])}for(let o=d.length-1;o>=0;o--)d[o].remove(),e.prepend(d[o])}(e)})),r.toString()})).filter((e=>!!e))}function l(e,s,t=0){const d=":not(#"+s.specificityMatchingName+")",