postcss-preset-env 7.8.3 → 11.2.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/package.json CHANGED
@@ -1,22 +1,40 @@
1
1
  {
2
2
  "name": "postcss-preset-env",
3
3
  "description": "Convert modern CSS into something browsers understand",
4
- "version": "7.8.3",
5
- "author": "Jonathan Neal <jonathantneal@hotmail.com>",
6
- "license": "CC0-1.0",
7
- "funding": {
8
- "type": "opencollective",
9
- "url": "https://opencollective.com/csstools"
10
- },
4
+ "version": "11.2.0",
5
+ "contributors": [
6
+ {
7
+ "name": "Antonio Laguna",
8
+ "email": "antonio@laguna.es",
9
+ "url": "https://antonio.laguna.es"
10
+ },
11
+ {
12
+ "name": "Romain Menke",
13
+ "email": "romainmenke@gmail.com"
14
+ },
15
+ {
16
+ "name": "Jonathan Neal",
17
+ "email": "jonathantneal@hotmail.com"
18
+ }
19
+ ],
20
+ "license": "MIT-0",
21
+ "funding": [
22
+ {
23
+ "type": "github",
24
+ "url": "https://github.com/sponsors/csstools"
25
+ },
26
+ {
27
+ "type": "opencollective",
28
+ "url": "https://opencollective.com/csstools"
29
+ }
30
+ ],
11
31
  "engines": {
12
- "node": "^12 || ^14 || >=16"
32
+ "node": ">=20.19.0"
13
33
  },
14
- "main": "dist/index.cjs",
15
- "module": "dist/index.mjs",
34
+ "type": "module",
16
35
  "exports": {
17
36
  ".": {
18
- "import": "./dist/index.mjs",
19
- "require": "./dist/index.cjs",
37
+ "types": "./dist/index.d.ts",
20
38
  "default": "./dist/index.mjs"
21
39
  }
22
40
  },
@@ -27,80 +45,88 @@
27
45
  "dist"
28
46
  ],
