epiphany/node_modules/postcss-preset-env/dist/options.d.ts
2023-12-09 22:48:07 -08:00

92 lines
3.7 KiB
TypeScript

import type autoprefixer from 'autoprefixer';
import { pluginsOptions } from './plugins/plugins-options';
export declare enum DirectionFlow {
TopToBottom = "top-to-bottom",
BottomToTop = "bottom-to-top",
RightToLeft = "right-to-left",
LeftToRight = "left-to-right"
}
export type pluginOptions = {
/**
* Determine which CSS features to polyfill,
* based upon their process in becoming web standards.
* default: 2
*/
stage?: number | false;
/**
* Determine which CSS features to polyfill,
* based their implementation status.
* default: 0
*/
minimumVendorImplementations?: number;
/**
* Enable any feature that would need an extra browser library to be loaded into the page for it to work.
* default: false
*/
enableClientSidePolyfills?: boolean;
/**
* PostCSS Preset Env supports any standard browserslist configuration,
* which can be a `.browserslistrc` file,
* a `browserslist` key in `package.json`,
* or `browserslist` environment variables.
*
* The `env` option is used to select a specific browserslist environment in the event that you have more than one.
*/
env?: string;
/**
* PostCSS Preset Env supports any standard browserslist configuration,
* which can be a `.browserslistrc` file,
* a `browserslist` key in `package.json`,
* or `browserslist` environment variables.
*
* The `browsers` option should only be used when a standard browserslist configuration is not available.
* When the `browsers` option is used the `env` option is ignored.
*/
browsers?: string | Array<string> | null;
/**
* Determine whether all plugins should receive a `preserve` option,
* which may preserve or remove the original and now polyfilled CSS.
* Each plugin has it's own default, some true, others false.
* default: _not set_
*/
preserve?: boolean;
/**
* [Configure autoprefixer](https://github.com/postcss/autoprefixer#options)
*/
autoprefixer?: autoprefixer.Options;
/**
* Enable or disable specific polyfills by ID.
* Passing `true` to a specific [feature ID](https://github.com/csstools/postcss-plugins/blob/main/plugin-packs/postcss-preset-env/FEATURES.md) will enable its polyfill,
* while passing `false` will disable it.
*
* Passing an object to a specific feature ID will both enable and configure it.
*/
features?: pluginsOptions;
/**
* The `insertBefore` key allows you to insert other PostCSS plugins into the chain.
* This is only useful if you are also using sugary PostCSS plugins that must execute before certain polyfills.
* `insertBefore` supports chaining one or multiple plugins.
*/
insertBefore?: Record<string, unknown>;
/**
* The `insertAfter` key allows you to insert other PostCSS plugins into the chain.
* This is only useful if you are also using sugary PostCSS plugins that must execute after certain polyfills.
* `insertAfter` supports chaining one or multiple plugins.
*/
insertAfter?: Record<string, unknown>;
/**
* Enable debugging messages to stdout giving insights into which features have been enabled/disabled and why.
* default: false
*/
debug?: boolean;
/**
* The `logical` object allows to configure all plugins related to logical document flow at once.
* It accepts the same options as each plugin: `inlineDirection` and `blockDirection`.
*/
logical?: {
/** Set the inline flow direction. default: left-to-right */
inlineDirection?: DirectionFlow;
/** Set the block flow direction. default: top-to-bottom */
blockDirection?: DirectionFlow;
};
};