"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=e(require("postcss-selector-parser"));function n(e){e&&e.nodes&&e.nodes.sort(((e,s)=>{if("selector"===e.type&&"selector"===s.type&&e.nodes.length&&s.nodes.length){if(e.nodes[0].type===s.nodes[0].type)return 0;if(t[e.nodes[0].type]<t[s.nodes[0].type])return-1;if(t[e.nodes[0].type]>t[s.nodes[0].type])return 1}if("selector"===e.type&&e.nodes.length){if(e.nodes[0].type===s.type)return 0;if(t[e.nodes[0].type]<t[s.type])return-1;if(t[e.nodes[0].type]>t[s.type])return 1}if("selector"===s.type&&s.nodes.length){if(e.type===s.nodes[0].type)return 0;if(t[e.type]<t[s.nodes[0].type])return-1;if(t[e.type]>t[s.nodes[0].type])return 1}return e.type===s.type?e.value<s.value?-1:e.value>s.value?1:0:t[e.type]<t[s.type]?-1:1}))}const t={universal:0,tag:1,id:2,class:3,attribute:4,pseudo:5,selector:7,string:8,root:9,comment:10};function o(e,t,o){return e.flatMap((e=>{if(-1===e.indexOf(":-csstools-matches")&&-1===e.indexOf(":is"))return e;const r=s.default().astSync(e);return r.walkPseudos((e=>{if(":is"===e.value&&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(s.default.universal());if(":-csstools-matches"===e.value)if(!e.nodes||e.nodes.length){if(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 s,n;return e.nodes[0]&&"pseudo"===e.nodes[0].type&&":-csstools-matches"===e.nodes[0].value?(s=0,n=1):e.nodes[1]&&"pseudo"===e.nodes[1].type&&":-csstools-matches"===e.nodes[1].value&&(s=1,n=0),!(!s||!e.nodes[n]||"selector"===e.nodes[n].type&&e.nodes[n].some((e=>"combinator"===e.type))||(e.nodes[s].append(e.nodes[n].clone()),e.nodes[s].replaceWith(...e.nodes[s].nodes),e.nodes[n].remove(),0))}(e.parent)||("warning"===t.onComplexSelector&&o(),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;let t=[];const o=[...e.nodes];for(let e=0;e<o.length+1;e++){const r=o[e];if(r&&"combinator"!==r.type)t.push(r);else{if(t.length>1){const e=s.default.selector({value:""});t[0].replaceWith(e),t.slice(1).forEach((e=>{e.remove()})),t.forEach((s=>{e.append(s)})),n(e),e.replaceWith(...e.nodes)}t=[]}}}(e)})),r.toString()})).filter((e=>!!e))}function r(e){let n=0,t=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)t+=1;else if("attribute"===e.type)t+=1;else if("pseudo"===e.type)switch(e.value){case"::after":case":after":case"::backdrop":case"::before":case":before":case"::cue":case"::cue-region":case"::first-letter":case":first-letter":case"::first-line":case":first-line":case"::file-selector-button":case"::grammar-error":case"::marker":case"::part":case"::placeholder":case"::selection":case"::slotted":case"::spelling-error":case"::target-text":o+=1;break;case":is":case":has":case":not":if(e.nodes&&e.nodes.length>0){let s={a:0,b:0,c:0};e.nodes.forEach((e=>{const n=r(e);n.a>s.a?s=n:n.a<s.a||(n.b>s.b?s=n:n.b<s.b||n.c>s.c&&(s=n))})),n+=s.a,t+=s.b,o+=s.c}break;case"where":break;case":nth-child":case":nth-last-child":{const d=e.nodes.findIndex((e=>{e.value}));if(d>-1){const c=r(s.default.selector({nodes:e.nodes.slice(d+1),value:""}));n+=c.a,t+=c.b,o+=c.c}else n+=n,t+=t,o+=o}break;default:t+=1}else e.nodes&&e.nodes.length>0&&e.nodes.forEach((e=>{const s=r(e);n+=s.a,t+=s.b,o+=s.c}));return{a:n,b:t,c:o}}function d(e,n,t=0){const o=":not(#"+n.specificityMatchingName+")",c=":not(."+n.specificityMatchingName+")",l=":not("+n.specificityMatchingName+")";return e.flatMap((e=>{if(-1===e.indexOf(":is"))return e;let a=!1;const i=[];if(s.default().astSync(e).walkPseudos((e=>{if(":is"!==e.value||!e.nodes||!e.nodes.length)return;if("selector"===e.nodes[0].type&&0===e.nodes[0].nodes.length)return;let s=e.parent;for(;s;){if(":is"===s.value&&"pseudo"===s.type)return void(a=!0);s=s.parent}const n=r(e),t=e.sourceIndex,d=t+e.toString().length,p=[];e.nodes.forEach((e=>{const s={start:t,end:d,option:""},a=r(e);let i=e.toString().trim();const u=Math.max(0,n.a-a.a),f=Math.max(0,n.b-a.b),h=Math.max(0,n.c-a.c);for(let e=0;e<u;e++)i+=o;for(let e=0;e<f;e++)i+=c;for(let e=0;e<h;e++)i+=l;s.option=i,p.push(s)})),i.push(p)})),!i.length)return[e];let p=[];return function(...e){const s=[],n=e.length-1;function t(o,r){for(let d=0,c=e[r].length;d<c;d++){const c=o.slice(0);c.push(e[r][d]),r==n?s.push(c):t(c,r+1)}}return t([],0),s}(...i).forEach((s=>{let n="";for(let o=0;o<s.length;o++){var t;const r=s[o];n+=e.substring((null==(t=s[o-1])?void 0:t.end)||0,s[o].start),n+=":-csstools-matches("+r.option+")",o===s.length-1&&(n+=e.substring(s[o].end))}p.push(n)})),a&&t<10&&(p=d(p,n,t+1)),p})).filter((e=>!!e))}const c=e=>{const s={specificityMatchingName:"does-not-exist",...e||{}};return{postcssPlugin:"postcss-is-pseudo-class",Rule(e,{result:n}){if(!e.selector)return;if(-1===e.selector.indexOf(":is"))return;let t=!1;const r=()=>{"warning"===s.onComplexSelector&&(t||(t=!0,e.warn(n,`Complex selectors in '${e.selector}' can not be transformed to an equivalent selector without ':is()'.`)))};try{let n=!1;const t=[],c=o(d(e.selectors,{specificityMatchingName:s.specificityMatchingName}),{onComplexSelector:s.onComplexSelector},r);if(Array.from(new Set(c)).forEach((s=>{e.selectors.indexOf(s)>-1?t.push(s):(e.cloneBefore({selector:s}),n=!0)})),t.length&&n&&e.cloneBefore({selectors:t}),!s.preserve){if(!n)return;e.remove()}}catch(s){if(s.message.indexOf("call stack size exceeded")>-1)throw s;e.warn(n,`Failed to parse selector "${e.selector}"`)}}}};c.postcss=!0,module.exports=c;