29
47
  "dependencies": {
30
- "@csstools/postcss-cascade-layers": "^1.1.1",
31
- "@csstools/postcss-color-function": "^1.1.1",
32
- "@csstools/postcss-font-format-keywords": "^1.0.1",
33
- "@csstools/postcss-hwb-function": "^1.0.2",
34
- "@csstools/postcss-ic-unit": "^1.0.1",
35
- "@csstools/postcss-is-pseudo-class": "^2.0.7",
36
- "@csstools/postcss-nested-calc": "^1.0.0",
37
- "@csstools/postcss-normalize-display-values": "^1.0.1",
38
- "@csstools/postcss-oklab-function": "^1.1.1",
39
- "@csstools/postcss-progressive-custom-properties": "^1.3.0",
40
- "@csstools/postcss-stepped-value-functions": "^1.0.1",
41
- "@csstools/postcss-text-decoration-shorthand": "^1.0.0",
42
- "@csstools/postcss-trigonometric-functions": "^1.0.2",
43
- "@csstools/postcss-unset-value": "^1.0.2",
44
- "autoprefixer": "^10.4.13",
45
- "browserslist": "^4.21.4",
46
- "css-blank-pseudo": "^3.0.3",
47
- "css-has-pseudo": "^3.0.4",
48
- "css-prefers-color-scheme": "^6.0.3",
49
- "cssdb": "^7.1.0",
50
- "postcss-attribute-case-insensitive": "^5.0.2",
48
+ "@csstools/postcss-alpha-function": "^2.0.3",
49
+ "@csstools/postcss-cascade-layers": "^6.0.0",
50
+ "@csstools/postcss-color-function": "^5.0.2",
51
+ "@csstools/postcss-color-function-display-p3-linear": "^2.0.2",
52
+ "@csstools/postcss-color-mix-function": "^4.0.2",
53
+ "@csstools/postcss-color-mix-variadic-function-arguments": "^2.0.2",
54
+ "@csstools/postcss-content-alt-text": "^3.0.0",
55
+ "@csstools/postcss-contrast-color-function": "^3.0.2",
56
+ "@csstools/postcss-exponential-functions": "^3.0.1",
57
+ "@csstools/postcss-font-format-keywords": "^5.0.0",
58
+ "@csstools/postcss-font-width-property": "^1.0.0",
59
+ "@csstools/postcss-gamut-mapping": "^3.0.2",
60
+ "@csstools/postcss-gradients-interpolation-method": "^6.0.2",
61
+ "@csstools/postcss-hwb-function": "^5.0.2",
62
+ "@csstools/postcss-ic-unit": "^5.0.0",
63
+ "@csstools/postcss-initial": "^3.0.0",
64
+ "@csstools/postcss-is-pseudo-class": "^6.0.0",
65
+ "@csstools/postcss-light-dark-function": "^3.0.0",
66
+ "@csstools/postcss-logical-float-and-clear": "^4.0.0",
67
+ "@csstools/postcss-logical-overflow": "^3.0.0",
68
+ "@csstools/postcss-logical-overscroll-behavior": "^3.0.0",
69
+ "@csstools/postcss-logical-resize": "^4.0.0",
70
+ "@csstools/postcss-logical-viewport-units": "^4.0.0",
71
+ "@csstools/postcss-media-minmax": "^3.0.1",
72
+ "@csstools/postcss-media-queries-aspect-ratio-number-values": "^4.0.0",
73
+ "@csstools/postcss-mixins": "^1.0.0",
74
+ "@csstools/postcss-nested-calc": "^5.0.0",
75
+ "@csstools/postcss-normalize-display-values": "^5.0.1",
76
+ "@csstools/postcss-oklab-function": "^5.0.2",
77
+ "@csstools/postcss-position-area-property": "^2.0.0",
78
+ "@csstools/postcss-progressive-custom-properties": "^5.0.0",
79
+ "@csstools/postcss-property-rule-prelude-list": "^2.0.0",
80
+ "@csstools/postcss-random-function": "^3.0.1",
81
+ "@csstools/postcss-relative-color-syntax": "^4.0.2",
82
+ "@csstools/postcss-scope-pseudo-class": "^5.0.0",
83
+ "@csstools/postcss-sign-functions": "^2.0.1",
84
+ "@csstools/postcss-stepped-value-functions": "^5.0.1",
85
+ "@csstools/postcss-syntax-descriptor-syntax-production": "^2.0.0",
86
+ "@csstools/postcss-system-ui-font-family": "^2.0.0",
87
+ "@csstools/postcss-text-decoration-shorthand": "^5.0.3",
88
+ "@csstools/postcss-trigonometric-functions": "^5.0.1",
89
+ "@csstools/postcss-unset-value": "^5.0.0",
90
+ "autoprefixer": "^10.4.24",
91
+ "browserslist": "^4.28.1",
92
+ "css-blank-pseudo": "^8.0.1",
93
+ "css-has-pseudo": "^8.0.0",
94
+ "css-prefers-color-scheme": "^11.0.0",
95
+ "cssdb": "^8.8.0",
96
+ "postcss-attribute-case-insensitive": "^8.0.0",
51
97
  "postcss-clamp": "^4.1.0",
52
- "postcss-color-functional-notation": "^4.2.4",
53
- "postcss-color-hex-alpha": "^8.0.4",
54
- "postcss-color-rebeccapurple": "^7.1.1",
55
- "postcss-custom-media": "^8.0.2",
56
- "postcss-custom-properties": "^12.1.10",
57
- "postcss-custom-selectors": "^6.0.3",
58
- "postcss-dir-pseudo-class": "^6.0.5",
59
- "postcss-double-position-gradients": "^3.1.2",
60
- "postcss-env-function": "^4.0.6",
61
- "postcss-focus-visible": "^6.0.4",
62
- "postcss-focus-within": "^5.0.4",
98
+ "postcss-color-functional-notation": "^8.0.2",
99
+ "postcss-color-hex-alpha": "^11.0.0",
100
+ "postcss-color-rebeccapurple": "^11.0.0",
101
+ "postcss-custom-media": "^12.0.1",
102
+ "postcss-custom-properties": "^15.0.1",
103
+ "postcss-custom-selectors": "^9.0.1",
104
+ "postcss-dir-pseudo-class": "^10.0.0",
105
+ "postcss-double-position-gradients": "^7.0.0",
106
+ "postcss-focus-visible": "^11.0.0",
107
+ "postcss-focus-within": "^10.0.0",
63
108
  "postcss-font-variant": "^5.0.0",
64
- "postcss-gap-properties": "^3.0.5",
65
- "postcss-image-set-function": "^4.0.7",
66
- "postcss-initial": "^4.0.1",
67
- "postcss-lab-function": "^4.2.1",
68
- "postcss-logical": "^5.0.4",
69
- "postcss-media-minmax": "^5.0.0",
70
- "postcss-nesting": "^10.2.0",
71
- "postcss-opacity-percentage": "^1.1.2",
72
- "postcss-overflow-shorthand": "^3.0.4",
109
+ "postcss-gap-properties": "^7.0.0",
110
+ "postcss-image-set-function": "^8.0.0",
111
+ "postcss-lab-function": "^8.0.2",
112
+ "postcss-logical": "^9.0.0",
113
+ "postcss-nesting": "^14.0.0",
114
+ "postcss-opacity-percentage": "^3.0.0",
115
+ "postcss-overflow-shorthand": "^7.0.0",
73
116
  "postcss-page-break": "^3.0.4",
74
- "postcss-place": "^7.0.5",
75
- "postcss-pseudo-class-any-link": "^7.1.6",
117
+ "postcss-place": "^11.0.0",
118
+ "postcss-pseudo-class-any-link": "^11.0.0",
76
119
  "postcss-replace-overflow-wrap": "^4.0.0",
77
- "postcss-selector-not": "^6.0.1",
78
- "postcss-value-parser": "^4.2.0"
120
+ "postcss-selector-not": "^9.0.0"
79
121
  },
