summaryrefslogtreecommitdiff
path: root/node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values/dist/index.mjs
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values/dist/index.mjs')
-rw-r--r--node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values/dist/index.mjs2
1 files changed, 1 insertions, 1 deletions
diff --git a/node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values/dist/index.mjs b/node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values/dist/index.mjs
index 9b382247..823fc128 100644
--- a/node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values/dist/index.mjs
+++ b/node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values/dist/index.mjs
@@ -1 +1 @@
-import{matchesRatioExactly as e,parse as r,isMediaQueryInvalid as t,cloneMediaQuery as a,isMediaFeaturePlain as n,isMediaFeatureRangeNameValue as o,isMediaFeatureRangeValueName as i,isMediaFeatureRangeValueNameValue as u}from"@csstools/media-query-list-parser";import{isTokenNode as s,isFunctionNode as l,TokenNode as c,FunctionNode as m,SimpleBlockNode as v,WhitespaceNode as d}from"@csstools/css-parser-algorithms";import{TokenType as p,NumberType as f}from"@csstools/css-tokenizer";const g=1e5,w=2147483647;function transformMediaFeatureValue(r){if(Array.isArray(r.value)&&e(r.value)){const e=[];for(let t=0;t<r.value.length;t++){const a=r.value[t];s(a)&&a.value[0]===p.Number?e.push(a):l(a)&&"calc"===a.getName().toLowerCase()&&e.push(a)}if(2!==e.length)return;const t=e[0],a=r.value.indexOf(t),n=e[1],o=r.value.indexOf(n);if(s(n)&&n.value[0]===p.Number&&0===n.value[4].value)return r.value.splice(a,1,new c([p.Number,w.toString(),-1,-1,{value:w,type:f.Integer}])),void r.value.splice(o,1,new c([p.Number,"1",-1,-1,{value:1,type:f.Integer}]));if(s(t)&&t.value[0]===p.Number&&t.value[4].type===f.Integer&&s(n)&&n.value[0]===p.Number&&n.value[4].type===f.Integer)return;let i=null,u=null;if(l(t)&&"calc"===t.getName().toLowerCase()){if(t.toString().includes(g.toString()))return;i=modifyCalc(t)}if(l(n)&&"calc"===n.getName().toLowerCase()){if(n.toString().includes(g.toString()))return;u=modifyCalc(n)}if(s(t)&&t.value[0]===p.Number&&s(n)&&n.value[0]===p.Number){const e=t.value,r=n.value,a=Math.round(e[4].value*g),o=Math.round(r[4].value*g),s=greatestCommonDivisor(a,o);i=new c([p.Number,Math.round(a/s).toString(),-1,-1,{value:Math.round(a/s),type:f.Integer}]),u=new c([p.Number,Math.round(o/s).toString(),-1,-1,{value:Math.round(o/s),type:f.Integer}])}else{if(s(t)&&t.value[0]===p.Number){const e=t.value;i=new c([p.Number,Math.round(e[4].value*g).toString(),-1,-1,{value:Math.round(e[4].value*g),type:f.Integer}])}if(s(n)&&n.value[0]===p.Number){const e=n.value;u=new c([p.Number,Math.round(e[4].value*g).toString(),-1,-1,{value:Math.round(e[4].value*g),type:f.Integer}])}}return i&&u?(r.value.splice(a,1,i),void r.value.splice(o,1,u)):void 0}const t=Array.isArray(r.value)?r.value:[r.value];for(let e=0;e<t.length;e++){const a=t[e];if(s(a)){const n=a.value;if(n[0]!==p.Number)return;if(n[4].type===f.Integer)return t.splice(e+1,0,new c([p.Delim,"/",-1,-1,{value:"/"}]),new c([p.Number,"1",-1,-1,{value:1,type:f.Integer}])),void(r.value=t);if(n[4].type===f.Number){const a=Math.round(n[4].value*g),o=greatestCommonDivisor(a,g);return t.splice(e,1,new c([p.Number,Math.round(a/o).toString(),-1,-1,{value:Math.round(a/o),type:f.Integer}]),new c([p.Delim,"/",-1,-1,{value:"/"}]),new c([p.Number,Math.round(g/o).toString(),-1,-1,{value:Math.round(g/o),type:f.Integer}])),void(r.value=t)}return}if(l(a)&&"calc"===a.getName().toLowerCase())return t.splice(e,1,modifyCalc(a),new c([p.Delim,"/",-1,-1,{value:"/"}]),new c([p.Number,g.toString(),-1,-1,{value:g,type:f.Integer}])),void(r.value=t)}}function modifyCalc(e){return new m([p.Function,"calc(",-1,-1,{value:"calc("}],[p.CloseParen,")",-1,-1,void 0],[new v([p.OpenParen,"(",-1,-1,void 0],[p.CloseParen,")",-1,-1,void 0],e.value),new d([[p.Whitespace," ",-1,-1,void 0]]),new c([p.Delim,"*",-1,-1,{value:"*"}]),new d([[p.Whitespace," ",-1,-1,void 0]]),new c([p.Number,g.toString(),-1,-1,{value:g,type:f.Integer}])])}function greatestCommonDivisor(e,r){if(Number.isNaN(e)||Number.isNaN(r))throw new Error("Unexpected 'NaN' when calculating the greatest common divisor.");if(!Number.isFinite(e)||!Number.isFinite(r))throw new Error("Unexpected 'Infinite' value when calculating the greatest common divisor.");for(r>e&&([e,r]=[r,e]);;){if(0==r)return e;if(0==(e%=r))return r;r%=e}}const N=new Set(["aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio"]);function transformMediaQueryList(e,s){const l=r(e,{preserveInvalidMediaQueries:!0,onParseError:()=>{throw new Error(`Unable to parse media query "${e}"`)}}),c=new Set(l.map((e=>e.toString())));return l.flatMap((e=>{if(t(e))return[e.toString()];const r=a(e);r.walk((e=>{const r=e.node;if(n(r)||o(r)||i(r)){const e=r.name.getName().toLowerCase();if(!N.has(e))return;transformMediaFeatureValue(r.value)}else if(u(r)){const e=r.name.getName().toLowerCase();if(!N.has(e))return;transformMediaFeatureValue(r.valueOne);transformMediaFeatureValue(r.valueTwo)}else;}));const l=e.toString(),m=r.toString();return m===l||c.has(m)?[l]:s?[l,m]:[m]})).join(",")}const creator=e=>{const r=Object.assign({preserve:!1},e);return{postcssPlugin:"postcss-media-queries-aspect-ratio-number-values",AtRule(e,{result:t}){if("media"!==e.name.toLowerCase())return;const a=e.params.toLowerCase();if(!(a.includes("aspect-ratio")||a.includes("min-aspect-ratio")||a.includes("max-aspect-ratio")||a.includes("device-aspect-ratio")||a.includes("min-device-aspect-ratio")||a.includes("max-device-aspect-ratio")))return;let n;try{if(n=transformMediaQueryList(e.params,r.preserve),n===e.params)return}catch(r){return void e.warn(t,`Failed to transform @media params for "${e.params}" with message: "${r instanceof Error?r.message:r}"`)}e.cloneBefore({params:n}),e.remove()}}};creator.postcss=!0;export{creator as default};
+import{matchesRatioExactly as e,parse as t,isMediaQueryInvalid as r,cloneMediaQuery as a,isMediaFeaturePlain as n,isMediaFeatureRangeNameValue as o,isMediaFeatureRangeValueName as i,isMediaFeatureRangeValueNameValue as u}from"@csstools/media-query-list-parser";import{isTokenNode as s,isFunctionNode as l,TokenNode as c,FunctionNode as v,SimpleBlockNode as m,WhitespaceNode as d}from"@csstools/css-parser-algorithms";import{isTokenNumber as p,TokenType as f,NumberType as g}from"@csstools/css-tokenizer";const w=1e5,h=2147483647;function transformMediaFeatureValue(t){if(Array.isArray(t.value)&&e(t.value)){const e=[];for(let r=0;r<t.value.length;r++){const a=t.value[r];s(a)&&p(a.value)?e.push(a):l(a)&&"calc"===a.getName().toLowerCase()&&e.push(a)}if(2!==e.length)return;const r=e[0],a=t.value.indexOf(r),n=e[1],o=t.value.indexOf(n);if(s(n)&&p(n.value)&&0===n.value[4].value)return t.value.splice(a,1,new c([f.Number,h.toString(),-1,-1,{value:h,type:g.Integer}])),void t.value.splice(o,1,new c([f.Number,"1",-1,-1,{value:1,type:g.Integer}]));if(s(r)&&p(r.value)&&r.value[4].type===g.Integer&&s(n)&&p(n.value)&&n.value[4].type===g.Integer)return;let i=null,u=null;if(l(r)&&"calc"===r.getName().toLowerCase()){if(r.toString().includes(w.toString()))return;i=modifyCalc(r)}if(l(n)&&"calc"===n.getName().toLowerCase()){if(n.toString().includes(w.toString()))return;u=modifyCalc(n)}if(s(r)&&p(r.value)&&s(n)&&p(n.value)){const e=r.value,t=n.value,a=Math.round(e[4].value*w),o=Math.round(t[4].value*w),s=greatestCommonDivisor(a,o);i=new c([f.Number,Math.round(a/s).toString(),-1,-1,{value:Math.round(a/s),type:g.Integer}]),u=new c([f.Number,Math.round(o/s).toString(),-1,-1,{value:Math.round(o/s),type:g.Integer}])}else{if(s(r)&&p(r.value)){const e=r.value;i=new c([f.Number,Math.round(e[4].value*w).toString(),-1,-1,{value:Math.round(e[4].value*w),type:g.Integer}])}if(s(n)&&p(n.value)){const e=n.value;u=new c([f.Number,Math.round(e[4].value*w).toString(),-1,-1,{value:Math.round(e[4].value*w),type:g.Integer}])}}return i&&u?(t.value.splice(a,1,i),void t.value.splice(o,1,u)):void 0}const r=Array.isArray(t.value)?t.value:[t.value];for(let e=0;e<r.length;e++){const a=r[e];if(s(a)){const n=a.value;if(!p(n))return;if(n[4].type===g.Integer)return r.splice(e+1,0,new c([f.Delim,"/",-1,-1,{value:"/"}]),new c([f.Number,"1",-1,-1,{value:1,type:g.Integer}])),void(t.value=r);if(n[4].type===g.Number){const a=Math.round(n[4].value*w),o=greatestCommonDivisor(a,w);return r.splice(e,1,new c([f.Number,Math.round(a/o).toString(),-1,-1,{value:Math.round(a/o),type:g.Integer}]),new c([f.Delim,"/",-1,-1,{value:"/"}]),new c([f.Number,Math.round(w/o).toString(),-1,-1,{value:Math.round(w/o),type:g.Integer}])),void(t.value=r)}return}if(l(a)&&"calc"===a.getName().toLowerCase())return r.splice(e,1,modifyCalc(a),new c([f.Delim,"/",-1,-1,{value:"/"}]),new c([f.Number,w.toString(),-1,-1,{value:w,type:g.Integer}])),void(t.value=r)}}function modifyCalc(e){return new v([f.Function,"calc(",-1,-1,{value:"calc("}],[f.CloseParen,")",-1,-1,void 0],[new m([f.OpenParen,"(",-1,-1,void 0],[f.CloseParen,")",-1,-1,void 0],e.value),new d([[f.Whitespace," ",-1,-1,void 0]]),new c([f.Delim,"*",-1,-1,{value:"*"}]),new d([[f.Whitespace," ",-1,-1,void 0]]),new c([f.Number,w.toString(),-1,-1,{value:w,type:g.Integer}])])}function greatestCommonDivisor(e,t){if(Number.isNaN(e)||Number.isNaN(t))throw new Error("Unexpected 'NaN' when calculating the greatest common divisor.");if(!Number.isFinite(e)||!Number.isFinite(t))throw new Error("Unexpected 'Infinite' value when calculating the greatest common divisor.");for(t>e&&([e,t]=[t,e]);;){if(0==t)return e;if(0==(e%=t))return t;t%=e}}const y=new Set(["aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio"]);function transformMediaQueryList(e,s){const l=t(e,{preserveInvalidMediaQueries:!0,onParseError:()=>{throw new Error(`Unable to parse media query "${e}"`)}}),c=new Set(l.map((e=>e.toString())));return l.flatMap((e=>{if(r(e))return[e.toString()];const t=a(e);t.walk((e=>{const t=e.node;if(n(t)||o(t)||i(t)){const e=t.name.getName().toLowerCase();if(!y.has(e))return;transformMediaFeatureValue(t.value)}else if(u(t)){const e=t.name.getName().toLowerCase();if(!y.has(e))return;transformMediaFeatureValue(t.valueOne);transformMediaFeatureValue(t.valueTwo)}else;}));const l=e.toString(),v=t.toString();return v===l||c.has(v)?[l]:s?[l,v]:[v]})).join(",")}const creator=e=>{const t=Object.assign({preserve:!1},e);return{postcssPlugin:"postcss-media-queries-aspect-ratio-number-values",AtRule(e,{result:r}){if("media"!==e.name.toLowerCase())return;const a=e.params.toLowerCase();if(!(a.includes("aspect-ratio")||a.includes("min-aspect-ratio")||a.includes("max-aspect-ratio")||a.includes("device-aspect-ratio")||a.includes("min-device-aspect-ratio")||a.includes("max-device-aspect-ratio")))return;let n;try{if(n=transformMediaQueryList(e.params,t.preserve),n===e.params)return}catch(t){return void e.warn(r,`Failed to transform @media params for "${e.params}" with message: "${t instanceof Error?t.message:t}"`)}e.cloneBefore({params:n}),e.remove()}}};creator.postcss=!0;export{creator as default};