PostCSS Custom Utils lets you read, write, and transform Custom Media and Custom Properties from almost anywhere.
The readCustom function reads Custom Media and Custom Properties from various
sources, including Objects, Promises and Functions returning an Object, and
also CSS, JS, and JSON files.
await readCustom(...sources)The readCustomFromCjsFile function returns Custom Media and Custom Properties
from a Common JS file.
await readCustomFromCjsFile('/path/to/file.js');The readCustomFromCssFile function returns Custom Media and Custom Properties
from a CSS file.
await readCustomFromCssFile('/path/to/file.css');The readCustomFromJsonFile function returns Custom Media and Custom
Properties from a JSON file.
await readCustomFromJsonFile('/path/to/file.json');The readCustomFromObject function returns Custom Media and Custom Properties
from an Object.
readCustomFromObject({ customMedia, customProperties, customSelectors });The readCustomFromRoot function return Custom Media and Custom Properties
from a CSS Root AST.
readCustomFromRoot({ nodes: [] });transformRootWithCustom(root, { customMedia, customProperties, customSelectors });transformRootWithCustomMedia(root, customMedia);transformRootWithCustomProperties(root, customProperties);transformRootWithCustomSelectors(root, customSelectors);The transformStringWithCustomMedia function returns a Media Query parameter
string transformed with Custom Media.
transformStringWithCustomMedia('(--custom-media)', customMedia);The transformStringWithCustomProperties function returns a Declaration Value
string transformed with Custom Properties.
transformStringWithCustomProperties('var(--custom-property)', customProperties);The transformStringWithCustomSelectors function returns a Selector Value
string transformed with Custom Selectors.
transformStringWithCustomSelectors(':--any-heading + p', customSelectors);The writeCustomToJsonFile function writes Custom Media and Custom Properties
to various sources, including Objects, Functions, and also CSS and JS files,
ECMAScript Modules compatible JS files, and JSON files.
await writeCustom({ customMedia, customProperties, customSelectors }, ...destinations);The writeCustomToJsonFile function writes Custom Media and Custom Properties
to a Common JS file.
await writeCustomToCjsFile('/path/to/file.js', { customMedia, customProperties, customSelectors });The writeCustomToJsonFile function writes Custom Media and Custom Properties
to a CSS file.
await writeCustomToCssFile('/path/to/file.css', { customMedia, customProperties, customSelectors });The writeCustomToJsonFile function writes Custom Media and Custom Properties
to a ECMAScript Modules compatible JS file.
await writeCustomToEsmFile('/path/to/file.mjs', { customMedia, customProperties, customSelectors });The writeCustomToJsonFile function writes Custom Media and Custom Properties
to a JSON file.
await writeCustomToJsonFile('/path/to/file.json', { customMedia, customProperties, customSelectors });