80
122
  "peerDependencies": {
81
- "postcss": "^8.2"
82
- },
83
- "devDependencies": {
84
- "postcss-simple-vars": "^7.0.0"
85
- },
86
- "scripts": {
87
- "prebuild": "node ./scripts/generate-plugins-data.mjs && eslint --fix ./src/plugins/*.mjs",
88
- "build": "rollup -c ../../rollup/default.js",
89
- "clean": "node -e \"fs.rmSync('./dist', { recursive: true, force: true });\"",
90
- "docs": "node ./docs/generate.mjs",
91
- "lint": "npm run lint:eslint && npm run lint:package-json",
92
- "lint:eslint": "eslint ./src --ext .js --ext .ts --ext .mjs --no-error-on-unmatched-pattern",
93
- "lint:package-json": "node ../../.github/bin/format-package-json.mjs",
94
- "prepublishOnly": "npm run clean && npm run build && npm run test",
95
- "stryker": "stryker run --logLevel error",
96
- "test": "node .tape.mjs && node ./src/test/test.mjs && npm run test:exports",
97
- "test:exports": "node ./test/_import.mjs && node ./test/_require.cjs",
98
- "test:rewrite-expects": "REWRITE_EXPECTS=true node .tape.mjs"
123
+ "postcss": "^8.4"
99
124
  },
125
+ "scripts": {},
100
126
  "homepage": "https://github.com/csstools/postcss-plugins/tree/main/plugin-packs/postcss-preset-env#readme",
101
127
  "repository": {
102
128
  "type": "git",
103
- "url": "https://github.com/csstools/postcss-plugins.git",
129
+ "url": "git+https://github.com/csstools/postcss-plugins.git",
104
130
  "directory": "plugin-packs/postcss-preset-env"
105
131
  },
