postcss-preset-env 7.4.4 → 7.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Changes to PostCSS Preset Env
2
2
 
3
+ ### 7.7.0 (May 31, 2022)
4
+
5
+ - Added `@csstools/postcss-trigonometric-functions` <br/> [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-trigonometric-functions#readme) for usage details.
6
+ - Updated `@csstools/postcss-cascade-layers` to `1.0.2` (patch)
7
+ - Updated `postcss-color-functional-notation` to `4.2.3` (patch)
8
+ - Updated `postcss-nesting` to `10.1.7` (patch)
9
+
10
+ ### 7.6.0 (May 19, 2022)
11
+
12
+ - Added `@csstools/postcss-cascade-layers` <br/> [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-cascade-layers#readme) for usage details.
13
+ - Updated `@csstools/postcss-hwb-function` to `1.0.1` (patch)
14
+ - Updated `@csstools/postcss-is-pseudo-class` to `2.0.4` (patch)
15
+ - Updated `@csstools/postcss-unset-value` to `1.0.1` (patch)
16
+ - Updated `postcss-nesting` to `10.1.6` (patch)
17
+ - Updated `postcss-pseudo-class-any-link` to `7.1.4` (patch)
18
+
19
+ ### 7.5.0 (May 2, 2022)
20
+
21
+ - Added `@csstools/postcss-unset-value` <br/> [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-unset-value#readme) for usage details.
22
+ - Added `@csstools/postcss-stepped-value-functions` <br/> [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-stepped-value-functions#readme) for usage details.
23
+ - Updated `cssdb` to `6.6.0` (minor)
24
+
3
25
  ### 7.4.4 (April 26, 2022)
4
26
 
5
27
  - Updated `@csstools/postcss-color-function` to `1.1.0` (minor)
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("autoprefixer"),s=require("cssdb"),t=require("@csstools/postcss-progressive-custom-properties"),o=require("fs"),i=require("path"),r=require("browserslist"),n=require("postcss-initial"),a=require("postcss-pseudo-class-any-link"),c=require("css-blank-pseudo"),p=require("postcss-page-break"),u=require("postcss-attribute-case-insensitive"),l=require("postcss-clamp"),m=require("@csstools/postcss-color-function"),d=require("postcss-color-functional-notation"),f=require("postcss-custom-media"),g=require("postcss-custom-properties"),b=require("postcss-custom-selectors"),h=require("postcss-dir-pseudo-class"),y=require("@csstools/postcss-normalize-display-values"),k=require("postcss-double-position-gradients"),N=require("postcss-env-function"),w=require("postcss-focus-visible"),v=require("postcss-focus-within"),$=require("@csstools/postcss-font-format-keywords"),q=require("postcss-font-variant"),O=require("postcss-gap-properties"),S=require("css-has-pseudo"),x=require("postcss-color-hex-alpha"),j=require("@csstools/postcss-hwb-function"),P=require("@csstools/postcss-ic-unit"),F=require("postcss-image-set-function"),E=require("@csstools/postcss-is-pseudo-class"),M=require("postcss-lab-function"),C=require("postcss-logical"),A=require("postcss-media-minmax"),R=require("postcss-nesting"),_=require("postcss-selector-not"),U=require("@csstools/postcss-oklab-function"),B=require("postcss-opacity-percentage"),I=require("postcss-overflow-shorthand"),T=require("postcss-replace-overflow-wrap"),W=require("postcss-place"),L=require("css-prefers-color-scheme"),V=require("postcss-color-rebeccapurple");function D(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var H=D(e),J=D(s),z=D(t),G=D(o),K=D(i),Q=D(r),X=D(n),Y=D(a),Z=D(c),ee=D(p),se=D(u),te=D(l),oe=D(m),ie=D(d),re=D(f),ne=D(g),ae=D(b),ce=D(h),pe=D(y),ue=D(k),le=D(N),me=D(w),de=D(v),fe=D($),ge=D(q),be=D(O),he=D(S),ye=D(x),ke=D(j),Ne=D(P),we=D(F),ve=D(E),$e=D(M),qe=D(C),Oe=D(A),Se=D(R),xe=D(_),je=D(U),Pe=D(B),Fe=D(I),Ee=D(T),Me=D(W),Ce=D(L),Ae=D(V);const Re={"blank-pseudo-class":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-blank-pseudo/README-BROWSER.md","focus-visible-pseudo-class":"https://github.com/WICG/focus-visible","focus-within-pseudo-class":"https://github.com/jsxtools/focus-within/blob/master/README-BROWSER.md","has-pseudo-class":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-has-pseudo/README-BROWSER.md","prefers-color-scheme-query":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-prefers-color-scheme/README-BROWSER.md"},_e=["blank-pseudo-class","focus-visible-pseudo-class","focus-within-pseudo-class","has-pseudo-class","prefers-color-scheme-query"];async function Ue(e,s,t,o){const i=function(e){return`:root {\n${Object.keys(e).reduce(((s,t)=>(s.push(`\t${t}: ${e[t]};`),s)),[]).join("\n")}\n}\n`}(t),r=function(e){return`${Object.keys(e).reduce(((s,t)=>(s.push(`@custom-media ${t} ${e[t]};`),s)),[]).join("\n")}\n`}(s),n=function(e){return`${Object.keys(e).reduce(((s,t)=>(s.push(`@custom-selector ${t} ${e[t]};`),s)),[]).join("\n")}\n`}(o),a=`${r}\n${n}\n${i}`;await Le(e,a)}function Be(e,s){return`\n\t${e}: {\n${Object.keys(s).reduce(((e,t)=>(e.push(`\t\t'${Ve(t)}': '${Ve(s[t])}'`),e)),[]).join(",\n")}\n\t}`}function Ie(e,s){return`export const ${e} = {\n${Object.keys(s).reduce(((e,t)=>(e.push(`\t'${Ve(t)}': '${Ve(s[t])}'`),e)),[]).join(",\n")}\n};\n`}function Te(e,s){return Promise.all([].concat(s).map((async s=>{if(s instanceof Function)await s({customMedia:We(e.customMedia),customProperties:We(e.customProperties),customSelectors:We(e.customSelectors)});else{const t=s===Object(s)?s:{to:String(s)},o=t.toJSON||We;if("customMedia"in t||"customProperties"in t||"customSelectors"in t)t.customMedia=o(e.customMedia),t.customProperties=o(e.customProperties),t.customSelectors=o(e.customSelectors);else if("custom-media"in t||"custom-properties"in t||"custom-selectors"in t)t["custom-media"]=o(e.customMedia),t["custom-properties"]=o(e.customProperties),t["custom-selectors"]=o(e.customSelectors);else{const s=String(t.to||""),i=(t.type||K.default.extname(t.to).slice(1)).toLowerCase(),r=o(e.customMedia),n=o(e.customProperties),a=o(e.customSelectors);"css"===i&&await Ue(s,r,n,a),"js"===i&&await async function(e,s,t,o){const i=`module.exports = {${Be("customMedia",s)},${Be("customProperties",t)},${Be("customSelectors",o)}\n};\n`;await Le(e,i)}(s,r,n,a),"json"===i&&await async function(e,s,t,o){const i=`${JSON.stringify({"custom-media":s,"custom-properties":t,"custom-selectors":o},null," ")}\n`;await Le(e,i)}(s,r,n,a),"mjs"===i&&await async function(e,s,t,o){const i=`${Ie("customMedia",s)}\n${Ie("customProperties",t)}\n${Ie("customSelectors",o)}`;await Le(e,i)}(s,r,n,a)}}})))}function We(e){return Object.keys(e).reduce(((s,t)=>(s[t]=String(e[t]),s)),{})}function Le(e,s){return new Promise(((t,o)=>{G.default.writeFile(e,s,(e=>{e?o(e):t()}))}))}function Ve(e){return e.replace(/\\([\s\S])|(')/g,"\\$1$2").replace(/\n/g,"\\n").replace(/\r/g,"\\r")}function De(e,s){if(!e)return!1;if("string"==typeof e)return!0;if(Array.isArray(e)){for(let t=0;t<e.length;t++){if("string"==typeof e[t])return!0;if(e[t]&&s in Object(e[t]))return!0}return!1}return s in Object(e)}function He(e,s,t){return Math.max(e,Math.min(s,t))}const Je=Symbol("insertBefore"),ze=Symbol("insertAfter"),Ge=Symbol("insertOrder"),Ke=Symbol("plugin");function Qe(e,s,t){if("insertBefore"!==t&&"insertAfter"!==t)return[];const o="insertBefore"===t?Je:ze,i=[];for(const t in s){if(!Object.hasOwnProperty.call(s,t))continue;if(!e.find((e=>e.id===t)))continue;let r=s[t];Array.isArray(r)||(r=[r]);for(let e=0;e<r.length;e++)i.push({id:t,[Ke]:r[e],[Ge]:e,[o]:!0})}return i}var Xe=["custom-media-queries","custom-properties","environment-variables","image-set-function","media-query-ranges","prefers-color-scheme-query","nesting-rules","custom-selectors","any-link-pseudo-class","case-insensitive-attributes","focus-visible-pseudo-class","focus-within-pseudo-class","not-pseudo-class","logical-properties-and-values","dir-pseudo-class","all-property","color-functional-notation","double-position-gradients","hexadecimal-alpha-notation","hwb-function","lab-function","rebeccapurple-color","blank-pseudo-class","break-properties","font-variant-property","is-pseudo-class","has-pseudo-class","gap-properties","overflow-property","overflow-wrap-property","place-properties","system-ui-font-family"];function Ye(){return{postcssPlugin:"postcss-system-ui-font",Declaration(e){Ze.test(e.prop)&&(e.value.includes(ss.join(", "))||(e.value=e.value.replace(ts,os)))}}}Ye.postcss=!0;const Ze=/(?:^(?:-|\\002d){2})|(?:^font(?:-family)?$)/i,es="[\\f\\n\\r\\x09\\x20]",ss=["system-ui","-apple-system","Segoe UI","Roboto","Ubuntu","Cantarell","Noto Sans","sans-serif"],ts=new RegExp(`(^|,|${es}+)(?:system-ui${es}*)(?:,${es}*(?:${ss.join("|")})${es}*)?(,|$)`,"i"),os=`$1${ss.join(", ")}$2`,is=new Map([["all-property",X.default],["any-link-pseudo-class",Y.default],["blank-pseudo-class",Z.default],["break-properties",ee.default],["case-insensitive-attributes",se.default],["clamp",te.default],["color-function",oe.default],["color-functional-notation",ie.default],["custom-media-queries",re.default],["custom-properties",ne.default],["custom-selectors",ae.default],["dir-pseudo-class",ce.default],["display-two-values",pe.default],["double-position-gradients",ue.default],["environment-variables",le.default],["focus-visible-pseudo-class",me.default],["focus-within-pseudo-class",de.default],["font-format-keywords",fe.default],["font-variant-property",ge.default],["gap-properties",be.default],["has-pseudo-class",he.default],["hexadecimal-alpha-notation",ye.default],["hwb-function",ke.default],["ic-unit",Ne.default],["image-set-function",we.default],["is-pseudo-class",ve.default],["lab-function",$e.default],["logical-properties-and-values",qe.default],["media-query-ranges",Oe.default],["nesting-rules",Se.default],["not-pseudo-class",xe.default],["oklab-function",je.default],["opacity-percentage",Pe.default],["overflow-property",Fe.default],["overflow-wrap-property",Ee.default],["place-properties",Me.default],["prefers-color-scheme-query",Ce.default],["rebeccapurple-color",Ae.default],["system-ui-font-family",Ye]]);function rs(e,s,t){return e.concat(Qe(e,s,"insertBefore"),Qe(e,t,"insertAfter")).filter((e=>function(e){return!!e[Je]||!!e[ze]||!!is.has(e.id)}(e))).sort(((e,s)=>function(e,s){return e.id===s.id?e[Je]&&s[Je]||e[ze]&&s[ze]?He(-1,e[Ge]-s[Ge],1):e[Je]||s[ze]?-1:e[ze]||s[Je]?1:0:He(-1,Xe.indexOf(e.id)-Xe.indexOf(s.id),1)}(e,s)))}const ns=["ie","edge","firefox","chrome","safari","opera","ios_saf","android","op_mob","and_chr","and_ff","and_uc","samsung","and_qq","baidu","kaios"];function as(e){if(!e)return[];if(!("browser_support"in e))return["> 0%"];const s=[];return ns.forEach((t=>{const o=e.browser_support[t];"string"==typeof o&&/^[0-9|.]+$/.test(o)?s.push(`${t} < ${e.browser_support[t]}`):s.push(`${t} >= 1`)})),s}function cs(e,s,t,o){const i=Q.default(e,{ignoreUnknownVersions:!0});switch(s.id){case"is-pseudo-class":return{onComplexSelector:"warning"};case"nesting-rules":if(function(e,s){const t=as(e);if(s.some((e=>Q.default(t,{ignoreUnknownVersions:!0}).some((s=>s===e)))))return!0;return!1}(t.find((e=>"is-pseudo-class"===e.id)),i))return o.log('Disabling :is on "nesting-rules" due to lack of browser support.'),{noIsPseudoSelector:!0};return{};case"any-link-pseudo-class":if(i.find((e=>e.startsWith("ie ")||e.startsWith("edge "))))return o.log('Adding area[href] fallbacks for ":any-link" support in Edge and IE.'),{subFeatures:{areaHrefNeedsFixing:!0}};return{};default:return{}}}function ps(e,s,t,o){const i=Object(s.features),r=!("enableClientSidePolyfills"in s)||s.enableClientSidePolyfills,n=Object(s.insertBefore),a=Object(s.insertAfter),c=s.browsers,p=He(0,function(e){const s=parseInt(e,10);return Number.isNaN(s)?0:s}(s.minimumVendorImplementations),3);p>0&&o.log(`Using features with ${p} or more vendor implementations`);const u=function(e,s){let t=2;if(void 0===e.stage)return s.log(`Using features from Stage ${t} (default)`),t;if(!1===e.stage)t=5;else{let s=parseInt(e.stage,10);Number.isNaN(s)&&(s=0),t=He(0,s,5)}return 5===t?s.log('Stage has been disabled, features will be handled via the "features" option.'):s.log(`Using features from Stage ${t}`),t}(s,o);2===u&&t&&!1===t.preserve&&(e=JSON.parse(JSON.stringify(e))).forEach((e=>{("blank-pseudo-class"===e.id||"prefers-color-scheme-query"===e.id)&&(e.stage=1)}));const l=rs(e,n,a).map((e=>function(e){const s=as(e);if(e[Je]||e[ze]){let t=e.id;return t=e.insertBefore?`before-${t}`:`after-${t}`,{browsers:s,vendors_implementations:e.vendors_implementations,plugin:e[Ke],id:t,stage:6}}return{browsers:s,vendors_implementations:e.vendors_implementations,plugin:is.get(e.id),id:e.id,stage:e.stage}}(e))).filter((e=>0===p||(!(!e[Je]&&!e[ze])||(p<=e.vendors_implementations||(i[e.id]?(o.log(` ${e.id} does not meet the required vendor implementations but has been enabled by options`),!0):(o.log(` ${e.id} with ${e.vendors_implementations} vendor implementations has been disabled`),!1)))))).filter((e=>{const s=e.stage>=u,t=r||!_e.includes(e.id),n=!1===i[e.id],a=i[e.id]?i[e.id]:s&&t;return n?o.log(` ${e.id} has been disabled by options`):s?t||o.log(` ${e.id} has been disabled by "enableClientSidePolyfills: false".`):a?o.log(` ${e.id} does not meet the required stage but has been enabled by options`):o.log(` ${e.id} with stage ${e.stage} has been disabled`),a})).map((s=>function(e,s,t,o,i,r){let n,a;return n=cs(s,o,e,r),!0===t[o.id]?i&&(n=Object.assign({},n,i)):n=i?Object.assign({},n,i,t[o.id]):Object.assign({},n,t[o.id]),n.enableProgressiveCustomProperties=!1,a=o.plugin.postcss&&"function"==typeof o.plugin?o.plugin(n):o.plugin&&o.plugin.default&&"function"==typeof o.plugin.default&&o.plugin.default.postcss?o.plugin.default(n):o.plugin,{browsers:o.browsers,vendors_implementations:o.vendors_implementations,plugin:a,pluginOptions:n,id:o.id}}(e,c,i,s,t,o))),m=Q.default(c,{ignoreUnknownVersions:!0});return l.filter((e=>{if(e.id in i)return i[e.id];if(function(e){if("importFrom"in Object(e.pluginOptions))switch(e.id){case"custom-media-queries":if(De(e.pluginOptions.importFrom,"customMedia"))return!0;break;case"custom-properties":if(De(e.pluginOptions.importFrom,"customProperties"))return!0;break;case"environment-variables":if(De(e.pluginOptions.importFrom,"environmentVariables"))return!0;break;case"custom-selectors":if(De(e.pluginOptions.importFrom,"customSelectors"))return!0}if("exportTo"in Object(e.pluginOptions))switch(e.id){case"custom-media-queries":if(De(e.pluginOptions.exportTo,"customMedia"))return!0;break;case"custom-properties":if(De(e.pluginOptions.exportTo,"customProperties"))return!0;break;case"environment-variables":if(De(e.pluginOptions.exportTo,"environmentVariables"))return!0;break;case"custom-selectors":if(De(e.pluginOptions.exportTo,"customSelectors"))return!0}return!1}(e))return!0;const s=Q.default(e.browsers,{ignoreUnknownVersions:!0}),t=m.some((e=>s.some((s=>s===e))));return t||o.log(`${e.id} disabled due to browser support`),t}))}class us{constructor(){this.logs=[]}log(e){this.logs.push(e)}resetLogger(){this.logs.length=0}dumpLogs(e){e&&this.logs.forEach((s=>e.warn(s))),this.resetLogger()}}var ls=[{packageName:"css-blank-pseudo",id:"blank-pseudo-class",importName:"postcssBlankPseudo"},{packageName:"css-has-pseudo",id:"has-pseudo-class",importName:"postcssHasPseudo"},{packageName:"css-prefers-color-scheme",id:"prefers-color-scheme-query",importName:"postcssPrefersColorScheme"},{packageName:"postcss-attribute-case-insensitive",id:"case-insensitive-attributes",importName:"postcssAttributeCaseInsensitive"},{packageName:"postcss-clamp",id:"clamp",importName:"postcssClamp"},{packageName:"@csstools/postcss-color-function",id:"color-function",importName:"postcssColorFunction"},{packageName:"postcss-color-functional-notation",id:"color-functional-notation",importName:"postcssColorFunctionalNotation"},{packageName:"postcss-color-hex-alpha",id:"hexadecimal-alpha-notation",importName:"postcssColorHexAlpha"},{packageName:"postcss-color-rebeccapurple",id:"rebeccapurple-color",importName:"postcssColorRebeccapurple"},{packageName:"postcss-custom-media",id:"custom-media-queries",importName:"postcssCustomMedia"},{packageName:"postcss-custom-properties",id:"custom-properties",importName:"postcssCustomProperties"},{packageName:"postcss-custom-selectors",id:"custom-selectors",importName:"postcssCustomSelectors"},{packageName:"postcss-dir-pseudo-class",id:"dir-pseudo-class",importName:"postcssDirPseudoClass"},{packageName:"postcss-double-position-gradients",id:"double-position-gradients",importName:"postcssDoublePositionGradients"},{packageName:"postcss-env-function",id:"environment-variables",importName:"postcssEnvFunction"},{packageName:"postcss-focus-visible",id:"focus-visible-pseudo-class",importName:"postcssFocusVisible"},{packageName:"postcss-focus-within",id:"focus-within-pseudo-class",importName:"postcssFocusWithin"},{packageName:"@csstools/postcss-font-format-keywords",id:"font-format-keywords",importName:"postcssFontFormatKeywords"},{packageName:"postcss-font-variant",id:"font-variant-property",importName:"postcssFontVariant"},{packageName:"postcss-gap-properties",id:"gap-properties",importName:"postcssGapProperties"},{packageName:"@csstools/postcss-hwb-function",id:"hwb-function",importName:"postcssHWBFunction"},{packageName:"@csstools/postcss-ic-unit",id:"ic-unit",importName:"postcssICUnit"},{packageName:"postcss-image-set-function",id:"image-set-function",importName:"postcssImageSetFunction"},{packageName:"postcss-initial",id:"all-property",importName:"postcssInitial"},{packageName:"@csstools/postcss-is-pseudo-class",id:"is-pseudo-class",importName:"postcssIsPseudoClass"},{packageName:"postcss-lab-function",id:"lab-function",importName:"postcssLabFunction"},{packageName:"postcss-logical",id:"logical-properties-and-values",importName:"postcssLogical"},{packageName:"postcss-media-minmax",id:"media-query-ranges",importName:"postcssMediaMinmax"},{packageName:"postcss-nesting",id:"nesting-rules",importName:"postcssNesting"},{packageName:"@csstools/postcss-normalize-display-values",id:"display-two-values",importName:"postcssNormalizeDisplayValues"},{packageName:"@csstools/postcss-oklab-function",id:"oklab-function",importName:"postcssOKLabFunction"},{packageName:"postcss-opacity-percentage",id:"opacity-percentage",importName:"postcssOpacityPercentage"},{packageName:"postcss-overflow-shorthand",id:"overflow-property",importName:"postcssOverflowShorthand"},{packageName:"postcss-page-break",id:"break-properties",importName:"postcssPageBreak"},{packageName:"postcss-place",id:"place-properties",importName:"postcssPlace"},{packageName:"postcss-pseudo-class-any-link",id:"any-link-pseudo-class",importName:"postcssPseudoClassAnyLink"},{packageName:"postcss-replace-overflow-wrap",id:"overflow-wrap-property",importName:"postcssReplaceOverflowWrap"},{packageName:"postcss-selector-not",id:"not-pseudo-class",importName:"postcssSelectorNot"},{packageName:"postcss-system-ui-font-family",importedPackage:"../patch/postcss-system-ui-font-family.mjs",id:"system-ui-font-family",importName:"postcssFontFamilySystemUI"}];function ms(e,s,t){const o=ls.map((e=>e.id)),i=ls.map((e=>e.packageName)),r=function(){const e={};return ls.forEach((s=>{e[s.packageName]=s.id})),e}();e.forEach((e=>{if(o.includes(e))return;const n=ds(e,o),a=ds(e,i);Math.min(n.distance,a.distance)>10?s.warn(t`Unknown feature: "${e}", see the list of features https://github.com/csstools/postcss-plugins/blob/main/plugin-packs/postcss-preset-env/FEATURES.md`):n.distance<a.distance?s.warn(t,`Unknown feature: "${e}", did you mean: "${n.mostSimilar}"`):s.warn(t,`Unknown feature: "${e}", did you mean: "${r[a.mostSimilar]}"`)}))}function ds(e,s){let t="unknown",o=1/0;for(let i=0;i<s.length;i++){const r=fs(e,s[i]);r<o&&(o=r,t=s[i])}return{mostSimilar:t,distance:o}}function fs(e,s){if(!e.length)return s.length;if(!s.length)return e.length;const t=[];for(let o=0;o<=s.length;o++){t[o]=[o];for(let i=1;i<=e.length;i++)t[o][i]=0===o?i:Math.min(t[o-1][i]+1,t[o][i-1]+1,t[o-1][i-1]+(e[i-1]===s[o-1]?0:1))}return t[s.length][e.length]}const gs=e=>{const s=new us,t=Object(e),o=Object.keys(Object(t.features)),i=t.browsers,r=function(e){if("importFrom"in e||"exportTo"in e||"preserve"in e){const s={};return"importFrom"in e&&(s.importFrom=e.importFrom),"exportTo"in e&&(s.exportTo={customMedia:{},customProperties:{},customSelectors:{}}),"preserve"in e&&(s.preserve=e.preserve),s}return!1}(t),n=ps(J.default,t,r,s),a=n.map((e=>e.plugin));!1!==t.autoprefixer&&a.push(H.default(Object.assign({overrideBrowserslist:i},t.autoprefixer))),a.push(z.default()),function(e,s,t){if(s.debug){t.log("Enabling the following feature(s):");const s=[];e.forEach((e=>{e.id.startsWith("before")||e.id.startsWith("after")?t.log(` ${e.id} (injected via options)`):t.log(` ${e.id}`),void 0!==Re[e.id]&&s.push(e.id)})),s.length&&(t.log("These feature(s) need a browser library to work:"),s.forEach((e=>t.log(` ${e}: ${Re[e]}`))))}}(n,t,s);const c=()=>({postcssPlugin:"postcss-preset-env",OnceExit:function(i,{result:n}){ms(o,i,n),t.debug&&s.dumpLogs(n),s.resetLogger(),t.exportTo&&Te(r.exportTo,e.exportTo)}});return c.postcss=!0,{postcssPlugin:"postcss-preset-env",plugins:[...a,c()]}};gs.postcss=!0,module.exports=gs;
1
+ "use strict";var s=require("autoprefixer"),e=require("cssdb"),t=require("@csstools/postcss-progressive-custom-properties"),o=require("fs"),i=require("path"),r=require("browserslist"),a=require("postcss-initial"),n=require("postcss-pseudo-class-any-link"),c=require("css-blank-pseudo"),p=require("postcss-page-break"),u=require("@csstools/postcss-cascade-layers"),l=require("postcss-attribute-case-insensitive"),m=require("postcss-clamp"),d=require("@csstools/postcss-color-function"),f=require("postcss-color-functional-notation"),g=require("postcss-custom-media"),b=require("postcss-custom-properties"),h=require("postcss-custom-selectors"),y=require("postcss-dir-pseudo-class"),k=require("@csstools/postcss-normalize-display-values"),N=require("postcss-double-position-gradients"),v=require("postcss-env-function"),w=require("postcss-focus-visible"),q=require("postcss-focus-within"),$=require("@csstools/postcss-font-format-keywords"),O=require("postcss-font-variant"),S=require("postcss-gap-properties"),x=require("css-has-pseudo"),j=require("postcss-color-hex-alpha"),P=require("@csstools/postcss-hwb-function"),F=require("@csstools/postcss-ic-unit"),E=require("postcss-image-set-function"),M=require("@csstools/postcss-is-pseudo-class"),C=require("postcss-lab-function"),A=require("postcss-logical"),R=require("postcss-media-minmax"),_=require("postcss-nesting"),U=require("postcss-selector-not"),B=require("@csstools/postcss-oklab-function"),T=require("postcss-opacity-percentage"),I=require("postcss-overflow-shorthand"),V=require("postcss-replace-overflow-wrap"),W=require("postcss-place"),L=require("css-prefers-color-scheme"),D=require("postcss-color-rebeccapurple"),H=require("@csstools/postcss-stepped-value-functions"),J=require("@csstools/postcss-trigonometric-functions"),z=require("@csstools/postcss-unset-value");function G(s){return s&&"object"==typeof s&&"default"in s?s:{default:s}}var K=G(s),Q=G(e),X=G(t),Y=G(o),Z=G(i),ss=G(r),es=G(a),ts=G(n),os=G(c),is=G(p),rs=G(u),as=G(l),ns=G(m),cs=G(d),ps=G(f),us=G(g),ls=G(b),ms=G(h),ds=G(y),fs=G(k),gs=G(N),bs=G(v),hs=G(w),ys=G(q),ks=G($),Ns=G(O),vs=G(S),ws=G(x),qs=G(j),$s=G(P),Os=G(F),Ss=G(E),xs=G(M),js=G(C),Ps=G(A),Fs=G(R),Es=G(_),Ms=G(U),Cs=G(B),As=G(T),Rs=G(I),_s=G(V),Us=G(W),Bs=G(L),Ts=G(D),Is=G(H),Vs=G(J),Ws=G(z);const Ls={"blank-pseudo-class":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-blank-pseudo/README-BROWSER.md","focus-visible-pseudo-class":"https://github.com/WICG/focus-visible","focus-within-pseudo-class":"https://github.com/jsxtools/focus-within/blob/master/README-BROWSER.md","has-pseudo-class":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-has-pseudo/README-BROWSER.md","prefers-color-scheme-query":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-prefers-color-scheme/README-BROWSER.md"},Ds=["blank-pseudo-class","focus-visible-pseudo-class","focus-within-pseudo-class","has-pseudo-class","prefers-color-scheme-query"];async function Hs(s,e,t,o){const i=function(s){return`:root {\n${Object.keys(s).reduce(((e,t)=>(e.push(`\t${t}: ${s[t]};`),e)),[]).join("\n")}\n}\n`}(t),r=function(s){return`${Object.keys(s).reduce(((e,t)=>(e.push(`@custom-media ${t} ${s[t]};`),e)),[]).join("\n")}\n`}(e),a=function(s){return`${Object.keys(s).reduce(((e,t)=>(e.push(`@custom-selector ${t} ${s[t]};`),e)),[]).join("\n")}\n`}(o),n=`${r}\n${a}\n${i}`;await Qs(s,n)}function Js(s,e){return`\n\t${s}: {\n${Object.keys(e).reduce(((s,t)=>(s.push(`\t\t'${Xs(t)}': '${Xs(e[t])}'`),s)),[]).join(",\n")}\n\t}`}function zs(s,e){return`export const ${s} = {\n${Object.keys(e).reduce(((s,t)=>(s.push(`\t'${Xs(t)}': '${Xs(e[t])}'`),s)),[]).join(",\n")}\n};\n`}function Gs(s,e){return Promise.all([].concat(e).map((async e=>{if(e instanceof Function)await e({customMedia:Ks(s.customMedia),customProperties:Ks(s.customProperties),customSelectors:Ks(s.customSelectors)});else{const t=e===Object(e)?e:{to:String(e)},o=t.toJSON||Ks;if("customMedia"in t||"customProperties"in t||"customSelectors"in t)t.customMedia=o(s.customMedia),t.customProperties=o(s.customProperties),t.customSelectors=o(s.customSelectors);else if("custom-media"in t||"custom-properties"in t||"custom-selectors"in t)t["custom-media"]=o(s.customMedia),t["custom-properties"]=o(s.customProperties),t["custom-selectors"]=o(s.customSelectors);else{const e=String(t.to||""),i=(t.type||Z.default.extname(t.to).slice(1)).toLowerCase(),r=o(s.customMedia),a=o(s.customProperties),n=o(s.customSelectors);"css"===i&&await Hs(e,r,a,n),"js"===i&&await async function(s,e,t,o){const i=`module.exports = {${Js("customMedia",e)},${Js("customProperties",t)},${Js("customSelectors",o)}\n};\n`;await Qs(s,i)}(e,r,a,n),"json"===i&&await async function(s,e,t,o){const i=`${JSON.stringify({"custom-media":e,"custom-properties":t,"custom-selectors":o},null," ")}\n`;await Qs(s,i)}(e,r,a,n),"mjs"===i&&await async function(s,e,t,o){const i=`${zs("customMedia",e)}\n${zs("customProperties",t)}\n${zs("customSelectors",o)}`;await Qs(s,i)}(e,r,a,n)}}})))}function Ks(s){return Object.keys(s).reduce(((e,t)=>(e[t]=String(s[t]),e)),{})}function Qs(s,e){return new Promise(((t,o)=>{Y.default.writeFile(s,e,(s=>{s?o(s):t()}))}))}function Xs(s){return s.replace(/\\([\s\S])|(')/g,"\\$1$2").replace(/\n/g,"\\n").replace(/\r/g,"\\r")}function Ys(s,e){if(!s)return!1;if("string"==typeof s)return!0;if(Array.isArray(s)){for(let t=0;t<s.length;t++){if("string"==typeof s[t])return!0;if(s[t]&&e in Object(s[t]))return!0}return!1}return e in Object(s)}function Zs(s,e,t){return Math.max(s,Math.min(e,t))}const se=Symbol("insertBefore"),ee=Symbol("insertAfter"),te=Symbol("insertOrder"),oe=Symbol("plugin");function ie(s,e,t){if("insertBefore"!==t&&"insertAfter"!==t)return[];const o="insertBefore"===t?se:ee,i=[];for(const t in e){if(!Object.hasOwnProperty.call(e,t))continue;if(!s.find((s=>s.id===t)))continue;let r=e[t];Array.isArray(r)||(r=[r]);for(let s=0;s<r.length;s++)i.push({id:t,[oe]:r[s],[te]:s,[o]:!0})}return i}var re=["custom-media-queries","custom-properties","environment-variables","image-set-function","media-query-ranges","prefers-color-scheme-query","nesting-rules","custom-selectors","any-link-pseudo-class","case-insensitive-attributes","focus-visible-pseudo-class","focus-within-pseudo-class","not-pseudo-class","logical-properties-and-values","dir-pseudo-class","all-property","color-functional-notation","double-position-gradients","hexadecimal-alpha-notation","hwb-function","lab-function","rebeccapurple-color","blank-pseudo-class","break-properties","font-variant-property","is-pseudo-class","has-pseudo-class","gap-properties","overflow-property","overflow-wrap-property","place-properties","system-ui-font-family","cascade-layers","stepped-value-functions","trigonometric-functions"];function ae(){return{postcssPlugin:"postcss-system-ui-font",Declaration(s){ne.test(s.prop)&&(s.value.includes(pe.join(", "))||(s.value=s.value.replace(ue,le)))}}}ae.postcss=!0;const ne=/(?:^(?:-|\\002d){2})|(?:^font(?:-family)?$)/i,ce="[\\f\\n\\r\\x09\\x20]",pe=["system-ui","-apple-system","Segoe UI","Roboto","Ubuntu","Cantarell","Noto Sans","sans-serif"],ue=new RegExp(`(^|,|${ce}+)(?:system-ui${ce}*)(?:,${ce}*(?:${pe.join("|")})${ce}*)?(,|$)`,"i"),le=`$1${pe.join(", ")}$2`,me=new Map([["all-property",es.default],["any-link-pseudo-class",ts.default],["blank-pseudo-class",os.default],["break-properties",is.default],["cascade-layers",rs.default],["case-insensitive-attributes",as.default],["clamp",ns.default],["color-function",cs.default],["color-functional-notation",ps.default],["custom-media-queries",us.default],["custom-properties",ls.default],["custom-selectors",ms.default],["dir-pseudo-class",ds.default],["display-two-values",fs.default],["double-position-gradients",gs.default],["environment-variables",bs.default],["focus-visible-pseudo-class",hs.default],["focus-within-pseudo-class",ys.default],["font-format-keywords",ks.default],["font-variant-property",Ns.default],["gap-properties",vs.default],["has-pseudo-class",ws.default],["hexadecimal-alpha-notation",qs.default],["hwb-function",$s.default],["ic-unit",Os.default],["image-set-function",Ss.default],["is-pseudo-class",xs.default],["lab-function",js.default],["logical-properties-and-values",Ps.default],["media-query-ranges",Fs.default],["nesting-rules",Es.default],["not-pseudo-class",Ms.default],["oklab-function",Cs.default],["opacity-percentage",As.default],["overflow-property",Rs.default],["overflow-wrap-property",_s.default],["place-properties",Us.default],["prefers-color-scheme-query",Bs.default],["rebeccapurple-color",Ts.default],["stepped-value-functions",Is.default],["system-ui-font-family",ae],["trigonometric-functions",Vs.default],["unset-value",Ws.default]]);function de(s,e,t){return s.concat(ie(s,e,"insertBefore"),ie(s,t,"insertAfter")).filter((s=>function(s){return!!s[se]||!!s[ee]||!!me.has(s.id)}(s))).sort(((s,e)=>function(s,e){return s.id===e.id?s[se]&&e[se]||s[ee]&&e[ee]?Zs(-1,s[te]-e[te],1):s[se]||e[ee]?-1:s[ee]||e[se]?1:0:Zs(-1,re.indexOf(s.id)-re.indexOf(e.id),1)}(s,e)))}const fe=["ie","edge","firefox","chrome","safari","opera","ios_saf","android","op_mob","and_chr","and_ff","and_uc","samsung","and_qq","baidu","kaios"];function ge(s){if(!s)return[];if(!("browser_support"in s))return["> 0%"];const e=[];return fe.forEach((t=>{const o=s.browser_support[t];"string"==typeof o&&/^[0-9|.]+$/.test(o)?e.push(`${t} < ${s.browser_support[t]}`):e.push(`${t} >= 1`)})),e}function be(s,e,t,o){const i=ss.default(s,{ignoreUnknownVersions:!0});switch(e.id){case"is-pseudo-class":return{onComplexSelector:"warning"};case"nesting-rules":if(function(s,e){const t=ge(s);if(e.some((s=>ss.default(t,{ignoreUnknownVersions:!0}).some((e=>e===s)))))return!0;return!1}(t.find((s=>"is-pseudo-class"===s.id)),i))return o.log('Disabling :is on "nesting-rules" due to lack of browser support.'),{noIsPseudoSelector:!0};return{};case"any-link-pseudo-class":if(i.find((s=>s.startsWith("ie ")||s.startsWith("edge "))))return o.log('Adding area[href] fallbacks for ":any-link" support in Edge and IE.'),{subFeatures:{areaHrefNeedsFixing:!0}};return{};default:return{}}}function he(s,e,t,o){const i=Object(e.features),r=!("enableClientSidePolyfills"in e)||e.enableClientSidePolyfills,a=Object(e.insertBefore),n=Object(e.insertAfter),c=e.browsers,p=Zs(0,function(s){const e=parseInt(s,10);return Number.isNaN(e)?0:e}(e.minimumVendorImplementations),3);p>0&&o.log(`Using features with ${p} or more vendor implementations`);const u=function(s,e){let t=2;if(void 0===s.stage)return e.log(`Using features from Stage ${t} (default)`),t;if(!1===s.stage)t=5;else{let e=parseInt(s.stage,10);Number.isNaN(e)&&(e=0),t=Zs(0,e,5)}return 5===t?e.log('Stage has been disabled, features will be handled via the "features" option.'):e.log(`Using features from Stage ${t}`),t}(e,o);2===u&&t&&!1===t.preserve&&(s=JSON.parse(JSON.stringify(s))).forEach((s=>{("blank-pseudo-class"===s.id||"prefers-color-scheme-query"===s.id)&&(s.stage=1)}));const l=de(s,a,n).map((s=>function(s){const e=ge(s);if(s[se]||s[ee]){let t=s.id;return t=s.insertBefore?`before-${t}`:`after-${t}`,{browsers:e,vendors_implementations:s.vendors_implementations,plugin:s[oe],id:t,stage:6}}return{browsers:e,vendors_implementations:s.vendors_implementations,plugin:me.get(s.id),id:s.id,stage:s.stage}}(s))).filter((s=>0===p||(!(!s[se]&&!s[ee])||(p<=s.vendors_implementations||(i[s.id]?(o.log(` ${s.id} does not meet the required vendor implementations but has been enabled by options`),!0):(o.log(` ${s.id} with ${s.vendors_implementations} vendor implementations has been disabled`),!1)))))).filter((s=>{const e=s.stage>=u,t=r||!Ds.includes(s.id),a=!1===i[s.id],n=i[s.id]?i[s.id]:e&&t;return a?o.log(` ${s.id} has been disabled by options`):e?t||o.log(` ${s.id} has been disabled by "enableClientSidePolyfills: false".`):n?o.log(` ${s.id} does not meet the required stage but has been enabled by options`):o.log(` ${s.id} with stage ${s.stage} has been disabled`),n})).map((e=>function(s,e,t,o,i,r){let a,n;return a=be(e,o,s,r),!0===t[o.id]?i&&(a=Object.assign({},a,i)):a=i?Object.assign({},a,i,t[o.id]):Object.assign({},a,t[o.id]),a.enableProgressiveCustomProperties=!1,n=o.plugin.postcss&&"function"==typeof o.plugin?o.plugin(a):o.plugin&&o.plugin.default&&"function"==typeof o.plugin.default&&o.plugin.default.postcss?o.plugin.default(a):o.plugin,{browsers:o.browsers,vendors_implementations:o.vendors_implementations,plugin:n,pluginOptions:a,id:o.id}}(s,c,i,e,t,o))),m=ss.default(c,{ignoreUnknownVersions:!0});return l.filter((s=>{if(s.id in i)return i[s.id];if(function(s){if("importFrom"in Object(s.pluginOptions))switch(s.id){case"custom-media-queries":if(Ys(s.pluginOptions.importFrom,"customMedia"))return!0;break;case"custom-properties":if(Ys(s.pluginOptions.importFrom,"customProperties"))return!0;break;case"environment-variables":if(Ys(s.pluginOptions.importFrom,"environmentVariables"))return!0;break;case"custom-selectors":if(Ys(s.pluginOptions.importFrom,"customSelectors"))return!0}if("exportTo"in Object(s.pluginOptions))switch(s.id){case"custom-media-queries":if(Ys(s.pluginOptions.exportTo,"customMedia"))return!0;break;case"custom-properties":if(Ys(s.pluginOptions.exportTo,"customProperties"))return!0;break;case"environment-variables":if(Ys(s.pluginOptions.exportTo,"environmentVariables"))return!0;break;case"custom-selectors":if(Ys(s.pluginOptions.exportTo,"customSelectors"))return!0}return!1}(s))return!0;const e=ss.default(s.browsers,{ignoreUnknownVersions:!0}),t=m.some((s=>e.some((e=>e===s))));return t||o.log(`${s.id} disabled due to browser support`),t}))}class ye{constructor(){this.logs=[]}log(s){this.logs.push(s)}resetLogger(){this.logs.length=0}dumpLogs(s){s&&this.logs.forEach((e=>s.warn(e))),this.resetLogger()}}var ke=[{packageName:"css-blank-pseudo",id:"blank-pseudo-class",importName:"postcssBlankPseudo"},{packageName:"css-has-pseudo",id:"has-pseudo-class",importName:"postcssHasPseudo"},{packageName:"css-prefers-color-scheme",id:"prefers-color-scheme-query",importName:"postcssPrefersColorScheme"},{packageName:"postcss-attribute-case-insensitive",id:"case-insensitive-attributes",importName:"postcssAttributeCaseInsensitive"},{packageName:"postcss-clamp",id:"clamp",importName:"postcssClamp"},{packageName:"@csstools/postcss-color-function",id:"color-function",importName:"postcssColorFunction"},{packageName:"postcss-color-functional-notation",id:"color-functional-notation",importName:"postcssColorFunctionalNotation"},{packageName:"postcss-color-hex-alpha",id:"hexadecimal-alpha-notation",importName:"postcssColorHexAlpha"},{packageName:"postcss-color-rebeccapurple",id:"rebeccapurple-color",importName:"postcssColorRebeccapurple"},{packageName:"postcss-custom-media",id:"custom-media-queries",importName:"postcssCustomMedia"},{packageName:"postcss-custom-properties",id:"custom-properties",importName:"postcssCustomProperties"},{packageName:"postcss-custom-selectors",id:"custom-selectors",importName:"postcssCustomSelectors"},{packageName:"postcss-dir-pseudo-class",id:"dir-pseudo-class",importName:"postcssDirPseudoClass"},{packageName:"postcss-double-position-gradients",id:"double-position-gradients",importName:"postcssDoublePositionGradients"},{packageName:"postcss-env-function",id:"environment-variables",importName:"postcssEnvFunction"},{packageName:"postcss-focus-visible",id:"focus-visible-pseudo-class",importName:"postcssFocusVisible"},{packageName:"postcss-focus-within",id:"focus-within-pseudo-class",importName:"postcssFocusWithin"},{packageName:"@csstools/postcss-font-format-keywords",id:"font-format-keywords",importName:"postcssFontFormatKeywords"},{packageName:"postcss-font-variant",id:"font-variant-property",importName:"postcssFontVariant"},{packageName:"postcss-gap-properties",id:"gap-properties",importName:"postcssGapProperties"},{packageName:"@csstools/postcss-hwb-function",id:"hwb-function",importName:"postcssHWBFunction"},{packageName:"@csstools/postcss-ic-unit",id:"ic-unit",importName:"postcssICUnit"},{packageName:"postcss-image-set-function",id:"image-set-function",importName:"postcssImageSetFunction"},{packageName:"postcss-initial",id:"all-property",importName:"postcssInitial"},{packageName:"@csstools/postcss-is-pseudo-class",id:"is-pseudo-class",importName:"postcssIsPseudoClass"},{packageName:"postcss-lab-function",id:"lab-function",importName:"postcssLabFunction"},{packageName:"postcss-logical",id:"logical-properties-and-values",importName:"postcssLogical"},{packageName:"postcss-media-minmax",id:"media-query-ranges",importName:"postcssMediaMinmax"},{packageName:"postcss-nesting",id:"nesting-rules",importName:"postcssNesting"},{packageName:"@csstools/postcss-normalize-display-values",id:"display-two-values",importName:"postcssNormalizeDisplayValues"},{packageName:"@csstools/postcss-oklab-function",id:"oklab-function",importName:"postcssOKLabFunction"},{packageName:"postcss-opacity-percentage",id:"opacity-percentage",importName:"postcssOpacityPercentage"},{packageName:"postcss-overflow-shorthand",id:"overflow-property",importName:"postcssOverflowShorthand"},{packageName:"postcss-page-break",id:"break-properties",importName:"postcssPageBreak"},{packageName:"postcss-place",id:"place-properties",importName:"postcssPlace"},{packageName:"postcss-pseudo-class-any-link",id:"any-link-pseudo-class",importName:"postcssPseudoClassAnyLink"},{packageName:"postcss-replace-overflow-wrap",id:"overflow-wrap-property",importName:"postcssReplaceOverflowWrap"},{packageName:"postcss-selector-not",id:"not-pseudo-class",importName:"postcssSelectorNot"},{packageName:"@csstools/postcss-stepped-value-functions",id:"stepped-value-functions",importName:"postcssSteppedValueFunctions"},{packageName:"postcss-system-ui-font-family",importedPackage:"../patch/postcss-system-ui-font-family.mjs",id:"system-ui-font-family",importName:"postcssFontFamilySystemUI"},{packageName:"@csstools/postcss-unset-value",id:"unset-value",importName:"postcssUnsetValue"},{packageName:"@csstools/postcss-cascade-layers",id:"cascade-layers",importName:"postcssCascadeLayers"},{packageName:"@csstools/postcss-trigonometric-functions",id:"trigonometric-functions",importName:"postcssTrigonometricFunctions"}];function Ne(s,e,t){const o=ke.map((s=>s.id)),i=ke.map((s=>s.packageName)),r=function(){const s={};return ke.forEach((e=>{s[e.packageName]=e.id})),s}();s.forEach((s=>{if(o.includes(s))return;const a=ve(s,o),n=ve(s,i);Math.min(a.distance,n.distance)>10?e.warn(t`Unknown feature: "${s}", see the list of features https://github.com/csstools/postcss-plugins/blob/main/plugin-packs/postcss-preset-env/FEATURES.md`):a.distance<n.distance?e.warn(t,`Unknown feature: "${s}", did you mean: "${a.mostSimilar}"`):e.warn(t,`Unknown feature: "${s}", did you mean: "${r[n.mostSimilar]}"`)}))}function ve(s,e){let t="unknown",o=1/0;for(let i=0;i<e.length;i++){const r=we(s,e[i]);r<o&&(o=r,t=e[i])}return{mostSimilar:t,distance:o}}function we(s,e){if(!s.length)return e.length;if(!e.length)return s.length;const t=[];for(let o=0;o<=e.length;o++){t[o]=[o];for(let i=1;i<=s.length;i++)t[o][i]=0===o?i:Math.min(t[o-1][i]+1,t[o][i-1]+1,t[o-1][i-1]+(s[i-1]===e[o-1]?0:1))}return t[e.length][s.length]}const qe=s=>{const e=new ye,t=Object(s),o=Object.keys(Object(t.features)),i=t.browsers,r=function(s){if("importFrom"in s||"exportTo"in s||"preserve"in s){const e={};return"importFrom"in s&&(e.importFrom=s.importFrom),"exportTo"in s&&(e.exportTo={customMedia:{},customProperties:{},customSelectors:{}}),"preserve"in s&&(e.preserve=s.preserve),e}return!1}(t),a=he(Q.default,t,r,e),n=a.map((s=>s.plugin));!1!==t.autoprefixer&&n.push(K.default(Object.assign({overrideBrowserslist:i},t.autoprefixer))),n.push(X.default()),function(s,e,t){if(e.debug){t.log("Enabling the following feature(s):");const e=[];s.forEach((s=>{s.id.startsWith("before")||s.id.startsWith("after")?t.log(` ${s.id} (injected via options)`):t.log(` ${s.id}`),void 0!==Ls[s.id]&&e.push(s.id)})),e.length&&(t.log("These feature(s) need a browser library to work:"),e.forEach((s=>t.log(` ${s}: ${Ls[s]}`))))}}(a,t,e);const c=()=>({postcssPlugin:"postcss-preset-env",OnceExit:function(i,{result:a}){Ne(o,i,a),t.debug&&e.dumpLogs(a),e.resetLogger(),t.exportTo&&Gs(r.exportTo,s.exportTo)}});return c.postcss=!0,{postcssPlugin:"postcss-preset-env",plugins:[...n,c()]}};qe.postcss=!0,module.exports=qe;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import s from"autoprefixer";import e from"cssdb";import o from"@csstools/postcss-progressive-custom-properties";import t from"fs";import i from"path";import r from"browserslist";import n from"postcss-initial";import a from"postcss-pseudo-class-any-link";import c from"css-blank-pseudo";import p from"postcss-page-break";import u from"postcss-attribute-case-insensitive";import m from"postcss-clamp";import l from"@csstools/postcss-color-function";import d from"postcss-color-functional-notation";import f from"postcss-custom-media";import g from"postcss-custom-properties";import b from"postcss-custom-selectors";import h from"postcss-dir-pseudo-class";import k from"@csstools/postcss-normalize-display-values";import y from"postcss-double-position-gradients";import N from"postcss-env-function";import w from"postcss-focus-visible";import v from"postcss-focus-within";import $ from"@csstools/postcss-font-format-keywords";import O from"postcss-font-variant";import S from"postcss-gap-properties";import x from"css-has-pseudo";import P from"postcss-color-hex-alpha";import j from"@csstools/postcss-hwb-function";import F from"@csstools/postcss-ic-unit";import E from"postcss-image-set-function";import M from"@csstools/postcss-is-pseudo-class";import C from"postcss-lab-function";import q from"postcss-logical";import A from"postcss-media-minmax";import R from"postcss-nesting";import _ from"postcss-selector-not";import U from"@csstools/postcss-oklab-function";import B from"postcss-opacity-percentage";import I from"postcss-overflow-shorthand";import T from"postcss-replace-overflow-wrap";import W from"postcss-place";import L from"css-prefers-color-scheme";import V from"postcss-color-rebeccapurple";const D={"blank-pseudo-class":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-blank-pseudo/README-BROWSER.md","focus-visible-pseudo-class":"https://github.com/WICG/focus-visible","focus-within-pseudo-class":"https://github.com/jsxtools/focus-within/blob/master/README-BROWSER.md","has-pseudo-class":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-has-pseudo/README-BROWSER.md","prefers-color-scheme-query":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-prefers-color-scheme/README-BROWSER.md"},H=["blank-pseudo-class","focus-visible-pseudo-class","focus-within-pseudo-class","has-pseudo-class","prefers-color-scheme-query"];async function J(s,e,o,t){const i=function(s){return`:root {\n${Object.keys(s).reduce(((e,o)=>(e.push(`\t${o}: ${s[o]};`),e)),[]).join("\n")}\n}\n`}(o),r=function(s){return`${Object.keys(s).reduce(((e,o)=>(e.push(`@custom-media ${o} ${s[o]};`),e)),[]).join("\n")}\n`}(e),n=function(s){return`${Object.keys(s).reduce(((e,o)=>(e.push(`@custom-selector ${o} ${s[o]};`),e)),[]).join("\n")}\n`}(t),a=`${r}\n${n}\n${i}`;await X(s,a)}function z(s,e){return`\n\t${s}: {\n${Object.keys(e).reduce(((s,o)=>(s.push(`\t\t'${Y(o)}': '${Y(e[o])}'`),s)),[]).join(",\n")}\n\t}`}function G(s,e){return`export const ${s} = {\n${Object.keys(e).reduce(((s,o)=>(s.push(`\t'${Y(o)}': '${Y(e[o])}'`),s)),[]).join(",\n")}\n};\n`}function K(s,e){return Promise.all([].concat(e).map((async e=>{if(e instanceof Function)await e({customMedia:Q(s.customMedia),customProperties:Q(s.customProperties),customSelectors:Q(s.customSelectors)});else{const o=e===Object(e)?e:{to:String(e)},t=o.toJSON||Q;if("customMedia"in o||"customProperties"in o||"customSelectors"in o)o.customMedia=t(s.customMedia),o.customProperties=t(s.customProperties),o.customSelectors=t(s.customSelectors);else if("custom-media"in o||"custom-properties"in o||"custom-selectors"in o)o["custom-media"]=t(s.customMedia),o["custom-properties"]=t(s.customProperties),o["custom-selectors"]=t(s.customSelectors);else{const e=String(o.to||""),r=(o.type||i.extname(o.to).slice(1)).toLowerCase(),n=t(s.customMedia),a=t(s.customProperties),c=t(s.customSelectors);"css"===r&&await J(e,n,a,c),"js"===r&&await async function(s,e,o,t){const i=`module.exports = {${z("customMedia",e)},${z("customProperties",o)},${z("customSelectors",t)}\n};\n`;await X(s,i)}(e,n,a,c),"json"===r&&await async function(s,e,o,t){const i=`${JSON.stringify({"custom-media":e,"custom-properties":o,"custom-selectors":t},null," ")}\n`;await X(s,i)}(e,n,a,c),"mjs"===r&&await async function(s,e,o,t){const i=`${G("customMedia",e)}\n${G("customProperties",o)}\n${G("customSelectors",t)}`;await X(s,i)}(e,n,a,c)}}})))}function Q(s){return Object.keys(s).reduce(((e,o)=>(e[o]=String(s[o]),e)),{})}function X(s,e){return new Promise(((o,i)=>{t.writeFile(s,e,(s=>{s?i(s):o()}))}))}function Y(s){return s.replace(/\\([\s\S])|(')/g,"\\$1$2").replace(/\n/g,"\\n").replace(/\r/g,"\\r")}function Z(s,e){if(!s)return!1;if("string"==typeof s)return!0;if(Array.isArray(s)){for(let o=0;o<s.length;o++){if("string"==typeof s[o])return!0;if(s[o]&&e in Object(s[o]))return!0}return!1}return e in Object(s)}function ss(s,e,o){return Math.max(s,Math.min(e,o))}const es=Symbol("insertBefore"),os=Symbol("insertAfter"),ts=Symbol("insertOrder"),is=Symbol("plugin");function rs(s,e,o){if("insertBefore"!==o&&"insertAfter"!==o)return[];const t="insertBefore"===o?es:os,i=[];for(const o in e){if(!Object.hasOwnProperty.call(e,o))continue;if(!s.find((s=>s.id===o)))continue;let r=e[o];Array.isArray(r)||(r=[r]);for(let s=0;s<r.length;s++)i.push({id:o,[is]:r[s],[ts]:s,[t]:!0})}return i}var ns=["custom-media-queries","custom-properties","environment-variables","image-set-function","media-query-ranges","prefers-color-scheme-query","nesting-rules","custom-selectors","any-link-pseudo-class","case-insensitive-attributes","focus-visible-pseudo-class","focus-within-pseudo-class","not-pseudo-class","logical-properties-and-values","dir-pseudo-class","all-property","color-functional-notation","double-position-gradients","hexadecimal-alpha-notation","hwb-function","lab-function","rebeccapurple-color","blank-pseudo-class","break-properties","font-variant-property","is-pseudo-class","has-pseudo-class","gap-properties","overflow-property","overflow-wrap-property","place-properties","system-ui-font-family"];function as(){return{postcssPlugin:"postcss-system-ui-font",Declaration(s){cs.test(s.prop)&&(s.value.includes(us.join(", "))||(s.value=s.value.replace(ms,ls)))}}}as.postcss=!0;const cs=/(?:^(?:-|\\002d){2})|(?:^font(?:-family)?$)/i,ps="[\\f\\n\\r\\x09\\x20]",us=["system-ui","-apple-system","Segoe UI","Roboto","Ubuntu","Cantarell","Noto Sans","sans-serif"],ms=new RegExp(`(^|,|${ps}+)(?:system-ui${ps}*)(?:,${ps}*(?:${us.join("|")})${ps}*)?(,|$)`,"i"),ls=`$1${us.join(", ")}$2`,ds=new Map([["all-property",n],["any-link-pseudo-class",a],["blank-pseudo-class",c],["break-properties",p],["case-insensitive-attributes",u],["clamp",m],["color-function",l],["color-functional-notation",d],["custom-media-queries",f],["custom-properties",g],["custom-selectors",b],["dir-pseudo-class",h],["display-two-values",k],["double-position-gradients",y],["environment-variables",N],["focus-visible-pseudo-class",w],["focus-within-pseudo-class",v],["font-format-keywords",$],["font-variant-property",O],["gap-properties",S],["has-pseudo-class",x],["hexadecimal-alpha-notation",P],["hwb-function",j],["ic-unit",F],["image-set-function",E],["is-pseudo-class",M],["lab-function",C],["logical-properties-and-values",q],["media-query-ranges",A],["nesting-rules",R],["not-pseudo-class",_],["oklab-function",U],["opacity-percentage",B],["overflow-property",I],["overflow-wrap-property",T],["place-properties",W],["prefers-color-scheme-query",L],["rebeccapurple-color",V],["system-ui-font-family",as]]);function fs(s,e,o){return s.concat(rs(s,e,"insertBefore"),rs(s,o,"insertAfter")).filter((s=>function(s){return!!s[es]||!!s[os]||!!ds.has(s.id)}(s))).sort(((s,e)=>function(s,e){return s.id===e.id?s[es]&&e[es]||s[os]&&e[os]?ss(-1,s[ts]-e[ts],1):s[es]||e[os]?-1:s[os]||e[es]?1:0:ss(-1,ns.indexOf(s.id)-ns.indexOf(e.id),1)}(s,e)))}const gs=["ie","edge","firefox","chrome","safari","opera","ios_saf","android","op_mob","and_chr","and_ff","and_uc","samsung","and_qq","baidu","kaios"];function bs(s){if(!s)return[];if(!("browser_support"in s))return["> 0%"];const e=[];return gs.forEach((o=>{const t=s.browser_support[o];"string"==typeof t&&/^[0-9|.]+$/.test(t)?e.push(`${o} < ${s.browser_support[o]}`):e.push(`${o} >= 1`)})),e}function hs(s,e,o,t){const i=r(s,{ignoreUnknownVersions:!0});switch(e.id){case"is-pseudo-class":return{onComplexSelector:"warning"};case"nesting-rules":if(function(s,e){const o=bs(s);if(e.some((s=>r(o,{ignoreUnknownVersions:!0}).some((e=>e===s)))))return!0;return!1}(o.find((s=>"is-pseudo-class"===s.id)),i))return t.log('Disabling :is on "nesting-rules" due to lack of browser support.'),{noIsPseudoSelector:!0};return{};case"any-link-pseudo-class":if(i.find((s=>s.startsWith("ie ")||s.startsWith("edge "))))return t.log('Adding area[href] fallbacks for ":any-link" support in Edge and IE.'),{subFeatures:{areaHrefNeedsFixing:!0}};return{};default:return{}}}function ks(s,e,o,t){const i=Object(e.features),n=!("enableClientSidePolyfills"in e)||e.enableClientSidePolyfills,a=Object(e.insertBefore),c=Object(e.insertAfter),p=e.browsers,u=ss(0,function(s){const e=parseInt(s,10);return Number.isNaN(e)?0:e}(e.minimumVendorImplementations),3);u>0&&t.log(`Using features with ${u} or more vendor implementations`);const m=function(s,e){let o=2;if(void 0===s.stage)return e.log(`Using features from Stage ${o} (default)`),o;if(!1===s.stage)o=5;else{let e=parseInt(s.stage,10);Number.isNaN(e)&&(e=0),o=ss(0,e,5)}return 5===o?e.log('Stage has been disabled, features will be handled via the "features" option.'):e.log(`Using features from Stage ${o}`),o}(e,t);2===m&&o&&!1===o.preserve&&(s=JSON.parse(JSON.stringify(s))).forEach((s=>{("blank-pseudo-class"===s.id||"prefers-color-scheme-query"===s.id)&&(s.stage=1)}));const l=fs(s,a,c).map((s=>function(s){const e=bs(s);if(s[es]||s[os]){let o=s.id;return o=s.insertBefore?`before-${o}`:`after-${o}`,{browsers:e,vendors_implementations:s.vendors_implementations,plugin:s[is],id:o,stage:6}}return{browsers:e,vendors_implementations:s.vendors_implementations,plugin:ds.get(s.id),id:s.id,stage:s.stage}}(s))).filter((s=>0===u||(!(!s[es]&&!s[os])||(u<=s.vendors_implementations||(i[s.id]?(t.log(` ${s.id} does not meet the required vendor implementations but has been enabled by options`),!0):(t.log(` ${s.id} with ${s.vendors_implementations} vendor implementations has been disabled`),!1)))))).filter((s=>{const e=s.stage>=m,o=n||!H.includes(s.id),r=!1===i[s.id],a=i[s.id]?i[s.id]:e&&o;return r?t.log(` ${s.id} has been disabled by options`):e?o||t.log(` ${s.id} has been disabled by "enableClientSidePolyfills: false".`):a?t.log(` ${s.id} does not meet the required stage but has been enabled by options`):t.log(` ${s.id} with stage ${s.stage} has been disabled`),a})).map((e=>function(s,e,o,t,i,r){let n,a;return n=hs(e,t,s,r),!0===o[t.id]?i&&(n=Object.assign({},n,i)):n=i?Object.assign({},n,i,o[t.id]):Object.assign({},n,o[t.id]),n.enableProgressiveCustomProperties=!1,a=t.plugin.postcss&&"function"==typeof t.plugin?t.plugin(n):t.plugin&&t.plugin.default&&"function"==typeof t.plugin.default&&t.plugin.default.postcss?t.plugin.default(n):t.plugin,{browsers:t.browsers,vendors_implementations:t.vendors_implementations,plugin:a,pluginOptions:n,id:t.id}}(s,p,i,e,o,t))),d=r(p,{ignoreUnknownVersions:!0});return l.filter((s=>{if(s.id in i)return i[s.id];if(function(s){if("importFrom"in Object(s.pluginOptions))switch(s.id){case"custom-media-queries":if(Z(s.pluginOptions.importFrom,"customMedia"))return!0;break;case"custom-properties":if(Z(s.pluginOptions.importFrom,"customProperties"))return!0;break;case"environment-variables":if(Z(s.pluginOptions.importFrom,"environmentVariables"))return!0;break;case"custom-selectors":if(Z(s.pluginOptions.importFrom,"customSelectors"))return!0}if("exportTo"in Object(s.pluginOptions))switch(s.id){case"custom-media-queries":if(Z(s.pluginOptions.exportTo,"customMedia"))return!0;break;case"custom-properties":if(Z(s.pluginOptions.exportTo,"customProperties"))return!0;break;case"environment-variables":if(Z(s.pluginOptions.exportTo,"environmentVariables"))return!0;break;case"custom-selectors":if(Z(s.pluginOptions.exportTo,"customSelectors"))return!0}return!1}(s))return!0;const e=r(s.browsers,{ignoreUnknownVersions:!0}),o=d.some((s=>e.some((e=>e===s))));return o||t.log(`${s.id} disabled due to browser support`),o}))}class ys{constructor(){this.logs=[]}log(s){this.logs.push(s)}resetLogger(){this.logs.length=0}dumpLogs(s){s&&this.logs.forEach((e=>s.warn(e))),this.resetLogger()}}var Ns=[{packageName:"css-blank-pseudo",id:"blank-pseudo-class",importName:"postcssBlankPseudo"},{packageName:"css-has-pseudo",id:"has-pseudo-class",importName:"postcssHasPseudo"},{packageName:"css-prefers-color-scheme",id:"prefers-color-scheme-query",importName:"postcssPrefersColorScheme"},{packageName:"postcss-attribute-case-insensitive",id:"case-insensitive-attributes",importName:"postcssAttributeCaseInsensitive"},{packageName:"postcss-clamp",id:"clamp",importName:"postcssClamp"},{packageName:"@csstools/postcss-color-function",id:"color-function",importName:"postcssColorFunction"},{packageName:"postcss-color-functional-notation",id:"color-functional-notation",importName:"postcssColorFunctionalNotation"},{packageName:"postcss-color-hex-alpha",id:"hexadecimal-alpha-notation",importName:"postcssColorHexAlpha"},{packageName:"postcss-color-rebeccapurple",id:"rebeccapurple-color",importName:"postcssColorRebeccapurple"},{packageName:"postcss-custom-media",id:"custom-media-queries",importName:"postcssCustomMedia"},{packageName:"postcss-custom-properties",id:"custom-properties",importName:"postcssCustomProperties"},{packageName:"postcss-custom-selectors",id:"custom-selectors",importName:"postcssCustomSelectors"},{packageName:"postcss-dir-pseudo-class",id:"dir-pseudo-class",importName:"postcssDirPseudoClass"},{packageName:"postcss-double-position-gradients",id:"double-position-gradients",importName:"postcssDoublePositionGradients"},{packageName:"postcss-env-function",id:"environment-variables",importName:"postcssEnvFunction"},{packageName:"postcss-focus-visible",id:"focus-visible-pseudo-class",importName:"postcssFocusVisible"},{packageName:"postcss-focus-within",id:"focus-within-pseudo-class",importName:"postcssFocusWithin"},{packageName:"@csstools/postcss-font-format-keywords",id:"font-format-keywords",importName:"postcssFontFormatKeywords"},{packageName:"postcss-font-variant",id:"font-variant-property",importName:"postcssFontVariant"},{packageName:"postcss-gap-properties",id:"gap-properties",importName:"postcssGapProperties"},{packageName:"@csstools/postcss-hwb-function",id:"hwb-function",importName:"postcssHWBFunction"},{packageName:"@csstools/postcss-ic-unit",id:"ic-unit",importName:"postcssICUnit"},{packageName:"postcss-image-set-function",id:"image-set-function",importName:"postcssImageSetFunction"},{packageName:"postcss-initial",id:"all-property",importName:"postcssInitial"},{packageName:"@csstools/postcss-is-pseudo-class",id:"is-pseudo-class",importName:"postcssIsPseudoClass"},{packageName:"postcss-lab-function",id:"lab-function",importName:"postcssLabFunction"},{packageName:"postcss-logical",id:"logical-properties-and-values",importName:"postcssLogical"},{packageName:"postcss-media-minmax",id:"media-query-ranges",importName:"postcssMediaMinmax"},{packageName:"postcss-nesting",id:"nesting-rules",importName:"postcssNesting"},{packageName:"@csstools/postcss-normalize-display-values",id:"display-two-values",importName:"postcssNormalizeDisplayValues"},{packageName:"@csstools/postcss-oklab-function",id:"oklab-function",importName:"postcssOKLabFunction"},{packageName:"postcss-opacity-percentage",id:"opacity-percentage",importName:"postcssOpacityPercentage"},{packageName:"postcss-overflow-shorthand",id:"overflow-property",importName:"postcssOverflowShorthand"},{packageName:"postcss-page-break",id:"break-properties",importName:"postcssPageBreak"},{packageName:"postcss-place",id:"place-properties",importName:"postcssPlace"},{packageName:"postcss-pseudo-class-any-link",id:"any-link-pseudo-class",importName:"postcssPseudoClassAnyLink"},{packageName:"postcss-replace-overflow-wrap",id:"overflow-wrap-property",importName:"postcssReplaceOverflowWrap"},{packageName:"postcss-selector-not",id:"not-pseudo-class",importName:"postcssSelectorNot"},{packageName:"postcss-system-ui-font-family",importedPackage:"../patch/postcss-system-ui-font-family.mjs",id:"system-ui-font-family",importName:"postcssFontFamilySystemUI"}];function ws(s,e,o){const t=Ns.map((s=>s.id)),i=Ns.map((s=>s.packageName)),r=function(){const s={};return Ns.forEach((e=>{s[e.packageName]=e.id})),s}();s.forEach((s=>{if(t.includes(s))return;const n=vs(s,t),a=vs(s,i);Math.min(n.distance,a.distance)>10?e.warn(o`Unknown feature: "${s}", see the list of features https://github.com/csstools/postcss-plugins/blob/main/plugin-packs/postcss-preset-env/FEATURES.md`):n.distance<a.distance?e.warn(o,`Unknown feature: "${s}", did you mean: "${n.mostSimilar}"`):e.warn(o,`Unknown feature: "${s}", did you mean: "${r[a.mostSimilar]}"`)}))}function vs(s,e){let o="unknown",t=1/0;for(let i=0;i<e.length;i++){const r=$s(s,e[i]);r<t&&(t=r,o=e[i])}return{mostSimilar:o,distance:t}}function $s(s,e){if(!s.length)return e.length;if(!e.length)return s.length;const o=[];for(let t=0;t<=e.length;t++){o[t]=[t];for(let i=1;i<=s.length;i++)o[t][i]=0===t?i:Math.min(o[t-1][i]+1,o[t][i-1]+1,o[t-1][i-1]+(s[i-1]===e[t-1]?0:1))}return o[e.length][s.length]}const Os=t=>{const i=new ys,r=Object(t),n=Object.keys(Object(r.features)),a=r.browsers,c=function(s){if("importFrom"in s||"exportTo"in s||"preserve"in s){const e={};return"importFrom"in s&&(e.importFrom=s.importFrom),"exportTo"in s&&(e.exportTo={customMedia:{},customProperties:{},customSelectors:{}}),"preserve"in s&&(e.preserve=s.preserve),e}return!1}(r),p=ks(e,r,c,i),u=p.map((s=>s.plugin));!1!==r.autoprefixer&&u.push(s(Object.assign({overrideBrowserslist:a},r.autoprefixer))),u.push(o()),function(s,e,o){if(e.debug){o.log("Enabling the following feature(s):");const e=[];s.forEach((s=>{s.id.startsWith("before")||s.id.startsWith("after")?o.log(` ${s.id} (injected via options)`):o.log(` ${s.id}`),void 0!==D[s.id]&&e.push(s.id)})),e.length&&(o.log("These feature(s) need a browser library to work:"),e.forEach((s=>o.log(` ${s}: ${D[s]}`))))}}(p,r,i);const m=()=>({postcssPlugin:"postcss-preset-env",OnceExit:function(s,{result:e}){ws(n,s,e),r.debug&&i.dumpLogs(e),i.resetLogger(),r.exportTo&&K(c.exportTo,t.exportTo)}});return m.postcss=!0,{postcssPlugin:"postcss-preset-env",plugins:[...u,m()]}};Os.postcss=!0;export{Os as default};
1
+ import s from"autoprefixer";import e from"cssdb";import o from"@csstools/postcss-progressive-custom-properties";import t from"fs";import i from"path";import r from"browserslist";import n from"postcss-initial";import a from"postcss-pseudo-class-any-link";import c from"css-blank-pseudo";import p from"postcss-page-break";import u from"@csstools/postcss-cascade-layers";import m from"postcss-attribute-case-insensitive";import l from"postcss-clamp";import d from"@csstools/postcss-color-function";import f from"postcss-color-functional-notation";import g from"postcss-custom-media";import b from"postcss-custom-properties";import h from"postcss-custom-selectors";import y from"postcss-dir-pseudo-class";import k from"@csstools/postcss-normalize-display-values";import N from"postcss-double-position-gradients";import v from"postcss-env-function";import w from"postcss-focus-visible";import $ from"postcss-focus-within";import O from"@csstools/postcss-font-format-keywords";import S from"postcss-font-variant";import x from"postcss-gap-properties";import P from"css-has-pseudo";import j from"postcss-color-hex-alpha";import F from"@csstools/postcss-hwb-function";import E from"@csstools/postcss-ic-unit";import M from"postcss-image-set-function";import C from"@csstools/postcss-is-pseudo-class";import q from"postcss-lab-function";import A from"postcss-logical";import R from"postcss-media-minmax";import _ from"postcss-nesting";import U from"postcss-selector-not";import B from"@csstools/postcss-oklab-function";import T from"postcss-opacity-percentage";import I from"postcss-overflow-shorthand";import V from"postcss-replace-overflow-wrap";import W from"postcss-place";import L from"css-prefers-color-scheme";import D from"postcss-color-rebeccapurple";import H from"@csstools/postcss-stepped-value-functions";import J from"@csstools/postcss-trigonometric-functions";import z from"@csstools/postcss-unset-value";const G={"blank-pseudo-class":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-blank-pseudo/README-BROWSER.md","focus-visible-pseudo-class":"https://github.com/WICG/focus-visible","focus-within-pseudo-class":"https://github.com/jsxtools/focus-within/blob/master/README-BROWSER.md","has-pseudo-class":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-has-pseudo/README-BROWSER.md","prefers-color-scheme-query":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-prefers-color-scheme/README-BROWSER.md"},K=["blank-pseudo-class","focus-visible-pseudo-class","focus-within-pseudo-class","has-pseudo-class","prefers-color-scheme-query"];async function Q(s,e,o,t){const i=function(s){return`:root {\n${Object.keys(s).reduce(((e,o)=>(e.push(`\t${o}: ${s[o]};`),e)),[]).join("\n")}\n}\n`}(o),r=function(s){return`${Object.keys(s).reduce(((e,o)=>(e.push(`@custom-media ${o} ${s[o]};`),e)),[]).join("\n")}\n`}(e),n=function(s){return`${Object.keys(s).reduce(((e,o)=>(e.push(`@custom-selector ${o} ${s[o]};`),e)),[]).join("\n")}\n`}(t),a=`${r}\n${n}\n${i}`;await es(s,a)}function X(s,e){return`\n\t${s}: {\n${Object.keys(e).reduce(((s,o)=>(s.push(`\t\t'${os(o)}': '${os(e[o])}'`),s)),[]).join(",\n")}\n\t}`}function Y(s,e){return`export const ${s} = {\n${Object.keys(e).reduce(((s,o)=>(s.push(`\t'${os(o)}': '${os(e[o])}'`),s)),[]).join(",\n")}\n};\n`}function Z(s,e){return Promise.all([].concat(e).map((async e=>{if(e instanceof Function)await e({customMedia:ss(s.customMedia),customProperties:ss(s.customProperties),customSelectors:ss(s.customSelectors)});else{const o=e===Object(e)?e:{to:String(e)},t=o.toJSON||ss;if("customMedia"in o||"customProperties"in o||"customSelectors"in o)o.customMedia=t(s.customMedia),o.customProperties=t(s.customProperties),o.customSelectors=t(s.customSelectors);else if("custom-media"in o||"custom-properties"in o||"custom-selectors"in o)o["custom-media"]=t(s.customMedia),o["custom-properties"]=t(s.customProperties),o["custom-selectors"]=t(s.customSelectors);else{const e=String(o.to||""),r=(o.type||i.extname(o.to).slice(1)).toLowerCase(),n=t(s.customMedia),a=t(s.customProperties),c=t(s.customSelectors);"css"===r&&await Q(e,n,a,c),"js"===r&&await async function(s,e,o,t){const i=`module.exports = {${X("customMedia",e)},${X("customProperties",o)},${X("customSelectors",t)}\n};\n`;await es(s,i)}(e,n,a,c),"json"===r&&await async function(s,e,o,t){const i=`${JSON.stringify({"custom-media":e,"custom-properties":o,"custom-selectors":t},null," ")}\n`;await es(s,i)}(e,n,a,c),"mjs"===r&&await async function(s,e,o,t){const i=`${Y("customMedia",e)}\n${Y("customProperties",o)}\n${Y("customSelectors",t)}`;await es(s,i)}(e,n,a,c)}}})))}function ss(s){return Object.keys(s).reduce(((e,o)=>(e[o]=String(s[o]),e)),{})}function es(s,e){return new Promise(((o,i)=>{t.writeFile(s,e,(s=>{s?i(s):o()}))}))}function os(s){return s.replace(/\\([\s\S])|(')/g,"\\$1$2").replace(/\n/g,"\\n").replace(/\r/g,"\\r")}function ts(s,e){if(!s)return!1;if("string"==typeof s)return!0;if(Array.isArray(s)){for(let o=0;o<s.length;o++){if("string"==typeof s[o])return!0;if(s[o]&&e in Object(s[o]))return!0}return!1}return e in Object(s)}function is(s,e,o){return Math.max(s,Math.min(e,o))}const rs=Symbol("insertBefore"),ns=Symbol("insertAfter"),as=Symbol("insertOrder"),cs=Symbol("plugin");function ps(s,e,o){if("insertBefore"!==o&&"insertAfter"!==o)return[];const t="insertBefore"===o?rs:ns,i=[];for(const o in e){if(!Object.hasOwnProperty.call(e,o))continue;if(!s.find((s=>s.id===o)))continue;let r=e[o];Array.isArray(r)||(r=[r]);for(let s=0;s<r.length;s++)i.push({id:o,[cs]:r[s],[as]:s,[t]:!0})}return i}var us=["custom-media-queries","custom-properties","environment-variables","image-set-function","media-query-ranges","prefers-color-scheme-query","nesting-rules","custom-selectors","any-link-pseudo-class","case-insensitive-attributes","focus-visible-pseudo-class","focus-within-pseudo-class","not-pseudo-class","logical-properties-and-values","dir-pseudo-class","all-property","color-functional-notation","double-position-gradients","hexadecimal-alpha-notation","hwb-function","lab-function","rebeccapurple-color","blank-pseudo-class","break-properties","font-variant-property","is-pseudo-class","has-pseudo-class","gap-properties","overflow-property","overflow-wrap-property","place-properties","system-ui-font-family","cascade-layers","stepped-value-functions","trigonometric-functions"];function ms(){return{postcssPlugin:"postcss-system-ui-font",Declaration(s){ls.test(s.prop)&&(s.value.includes(fs.join(", "))||(s.value=s.value.replace(gs,bs)))}}}ms.postcss=!0;const ls=/(?:^(?:-|\\002d){2})|(?:^font(?:-family)?$)/i,ds="[\\f\\n\\r\\x09\\x20]",fs=["system-ui","-apple-system","Segoe UI","Roboto","Ubuntu","Cantarell","Noto Sans","sans-serif"],gs=new RegExp(`(^|,|${ds}+)(?:system-ui${ds}*)(?:,${ds}*(?:${fs.join("|")})${ds}*)?(,|$)`,"i"),bs=`$1${fs.join(", ")}$2`,hs=new Map([["all-property",n],["any-link-pseudo-class",a],["blank-pseudo-class",c],["break-properties",p],["cascade-layers",u],["case-insensitive-attributes",m],["clamp",l],["color-function",d],["color-functional-notation",f],["custom-media-queries",g],["custom-properties",b],["custom-selectors",h],["dir-pseudo-class",y],["display-two-values",k],["double-position-gradients",N],["environment-variables",v],["focus-visible-pseudo-class",w],["focus-within-pseudo-class",$],["font-format-keywords",O],["font-variant-property",S],["gap-properties",x],["has-pseudo-class",P],["hexadecimal-alpha-notation",j],["hwb-function",F],["ic-unit",E],["image-set-function",M],["is-pseudo-class",C],["lab-function",q],["logical-properties-and-values",A],["media-query-ranges",R],["nesting-rules",_],["not-pseudo-class",U],["oklab-function",B],["opacity-percentage",T],["overflow-property",I],["overflow-wrap-property",V],["place-properties",W],["prefers-color-scheme-query",L],["rebeccapurple-color",D],["stepped-value-functions",H],["system-ui-font-family",ms],["trigonometric-functions",J],["unset-value",z]]);function ys(s,e,o){return s.concat(ps(s,e,"insertBefore"),ps(s,o,"insertAfter")).filter((s=>function(s){return!!s[rs]||!!s[ns]||!!hs.has(s.id)}(s))).sort(((s,e)=>function(s,e){return s.id===e.id?s[rs]&&e[rs]||s[ns]&&e[ns]?is(-1,s[as]-e[as],1):s[rs]||e[ns]?-1:s[ns]||e[rs]?1:0:is(-1,us.indexOf(s.id)-us.indexOf(e.id),1)}(s,e)))}const ks=["ie","edge","firefox","chrome","safari","opera","ios_saf","android","op_mob","and_chr","and_ff","and_uc","samsung","and_qq","baidu","kaios"];function Ns(s){if(!s)return[];if(!("browser_support"in s))return["> 0%"];const e=[];return ks.forEach((o=>{const t=s.browser_support[o];"string"==typeof t&&/^[0-9|.]+$/.test(t)?e.push(`${o} < ${s.browser_support[o]}`):e.push(`${o} >= 1`)})),e}function vs(s,e,o,t){const i=r(s,{ignoreUnknownVersions:!0});switch(e.id){case"is-pseudo-class":return{onComplexSelector:"warning"};case"nesting-rules":if(function(s,e){const o=Ns(s);if(e.some((s=>r(o,{ignoreUnknownVersions:!0}).some((e=>e===s)))))return!0;return!1}(o.find((s=>"is-pseudo-class"===s.id)),i))return t.log('Disabling :is on "nesting-rules" due to lack of browser support.'),{noIsPseudoSelector:!0};return{};case"any-link-pseudo-class":if(i.find((s=>s.startsWith("ie ")||s.startsWith("edge "))))return t.log('Adding area[href] fallbacks for ":any-link" support in Edge and IE.'),{subFeatures:{areaHrefNeedsFixing:!0}};return{};default:return{}}}function ws(s,e,o,t){const i=Object(e.features),n=!("enableClientSidePolyfills"in e)||e.enableClientSidePolyfills,a=Object(e.insertBefore),c=Object(e.insertAfter),p=e.browsers,u=is(0,function(s){const e=parseInt(s,10);return Number.isNaN(e)?0:e}(e.minimumVendorImplementations),3);u>0&&t.log(`Using features with ${u} or more vendor implementations`);const m=function(s,e){let o=2;if(void 0===s.stage)return e.log(`Using features from Stage ${o} (default)`),o;if(!1===s.stage)o=5;else{let e=parseInt(s.stage,10);Number.isNaN(e)&&(e=0),o=is(0,e,5)}return 5===o?e.log('Stage has been disabled, features will be handled via the "features" option.'):e.log(`Using features from Stage ${o}`),o}(e,t);2===m&&o&&!1===o.preserve&&(s=JSON.parse(JSON.stringify(s))).forEach((s=>{("blank-pseudo-class"===s.id||"prefers-color-scheme-query"===s.id)&&(s.stage=1)}));const l=ys(s,a,c).map((s=>function(s){const e=Ns(s);if(s[rs]||s[ns]){let o=s.id;return o=s.insertBefore?`before-${o}`:`after-${o}`,{browsers:e,vendors_implementations:s.vendors_implementations,plugin:s[cs],id:o,stage:6}}return{browsers:e,vendors_implementations:s.vendors_implementations,plugin:hs.get(s.id),id:s.id,stage:s.stage}}(s))).filter((s=>0===u||(!(!s[rs]&&!s[ns])||(u<=s.vendors_implementations||(i[s.id]?(t.log(` ${s.id} does not meet the required vendor implementations but has been enabled by options`),!0):(t.log(` ${s.id} with ${s.vendors_implementations} vendor implementations has been disabled`),!1)))))).filter((s=>{const e=s.stage>=m,o=n||!K.includes(s.id),r=!1===i[s.id],a=i[s.id]?i[s.id]:e&&o;return r?t.log(` ${s.id} has been disabled by options`):e?o||t.log(` ${s.id} has been disabled by "enableClientSidePolyfills: false".`):a?t.log(` ${s.id} does not meet the required stage but has been enabled by options`):t.log(` ${s.id} with stage ${s.stage} has been disabled`),a})).map((e=>function(s,e,o,t,i,r){let n,a;return n=vs(e,t,s,r),!0===o[t.id]?i&&(n=Object.assign({},n,i)):n=i?Object.assign({},n,i,o[t.id]):Object.assign({},n,o[t.id]),n.enableProgressiveCustomProperties=!1,a=t.plugin.postcss&&"function"==typeof t.plugin?t.plugin(n):t.plugin&&t.plugin.default&&"function"==typeof t.plugin.default&&t.plugin.default.postcss?t.plugin.default(n):t.plugin,{browsers:t.browsers,vendors_implementations:t.vendors_implementations,plugin:a,pluginOptions:n,id:t.id}}(s,p,i,e,o,t))),d=r(p,{ignoreUnknownVersions:!0});return l.filter((s=>{if(s.id in i)return i[s.id];if(function(s){if("importFrom"in Object(s.pluginOptions))switch(s.id){case"custom-media-queries":if(ts(s.pluginOptions.importFrom,"customMedia"))return!0;break;case"custom-properties":if(ts(s.pluginOptions.importFrom,"customProperties"))return!0;break;case"environment-variables":if(ts(s.pluginOptions.importFrom,"environmentVariables"))return!0;break;case"custom-selectors":if(ts(s.pluginOptions.importFrom,"customSelectors"))return!0}if("exportTo"in Object(s.pluginOptions))switch(s.id){case"custom-media-queries":if(ts(s.pluginOptions.exportTo,"customMedia"))return!0;break;case"custom-properties":if(ts(s.pluginOptions.exportTo,"customProperties"))return!0;break;case"environment-variables":if(ts(s.pluginOptions.exportTo,"environmentVariables"))return!0;break;case"custom-selectors":if(ts(s.pluginOptions.exportTo,"customSelectors"))return!0}return!1}(s))return!0;const e=r(s.browsers,{ignoreUnknownVersions:!0}),o=d.some((s=>e.some((e=>e===s))));return o||t.log(`${s.id} disabled due to browser support`),o}))}class $s{constructor(){this.logs=[]}log(s){this.logs.push(s)}resetLogger(){this.logs.length=0}dumpLogs(s){s&&this.logs.forEach((e=>s.warn(e))),this.resetLogger()}}var Os=[{packageName:"css-blank-pseudo",id:"blank-pseudo-class",importName:"postcssBlankPseudo"},{packageName:"css-has-pseudo",id:"has-pseudo-class",importName:"postcssHasPseudo"},{packageName:"css-prefers-color-scheme",id:"prefers-color-scheme-query",importName:"postcssPrefersColorScheme"},{packageName:"postcss-attribute-case-insensitive",id:"case-insensitive-attributes",importName:"postcssAttributeCaseInsensitive"},{packageName:"postcss-clamp",id:"clamp",importName:"postcssClamp"},{packageName:"@csstools/postcss-color-function",id:"color-function",importName:"postcssColorFunction"},{packageName:"postcss-color-functional-notation",id:"color-functional-notation",importName:"postcssColorFunctionalNotation"},{packageName:"postcss-color-hex-alpha",id:"hexadecimal-alpha-notation",importName:"postcssColorHexAlpha"},{packageName:"postcss-color-rebeccapurple",id:"rebeccapurple-color",importName:"postcssColorRebeccapurple"},{packageName:"postcss-custom-media",id:"custom-media-queries",importName:"postcssCustomMedia"},{packageName:"postcss-custom-properties",id:"custom-properties",importName:"postcssCustomProperties"},{packageName:"postcss-custom-selectors",id:"custom-selectors",importName:"postcssCustomSelectors"},{packageName:"postcss-dir-pseudo-class",id:"dir-pseudo-class",importName:"postcssDirPseudoClass"},{packageName:"postcss-double-position-gradients",id:"double-position-gradients",importName:"postcssDoublePositionGradients"},{packageName:"postcss-env-function",id:"environment-variables",importName:"postcssEnvFunction"},{packageName:"postcss-focus-visible",id:"focus-visible-pseudo-class",importName:"postcssFocusVisible"},{packageName:"postcss-focus-within",id:"focus-within-pseudo-class",importName:"postcssFocusWithin"},{packageName:"@csstools/postcss-font-format-keywords",id:"font-format-keywords",importName:"postcssFontFormatKeywords"},{packageName:"postcss-font-variant",id:"font-variant-property",importName:"postcssFontVariant"},{packageName:"postcss-gap-properties",id:"gap-properties",importName:"postcssGapProperties"},{packageName:"@csstools/postcss-hwb-function",id:"hwb-function",importName:"postcssHWBFunction"},{packageName:"@csstools/postcss-ic-unit",id:"ic-unit",importName:"postcssICUnit"},{packageName:"postcss-image-set-function",id:"image-set-function",importName:"postcssImageSetFunction"},{packageName:"postcss-initial",id:"all-property",importName:"postcssInitial"},{packageName:"@csstools/postcss-is-pseudo-class",id:"is-pseudo-class",importName:"postcssIsPseudoClass"},{packageName:"postcss-lab-function",id:"lab-function",importName:"postcssLabFunction"},{packageName:"postcss-logical",id:"logical-properties-and-values",importName:"postcssLogical"},{packageName:"postcss-media-minmax",id:"media-query-ranges",importName:"postcssMediaMinmax"},{packageName:"postcss-nesting",id:"nesting-rules",importName:"postcssNesting"},{packageName:"@csstools/postcss-normalize-display-values",id:"display-two-values",importName:"postcssNormalizeDisplayValues"},{packageName:"@csstools/postcss-oklab-function",id:"oklab-function",importName:"postcssOKLabFunction"},{packageName:"postcss-opacity-percentage",id:"opacity-percentage",importName:"postcssOpacityPercentage"},{packageName:"postcss-overflow-shorthand",id:"overflow-property",importName:"postcssOverflowShorthand"},{packageName:"postcss-page-break",id:"break-properties",importName:"postcssPageBreak"},{packageName:"postcss-place",id:"place-properties",importName:"postcssPlace"},{packageName:"postcss-pseudo-class-any-link",id:"any-link-pseudo-class",importName:"postcssPseudoClassAnyLink"},{packageName:"postcss-replace-overflow-wrap",id:"overflow-wrap-property",importName:"postcssReplaceOverflowWrap"},{packageName:"postcss-selector-not",id:"not-pseudo-class",importName:"postcssSelectorNot"},{packageName:"@csstools/postcss-stepped-value-functions",id:"stepped-value-functions",importName:"postcssSteppedValueFunctions"},{packageName:"postcss-system-ui-font-family",importedPackage:"../patch/postcss-system-ui-font-family.mjs",id:"system-ui-font-family",importName:"postcssFontFamilySystemUI"},{packageName:"@csstools/postcss-unset-value",id:"unset-value",importName:"postcssUnsetValue"},{packageName:"@csstools/postcss-cascade-layers",id:"cascade-layers",importName:"postcssCascadeLayers"},{packageName:"@csstools/postcss-trigonometric-functions",id:"trigonometric-functions",importName:"postcssTrigonometricFunctions"}];function Ss(s,e,o){const t=Os.map((s=>s.id)),i=Os.map((s=>s.packageName)),r=function(){const s={};return Os.forEach((e=>{s[e.packageName]=e.id})),s}();s.forEach((s=>{if(t.includes(s))return;const n=xs(s,t),a=xs(s,i);Math.min(n.distance,a.distance)>10?e.warn(o`Unknown feature: "${s}", see the list of features https://github.com/csstools/postcss-plugins/blob/main/plugin-packs/postcss-preset-env/FEATURES.md`):n.distance<a.distance?e.warn(o,`Unknown feature: "${s}", did you mean: "${n.mostSimilar}"`):e.warn(o,`Unknown feature: "${s}", did you mean: "${r[a.mostSimilar]}"`)}))}function xs(s,e){let o="unknown",t=1/0;for(let i=0;i<e.length;i++){const r=Ps(s,e[i]);r<t&&(t=r,o=e[i])}return{mostSimilar:o,distance:t}}function Ps(s,e){if(!s.length)return e.length;if(!e.length)return s.length;const o=[];for(let t=0;t<=e.length;t++){o[t]=[t];for(let i=1;i<=s.length;i++)o[t][i]=0===t?i:Math.min(o[t-1][i]+1,o[t][i-1]+1,o[t-1][i-1]+(s[i-1]===e[t-1]?0:1))}return o[e.length][s.length]}const js=t=>{const i=new $s,r=Object(t),n=Object.keys(Object(r.features)),a=r.browsers,c=function(s){if("importFrom"in s||"exportTo"in s||"preserve"in s){const e={};return"importFrom"in s&&(e.importFrom=s.importFrom),"exportTo"in s&&(e.exportTo={customMedia:{},customProperties:{},customSelectors:{}}),"preserve"in s&&(e.preserve=s.preserve),e}return!1}(r),p=ws(e,r,c,i),u=p.map((s=>s.plugin));!1!==r.autoprefixer&&u.push(s(Object.assign({overrideBrowserslist:a},r.autoprefixer))),u.push(o()),function(s,e,o){if(e.debug){o.log("Enabling the following feature(s):");const e=[];s.forEach((s=>{s.id.startsWith("before")||s.id.startsWith("after")?o.log(` ${s.id} (injected via options)`):o.log(` ${s.id}`),void 0!==G[s.id]&&e.push(s.id)})),e.length&&(o.log("These feature(s) need a browser library to work:"),e.forEach((s=>o.log(` ${s}: ${G[s]}`))))}}(p,r,i);const m=()=>({postcssPlugin:"postcss-preset-env",OnceExit:function(s,{result:e}){Ss(n,s,e),r.debug&&i.dumpLogs(e),i.resetLogger(),r.exportTo&&Z(c.exportTo,t.exportTo)}});return m.postcss=!0,{postcssPlugin:"postcss-preset-env",plugins:[...u,m()]}};js.postcss=!0;export{js as default};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "postcss-preset-env",
3
3
  "description": "Convert modern CSS into something browsers understand",
4
- "version": "7.4.4",
4
+ "version": "7.7.0",
5
5
  "author": "Jonathan Neal <jonathantneal@hotmail.com>",
6
6
  "license": "CC0-1.0",
7
7
  "funding": {
@@ -27,23 +27,27 @@
27
27
  "dist"
28
28
  ],
29
29
  "dependencies": {
30
+ "@csstools/postcss-cascade-layers": "^1.0.2",
30
31
  "@csstools/postcss-color-function": "^1.1.0",
31
32
  "@csstools/postcss-font-format-keywords": "^1.0.0",
32
- "@csstools/postcss-hwb-function": "^1.0.0",
33
+ "@csstools/postcss-hwb-function": "^1.0.1",
33
34
  "@csstools/postcss-ic-unit": "^1.0.0",
34
- "@csstools/postcss-is-pseudo-class": "^2.0.2",
35
+ "@csstools/postcss-is-pseudo-class": "^2.0.4",
35
36
  "@csstools/postcss-normalize-display-values": "^1.0.0",
36
37
  "@csstools/postcss-oklab-function": "^1.1.0",
37
38
  "@csstools/postcss-progressive-custom-properties": "^1.3.0",
38
- "autoprefixer": "^10.4.5",
39
+ "@csstools/postcss-stepped-value-functions": "^1.0.0",
40
+ "@csstools/postcss-trigonometric-functions": "^1.0.0",
41
+ "@csstools/postcss-unset-value": "^1.0.1",
42
+ "autoprefixer": "^10.4.7",
39
43
  "browserslist": "^4.20.3",
40
44
  "css-blank-pseudo": "^3.0.3",
41
45
  "css-has-pseudo": "^3.0.4",
42
46
  "css-prefers-color-scheme": "^6.0.3",
43
- "cssdb": "^6.5.0",
47
+ "cssdb": "^6.6.2",
44
48
  "postcss-attribute-case-insensitive": "^5.0.0",
45
49
  "postcss-clamp": "^4.1.0",
46
- "postcss-color-functional-notation": "^4.2.2",
50
+ "postcss-color-functional-notation": "^4.2.3",
47
51
  "postcss-color-hex-alpha": "^8.0.3",
48
52
  "postcss-color-rebeccapurple": "^7.0.2",
49
53
  "postcss-custom-media": "^8.0.0",
@@ -61,12 +65,12 @@
61
65
  "postcss-lab-function": "^4.2.0",
62
66
  "postcss-logical": "^5.0.4",
63
67
  "postcss-media-minmax": "^5.0.0",
64
- "postcss-nesting": "^10.1.4",
68
+ "postcss-nesting": "^10.1.7",
65
69
  "postcss-opacity-percentage": "^1.1.2",
66
70
  "postcss-overflow-shorthand": "^3.0.3",
67
71
  "postcss-page-break": "^3.0.4",
68
72
  "postcss-place": "^7.0.4",
69
- "postcss-pseudo-class-any-link": "^7.1.2",
73
+ "postcss-pseudo-class-any-link": "^7.1.4",
70
74
  "postcss-replace-overflow-wrap": "^4.0.0",
71
75
  "postcss-selector-not": "^5.0.0",
72
76
  "postcss-value-parser": "^4.2.0"