postcss-preset-env 10.6.0 → 11.0.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,11 +1,10 @@
1
1
  # Changes to PostCSS Preset Env
2
2
 
3
- ### 10.6.0
3
+ ### 11.0.0
4
4
 
5
- _December 27, 2025_
5
+ _January 14, 2026_
6
6
 
7
- - Added `@csstools/postcss-property-rule-prelude-list` [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-property-rule-prelude-list#readme) for usage details.
8
- - Added `@csstools/postcss-syntax-descriptor-syntax-production` [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-syntax-descriptor-syntax-production#readme) for usage details.
9
- - Updated [`cssdb`](https://github.com/csstools/cssdb) to [`8.6.0`](https://github.com/csstools/cssdb/blob/main/CHANGELOG.md#860-december-26-2025)
7
+ - Updated: Support for Node `20.19.0` or later (major).
8
+ - Removed: `commonjs` API. In supported Node versions `require(esm)` will work without needing to make code changes.
10
9
 
11
10
  [Full CHANGELOG](https://github.com/csstools/postcss-plugins/tree/main/plugin-packs/postcss-preset-env/CHANGELOG.md)
package/README.md CHANGED
@@ -453,7 +453,7 @@ This gives users the chance to play around with these features and provide feedb
453
453
  If the specification changes or is abandoned a new major version of the plugin will be released.
454
454
  This will require you to update your source code so that everything works as expected.
455
455
 
456
- To have more stability between updates of [PostCSS Preset Env] you may set `stage: 3` and/or `minimumVendorImplementations: 2`.
456
+ To have more stability between updates of [PostCSS Preset Env] you may set `minimumVendorImplementations: 2` or more.
457
457
 
458
458
  A side effect of staying close to the standard is that you can more easily migrate your project to other tooling all together.
459
459
 
package/dist/index.d.ts CHANGED
@@ -65,6 +65,7 @@ import type { pluginOptions as pluginOptions_9 } from '@csstools/postcss-color-f
65
65
 
66
66
  declare const creator: PluginCreator<pluginOptions>;
67
67
  export default creator;
68
+ export { creator as 'module.exports' }
68
69
 
69
70
  export declare enum DirectionFlow {
70
71
  TopToBottom = "top-to-bottom",
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import s from"autoprefixer";import o from"cssdb";import e from"browserslist";import t from"@csstools/postcss-initial";import r from"@csstools/postcss-alpha-function";import i from"postcss-pseudo-class-any-link";import a from"css-blank-pseudo";import c from"postcss-page-break";import p from"@csstools/postcss-cascade-layers";import n from"postcss-attribute-case-insensitive";import l from"postcss-clamp";import m from"@csstools/postcss-color-function";import u from"@csstools/postcss-color-function-display-p3-linear";import d from"postcss-color-functional-notation";import f from"@csstools/postcss-color-mix-function";import g from"@csstools/postcss-color-mix-variadic-function-arguments";import h from"@csstools/postcss-content-alt-text";import b from"@csstools/postcss-contrast-color-function";import N from"postcss-custom-media";import v from"postcss-custom-properties";import y from"postcss-custom-selectors";import k from"postcss-dir-pseudo-class";import w from"@csstools/postcss-normalize-display-values";import x from"postcss-double-position-gradients";import F from"@csstools/postcss-exponential-functions";import O from"@csstools/postcss-logical-float-and-clear";import P from"postcss-focus-visible";import C from"postcss-focus-within";import $ from"@csstools/postcss-font-format-keywords";import S from"postcss-font-variant";import A from"@csstools/postcss-gamut-mapping";import _ from"postcss-gap-properties";import L from"@csstools/postcss-gradients-interpolation-method";import E from"css-has-pseudo";import I from"postcss-color-hex-alpha";import B from"@csstools/postcss-hwb-function";import q from"@csstools/postcss-ic-unit";import M from"postcss-image-set-function";import D from"@csstools/postcss-is-pseudo-class";import j from"postcss-lab-function";import z from"@csstools/postcss-light-dark-function";import U from"@csstools/postcss-logical-overflow";import R from"@csstools/postcss-logical-overscroll-behavior";import T from"postcss-logical";import V from"@csstools/postcss-logical-resize";import H from"@csstools/postcss-logical-viewport-units";import W from"@csstools/postcss-media-queries-aspect-ratio-number-values";import G from"@csstools/postcss-media-minmax";import K from"@csstools/postcss-nested-calc";import Z from"postcss-nesting";import Q from"postcss-selector-not";import J from"@csstools/postcss-oklab-function";import X from"postcss-opacity-percentage";import Y from"postcss-overflow-shorthand";import ss from"postcss-replace-overflow-wrap";import os from"postcss-place";import es from"@csstools/postcss-position-area-property";import ts from"css-prefers-color-scheme";import rs from"@csstools/postcss-progressive-custom-properties";import is from"@csstools/postcss-property-rule-prelude-list";import as from"@csstools/postcss-random-function";import cs from"postcss-color-rebeccapurple";import ps from"@csstools/postcss-relative-color-syntax";import ns from"@csstools/postcss-scope-pseudo-class";import ls from"@csstools/postcss-sign-functions";import ms from"@csstools/postcss-stepped-value-functions";import us from"@csstools/postcss-syntax-descriptor-syntax-production";import ds from"@csstools/postcss-system-ui-font-family";import fs from"@csstools/postcss-text-decoration-shorthand";import gs from"@csstools/postcss-trigonometric-functions";import hs from"@csstools/postcss-unset-value";const bs={"blank-pseudo-class":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-blank-pseudo/README.md#browser","focus-visible-pseudo-class":"https://github.com/WICG/focus-visible","focus-within-pseudo-class":"https://github.com/csstools/postcss-plugins/blob/main/plugins/postcss-focus-within/README.md#browser","has-pseudo-class":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-has-pseudo/README.md#browser","prefers-color-scheme-query":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-prefers-color-scheme/README.md#browser"},Ns=["blank-pseudo-class","focus-visible-pseudo-class","focus-within-pseudo-class","has-pseudo-class","prefers-color-scheme-query"];function logFeaturesList(s,o,e){if(o.debug){e.log("Enabling the following feature(s):");const t=[],r=[];!1!==o.autoprefixer&&r.push(" autoprefixer"),s.forEach(s=>{s.id.startsWith("before")||s.id.startsWith("after")?r.push(` ${s.id} (injected via options)`):r.push(` ${s.id}`),void 0!==bs[s.id]&&t.push(s.id)}),r.sort((s,o)=>s.localeCompare(o)),t.sort((s,o)=>s.localeCompare(o)),r.forEach(s=>e.log(s)),t.length&&(e.log("These feature(s) need a browser library to work:"),t.forEach(s=>e.log(` ${s}: ${bs[s]}`)))}}function initializeSharedOptions(s){if("preserve"in s){const o={};return o.preserve=s.preserve,o}return!1}function clamp(s,o,e){return Math.max(s,Math.min(o,e))}function stageFromOptions(s,o){let e=2;if(void 0===s.stage)return o.log("Using features from Stage 2 (default)."),e;if(!1===s.stage)e=5;else{let o=parseInt(s.stage,10);Number.isNaN(o)&&(o=0),e=clamp(0,o,5)}return 5===e?o.log('Stage has been disabled, features will be handled via the "features" option.'):o.log(`Using features from Stage ${e}.`),e}const vs=Symbol("insertBefore"),ys=Symbol("insertAfter"),ks=Symbol("insertOrder"),ws=Symbol("plugin");function getTransformedInsertions(s,o,e){if("insertBefore"!==e&&"insertAfter"!==e)return[];const t="insertBefore"===e?vs:ys,r=[];for(const e in o){if(!Object.hasOwnProperty.call(o,e))continue;if(!s.find(s=>s.id===e))continue;let i=o[e];Array.isArray(i)||(i=[i]);for(let s=0;s<i.length;s++)r.push({id:e,[ws]:i[s],[ks]:s,[t]:!0})}return r}var xs=["custom-media-queries","environment-variables","image-set-function","media-query-ranges","media-queries-aspect-ratio-number-values","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","float-clear-logical-values","logical-overflow","logical-overscroll-behavior","logical-resize","logical-viewport-units","dir-pseudo-class","all-property","gradients-interpolation-method","color-mix-variadic-function-arguments","color-mix","contrast-color-function","alpha-function","relative-color-syntax","lab-function","oklab-function","color-function-display-p3-linear","color-function","hwb-function","color-functional-notation","rebeccapurple-color","hexadecimal-alpha-notation","light-dark-function","double-position-gradients","blank-pseudo-class","break-properties","font-variant-property","is-pseudo-class","scope-pseudo-class","has-pseudo-class","gap-properties","overflow-property","overflow-wrap-property","place-properties","position-area-property","system-ui-font-family","font-format-keywords","display-two-values","content-alt-text","ic-unit","opacity-percentage","text-decoration-shorthand","unset-value","property-rule-prelude-list","syntax-descriptor-syntax-production","random-function","sign-functions","stepped-value-functions","trigonometric-functions","exponential-functions","clamp","nested-calc","custom-properties","cascade-layers","progressive-custom-properties","gamut-mapping"];function featureIsLess(s,o){return s.id===o.id?s[vs]&&o[vs]||s[ys]&&o[ys]?clamp(-1,s[ks]-o[ks],1):s[vs]||o[ys]?-1:s[ys]||o[vs]?1:0:clamp(-1,xs.indexOf(s.id)-xs.indexOf(o.id),1)}const Fs=new Map([["all-property",t],["alpha-function",r],["any-link-pseudo-class",i],["blank-pseudo-class",a],["break-properties",c],["cascade-layers",p],["case-insensitive-attributes",n],["clamp",l],["color-function",m],["color-function-display-p3-linear",u],["color-functional-notation",d],["color-mix",f],["color-mix-variadic-function-arguments",g],["content-alt-text",h],["contrast-color-function",b],["custom-media-queries",N],["custom-properties",v],["custom-selectors",y],["dir-pseudo-class",k],["display-two-values",w],["double-position-gradients",x],["exponential-functions",F],["float-clear-logical-values",O],["focus-visible-pseudo-class",P],["focus-within-pseudo-class",C],["font-format-keywords",$],["font-variant-property",S],["gamut-mapping",A],["gap-properties",_],["gradients-interpolation-method",L],["has-pseudo-class",E],["hexadecimal-alpha-notation",I],["hwb-function",B],["ic-unit",q],["image-set-function",M],["is-pseudo-class",D],["lab-function",j],["light-dark-function",z],["logical-overflow",U],["logical-overscroll-behavior",R],["logical-properties-and-values",T],["logical-resize",V],["logical-viewport-units",H],["media-queries-aspect-ratio-number-values",W],["media-query-ranges",G],["nested-calc",K],["nesting-rules",Z],["not-pseudo-class",Q],["oklab-function",J],["opacity-percentage",X],["overflow-property",Y],["overflow-wrap-property",ss],["place-properties",os],["position-area-property",es],["prefers-color-scheme-query",ts],["progressive-custom-properties",rs],["property-rule-prelude-list",is],["random-function",as],["rebeccapurple-color",cs],["relative-color-syntax",ps],["scope-pseudo-class",ns],["sign-functions",ls],["stepped-value-functions",ms],["syntax-descriptor-syntax-production",us],["system-ui-font-family",ds],["text-decoration-shorthand",fs],["trigonometric-functions",gs],["unset-value",hs]]);function featureIsInsertedOrHasAPlugin(s){return!!s[vs]||(!!s[ys]||!!Fs.has(s.id))}function prepareFeaturesList(s,o,e){return s.concat(getTransformedInsertions(s,o,"insertBefore"),getTransformedInsertions(s,e,"insertAfter")).filter(s=>featureIsInsertedOrHasAPlugin(s)).sort((s,o)=>featureIsLess(s,o))}function getOptionsForBrowsersByFeature(s,o,e,t){switch(o.id){case"is-pseudo-class":return{onComplexSelector:"warning"};case"any-link-pseudo-class":if(s.find(s=>s.startsWith("ie ")||"edge 12"===s||"edge 13"===s||"edge 14"===s||"edge 15"===s||"edge 16"===s||"edge 17"===s||"edge 18"===s))return t.log("- 'any-link-pseudo-class' setting 'subFeatures: { areaHrefNeedsFixing: true }' due to lack of browser support for area[href] in Edge and IE."),{subFeatures:{areaHrefNeedsFixing:!0}};return{};case"logical-properties-and-values":case"float-clear-logical-values":case"logical-resize":case"logical-viewport-units":case"logical-overflow":case"logical-overscroll-behavior":return"logical"in e?e.logical:{};default:return{}}}const Os=["and_chr","and_ff","android","chrome","edge","firefox","ie","ios_saf","op_mini","op_mob","opera","safari","samsung"];function getUnsupportedBrowsersByFeature(s){if(!s)return[];if("position-area-property"===s.id)return["chrome 125","chrome 126","chrome 127","chrome 128","edge 125","edge 126","edge 127","edge 128","and_chr 125","and_chr 126","and_chr 127","and_chr 128","android 125","android 126","android 127","android 128","samsung 27","opera 111","opera 112","opera 113","opera 114","op_mob 83","op_mob 84","op_mob 85"];if(!("browser_support"in s))return["> 0%"];const o=[];return Os.forEach(e=>{if("op_mini"===e&&void 0===s.browser_support[e])return void o.push("op_mini all");const t=s.browser_support[e];"string"==typeof t&&Ps.test(t)?o.push(`${e} < ${s.browser_support[e]}`):o.push(`${e} >= 1`)}),o}const Ps=/^[0-9|.]+$/;function formatPolyfillableFeature(s){const o=getUnsupportedBrowsersByFeature(s);if(s[vs]||s[ys]){let e=s.id;return e=s.insertBefore?`before-${e}`:`after-${e}`,{browsers:o,vendors_implementations:s.vendors_implementations,plugin:s[ws],id:e,stage:6}}return{browsers:o,vendors_implementations:s.vendors_implementations,plugin:Fs.get(s.id),id:s.id,stage:s.stage}}function formatStagedFeature(s,o,e,t,r,i){let a,c;return a=getOptionsForBrowsersByFeature(s,e,r,i),a=t?Object.assign({},a,t,featureOptions(o,e.id)):Object.assign({},a,featureOptions(o,e.id)),"progressive-custom-properties"!==e.id&&(a.enableProgressiveCustomProperties=!1),"overflow-wrap-property"===e.id&&"preserve"in a&&(a.method=a.preserve?"copy":"replace"),c=e.plugin.postcss&&"function"==typeof e.plugin?e.plugin(a):e.plugin&&e.plugin.default&&"function"==typeof e.plugin.default&&e.plugin.default.postcss?e.plugin.default(a):e.plugin,{browsers:e.browsers,vendors_implementations:e.vendors_implementations,plugin:c,pluginOptions:a,id:e.id}}function featureOptions(s,o){if(!(o in s))return;const e=s[o];return Array.isArray(e)?e[1]:e}function intOrZero(s){const o=parseInt(s,10);return Number.isNaN(o)?0:o}const Cs=new Set(["progressive-custom-properties"]);function listFeatures(s,o,t,r){const i=Object(o.features),a="enableClientSidePolyfills"in o&&o.enableClientSidePolyfills,c=Object(o.insertBefore),p=Object(o.insertAfter),n=o.browsers?void 0:o.env,l=o.browsers,m=clamp(0,intOrZero(o.minimumVendorImplementations),3);m>0&&r.log(`Using features with ${m} or more vendor implementations.`);const u=stageFromOptions(o,r),d=prepareFeaturesList([...s,{id:"progressive-custom-properties"}],c,p).map(s=>formatPolyfillableFeature(s)).filter(s=>!!Cs.has(s.id)||(0===m||(!(!s[vs]&&!s[ys])||(m<=s.vendors_implementations||(!0===featureEnabledByOptions(i,s.id)?(r.log(`- '${s.id}' enabled manually even when it lacks the required interop (${s.vendors_implementations} out of ${m}).`),!0):(r.log(`- '${s.id}' disabled because it lacks the required interop (${s.vendors_implementations} out of ${m}).`),!1)))))),f=e(l,{env:n,ignoreUnknownVersions:!0}).filter(s=>Os.includes(s.split(" ")[0]));return d.filter(s=>{if(Cs.has(s.id))return!0;const o=s.stage>=u,e=a||!Ns.includes(s.id),t=featureEnabledByOptions(i,s.id),c=!1===t,p=!0===t||o&&e;return c?r.log(`- '${s.id}' disabled manually`):o?e||r.log(`- '${s.id}' disabled because 'enableClientSidePolyfills' is 'false'.`):p?r.log(`- '${s.id}' enabled manually even when it lacks the required stage (${s.stage} out of ${u}).`):r.log(`- '${s.id}' disabled because it lacks the required stage (${s.stage} out of ${u}).`),!c&&p}).map(s=>formatStagedFeature(f,i,s,t,o,r)).filter(s=>{if(Cs.has(s.id))return!0;const o=featureEnabledByOptions(i,s.id);if(!0===o||!1===o)return o;const t=e(s.browsers,{ignoreUnknownVersions:!0}),a=f.filter(s=>t.some(o=>o===s));return a.length>0?r.log(`- '${s.id}' enabled for:\n ${a.join("\n ")}`):r.log(`- '${s.id}' disabled because all targeted browsers support it.`),a.length>0})}function featureEnabledByOptions(s,o){if(!(o in s))return"auto";const e=s[o];return Array.isArray(e)?!0===e[0]||!1!==e[0]&&"auto":Boolean(e)}class Logger{constructor(){this.logs=[]}log(s){this.logs.push(s)}resetLogger(){this.logs.length=0}emitLogs(s){s&&s.warn(this.logs.join("\n")),this.resetLogger()}}var $s=[{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-alpha-function",id:"alpha-function",importName:"postcssAlphaFunction"},{packageName:"@csstools/postcss-color-mix-variadic-function-arguments",id:"color-mix-variadic-function-arguments",importName:"postcssColorMixVariadicFunctionArguments"},{packageName:"@csstools/postcss-color-mix-function",id:"color-mix",importName:"postcssColorMixFunction"},{packageName:"@csstools/postcss-color-function",id:"color-function",importName:"postcssColorFunction"},{packageName:"@csstools/postcss-color-function-display-p3-linear",id:"color-function-display-p3-linear",importName:"postcssColorFunctionDisplayP3Linear"},{packageName:"postcss-color-functional-notation",id:"color-functional-notation",importName:"postcssColorFunctionalNotation"},{packageName:"postcss-color-hex-alpha",id:"hexadecimal-alpha-notation",importName:"postcssColorHexAlpha"},{packageName:"@csstools/postcss-content-alt-text",id:"content-alt-text",importName:"postcssContentAltText"},{packageName:"postcss-color-rebeccapurple",id:"rebeccapurple-color",importName:"postcssColorRebeccapurple"},{packageName:"@csstools/postcss-contrast-color-function",id:"contrast-color-function",importName:"postcssContrastColorFunction"},{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:"@csstools/postcss-exponential-functions",id:"exponential-functions",importName:"postcssExponentialFunctions"},{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:"@csstools/postcss-gamut-mapping",id:"gamut-mapping",importName:"postcssGamutMapping"},{packageName:"postcss-gap-properties",id:"gap-properties",importName:"postcssGapProperties"},{packageName:"@csstools/postcss-gradients-interpolation-method",id:"gradients-interpolation-method",importName:"postcssGradientsInterpolationMethod"},{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:"@csstools/postcss-initial",id:"all-property",importName:"postcssInitial"},{packageName:"@csstools/postcss-is-pseudo-class",id:"is-pseudo-class",importName:"postcssIsPseudoClass"},{packageName:"@csstools/postcss-scope-pseudo-class",id:"scope-pseudo-class",importName:"postcssScopePseudoClass"},{packageName:"postcss-lab-function",id:"lab-function",importName:"postcssLabFunction"},{packageName:"@csstools/postcss-light-dark-function",id:"light-dark-function",importName:"postcssLightDarkFunction"},{packageName:"postcss-logical",id:"logical-properties-and-values",importName:"postcssLogical"},{packageName:"@csstools/postcss-logical-float-and-clear",id:"float-clear-logical-values",importName:"postcssLogicalFloatAndClear"},{packageName:"@csstools/postcss-logical-overflow",id:"logical-overflow",importName:"postcssLogicalOverflow"},{packageName:"@csstools/postcss-logical-overscroll-behavior",id:"logical-overscroll-behavior",importName:"postcssLogicalOverscrollBehavor"},{packageName:"@csstools/postcss-logical-resize",id:"logical-resize",importName:"postcssLogicalResize"},{packageName:"@csstools/postcss-logical-viewport-units",id:"logical-viewport-units",importName:"postcssLogicalViewportUnits"},{packageName:"@csstools/postcss-media-minmax",id:"media-query-ranges",importName:"postcssMediaMinmax"},{packageName:"@csstools/postcss-media-queries-aspect-ratio-number-values",id:"media-queries-aspect-ratio-number-values",importName:"postcssMediaQueriesAspectRatioNumberValues"},{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:"@csstools/postcss-relative-color-syntax",id:"relative-color-syntax",importName:"postcssRelativeColorSyntax"},{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:"@csstools/postcss-position-area-property",id:"position-area-property",importName:"postcssPositionAreaProperty"},{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:"@csstools/postcss-system-ui-font-family",id:"system-ui-font-family",importName:"postcssSystemUIFontFamily"},{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"},{packageName:"@csstools/postcss-sign-functions",id:"sign-functions",importName:"postcssSignFunctions"},{packageName:"@csstools/postcss-random-function",id:"random-function",importName:"postcssRandomFunction"},{packageName:"@csstools/postcss-property-rule-prelude-list",id:"property-rule-prelude-list",importName:"postcssPropertyRulePreludeList"},{packageName:"@csstools/postcss-syntax-descriptor-syntax-production",id:"syntax-descriptor-syntax-production",importName:"postcssSyntaxDescriptorSyntaxProduction"},{packageName:"@csstools/postcss-progressive-custom-properties",id:"progressive-custom-properties",importName:"postcssProgressiveCustomProperties",omitTypedOptions:!0,omitDocs:!0}];function getPackageNamesToIds(){const s={};return $s.forEach(o=>{s[o.packageName]=o.id}),s}function pluginIdHelp(s,o,e){const t=$s.map(s=>s.id),r=$s.map(s=>s.packageName),i=getPackageNamesToIds();s.forEach(s=>{if(t.includes(s))return;const a=[...t.map(o=>[o,levenshteinDistance(s,o)]),...r.map(o=>[i[o],levenshteinDistance(s,o)])].sort((s,o)=>s[1]-o[1]).filter(s=>s[1]<10),c=new Set;for(let s=0;s<a.length&&(c.add(a[s][0]),!(c.size>=3));s++);if(!c.size)return void o.warn(e,`Unknown feature: "${s}", see the list of features https://github.com/csstools/postcss-plugins/blob/main/plugin-packs/postcss-preset-env/FEATURES.md`);let p='"';p+=Array.from(c).join('", "'),p+='"',o.warn(e,`Unknown feature: "${s}", did you mean one of: ${p}`)})}function levenshteinDistance(s,o){if(!s.length)return o.length;if(!o.length)return s.length;const e=[];for(let t=0;t<=o.length;t++){e[t]=[t];for(let r=1;r<=s.length;r++)e[t][r]=0===t?r:Math.min(e[t-1][r]+1,e[t][r-1]+1,e[t-1][r-1]+(s[r-1]===o[t-1]?0:1))}return e[o.length][s.length]}const creator=e=>{const t=new Logger,r=Object(e),i=Object.keys(Object(r.features)),a=r.browsers?void 0:r.env,c=r.browsers,p=initializeSharedOptions(r),n=listFeatures(o,r,p,t),l=n.map(s=>s.plugin);!1!==r.autoprefixer&&l.push(s(Object.assign({env:a,overrideBrowserslist:c},r.autoprefixer))),logFeaturesList(n,r,t);const internalPlugin=()=>({postcssPlugin:"postcss-preset-env",OnceExit(s,{result:o}){pluginIdHelp(i,s,o),r.debug&&t.emitLogs(o),t.resetLogger()}});return internalPlugin.postcss=!0,{postcssPlugin:"postcss-preset-env",plugins:[...l,internalPlugin()]}};creator.postcss=!0;export{creator as default};
1
+ import s from"autoprefixer";import o from"cssdb";import e from"browserslist";import t from"@csstools/postcss-initial";import r from"@csstools/postcss-alpha-function";import i from"postcss-pseudo-class-any-link";import a from"css-blank-pseudo";import c from"postcss-page-break";import p from"@csstools/postcss-cascade-layers";import n from"postcss-attribute-case-insensitive";import l from"postcss-clamp";import m from"@csstools/postcss-color-function";import u from"@csstools/postcss-color-function-display-p3-linear";import d from"postcss-color-functional-notation";import f from"@csstools/postcss-color-mix-function";import g from"@csstools/postcss-color-mix-variadic-function-arguments";import h from"@csstools/postcss-content-alt-text";import b from"@csstools/postcss-contrast-color-function";import N from"postcss-custom-media";import v from"postcss-custom-properties";import y from"postcss-custom-selectors";import k from"postcss-dir-pseudo-class";import w from"@csstools/postcss-normalize-display-values";import x from"postcss-double-position-gradients";import F from"@csstools/postcss-exponential-functions";import O from"@csstools/postcss-logical-float-and-clear";import P from"postcss-focus-visible";import C from"postcss-focus-within";import $ from"@csstools/postcss-font-format-keywords";import S from"postcss-font-variant";import A from"@csstools/postcss-gamut-mapping";import _ from"postcss-gap-properties";import L from"@csstools/postcss-gradients-interpolation-method";import E from"css-has-pseudo";import I from"postcss-color-hex-alpha";import B from"@csstools/postcss-hwb-function";import q from"@csstools/postcss-ic-unit";import M from"postcss-image-set-function";import D from"@csstools/postcss-is-pseudo-class";import j from"postcss-lab-function";import z from"@csstools/postcss-light-dark-function";import U from"@csstools/postcss-logical-overflow";import R from"@csstools/postcss-logical-overscroll-behavior";import T from"postcss-logical";import V from"@csstools/postcss-logical-resize";import H from"@csstools/postcss-logical-viewport-units";import W from"@csstools/postcss-media-queries-aspect-ratio-number-values";import G from"@csstools/postcss-media-minmax";import K from"@csstools/postcss-nested-calc";import Z from"postcss-nesting";import Q from"postcss-selector-not";import J from"@csstools/postcss-oklab-function";import X from"postcss-opacity-percentage";import Y from"postcss-overflow-shorthand";import ss from"postcss-replace-overflow-wrap";import os from"postcss-place";import es from"@csstools/postcss-position-area-property";import ts from"css-prefers-color-scheme";import rs from"@csstools/postcss-progressive-custom-properties";import is from"@csstools/postcss-property-rule-prelude-list";import as from"@csstools/postcss-random-function";import cs from"postcss-color-rebeccapurple";import ps from"@csstools/postcss-relative-color-syntax";import ns from"@csstools/postcss-scope-pseudo-class";import ls from"@csstools/postcss-sign-functions";import ms from"@csstools/postcss-stepped-value-functions";import us from"@csstools/postcss-syntax-descriptor-syntax-production";import ds from"@csstools/postcss-system-ui-font-family";import fs from"@csstools/postcss-text-decoration-shorthand";import gs from"@csstools/postcss-trigonometric-functions";import hs from"@csstools/postcss-unset-value";const bs={"blank-pseudo-class":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-blank-pseudo/README.md#browser","focus-visible-pseudo-class":"https://github.com/WICG/focus-visible","focus-within-pseudo-class":"https://github.com/csstools/postcss-plugins/blob/main/plugins/postcss-focus-within/README.md#browser","has-pseudo-class":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-has-pseudo/README.md#browser","prefers-color-scheme-query":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-prefers-color-scheme/README.md#browser"},Ns=["blank-pseudo-class","focus-visible-pseudo-class","focus-within-pseudo-class","has-pseudo-class","prefers-color-scheme-query"];function logFeaturesList(s,o,e){if(o.debug){e.log("Enabling the following feature(s):");const t=[],r=[];!1!==o.autoprefixer&&r.push(" autoprefixer"),s.forEach(s=>{s.id.startsWith("before")||s.id.startsWith("after")?r.push(` ${s.id} (injected via options)`):r.push(` ${s.id}`),void 0!==bs[s.id]&&t.push(s.id)}),r.sort((s,o)=>s.localeCompare(o)),t.sort((s,o)=>s.localeCompare(o)),r.forEach(s=>e.log(s)),t.length&&(e.log("These feature(s) need a browser library to work:"),t.forEach(s=>e.log(` ${s}: ${bs[s]}`)))}}function initializeSharedOptions(s){if("preserve"in s){const o={};return o.preserve=s.preserve,o}return!1}function clamp(s,o,e){return Math.max(s,Math.min(o,e))}function stageFromOptions(s,o){let e=2;if(void 0===s.stage)return o.log("Using features from Stage 2 (default)."),e;if(!1===s.stage)e=5;else{let o=parseInt(s.stage,10);Number.isNaN(o)&&(o=0),e=clamp(0,o,5)}return 5===e?o.log('Stage has been disabled, features will be handled via the "features" option.'):o.log(`Using features from Stage ${e}.`),e}const vs=Symbol("insertBefore"),ys=Symbol("insertAfter"),ks=Symbol("insertOrder"),ws=Symbol("plugin");function getTransformedInsertions(s,o,e){if("insertBefore"!==e&&"insertAfter"!==e)return[];const t="insertBefore"===e?vs:ys,r=[];for(const e in o){if(!Object.hasOwnProperty.call(o,e))continue;if(!s.find(s=>s.id===e))continue;let i=o[e];Array.isArray(i)||(i=[i]);for(let s=0;s<i.length;s++)r.push({id:e,[ws]:i[s],[ks]:s,[t]:!0})}return r}var xs=["custom-media-queries","environment-variables","image-set-function","media-query-ranges","media-queries-aspect-ratio-number-values","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","float-clear-logical-values","logical-overflow","logical-overscroll-behavior","logical-resize","logical-viewport-units","dir-pseudo-class","all-property","gradients-interpolation-method","color-mix-variadic-function-arguments","color-mix","contrast-color-function","alpha-function","relative-color-syntax","lab-function","oklab-function","color-function-display-p3-linear","color-function","hwb-function","color-functional-notation","rebeccapurple-color","hexadecimal-alpha-notation","light-dark-function","double-position-gradients","blank-pseudo-class","break-properties","font-variant-property","is-pseudo-class","scope-pseudo-class","has-pseudo-class","gap-properties","overflow-property","overflow-wrap-property","place-properties","position-area-property","system-ui-font-family","font-format-keywords","display-two-values","content-alt-text","ic-unit","opacity-percentage","text-decoration-shorthand","unset-value","property-rule-prelude-list","syntax-descriptor-syntax-production","random-function","sign-functions","stepped-value-functions","trigonometric-functions","exponential-functions","clamp","nested-calc","custom-properties","cascade-layers","progressive-custom-properties","gamut-mapping"];function featureIsLess(s,o){return s.id===o.id?s[vs]&&o[vs]||s[ys]&&o[ys]?clamp(-1,s[ks]-o[ks],1):s[vs]||o[ys]?-1:s[ys]||o[vs]?1:0:clamp(-1,xs.indexOf(s.id)-xs.indexOf(o.id),1)}const Fs=new Map([["all-property",t],["alpha-function",r],["any-link-pseudo-class",i],["blank-pseudo-class",a],["break-properties",c],["cascade-layers",p],["case-insensitive-attributes",n],["clamp",l],["color-function",m],["color-function-display-p3-linear",u],["color-functional-notation",d],["color-mix",f],["color-mix-variadic-function-arguments",g],["content-alt-text",h],["contrast-color-function",b],["custom-media-queries",N],["custom-properties",v],["custom-selectors",y],["dir-pseudo-class",k],["display-two-values",w],["double-position-gradients",x],["exponential-functions",F],["float-clear-logical-values",O],["focus-visible-pseudo-class",P],["focus-within-pseudo-class",C],["font-format-keywords",$],["font-variant-property",S],["gamut-mapping",A],["gap-properties",_],["gradients-interpolation-method",L],["has-pseudo-class",E],["hexadecimal-alpha-notation",I],["hwb-function",B],["ic-unit",q],["image-set-function",M],["is-pseudo-class",D],["lab-function",j],["light-dark-function",z],["logical-overflow",U],["logical-overscroll-behavior",R],["logical-properties-and-values",T],["logical-resize",V],["logical-viewport-units",H],["media-queries-aspect-ratio-number-values",W],["media-query-ranges",G],["nested-calc",K],["nesting-rules",Z],["not-pseudo-class",Q],["oklab-function",J],["opacity-percentage",X],["overflow-property",Y],["overflow-wrap-property",ss],["place-properties",os],["position-area-property",es],["prefers-color-scheme-query",ts],["progressive-custom-properties",rs],["property-rule-prelude-list",is],["random-function",as],["rebeccapurple-color",cs],["relative-color-syntax",ps],["scope-pseudo-class",ns],["sign-functions",ls],["stepped-value-functions",ms],["syntax-descriptor-syntax-production",us],["system-ui-font-family",ds],["text-decoration-shorthand",fs],["trigonometric-functions",gs],["unset-value",hs]]);function featureIsInsertedOrHasAPlugin(s){return!!s[vs]||(!!s[ys]||!!Fs.has(s.id))}function prepareFeaturesList(s,o,e){return s.concat(getTransformedInsertions(s,o,"insertBefore"),getTransformedInsertions(s,e,"insertAfter")).filter(s=>featureIsInsertedOrHasAPlugin(s)).sort((s,o)=>featureIsLess(s,o))}function getOptionsForBrowsersByFeature(s,o,e,t){switch(o.id){case"is-pseudo-class":return{onComplexSelector:"warning"};case"any-link-pseudo-class":if(s.find(s=>s.startsWith("ie ")||"edge 12"===s||"edge 13"===s||"edge 14"===s||"edge 15"===s||"edge 16"===s||"edge 17"===s||"edge 18"===s))return t.log("- 'any-link-pseudo-class' setting 'subFeatures: { areaHrefNeedsFixing: true }' due to lack of browser support for area[href] in Edge and IE."),{subFeatures:{areaHrefNeedsFixing:!0}};return{};case"logical-properties-and-values":case"float-clear-logical-values":case"logical-resize":case"logical-viewport-units":case"logical-overflow":case"logical-overscroll-behavior":return"logical"in e?e.logical:{};default:return{}}}const Os=["and_chr","and_ff","android","chrome","edge","firefox","ie","ios_saf","op_mini","op_mob","opera","safari","samsung"];function getUnsupportedBrowsersByFeature(s){if(!s)return[];if("position-area-property"===s.id)return["chrome 125","chrome 126","chrome 127","chrome 128","edge 125","edge 126","edge 127","edge 128","and_chr 125","and_chr 126","and_chr 127","and_chr 128","android 125","android 126","android 127","android 128","samsung 27","opera 111","opera 112","opera 113","opera 114","op_mob 83","op_mob 84","op_mob 85"];if(!("browser_support"in s))return["> 0%"];const o=[];return Os.forEach(e=>{if("op_mini"===e&&void 0===s.browser_support[e])return void o.push("op_mini all");const t=s.browser_support[e];"string"==typeof t&&Ps.test(t)?o.push(`${e} < ${s.browser_support[e]}`):o.push(`${e} >= 1`)}),o}const Ps=/^[0-9|.]+$/;function formatPolyfillableFeature(s){const o=getUnsupportedBrowsersByFeature(s);if(s[vs]||s[ys]){let e=s.id;return e=s.insertBefore?`before-${e}`:`after-${e}`,{browsers:o,vendors_implementations:s.vendors_implementations,plugin:s[ws],id:e,stage:6}}return{browsers:o,vendors_implementations:s.vendors_implementations,plugin:Fs.get(s.id),id:s.id,stage:s.stage}}function formatStagedFeature(s,o,e,t,r,i){let a,c;return a=getOptionsForBrowsersByFeature(s,e,r,i),a=t?Object.assign({},a,t,featureOptions(o,e.id)):Object.assign({},a,featureOptions(o,e.id)),"progressive-custom-properties"!==e.id&&(a.enableProgressiveCustomProperties=!1),"overflow-wrap-property"===e.id&&"preserve"in a&&(a.method=a.preserve?"copy":"replace"),c=e.plugin.postcss&&"function"==typeof e.plugin?e.plugin(a):e.plugin&&e.plugin.default&&"function"==typeof e.plugin.default&&e.plugin.default.postcss?e.plugin.default(a):e.plugin,{browsers:e.browsers,vendors_implementations:e.vendors_implementations,plugin:c,pluginOptions:a,id:e.id}}function featureOptions(s,o){if(!(o in s))return;const e=s[o];return Array.isArray(e)?e[1]:e}function intOrZero(s){const o=parseInt(s,10);return Number.isNaN(o)?0:o}const Cs=new Set(["progressive-custom-properties"]);function listFeatures(s,o,t,r){const i=Object(o.features),a="enableClientSidePolyfills"in o&&o.enableClientSidePolyfills,c=Object(o.insertBefore),p=Object(o.insertAfter),n=o.browsers?void 0:o.env,l=o.browsers,m=clamp(0,intOrZero(o.minimumVendorImplementations),3);m>0&&r.log(`Using features with ${m} or more vendor implementations.`);const u=stageFromOptions(o,r),d=prepareFeaturesList([...s,{id:"progressive-custom-properties"}],c,p).map(s=>formatPolyfillableFeature(s)).filter(s=>!!Cs.has(s.id)||(0===m||(!(!s[vs]&&!s[ys])||(m<=s.vendors_implementations||(!0===featureEnabledByOptions(i,s.id)?(r.log(`- '${s.id}' enabled manually even when it lacks the required interop (${s.vendors_implementations} out of ${m}).`),!0):(r.log(`- '${s.id}' disabled because it lacks the required interop (${s.vendors_implementations} out of ${m}).`),!1)))))),f=e(l,{env:n,ignoreUnknownVersions:!0}).filter(s=>Os.includes(s.split(" ")[0]));return d.filter(s=>{if(Cs.has(s.id))return!0;const o=s.stage>=u,e=a||!Ns.includes(s.id),t=featureEnabledByOptions(i,s.id),c=!1===t,p=!0===t||o&&e;return c?r.log(`- '${s.id}' disabled manually`):o?e||r.log(`- '${s.id}' disabled because 'enableClientSidePolyfills' is 'false'.`):p?r.log(`- '${s.id}' enabled manually even when it lacks the required stage (${s.stage} out of ${u}).`):r.log(`- '${s.id}' disabled because it lacks the required stage (${s.stage} out of ${u}).`),!c&&p}).map(s=>formatStagedFeature(f,i,s,t,o,r)).filter(s=>{if(Cs.has(s.id))return!0;const o=featureEnabledByOptions(i,s.id);if(!0===o||!1===o)return o;const t=e(s.browsers,{ignoreUnknownVersions:!0}),a=f.filter(s=>t.some(o=>o===s));return a.length>0?r.log(`- '${s.id}' enabled for:\n ${a.join("\n ")}`):r.log(`- '${s.id}' disabled because all targeted browsers support it.`),a.length>0})}function featureEnabledByOptions(s,o){if(!(o in s))return"auto";const e=s[o];return Array.isArray(e)?!0===e[0]||!1!==e[0]&&"auto":Boolean(e)}class Logger{constructor(){this.logs=[]}log(s){this.logs.push(s)}resetLogger(){this.logs.length=0}emitLogs(s){s&&s.warn(this.logs.join("\n")),this.resetLogger()}}var $s=[{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-alpha-function",id:"alpha-function",importName:"postcssAlphaFunction"},{packageName:"@csstools/postcss-color-mix-variadic-function-arguments",id:"color-mix-variadic-function-arguments",importName:"postcssColorMixVariadicFunctionArguments"},{packageName:"@csstools/postcss-color-mix-function",id:"color-mix",importName:"postcssColorMixFunction"},{packageName:"@csstools/postcss-color-function",id:"color-function",importName:"postcssColorFunction"},{packageName:"@csstools/postcss-color-function-display-p3-linear",id:"color-function-display-p3-linear",importName:"postcssColorFunctionDisplayP3Linear"},{packageName:"postcss-color-functional-notation",id:"color-functional-notation",importName:"postcssColorFunctionalNotation"},{packageName:"postcss-color-hex-alpha",id:"hexadecimal-alpha-notation",importName:"postcssColorHexAlpha"},{packageName:"@csstools/postcss-content-alt-text",id:"content-alt-text",importName:"postcssContentAltText"},{packageName:"postcss-color-rebeccapurple",id:"rebeccapurple-color",importName:"postcssColorRebeccapurple"},{packageName:"@csstools/postcss-contrast-color-function",id:"contrast-color-function",importName:"postcssContrastColorFunction"},{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:"@csstools/postcss-exponential-functions",id:"exponential-functions",importName:"postcssExponentialFunctions"},{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:"@csstools/postcss-gamut-mapping",id:"gamut-mapping",importName:"postcssGamutMapping"},{packageName:"postcss-gap-properties",id:"gap-properties",importName:"postcssGapProperties"},{packageName:"@csstools/postcss-gradients-interpolation-method",id:"gradients-interpolation-method",importName:"postcssGradientsInterpolationMethod"},{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:"@csstools/postcss-initial",id:"all-property",importName:"postcssInitial"},{packageName:"@csstools/postcss-is-pseudo-class",id:"is-pseudo-class",importName:"postcssIsPseudoClass"},{packageName:"@csstools/postcss-scope-pseudo-class",id:"scope-pseudo-class",importName:"postcssScopePseudoClass"},{packageName:"postcss-lab-function",id:"lab-function",importName:"postcssLabFunction"},{packageName:"@csstools/postcss-light-dark-function",id:"light-dark-function",importName:"postcssLightDarkFunction"},{packageName:"postcss-logical",id:"logical-properties-and-values",importName:"postcssLogical"},{packageName:"@csstools/postcss-logical-float-and-clear",id:"float-clear-logical-values",importName:"postcssLogicalFloatAndClear"},{packageName:"@csstools/postcss-logical-overflow",id:"logical-overflow",importName:"postcssLogicalOverflow"},{packageName:"@csstools/postcss-logical-overscroll-behavior",id:"logical-overscroll-behavior",importName:"postcssLogicalOverscrollBehavor"},{packageName:"@csstools/postcss-logical-resize",id:"logical-resize",importName:"postcssLogicalResize"},{packageName:"@csstools/postcss-logical-viewport-units",id:"logical-viewport-units",importName:"postcssLogicalViewportUnits"},{packageName:"@csstools/postcss-media-minmax",id:"media-query-ranges",importName:"postcssMediaMinmax"},{packageName:"@csstools/postcss-media-queries-aspect-ratio-number-values",id:"media-queries-aspect-ratio-number-values",importName:"postcssMediaQueriesAspectRatioNumberValues"},{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:"@csstools/postcss-relative-color-syntax",id:"relative-color-syntax",importName:"postcssRelativeColorSyntax"},{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:"@csstools/postcss-position-area-property",id:"position-area-property",importName:"postcssPositionAreaProperty"},{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:"@csstools/postcss-system-ui-font-family",id:"system-ui-font-family",importName:"postcssSystemUIFontFamily"},{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"},{packageName:"@csstools/postcss-sign-functions",id:"sign-functions",importName:"postcssSignFunctions"},{packageName:"@csstools/postcss-random-function",id:"random-function",importName:"postcssRandomFunction"},{packageName:"@csstools/postcss-property-rule-prelude-list",id:"property-rule-prelude-list",importName:"postcssPropertyRulePreludeList"},{packageName:"@csstools/postcss-syntax-descriptor-syntax-production",id:"syntax-descriptor-syntax-production",importName:"postcssSyntaxDescriptorSyntaxProduction"},{packageName:"@csstools/postcss-progressive-custom-properties",id:"progressive-custom-properties",importName:"postcssProgressiveCustomProperties",omitTypedOptions:!0,omitDocs:!0}];function getPackageNamesToIds(){const s={};return $s.forEach(o=>{s[o.packageName]=o.id}),s}function pluginIdHelp(s,o,e){const t=$s.map(s=>s.id),r=$s.map(s=>s.packageName),i=getPackageNamesToIds();s.forEach(s=>{if(t.includes(s))return;const a=[...t.map(o=>[o,levenshteinDistance(s,o)]),...r.map(o=>[i[o],levenshteinDistance(s,o)])].sort((s,o)=>s[1]-o[1]).filter(s=>s[1]<10),c=new Set;for(let s=0;s<a.length&&(c.add(a[s][0]),!(c.size>=3));s++);if(!c.size)return void o.warn(e,`Unknown feature: "${s}", see the list of features https://github.com/csstools/postcss-plugins/blob/main/plugin-packs/postcss-preset-env/FEATURES.md`);let p='"';p+=Array.from(c).join('", "'),p+='"',o.warn(e,`Unknown feature: "${s}", did you mean one of: ${p}`)})}function levenshteinDistance(s,o){if(!s.length)return o.length;if(!o.length)return s.length;const e=[];for(let t=0;t<=o.length;t++){e[t]=[t];for(let r=1;r<=s.length;r++)e[t][r]=0===t?r:Math.min(e[t-1][r]+1,e[t][r-1]+1,e[t-1][r-1]+(s[r-1]===o[t-1]?0:1))}return e[o.length][s.length]}const creator=e=>{const t=new Logger,r=Object(e),i=Object.keys(Object(r.features)),a=r.browsers?void 0:r.env,c=r.browsers,p=initializeSharedOptions(r),n=listFeatures(o,r,p,t),l=n.map(s=>s.plugin);!1!==r.autoprefixer&&l.push(s(Object.assign({env:a,overrideBrowserslist:c},r.autoprefixer))),logFeaturesList(n,r,t);const internalPlugin=()=>({postcssPlugin:"postcss-preset-env",OnceExit(s,{result:o}){pluginIdHelp(i,s,o),r.debug&&t.emitLogs(o),t.resetLogger()}});return internalPlugin.postcss=!0,{postcssPlugin:"postcss-preset-env",plugins:[...l,internalPlugin()]}};creator.postcss=!0;export{creator as default,creator as"module.exports"};
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": "10.6.0",
4
+ "version": "11.0.0",
5
5
  "contributors": [
6
6
  {
7
7
  "name": "Antonio Laguna",
@@ -29,20 +29,13 @@
29
29
  }
30
30
  ],
31
31
  "engines": {
32
- "node": ">=18"
32
+ "node": ">=20.19.0"
33
33
  },
34
34
  "type": "module",
35
- "main": "dist/index.cjs",
36
- "module": "dist/index.mjs",
37
35
  "exports": {
38
36
  ".": {
39
- "import": {
40
- "types": "./dist/index.d.ts",
41
- "default": "./dist/index.mjs"
42
- },
43
- "require": {
44
- "default": "./dist/index.cjs"
45
- }
37
+ "types": "./dist/index.d.ts",
38
+ "default": "./dist/index.mjs"
46
39
  }
47
40
  },
48
41
  "files": [
@@ -52,77 +45,77 @@
52
45
  "dist"
53
46
  ],
54
47
  "dependencies": {
55
- "@csstools/postcss-alpha-function": "^1.0.1",
56
- "@csstools/postcss-cascade-layers": "^5.0.2",
57
- "@csstools/postcss-color-function": "^4.0.12",
58
- "@csstools/postcss-color-function-display-p3-linear": "^1.0.1",
59
- "@csstools/postcss-color-mix-function": "^3.0.12",
60
- "@csstools/postcss-color-mix-variadic-function-arguments": "^1.0.2",
61
- "@csstools/postcss-content-alt-text": "^2.0.8",
62
- "@csstools/postcss-contrast-color-function": "^2.0.12",
63
- "@csstools/postcss-exponential-functions": "^2.0.9",
64
- "@csstools/postcss-font-format-keywords": "^4.0.0",
65
- "@csstools/postcss-gamut-mapping": "^2.0.11",
66
- "@csstools/postcss-gradients-interpolation-method": "^5.0.12",
67
- "@csstools/postcss-hwb-function": "^4.0.12",
68
- "@csstools/postcss-ic-unit": "^4.0.4",
69
- "@csstools/postcss-initial": "^2.0.1",
70
- "@csstools/postcss-is-pseudo-class": "^5.0.3",
71
- "@csstools/postcss-light-dark-function": "^2.0.11",
72
- "@csstools/postcss-logical-float-and-clear": "^3.0.0",
73
- "@csstools/postcss-logical-overflow": "^2.0.0",
74
- "@csstools/postcss-logical-overscroll-behavior": "^2.0.0",
75
- "@csstools/postcss-logical-resize": "^3.0.0",
76
- "@csstools/postcss-logical-viewport-units": "^3.0.4",
77
- "@csstools/postcss-media-minmax": "^2.0.9",
78
- "@csstools/postcss-media-queries-aspect-ratio-number-values": "^3.0.5",
79
- "@csstools/postcss-nested-calc": "^4.0.0",
80
- "@csstools/postcss-normalize-display-values": "^4.0.0",
81
- "@csstools/postcss-oklab-function": "^4.0.12",
82
- "@csstools/postcss-position-area-property": "^1.0.0",
83
- "@csstools/postcss-progressive-custom-properties": "^4.2.1",
84
- "@csstools/postcss-property-rule-prelude-list": "^1.0.0",
85
- "@csstools/postcss-random-function": "^2.0.1",
86
- "@csstools/postcss-relative-color-syntax": "^3.0.12",
87
- "@csstools/postcss-scope-pseudo-class": "^4.0.1",
88
- "@csstools/postcss-sign-functions": "^1.1.4",
89
- "@csstools/postcss-stepped-value-functions": "^4.0.9",
90
- "@csstools/postcss-syntax-descriptor-syntax-production": "^1.0.1",
91
- "@csstools/postcss-system-ui-font-family": "^1.0.0",
92
- "@csstools/postcss-text-decoration-shorthand": "^4.0.3",
93
- "@csstools/postcss-trigonometric-functions": "^4.0.9",
94
- "@csstools/postcss-unset-value": "^4.0.0",
48
+ "@csstools/postcss-alpha-function": "^2.0.0",
49
+ "@csstools/postcss-cascade-layers": "^6.0.0",
50
+ "@csstools/postcss-color-function": "^5.0.0",
51
+ "@csstools/postcss-color-function-display-p3-linear": "^2.0.0",
52
+ "@csstools/postcss-color-mix-function": "^4.0.0",
53
+ "@csstools/postcss-color-mix-variadic-function-arguments": "^2.0.0",
54
+ "@csstools/postcss-content-alt-text": "^3.0.0",
55
+ "@csstools/postcss-contrast-color-function": "^3.0.0",
56
+ "@csstools/postcss-exponential-functions": "^3.0.0",
57
+ "@csstools/postcss-font-format-keywords": "^5.0.0",
58
+ "@csstools/postcss-gamut-mapping": "^3.0.0",
59
+ "@csstools/postcss-gradients-interpolation-method": "^6.0.0",
60
+ "@csstools/postcss-hwb-function": "^5.0.0",
61
+ "@csstools/postcss-ic-unit": "^5.0.0",
62
+ "@csstools/postcss-initial": "^3.0.0",
63
+ "@csstools/postcss-is-pseudo-class": "^6.0.0",
64
+ "@csstools/postcss-light-dark-function": "^3.0.0",
65
+ "@csstools/postcss-logical-float-and-clear": "^4.0.0",
66
+ "@csstools/postcss-logical-overflow": "^3.0.0",
67
+ "@csstools/postcss-logical-overscroll-behavior": "^3.0.0",
68
+ "@csstools/postcss-logical-resize": "^4.0.0",
69
+ "@csstools/postcss-logical-viewport-units": "^4.0.0",
70
+ "@csstools/postcss-media-minmax": "^3.0.0",
71
+ "@csstools/postcss-media-queries-aspect-ratio-number-values": "^4.0.0",
72
+ "@csstools/postcss-nested-calc": "^5.0.0",
73
+ "@csstools/postcss-normalize-display-values": "^5.0.0",
74
+ "@csstools/postcss-oklab-function": "^5.0.0",
75
+ "@csstools/postcss-position-area-property": "^2.0.0",
76
+ "@csstools/postcss-progressive-custom-properties": "^5.0.0",
77
+ "@csstools/postcss-property-rule-prelude-list": "^2.0.0",
78
+ "@csstools/postcss-random-function": "^3.0.0",
79
+ "@csstools/postcss-relative-color-syntax": "^4.0.0",
80
+ "@csstools/postcss-scope-pseudo-class": "^5.0.0",
81
+ "@csstools/postcss-sign-functions": "^2.0.0",
82
+ "@csstools/postcss-stepped-value-functions": "^5.0.0",
83
+ "@csstools/postcss-syntax-descriptor-syntax-production": "^2.0.0",
84
+ "@csstools/postcss-system-ui-font-family": "^2.0.0",
85
+ "@csstools/postcss-text-decoration-shorthand": "^5.0.0",
86
+ "@csstools/postcss-trigonometric-functions": "^5.0.0",
87
+ "@csstools/postcss-unset-value": "^5.0.0",
95
88
  "autoprefixer": "^10.4.23",
96
89
  "browserslist": "^4.28.1",
97
- "css-blank-pseudo": "^7.0.1",
98
- "css-has-pseudo": "^7.0.3",
99
- "css-prefers-color-scheme": "^10.0.0",
90
+ "css-blank-pseudo": "^8.0.0",
91
+ "css-has-pseudo": "^8.0.0",
92
+ "css-prefers-color-scheme": "^11.0.0",
100
93
  "cssdb": "^8.6.0",
101
- "postcss-attribute-case-insensitive": "^7.0.1",
94
+ "postcss-attribute-case-insensitive": "^8.0.0",
102
95
  "postcss-clamp": "^4.1.0",
103
- "postcss-color-functional-notation": "^7.0.12",
104
- "postcss-color-hex-alpha": "^10.0.0",
105
- "postcss-color-rebeccapurple": "^10.0.0",
106
- "postcss-custom-media": "^11.0.6",
107
- "postcss-custom-properties": "^14.0.6",
108
- "postcss-custom-selectors": "^8.0.5",
109
- "postcss-dir-pseudo-class": "^9.0.1",
110
- "postcss-double-position-gradients": "^6.0.4",
111
- "postcss-focus-visible": "^10.0.1",
112
- "postcss-focus-within": "^9.0.1",
96
+ "postcss-color-functional-notation": "^8.0.0",
97
+ "postcss-color-hex-alpha": "^11.0.0",
98
+ "postcss-color-rebeccapurple": "^11.0.0",
99
+ "postcss-custom-media": "^12.0.0",
100
+ "postcss-custom-properties": "^15.0.0",
101
+ "postcss-custom-selectors": "^9.0.0",
102
+ "postcss-dir-pseudo-class": "^10.0.0",
103
+ "postcss-double-position-gradients": "^7.0.0",
104
+ "postcss-focus-visible": "^11.0.0",
105
+ "postcss-focus-within": "^10.0.0",
113
106
  "postcss-font-variant": "^5.0.0",
114
- "postcss-gap-properties": "^6.0.0",
115
- "postcss-image-set-function": "^7.0.0",
116
- "postcss-lab-function": "^7.0.12",
117
- "postcss-logical": "^8.1.0",
118
- "postcss-nesting": "^13.0.2",
107
+ "postcss-gap-properties": "^7.0.0",
108
+ "postcss-image-set-function": "^8.0.0",
109
+ "postcss-lab-function": "^8.0.0",
110
+ "postcss-logical": "^9.0.0",
111
+ "postcss-nesting": "^14.0.0",
119
112
  "postcss-opacity-percentage": "^3.0.0",
120
- "postcss-overflow-shorthand": "^6.0.0",
113
+ "postcss-overflow-shorthand": "^7.0.0",
121
114
  "postcss-page-break": "^3.0.4",
122
- "postcss-place": "^10.0.0",
123
- "postcss-pseudo-class-any-link": "^10.0.1",
115
+ "postcss-place": "^11.0.0",
116
+ "postcss-pseudo-class-any-link": "^11.0.0",
124
117
  "postcss-replace-overflow-wrap": "^4.0.0",
125
- "postcss-selector-not": "^8.0.1"
118
+ "postcss-selector-not": "^9.0.0"
126
119
  },
127
120
  "peerDependencies": {
128
121
  "postcss": "^8.4"
package/dist/index.cjs DELETED
@@ -1 +0,0 @@
1
- "use strict";var s=require("autoprefixer"),e=require("cssdb"),o=require("browserslist"),t=require("@csstools/postcss-initial"),r=require("@csstools/postcss-alpha-function"),i=require("postcss-pseudo-class-any-link"),a=require("css-blank-pseudo"),c=require("postcss-page-break"),n=require("@csstools/postcss-cascade-layers"),p=require("postcss-attribute-case-insensitive"),l=require("postcss-clamp"),u=require("@csstools/postcss-color-function"),m=require("@csstools/postcss-color-function-display-p3-linear"),d=require("postcss-color-functional-notation"),g=require("@csstools/postcss-color-mix-function"),f=require("@csstools/postcss-color-mix-variadic-function-arguments"),h=require("@csstools/postcss-content-alt-text"),b=require("@csstools/postcss-contrast-color-function"),N=require("postcss-custom-media"),v=require("postcss-custom-properties"),y=require("postcss-custom-selectors"),k=require("postcss-dir-pseudo-class"),w=require("@csstools/postcss-normalize-display-values"),q=require("postcss-double-position-gradients"),x=require("@csstools/postcss-exponential-functions"),F=require("@csstools/postcss-logical-float-and-clear"),O=require("postcss-focus-visible"),P=require("postcss-focus-within"),C=require("@csstools/postcss-font-format-keywords"),$=require("postcss-font-variant"),S=require("@csstools/postcss-gamut-mapping"),A=require("postcss-gap-properties"),_=require("@csstools/postcss-gradients-interpolation-method"),L=require("css-has-pseudo"),E=require("postcss-color-hex-alpha"),I=require("@csstools/postcss-hwb-function"),B=require("@csstools/postcss-ic-unit"),M=require("postcss-image-set-function"),D=require("@csstools/postcss-is-pseudo-class"),j=require("postcss-lab-function"),z=require("@csstools/postcss-light-dark-function"),U=require("@csstools/postcss-logical-overflow"),R=require("@csstools/postcss-logical-overscroll-behavior"),T=require("postcss-logical"),V=require("@csstools/postcss-logical-resize"),H=require("@csstools/postcss-logical-viewport-units"),W=require("@csstools/postcss-media-queries-aspect-ratio-number-values"),G=require("@csstools/postcss-media-minmax"),K=require("@csstools/postcss-nested-calc"),Z=require("postcss-nesting"),Q=require("postcss-selector-not"),J=require("@csstools/postcss-oklab-function"),X=require("postcss-opacity-percentage"),Y=require("postcss-overflow-shorthand"),ss=require("postcss-replace-overflow-wrap"),es=require("postcss-place"),os=require("@csstools/postcss-position-area-property"),ts=require("css-prefers-color-scheme"),rs=require("@csstools/postcss-progressive-custom-properties"),is=require("@csstools/postcss-property-rule-prelude-list"),as=require("@csstools/postcss-random-function"),cs=require("postcss-color-rebeccapurple"),ns=require("@csstools/postcss-relative-color-syntax"),ps=require("@csstools/postcss-scope-pseudo-class"),ls=require("@csstools/postcss-sign-functions"),us=require("@csstools/postcss-stepped-value-functions"),ms=require("@csstools/postcss-syntax-descriptor-syntax-production"),ds=require("@csstools/postcss-system-ui-font-family"),gs=require("@csstools/postcss-text-decoration-shorthand"),fs=require("@csstools/postcss-trigonometric-functions"),hs=require("@csstools/postcss-unset-value");const bs={"blank-pseudo-class":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-blank-pseudo/README.md#browser","focus-visible-pseudo-class":"https://github.com/WICG/focus-visible","focus-within-pseudo-class":"https://github.com/csstools/postcss-plugins/blob/main/plugins/postcss-focus-within/README.md#browser","has-pseudo-class":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-has-pseudo/README.md#browser","prefers-color-scheme-query":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-prefers-color-scheme/README.md#browser"},Ns=["blank-pseudo-class","focus-visible-pseudo-class","focus-within-pseudo-class","has-pseudo-class","prefers-color-scheme-query"];function logFeaturesList(s,e,o){if(e.debug){o.log("Enabling the following feature(s):");const t=[],r=[];!1!==e.autoprefixer&&r.push(" autoprefixer"),s.forEach(s=>{s.id.startsWith("before")||s.id.startsWith("after")?r.push(` ${s.id} (injected via options)`):r.push(` ${s.id}`),void 0!==bs[s.id]&&t.push(s.id)}),r.sort((s,e)=>s.localeCompare(e)),t.sort((s,e)=>s.localeCompare(e)),r.forEach(s=>o.log(s)),t.length&&(o.log("These feature(s) need a browser library to work:"),t.forEach(s=>o.log(` ${s}: ${bs[s]}`)))}}function initializeSharedOptions(s){if("preserve"in s){const e={};return e.preserve=s.preserve,e}return!1}function clamp(s,e,o){return Math.max(s,Math.min(e,o))}function stageFromOptions(s,e){let o=2;if(void 0===s.stage)return e.log("Using features from Stage 2 (default)."),o;if(!1===s.stage)o=5;else{let e=parseInt(s.stage,10);Number.isNaN(e)&&(e=0),o=clamp(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}const vs=Symbol("insertBefore"),ys=Symbol("insertAfter"),ks=Symbol("insertOrder"),ws=Symbol("plugin");function getTransformedInsertions(s,e,o){if("insertBefore"!==o&&"insertAfter"!==o)return[];const t="insertBefore"===o?vs:ys,r=[];for(const o in e){if(!Object.hasOwnProperty.call(e,o))continue;if(!s.find(s=>s.id===o))continue;let i=e[o];Array.isArray(i)||(i=[i]);for(let s=0;s<i.length;s++)r.push({id:o,[ws]:i[s],[ks]:s,[t]:!0})}return r}var qs=["custom-media-queries","environment-variables","image-set-function","media-query-ranges","media-queries-aspect-ratio-number-values","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","float-clear-logical-values","logical-overflow","logical-overscroll-behavior","logical-resize","logical-viewport-units","dir-pseudo-class","all-property","gradients-interpolation-method","color-mix-variadic-function-arguments","color-mix","contrast-color-function","alpha-function","relative-color-syntax","lab-function","oklab-function","color-function-display-p3-linear","color-function","hwb-function","color-functional-notation","rebeccapurple-color","hexadecimal-alpha-notation","light-dark-function","double-position-gradients","blank-pseudo-class","break-properties","font-variant-property","is-pseudo-class","scope-pseudo-class","has-pseudo-class","gap-properties","overflow-property","overflow-wrap-property","place-properties","position-area-property","system-ui-font-family","font-format-keywords","display-two-values","content-alt-text","ic-unit","opacity-percentage","text-decoration-shorthand","unset-value","property-rule-prelude-list","syntax-descriptor-syntax-production","random-function","sign-functions","stepped-value-functions","trigonometric-functions","exponential-functions","clamp","nested-calc","custom-properties","cascade-layers","progressive-custom-properties","gamut-mapping"];function featureIsLess(s,e){return s.id===e.id?s[vs]&&e[vs]||s[ys]&&e[ys]?clamp(-1,s[ks]-e[ks],1):s[vs]||e[ys]?-1:s[ys]||e[vs]?1:0:clamp(-1,qs.indexOf(s.id)-qs.indexOf(e.id),1)}const xs=new Map([["all-property",t],["alpha-function",r],["any-link-pseudo-class",i],["blank-pseudo-class",a],["break-properties",c],["cascade-layers",n],["case-insensitive-attributes",p],["clamp",l],["color-function",u],["color-function-display-p3-linear",m],["color-functional-notation",d],["color-mix",g],["color-mix-variadic-function-arguments",f],["content-alt-text",h],["contrast-color-function",b],["custom-media-queries",N],["custom-properties",v],["custom-selectors",y],["dir-pseudo-class",k],["display-two-values",w],["double-position-gradients",q],["exponential-functions",x],["float-clear-logical-values",F],["focus-visible-pseudo-class",O],["focus-within-pseudo-class",P],["font-format-keywords",C],["font-variant-property",$],["gamut-mapping",S],["gap-properties",A],["gradients-interpolation-method",_],["has-pseudo-class",L],["hexadecimal-alpha-notation",E],["hwb-function",I],["ic-unit",B],["image-set-function",M],["is-pseudo-class",D],["lab-function",j],["light-dark-function",z],["logical-overflow",U],["logical-overscroll-behavior",R],["logical-properties-and-values",T],["logical-resize",V],["logical-viewport-units",H],["media-queries-aspect-ratio-number-values",W],["media-query-ranges",G],["nested-calc",K],["nesting-rules",Z],["not-pseudo-class",Q],["oklab-function",J],["opacity-percentage",X],["overflow-property",Y],["overflow-wrap-property",ss],["place-properties",es],["position-area-property",os],["prefers-color-scheme-query",ts],["progressive-custom-properties",rs],["property-rule-prelude-list",is],["random-function",as],["rebeccapurple-color",cs],["relative-color-syntax",ns],["scope-pseudo-class",ps],["sign-functions",ls],["stepped-value-functions",us],["syntax-descriptor-syntax-production",ms],["system-ui-font-family",ds],["text-decoration-shorthand",gs],["trigonometric-functions",fs],["unset-value",hs]]);function featureIsInsertedOrHasAPlugin(s){return!!s[vs]||(!!s[ys]||!!xs.has(s.id))}function prepareFeaturesList(s,e,o){return s.concat(getTransformedInsertions(s,e,"insertBefore"),getTransformedInsertions(s,o,"insertAfter")).filter(s=>featureIsInsertedOrHasAPlugin(s)).sort((s,e)=>featureIsLess(s,e))}function getOptionsForBrowsersByFeature(s,e,o,t){switch(e.id){case"is-pseudo-class":return{onComplexSelector:"warning"};case"any-link-pseudo-class":if(s.find(s=>s.startsWith("ie ")||"edge 12"===s||"edge 13"===s||"edge 14"===s||"edge 15"===s||"edge 16"===s||"edge 17"===s||"edge 18"===s))return t.log("- 'any-link-pseudo-class' setting 'subFeatures: { areaHrefNeedsFixing: true }' due to lack of browser support for area[href] in Edge and IE."),{subFeatures:{areaHrefNeedsFixing:!0}};return{};case"logical-properties-and-values":case"float-clear-logical-values":case"logical-resize":case"logical-viewport-units":case"logical-overflow":case"logical-overscroll-behavior":return"logical"in o?o.logical:{};default:return{}}}const Fs=["and_chr","and_ff","android","chrome","edge","firefox","ie","ios_saf","op_mini","op_mob","opera","safari","samsung"];function getUnsupportedBrowsersByFeature(s){if(!s)return[];if("position-area-property"===s.id)return["chrome 125","chrome 126","chrome 127","chrome 128","edge 125","edge 126","edge 127","edge 128","and_chr 125","and_chr 126","and_chr 127","and_chr 128","android 125","android 126","android 127","android 128","samsung 27","opera 111","opera 112","opera 113","opera 114","op_mob 83","op_mob 84","op_mob 85"];if(!("browser_support"in s))return["> 0%"];const e=[];return Fs.forEach(o=>{if("op_mini"===o&&void 0===s.browser_support[o])return void e.push("op_mini all");const t=s.browser_support[o];"string"==typeof t&&Os.test(t)?e.push(`${o} < ${s.browser_support[o]}`):e.push(`${o} >= 1`)}),e}const Os=/^[0-9|.]+$/;function formatPolyfillableFeature(s){const e=getUnsupportedBrowsersByFeature(s);if(s[vs]||s[ys]){let o=s.id;return o=s.insertBefore?`before-${o}`:`after-${o}`,{browsers:e,vendors_implementations:s.vendors_implementations,plugin:s[ws],id:o,stage:6}}return{browsers:e,vendors_implementations:s.vendors_implementations,plugin:xs.get(s.id),id:s.id,stage:s.stage}}function formatStagedFeature(s,e,o,t,r,i){let a,c;return a=getOptionsForBrowsersByFeature(s,o,r,i),a=t?Object.assign({},a,t,featureOptions(e,o.id)):Object.assign({},a,featureOptions(e,o.id)),"progressive-custom-properties"!==o.id&&(a.enableProgressiveCustomProperties=!1),"overflow-wrap-property"===o.id&&"preserve"in a&&(a.method=a.preserve?"copy":"replace"),c=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:c,pluginOptions:a,id:o.id}}function featureOptions(s,e){if(!(e in s))return;const o=s[e];return Array.isArray(o)?o[1]:o}function intOrZero(s){const e=parseInt(s,10);return Number.isNaN(e)?0:e}const Ps=new Set(["progressive-custom-properties"]);function listFeatures(s,e,t,r){const i=Object(e.features),a="enableClientSidePolyfills"in e&&e.enableClientSidePolyfills,c=Object(e.insertBefore),n=Object(e.insertAfter),p=e.browsers?void 0:e.env,l=e.browsers,u=clamp(0,intOrZero(e.minimumVendorImplementations),3);u>0&&r.log(`Using features with ${u} or more vendor implementations.`);const m=stageFromOptions(e,r),d=prepareFeaturesList([...s,{id:"progressive-custom-properties"}],c,n).map(s=>formatPolyfillableFeature(s)).filter(s=>!!Ps.has(s.id)||(0===u||(!(!s[vs]&&!s[ys])||(u<=s.vendors_implementations||(!0===featureEnabledByOptions(i,s.id)?(r.log(`- '${s.id}' enabled manually even when it lacks the required interop (${s.vendors_implementations} out of ${u}).`),!0):(r.log(`- '${s.id}' disabled because it lacks the required interop (${s.vendors_implementations} out of ${u}).`),!1)))))),g=o(l,{env:p,ignoreUnknownVersions:!0}).filter(s=>Fs.includes(s.split(" ")[0]));return d.filter(s=>{if(Ps.has(s.id))return!0;const e=s.stage>=m,o=a||!Ns.includes(s.id),t=featureEnabledByOptions(i,s.id),c=!1===t,n=!0===t||e&&o;return c?r.log(`- '${s.id}' disabled manually`):e?o||r.log(`- '${s.id}' disabled because 'enableClientSidePolyfills' is 'false'.`):n?r.log(`- '${s.id}' enabled manually even when it lacks the required stage (${s.stage} out of ${m}).`):r.log(`- '${s.id}' disabled because it lacks the required stage (${s.stage} out of ${m}).`),!c&&n}).map(s=>formatStagedFeature(g,i,s,t,e,r)).filter(s=>{if(Ps.has(s.id))return!0;const e=featureEnabledByOptions(i,s.id);if(!0===e||!1===e)return e;const t=o(s.browsers,{ignoreUnknownVersions:!0}),a=g.filter(s=>t.some(e=>e===s));return a.length>0?r.log(`- '${s.id}' enabled for:\n ${a.join("\n ")}`):r.log(`- '${s.id}' disabled because all targeted browsers support it.`),a.length>0})}function featureEnabledByOptions(s,e){if(!(e in s))return"auto";const o=s[e];return Array.isArray(o)?!0===o[0]||!1!==o[0]&&"auto":Boolean(o)}class Logger{constructor(){this.logs=[]}log(s){this.logs.push(s)}resetLogger(){this.logs.length=0}emitLogs(s){s&&s.warn(this.logs.join("\n")),this.resetLogger()}}var Cs=[{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-alpha-function",id:"alpha-function",importName:"postcssAlphaFunction"},{packageName:"@csstools/postcss-color-mix-variadic-function-arguments",id:"color-mix-variadic-function-arguments",importName:"postcssColorMixVariadicFunctionArguments"},{packageName:"@csstools/postcss-color-mix-function",id:"color-mix",importName:"postcssColorMixFunction"},{packageName:"@csstools/postcss-color-function",id:"color-function",importName:"postcssColorFunction"},{packageName:"@csstools/postcss-color-function-display-p3-linear",id:"color-function-display-p3-linear",importName:"postcssColorFunctionDisplayP3Linear"},{packageName:"postcss-color-functional-notation",id:"color-functional-notation",importName:"postcssColorFunctionalNotation"},{packageName:"postcss-color-hex-alpha",id:"hexadecimal-alpha-notation",importName:"postcssColorHexAlpha"},{packageName:"@csstools/postcss-content-alt-text",id:"content-alt-text",importName:"postcssContentAltText"},{packageName:"postcss-color-rebeccapurple",id:"rebeccapurple-color",importName:"postcssColorRebeccapurple"},{packageName:"@csstools/postcss-contrast-color-function",id:"contrast-color-function",importName:"postcssContrastColorFunction"},{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:"@csstools/postcss-exponential-functions",id:"exponential-functions",importName:"postcssExponentialFunctions"},{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:"@csstools/postcss-gamut-mapping",id:"gamut-mapping",importName:"postcssGamutMapping"},{packageName:"postcss-gap-properties",id:"gap-properties",importName:"postcssGapProperties"},{packageName:"@csstools/postcss-gradients-interpolation-method",id:"gradients-interpolation-method",importName:"postcssGradientsInterpolationMethod"},{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:"@csstools/postcss-initial",id:"all-property",importName:"postcssInitial"},{packageName:"@csstools/postcss-is-pseudo-class",id:"is-pseudo-class",importName:"postcssIsPseudoClass"},{packageName:"@csstools/postcss-scope-pseudo-class",id:"scope-pseudo-class",importName:"postcssScopePseudoClass"},{packageName:"postcss-lab-function",id:"lab-function",importName:"postcssLabFunction"},{packageName:"@csstools/postcss-light-dark-function",id:"light-dark-function",importName:"postcssLightDarkFunction"},{packageName:"postcss-logical",id:"logical-properties-and-values",importName:"postcssLogical"},{packageName:"@csstools/postcss-logical-float-and-clear",id:"float-clear-logical-values",importName:"postcssLogicalFloatAndClear"},{packageName:"@csstools/postcss-logical-overflow",id:"logical-overflow",importName:"postcssLogicalOverflow"},{packageName:"@csstools/postcss-logical-overscroll-behavior",id:"logical-overscroll-behavior",importName:"postcssLogicalOverscrollBehavor"},{packageName:"@csstools/postcss-logical-resize",id:"logical-resize",importName:"postcssLogicalResize"},{packageName:"@csstools/postcss-logical-viewport-units",id:"logical-viewport-units",importName:"postcssLogicalViewportUnits"},{packageName:"@csstools/postcss-media-minmax",id:"media-query-ranges",importName:"postcssMediaMinmax"},{packageName:"@csstools/postcss-media-queries-aspect-ratio-number-values",id:"media-queries-aspect-ratio-number-values",importName:"postcssMediaQueriesAspectRatioNumberValues"},{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:"@csstools/postcss-relative-color-syntax",id:"relative-color-syntax",importName:"postcssRelativeColorSyntax"},{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:"@csstools/postcss-position-area-property",id:"position-area-property",importName:"postcssPositionAreaProperty"},{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:"@csstools/postcss-system-ui-font-family",id:"system-ui-font-family",importName:"postcssSystemUIFontFamily"},{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"},{packageName:"@csstools/postcss-sign-functions",id:"sign-functions",importName:"postcssSignFunctions"},{packageName:"@csstools/postcss-random-function",id:"random-function",importName:"postcssRandomFunction"},{packageName:"@csstools/postcss-property-rule-prelude-list",id:"property-rule-prelude-list",importName:"postcssPropertyRulePreludeList"},{packageName:"@csstools/postcss-syntax-descriptor-syntax-production",id:"syntax-descriptor-syntax-production",importName:"postcssSyntaxDescriptorSyntaxProduction"},{packageName:"@csstools/postcss-progressive-custom-properties",id:"progressive-custom-properties",importName:"postcssProgressiveCustomProperties",omitTypedOptions:!0,omitDocs:!0}];function getPackageNamesToIds(){const s={};return Cs.forEach(e=>{s[e.packageName]=e.id}),s}function pluginIdHelp(s,e,o){const t=Cs.map(s=>s.id),r=Cs.map(s=>s.packageName),i=getPackageNamesToIds();s.forEach(s=>{if(t.includes(s))return;const a=[...t.map(e=>[e,levenshteinDistance(s,e)]),...r.map(e=>[i[e],levenshteinDistance(s,e)])].sort((s,e)=>s[1]-e[1]).filter(s=>s[1]<10),c=new Set;for(let s=0;s<a.length&&(c.add(a[s][0]),!(c.size>=3));s++);if(!c.size)return void 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`);let n='"';n+=Array.from(c).join('", "'),n+='"',e.warn(o,`Unknown feature: "${s}", did you mean one of: ${n}`)})}function levenshteinDistance(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 r=1;r<=s.length;r++)o[t][r]=0===t?r:Math.min(o[t-1][r]+1,o[t][r-1]+1,o[t-1][r-1]+(s[r-1]===e[t-1]?0:1))}return o[e.length][s.length]}const creator=o=>{const t=new Logger,r=Object(o),i=Object.keys(Object(r.features)),a=r.browsers?void 0:r.env,c=r.browsers,n=initializeSharedOptions(r),p=listFeatures(e,r,n,t),l=p.map(s=>s.plugin);!1!==r.autoprefixer&&l.push(s(Object.assign({env:a,overrideBrowserslist:c},r.autoprefixer))),logFeaturesList(p,r,t);const internalPlugin=()=>({postcssPlugin:"postcss-preset-env",OnceExit(s,{result:e}){pluginIdHelp(i,s,e),r.debug&&t.emitLogs(e),t.resetLogger()}});return internalPlugin.postcss=!0,{postcssPlugin:"postcss-preset-env",plugins:[...l,internalPlugin()]}};creator.postcss=!0,module.exports=creator;