"readme": "# PostCSS Color Function [<img src=\"https://postcss.github.io/postcss/logo.svg\" alt=\"PostCSS Logo\" width=\"90\" height=\"90\" align=\"right\">][PostCSS]\n\n`npm install @csstools/postcss-color-function --save-dev`\n\n[PostCSS Color Function] lets you use the `color` function in\nCSS, following the [CSS Color] specification.\n\n```css\n.color {\n\tcolor: color(display-p3 0.64331 0.19245 0.16771);\n}\n\n:root {\n\t--a-color: color(srgb 0.64331 0.19245 0.16771);\n}\n\n/* becomes */\n\n.color {\n\tcolor: rgb(179, 35, 35);\n}\n\n:root {\n\t--a-color: rgb(164, 49, 43);\n}\n```\n\n## Usage\n\nAdd [PostCSS Color Function] to your project:\n\n```bash\nnpm install postcss @csstools/postcss-color-function --save-dev\n```\n\nUse it as a [PostCSS] plugin:\n\n```js\nconst postcss = require('postcss');\nconst postcssColorFunction = require('@csstools/postcss-color-function');\n\npostcss([\n\tpostcssColorFunction(/* pluginOptions */)\n]).process(YOUR_CSS /*, processOptions */);\n```\n\n\n\n## Options\n\n### preserve\n\nThe `preserve` option determines whether the original notation\nis preserved. By default, it is not preserved.\n\n```js\npostcssColorFunction({ preserve: true })\n```\n\n```css\n.color {\n\tcolor: color(display-p3 0.64331 0.19245 0.16771);\n}\n\n:root {\n\t--a-color: color(srgb 0.64331 0.19245 0.16771);\n}\n\n/* becomes */\n\n.color {\n\tcolor: rgb(179, 35, 35);\n\tcolor: color(display-p3 0.64331 0.19245 0.16771);\n}\n\n:root {\n\t--a-color: rgb(164, 49, 43);\n}\n\n@supports (color: color(display-p3 0 0 0%)) {\n:root {\n\t--a-color: color(srgb 0.64331 0.19245 0.16771);\n}\n}\n```\n\n### enableProgressiveCustomProperties\n\nThe `enableProgressiveCustomProperties` option determines whether the original notation\nis wrapped with `@supports` when used in Custom Properties. By default, it is enabled.\n\n> [!NOTE]\n> We only recommend disabling this when you set `preserve` to `false` or if you bring your own fix for Custom Properties. \n> See what the plugin does in its [README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-progressive-custom-properties#readme).\n\n```js\npostcssColorFunction({ enableProgressiveCustomProperties: false })\n```\n\n```css\n.color {\n\tcolor: color(display-p3 0.64331 0.19245 0.16771);\n}\n\n:root {\n\t--a-color: color(srgb 0.64331 0.19245 0.16771);\n}\n\n/* becomes */\n\n.color {\n\tcolor: rgb(179, 35, 35);\n\tcolor: color(display-p3 0.64331 0.19245 0.16771);\n}\n\n:root {\n\t--a-color: rgb(164, 49, 43);\n\t--a-color: color(srgb 0.64331 0.19245 0.16771);\n}\n```\n\n_Custom properties do not fallback to the previous declaration_\n\n## Supported Color Spaces\n\n```css\n.color-spaces {\n\tcolor: color(a98-rgb 0.803 0.484 0.944);\n\tcolor: color(display-p3 0.8434 0.509 0.934);\n\tcolor: color(prophoto-rgb 0.759 0.493 0.898);\n\tcolor: color(rec2020 0.772 0.491 0.920);\n\tcolor: color(srgb 0.897 0.488 0.959);\n\tcolor: color(srgb-linear 0.783 0.203 0.910);\n\tcolor: color(xyz 0.560 0.377 0.904);\n\tcolor: color(xyz-d50 0.550 0.375 0.680);\n\tcolor: color(xyz-d65 0.560 0.377 0.904);\n}\n```\n\n## Copyright : color conversions\n\nThis software or document includes material copied from or derived from https://github.com/w3c/csswg-drafts/tree/main/css-color-4. Copyright © 2022 W3C® (MIT, ERCIM, Keio, Beihang).\n\n[cli-url]: https://github.com/csstools/postcss-plugins/actions/workflows/test.yml?query=workflow/test\n[css-url]: https://cssdb.org/#color-function\n[discord]: https://discord.gg/bUadyRwkJS\n[npm-url]: https://www.npmjs.com/package/@csstools/postcss-color-function\n\n[PostCSS]: https://github.com/postcss/postcss\n[PostCSS Color Function]: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-color-function\n[CSS Color]: https://www.w3.org/TR/css-color-4/#funcdef-color\n",
0 commit comments