106
132
  "bugs": "https://github.com/csstools/postcss-plugins/issues",
@@ -117,8 +143,5 @@
117
143
  "specs",
118
144
  "stages",
119
145
  "w3c"
120
- ],
121
- "volta": {
122
- "extends": "../../package.json"
123
- }
146
+ ]
124
147
  }
package/dist/index.cjs DELETED
@@ -1 +0,0 @@
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"),N=require("postcss-dir-pseudo-class"),y=require("@csstools/postcss-normalize-display-values"),k=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"),C=require("@csstools/postcss-is-pseudo-class"),M=require("postcss-lab-function"),_=require("postcss-logical"),A=require("postcss-media-minmax"),R=require("@csstools/postcss-nested-calc"),U=require("postcss-nesting"),T=require("postcss-selector-not"),B=require("@csstools/postcss-oklab-function"),I=require("postcss-opacity-percentage"),V=require("postcss-overflow-shorthand"),W=require("postcss-replace-overflow-wrap"),L=require("postcss-place"),D=require("css-prefers-color-scheme"),H=require("postcss-color-rebeccapurple"),J=require("@csstools/postcss-stepped-value-functions"),z=require("@csstools/postcss-text-decoration-shorthand"),G=require("@csstools/postcss-trigonometric-functions"),K=require("@csstools/postcss-unset-value");function Q(s){return s&&"object"==typeof s&&"default"in s?s:{default:s}}var X=Q(s),Y=Q(e),Z=Q(t),ss=Q(o),es=Q(i),ts=Q(r),os=Q(a),is=Q(n),rs=Q(c),as=Q(p),ns=Q(u),cs=Q(l),ps=Q(m),us=Q(d),ls=Q(f),ms=Q(g),ds=Q(b),fs=Q(h),gs=Q(N),bs=Q(y),hs=Q(k),Ns=Q(v),ys=Q(w),ks=Q(q),vs=Q($),ws=Q(O),qs=Q(S),$s=Q(x),Os=Q(j),Ss=Q(P),xs=Q(F),js=Q(E),Ps=Q(C),Fs=Q(M),Es=Q(_),Cs=Q(A),Ms=Q(R),_s=Q(U),As=Q(T),Rs=Q(B),Us=Q(I),Ts=Q(V),Bs=Q(W),Is=Q(L),Vs=Q(D),Ws=Q(H),Ls=Q(J),Ds=Q(z),Hs=Q(G),Js=Q(K);const zs={"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"},Gs=["blank-pseudo-class","focus-visible-pseudo-class","focus-within-pseudo-class","has-pseudo-class","prefers-color-scheme-query"];async function Ks(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 se(s,n)}function Qs(s,e){return`\n\t${s}: {\n${Object.keys(e).reduce(((s,t)=>(s.push(`\t\t'${ee(t)}': '${ee(e[t])}'`),s)),[]).join(",\n")}\n\t}`}function Xs(s,e){return`export const ${s} = {\n${Object.keys(e).reduce(((s,t)=>(s.push(`\t'${ee(t)}': '${ee(e[t])}'`),s)),[]).join(",\n")}\n};\n`}function Ys(s,e){return Promise.all([].concat(e).map((async e=>{if(e instanceof Function)await e({customMedia:Zs(s.customMedia),customProperties:Zs(s.customProperties),customSelectors:Zs(s.customSelectors)});else{const t=e===Object(e)?e:{to:String(e)},o=t.toJSON||Zs;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||es.default.extname(t.to).slice(1)).toLowerCase(),r=o(s.customMedia),a=o(s.customProperties),n=o(s.customSelectors);"css"===i&&await Ks(e,r,a,n),"js"===i&&await async function(s,e,t,o){const i=`module.exports = {${Qs("customMedia",e)},${Qs("customProperties",t)},${Qs("customSelectors",o)}\n};\n`;await se(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 se(s,i)}(e,r,a,n),"mjs"===i&&await async function(s,e,t,o){const i=`${Xs("customMedia",e)}\n${Xs("customProperties",t)}\n${Xs("customSelectors",o)}`;await se(s,i)}(e,r,a,n)}}})))}function Zs(s){return Object.keys(s).reduce(((e,t)=>(e[t]=String(s[t]),e)),{})}function se(s,e){return new Promise(((t,o)=>{ss.default.writeFile(s,e,(s=>{s?o(s):t()}))}))}function ee(s){return s.replace(/\\([\s\S])|(')/g,"\\$1$2").replace(/\n/g,"\\n").replace(/\r/g,"\\r")}function te(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 oe(s,e,t){return Math.max(s,Math.min(e,t))}const ie=Symbol("insertBefore"),re=Symbol("insertAfter"),ae=Symbol("insertOrder"),ne=Symbol("plugin");function ce(s,e,t){if("insertBefore"!==t&&"insertAfter"!==t)return[];const o="insertBefore"===t?ie:re,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,[ne]:r[s],[ae]:s,[o]:!0})}return i}var pe=["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 ue(){return{postcssPlugin:"postcss-system-ui-font",Declaration(s){le.test(s.prop)&&(s.value.includes(de.join(", "))||(s.value=s.value.replace(fe,ge)))}}}ue.postcss=!0;const le=/(?:^(?:-|\\002d){2})|(?:^font(?:-family)?$)/i,me="[\\f\\n\\r\\x09\\x20]",de=["system-ui","-apple-system","Segoe UI","Roboto","Ubuntu","Cantarell","Noto Sans","sans-serif"],fe=new RegExp(`(^|,|${me}+)(?:system-ui${me}*)(?:,${me}*(?:${de.join("|")})${me}*)?(,|$)`,"i"),ge=`$1${de.join(", ")}$2`,be=new Map([["all-property",os.default],["any-link-pseudo-class",is.default],["blank-pseudo-class",rs.default],["break-properties",as.default],["cascade-layers",ns.default],["case-insensitive-attributes",cs.default],["clamp",ps.default],["color-function",us.default],["color-functional-notation",ls.default],["custom-media-queries",ms.default],["custom-properties",ds.default],["custom-selectors",fs.default],["dir-pseudo-class",gs.default],["display-two-values",bs.default],["double-position-gradients",hs.default],["environment-variables",Ns.default],["focus-visible-pseudo-class",ys.default],["focus-within-pseudo-class",ks.default],["font-format-keywords",vs.default],["font-variant-property",ws.default],["gap-properties",qs.default],["has-pseudo-class",$s.default],["hexadecimal-alpha-notation",Os.default],["hwb-function",Ss.default],["ic-unit",xs.default],["image-set-function",js.default],["is-pseudo-class",Ps.default],["lab-function",Fs.default],["logical-properties-and-values",Es.default],["media-query-ranges",Cs.default],["nested-calc",Ms.default],["nesting-rules",_s.default],["not-pseudo-class",As.default],["oklab-function",Rs.default],["opacity-percentage",Us.default],["overflow-property",Ts.default],["overflow-wrap-property",Bs.default],["place-properties",Is.default],["prefers-color-scheme-query",Vs.default],["rebeccapurple-color",Ws.default],["stepped-value-functions",Ls.default],["system-ui-font-family",ue],["text-decoration-shorthand",Ds.default],["trigonometric-functions",Hs.default],["unset-value",Js.default]]);function he(s,e,t){return s.concat(ce(s,e,"insertBefore"),ce(s,t,"insertAfter")).filter((s=>function(s){return!!s[ie]||!!s[re]||!!be.has(s.id)}(s))).sort(((s,e)=>function(s,e){return s.id===e.id?s[ie]&&e[ie]||s[re]&&e[re]?oe(-1,s[ae]-e[ae],1):s[ie]||e[re]?-1:s[re]||e[ie]?1:0:oe(-1,pe.indexOf(s.id)-pe.indexOf(e.id),1)}(s,e)))}const Ne=["and_chr","and_ff","and_qq","and_uc","android","baidu","chrome","edge","firefox","ie","ie_mob","ios_saf","kaios","op_mini","op_mob","opera","safari","samsung"];function ye(s){if(!s)return[];if(!("browser_support"in s))return["> 0%"];const e=[];return Ne.forEach((t=>{if("op_mini"===t&&void 0===s.browser_support[t])return void e.push("op_mini all");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 ke(s,e,t,o){const i=ts.default(s,{ignoreUnknownVersions:!0});switch(e.id){case"is-pseudo-class":return{onComplexSelector:"warning"};case"nesting-rules":if(function(s,e){const t=ye(s);if(e.some((s=>ts.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 ve(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=oe(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=oe(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=he(s,a,n).map((s=>function(s){const e=ye(s);if(s[ie]||s[re]){let t=s.id;return t=s.insertBefore?`before-${t}`:`after-${t}`,{browsers:e,vendors_implementations:s.vendors_implementations,plugin:s[ne],id:t,stage:6}}return{browsers:e,vendors_implementations:s.vendors_implementations,plugin:be.get(s.id),id:s.id,stage:s.stage}}(s))).filter((s=>0===p||(!(!s[ie]&&!s[re])||(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||!Gs.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=ke(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=ts.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(te(s.pluginOptions.importFrom,"customMedia"))return!0;break;case"custom-properties":if(te(s.pluginOptions.importFrom,"customProperties"))return!0;break;case"environment-variables":if(te(s.pluginOptions.importFrom,"environmentVariables"))return!0;break;case"custom-selectors":if(te(s.pluginOptions.importFrom,"customSelectors"))return!0}if("exportTo"in Object(s.pluginOptions))switch(s.id){case"custom-media-queries":if(te(s.pluginOptions.exportTo,"customMedia"))return!0;break;case"custom-properties":if(te(s.pluginOptions.exportTo,"customProperties"))return!0;break;case"environment-variables":if(te(s.pluginOptions.exportTo,"environmentVariables"))return!0;break;case"custom-selectors":if(te(s.pluginOptions.exportTo,"customSelectors"))return!0}return!1}(s))return!0;const e=ts.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 we{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 qe=[{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"},{packageName:"@csstools/postcss-nested-calc",id:"nested-calc",importName:"postcssNestedCalc"},{packageName:"@csstools/postcss-text-decoration-shorthand",id:"text-decoration-shorthand",importName:"postcssTextDecorationShorthand"}];function $e(s,e,t){const o=qe.map((s=>s.id)),i=qe.map((s=>s.packageName)),r=function(){const s={};return qe.forEach((e=>{s[e.packageName]=e.id})),s}();s.forEach((s=>{if(o.includes(s))return;const a=Oe(s,o),n=Oe(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 Oe(s,e){let t="unknown",o=1/0;for(let i=0;i<e.length;i++){const r=Se(s,e[i]);r<o&&(o=r,t=e[i])}return{mostSimilar:t,distance:o}}function Se(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 xe=s=>{const e=new we,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=ve(Y.default,t,r,e),n=a.map((s=>s.plugin));!1!==t.autoprefixer&&n.push(X.default(Object.assign({overrideBrowserslist:i},t.autoprefixer))),n.push(Z.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!==zs[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}: ${zs[s]}`))))}}(a,t,e);const c=()=>({postcssPlugin:"postcss-preset-env",OnceExit:function(i,{result:a}){$e(o,i,a),t.debug&&e.dumpLogs(a),e.resetLogger(),t.exportTo&&Ys(r.exportTo,s.exportTo)}});return c.postcss=!0,{postcssPlugin:"postcss-preset-env",plugins:[...n,c()]}};xe.postcss=!0,module.exports=xe;