diff options
Diffstat (limited to 'node_modules/postcss-custom-selectors')
11 files changed, 491 insertions, 0 deletions
diff --git a/node_modules/postcss-custom-selectors/CHANGELOG.md b/node_modules/postcss-custom-selectors/CHANGELOG.md new file mode 100644 index 00000000..4cca8afa --- /dev/null +++ b/node_modules/postcss-custom-selectors/CHANGELOG.md @@ -0,0 +1,218 @@ +# Changes to PostCSS Custom Selectors + +### 7.1.6 + +_October 9, 2023_ + +- Updated [`@csstools/css-tokenizer`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-tokenizer) to [`2.2.1`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-tokenizer/CHANGELOG.md#221) (patch) +- Updated [`@csstools/css-parser-algorithms`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-parser-algorithms) to [`2.3.2`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-parser-algorithms/CHANGELOG.md#232) (patch) +- Updated [`@csstools/cascade-layer-name-parser`](https://github.com/csstools/postcss-plugins/tree/main/packages/cascade-layer-name-parser) to [`1.0.5`](https://github.com/csstools/postcss-plugins/tree/main/packages/cascade-layer-name-parser/CHANGELOG.md#105) (patch) + +### 7.1.5 + +_September 18, 2023_ + +- Updated [`@csstools/css-tokenizer`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-tokenizer) to [`2.2.0`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-tokenizer/CHANGELOG.md#220) (minor) +- Updated [`@csstools/css-parser-algorithms`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-parser-algorithms) to [`2.3.1`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-parser-algorithms/CHANGELOG.md#231) (patch) +- Updated [`@csstools/cascade-layer-name-parser`](https://github.com/csstools/postcss-plugins/tree/main/packages/cascade-layer-name-parser) to [`1.0.4`](https://github.com/csstools/postcss-plugins/tree/main/packages/cascade-layer-name-parser/CHANGELOG.md#104) (patch) + +### 7.1.4 + +_July 3, 2023_ + +- Updated [`@csstools/css-parser-algorithms`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-parser-algorithms) to [`2.3.0`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-parser-algorithms/CHANGELOG.md#230) (minor) +- Updated [`@csstools/cascade-layer-name-parser`](https://github.com/csstools/postcss-plugins/tree/main/packages/cascade-layer-name-parser) to [`1.0.3`](https://github.com/csstools/postcss-plugins/tree/main/packages/cascade-layer-name-parser/CHANGELOG.md#103) (patch) + +### 7.1.3 + +_April 10, 2023_ + +- Updated `@csstools/css-tokenizer` to `2.1.1` (patch) +- Updated `@csstools/css-parser-algorithms` to `2.1.1` (patch) +- Updated `@csstools/cascade-layer-name-parser` to `1.0.2` (patch) + +### 7.1.2 + +_February 8, 2023_ + +- Reduce the amount of duplicate fallback CSS. + +### 7.1.1 + +_January 28, 2023_ + +- Improve `types` declaration in `package.json` + +### 7.1.0 + +_January 24, 2023_ + +- Added: Support for Cascade Layers. + +### 7.0.0 + +_November 14, 2022_ + +- Updated: Support for Node v14+ (major). +- Removed: `importFrom` feature (breaking). +- Removed: `exportTo` feature (breaking). +- Fixed: follow the specification and use `:is()` in transformed selectors (breaking). +- Added: Support for `@scope` and `@container` as parent rules of `@custom-selector`. +- Fixed: Do not throw when a selector is invalid, show a warning instead. + +```diff +@custom-selector :--heading h1, h2, h3; + +article :--heading + p { + margin-top: 0; +} + +/* becomes */ + +- article h1 + p,article h2 + p,article h3 + p { ++ article :is(h1, h2, h3) + p { + margin-top: 0; +} +``` + +### 6.0.3 + +_June 4, 2022_ + +- Fixed: allow any valid ident in custom selectors (`@custom-selector :--🧑🏾🎤 .singer`) + +### 6.0.2 + +_June 3, 2022_ + +- Fixed: prevent duplicate rules when custom selectors are not defined +- Fixed: selectors not resolving when using with other features like nesting + +### 6.0.1 + +_June 3, 2022_ + +- Fixed: invalid whitespace (https://github.com/csstools/postcss-custom-selectors/pull/55) + +### 6.0.0 + +_January 12, 2021_ + +- Added: Support for PostCSS v8 +- Added: Support for Node v10+ +- Fixed: importing from multiple sources (https://github.com/postcss/postcss-custom-selectors/pull/42) + +### 5.1.2 + +_September 20, 2018_ + +- Fixed: Do not break on an empty `importFrom` object + +### 5.1.1 + +_September 18, 2018_ + +- Fixed: Selectors like `.foo:--h1` become `h1.foo` instead of `.fooh1` + +### 5.1.0 + +_September 12, 2018_ + +- Added: New `exportTo` function to specify where to export custom selectors +- Updated: `importFrom` option to support passing it a function + +### 5.0.0 + +_September 7, 2018_ + +- Added: New `preserve` option to preserve custom selectors and rules using them +- Added: New `importFrom` option to specify where to import custom selectors +- Added: Support for PostCSS v7 +- Added: Support for Node v6+ + +### 4.0.1 + +_May 15, 2017_ + +- Fixed: incorrect export + +### 4.0.0 + +_May 12, 2017_ + +- Added: compatibility with postcss v6.x + +### 3.0.0 + +_August 25, 2015_ + +- Removed: compatibility with postcss v4.x +- Added: compatibility with postcss v5.x + +### 2.3.0 + +_July 14, 2015_ + +* Fixed: Nested/mixed selectors now works correctly +(https://github.com/postcss/postcss-custom-selectors/issues/19) +* Added: `transformMatches` option to limit transformation to :matches() +replacements. + +### 2.2.0 + +_June 30, 2015_ + +* Fixed: No more useless warnings for undefined non custom selectors +(https://github.com/postcss/postcss-custom-selectors/issues/22) +* Changed: warnings now use PostCSS message API + +### 2.1.1 + +_June 30, 2015_ + +* Fixed: the lineBreak option keeping the selectors indent +(https://github.com/postcss/postcss-custom-selectors/issues/18) +* Fixed: the tip of an undefined selector +(https://github.com/postcss/postcss-custom-selectors/issues/20) + +### 2.1.0 + +_June 4, 2015_ + +* Changed: use PostCSS 4.1 plugin API +(https://github.com/postcss/postcss-custom-selectors/issues/13) + +### 2.0.1 + +_June 3, 2015_ + +* Fixed: `(foo, bar)` conversion error exists in the selector + +### 2.0.0 + +_May 29, 2015_ + +* Removed: no longer support `::` or `--` to defined a custom selectors, +you must use the syntax `:--` to define it. +(https://github.com/postcss/postcss-custom-selectors/issues/6) +* Fixed: two or more consecutive hyphens in selector don't output `undefined` +(https://github.com/postcss/postcss-custom-selectors/issues/14) + + +### 1.1.1 + +_April 6, 2015_ + +* Fixed: add support for multilines definition + +### 1.1.0 + +_December 6, 2014_ + +* Added: "lineBreak" option + +### 1.0.0 + +_December 6, 2014_ + +* First release diff --git a/node_modules/postcss-custom-selectors/LICENSE.md b/node_modules/postcss-custom-selectors/LICENSE.md new file mode 100644 index 00000000..6d704708 --- /dev/null +++ b/node_modules/postcss-custom-selectors/LICENSE.md @@ -0,0 +1,21 @@ +# The MIT License (MIT) + +Copyright © PostCSS + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/postcss-custom-selectors/README.md b/node_modules/postcss-custom-selectors/README.md new file mode 100644 index 00000000..a4f55585 --- /dev/null +++ b/node_modules/postcss-custom-selectors/README.md @@ -0,0 +1,120 @@ +# PostCSS Custom Selectors [<img src="https://postcss.github.io/postcss/logo.svg" alt="PostCSS Logo" width="90" height="90" align="right">][PostCSS] + +[<img alt="npm version" src="https://img.shields.io/npm/v/postcss-custom-selectors.svg" height="20">][npm-url] [<img alt="CSS Standard Status" src="https://cssdb.org/images/badges/custom-selectors.svg" height="20">][css-url] [<img alt="Build Status" src="https://github.com/csstools/postcss-plugins/workflows/test/badge.svg" height="20">][cli-url] [<img alt="Discord" src="https://shields.io/badge/Discord-5865F2?logo=discord&logoColor=white">][discord] + +```bash +npm install postcss-custom-selectors --save-dev +``` + +[PostCSS Custom Selectors] lets you define `@custom-selector` in CSS following the [Custom Selectors Specification]. + +```pcss +@custom-selector :--heading h1, h2, h3; + +article :--heading + p { + margin-top: 0; +} + +/* becomes */ + +article :is(h1, h2, h3) + p { + margin-top: 0; +} +``` + +## Usage + +Add [PostCSS Custom Selectors] to your project: + +```bash +npm install postcss postcss-custom-selectors --save-dev +``` + +Use it as a [PostCSS] plugin: + +```js +const postcss = require('postcss'); +const postcssCustomSelectors = require('postcss-custom-selectors'); + +postcss([ + postcssCustomSelectors(/* pluginOptions */) +]).process(YOUR_CSS /*, processOptions */); +``` + +[PostCSS Custom Selectors] runs in all Node environments, with special +instructions for: + +- [Node](INSTALL.md#node) +- [PostCSS CLI](INSTALL.md#postcss-cli) +- [PostCSS Load Config](INSTALL.md#postcss-load-config) +- [Webpack](INSTALL.md#webpack) +- [Next.js](INSTALL.md#nextjs) +- [Gulp](INSTALL.md#gulp) +- [Grunt](INSTALL.md#grunt) + +## Options + +### preserve + +The `preserve` option determines whether the original notation +is preserved. By default, it is not preserved. + +```js +postcssCustomSelectors({ preserve: true }) +``` + +```pcss +@custom-selector :--heading h1, h2, h3; + +article :--heading + p { + margin-top: 0; +} + +/* becomes */ + +@custom-selector :--heading h1, h2, h3; + +article :is(h1, h2, h3) + p { + margin-top: 0; +} + +article :--heading + p { + margin-top: 0; +} +``` + +## Modular CSS Processing + +If you're using Modular CSS such as, CSS Modules, `postcss-loader` or `vanilla-extract` to name a few, you'll probably +notice that custom selectors are not being resolved. This happens because each file is processed separately so +unless you import the custom selector definitions in each file, they won't be resolved. + +To overcome this, we recommend using the [PostCSS Global Data](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-global-data#readme) +plugin which allows you to pass a list of files that will be globally available. The plugin won't inject any extra code +in the output but will provide the context needed to resolve custom selectors. + +For it to run it needs to be placed before the [PostCSS Custom Selectors] plugin. + +```js +const postcss = require('postcss'); +const postcssCustomSelectors = require('postcss-custom-selectors'); +const postcssGlobalData = require('@csstools/postcss-global-data'); + +postcss([ + postcssGlobalData({ + files: [ + 'path/to/your/custom-selectors.css' + ] + }), + postcssCustomSelectors(/* pluginOptions */) +]).process(YOUR_CSS /*, processOptions */); +``` + +[cli-url]: https://github.com/csstools/postcss-plugins/actions/workflows/test.yml?query=workflow/test +[css-url]: https://cssdb.org/#custom-selectors +[discord]: https://discord.gg/bUadyRwkJS +[npm-url]: https://www.npmjs.com/package/postcss-custom-selectors + +[PostCSS]: https://github.com/postcss/postcss +[PostCSS Custom Selectors]: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-custom-selectors +[Custom Selectors Specification]: https://drafts.csswg.org/css-extensions/#custom-selectors diff --git a/node_modules/postcss-custom-selectors/dist/cascade-layers.d.ts b/node_modules/postcss-custom-selectors/dist/cascade-layers.d.ts new file mode 100644 index 00000000..b9891949 --- /dev/null +++ b/node_modules/postcss-custom-selectors/dist/cascade-layers.d.ts @@ -0,0 +1,3 @@ +import type { Node, Root } from 'postcss'; +export declare function collectCascadeLayerOrder(root: Root): WeakMap<Node, number>; +export declare function cascadeLayerNumberForNode(node: Node, layers: WeakMap<Node, number>): number; diff --git a/node_modules/postcss-custom-selectors/dist/custom-selectors-from-root.d.ts b/node_modules/postcss-custom-selectors/dist/custom-selectors-from-root.d.ts new file mode 100644 index 00000000..346923e8 --- /dev/null +++ b/node_modules/postcss-custom-selectors/dist/custom-selectors-from-root.d.ts @@ -0,0 +1,5 @@ +import type { Result, Root as PostCSSRoot } from 'postcss'; +import type { Root as SelectorRoot } from 'postcss-selector-parser'; +export default function getCustomSelectors(root: PostCSSRoot, result: Result, opts: { + preserve?: boolean; +}): Map<string, SelectorRoot>; diff --git a/node_modules/postcss-custom-selectors/dist/index.cjs b/node_modules/postcss-custom-selectors/dist/index.cjs new file mode 100644 index 00000000..511c133d --- /dev/null +++ b/node_modules/postcss-custom-selectors/dist/index.cjs @@ -0,0 +1 @@ +"use strict";var e=require("postcss-selector-parser"),r=require("@csstools/cascade-layer-name-parser");const t=r.parse("csstools-implicit-layer")[0];function collectCascadeLayerOrder(e){const s=new Map,o=new Map,n=[];e.walkAtRules((e=>{var a;if("layer"!==e.name.toLowerCase())return;{let r=e.parent;for(;r;){if("atrule"!==r.type||"layer"!==r.name.toLowerCase()){if(r===e.root())break;return}r=r.parent}}let l;if(e.nodes)l=normalizeLayerName(e.params,1);else{if(!e.params.trim())return;l=e.params}let c=r.parse(l);if(null!=(a=c)&&a.length){{let r=e.parent;for(;r&&"atrule"===r.type&&"layer"===r.name.toLowerCase();){const e=o.get(r);e?(c=c.map((r=>e.concat(r))),r=r.parent):r=r.parent}}if(r.addLayerToModel(n,c),e.nodes){const r=c[0].concat(t);s.set(e,r),o.set(e,c[0])}}}));for(const e of s.values())r.addLayerToModel(n,[e]);const a=new WeakMap;for(const[e,r]of s)a.set(e,n.findIndex((e=>r.equal(e))));return a}function normalizeLayerName(e,r){return e.trim()?e:"csstools-anon-layer--"+r++}const s=new Set(["scope","container","layer"]);function isProcessableCustomSelectorRule(e){if("atrule"!==e.type)return!1;if("custom-selector"!==e.name.toLowerCase())return!1;if(!e.params||!e.params.includes(":--"))return!1;if(e.nodes&&e.nodes.length>0)return!1;let r=e.parent;for(;r;){if("rule"===r.type)return!1;if("atrule"===r.type&&!s.has(r.name.toLowerCase()))return!1;r=r.parent}return!0}function getCustomSelectors(r,t,s){const o=new Map,n=new Map,a=collectCascadeLayerOrder(r);return r.walkAtRules((r=>{var l,c;if(isProcessableCustomSelectorRule(r))try{var u;const t=r.params.trim(),p=e().astSync(t),i=null==p||null==(u=p.nodes)||null==(u=u[0])||null==(u=u.nodes)?void 0:u[0];if(!i||"pseudo"!==i.type||!i.value.startsWith(":--"))return;const m=i.toString(),f=(c=a,(l=r).parent&&"atrule"===l.parent.type&&"layer"===l.parent.name.toLowerCase()?c.has(l.parent)?c.get(l.parent)+1:0:1e7),d=n.get(m)??-1;if(f&&f>=d&&(n.set(m,f),o.set(m,e().astSync(t.slice(m.length).trim()))),!s.preserve){const e=r.parent;r.remove(),removeEmptyAncestorBlocks(e)}}catch(e){r.warn(t,`Failed to parse custom selector : "${r.params}" with message: "${e.message}"`)}})),o}function removeEmptyAncestorBlocks(e){let r=e;for(;r;){if(r.nodes&&r.nodes.length>0)return;const e=r.parent;r.remove(),r=e}}function transformRule(r,t,s){let o=r.selector;try{o=e((r=>{r.walkPseudos((r=>{if(!s.has(r.value))return;const t=e.pseudo({value:":is",nodes:[]});s.get(r.value).each((e=>{t.append(e.clone({}))})),r.replaceWith(t)}))})).processSync(r.selector)}catch(e){return r.warn(t,`Failed to parse selector : "${o}" with message: "${e.message}"`),r.selector}return o}const creator=e=>{const r=Boolean(Object(e).preserve);if("importFrom"in Object(e))throw new Error('[postcss-custom-selectors] "importFrom" is no longer supported');if("exportTo"in Object(e))throw new Error('[postcss-custom-selectors] "exportTo" is no longer supported');return{postcssPlugin:"postcss-custom-selectors",prepare(){const e=new WeakSet;let t=new Map;return{Once:(e,{result:s})=>{t=getCustomSelectors(e,s,{preserve:r})},Rule:(s,{result:o})=>{var n;if(e.has(s))return;if(null==(n=s.selector)||!n.includes(":--"))return;const a=transformRule(s,o,t);a!==s.selector&&(e.add(s),s.cloneBefore({selector:a}),r||s.remove())}}}}};creator.postcss=!0,module.exports=creator; diff --git a/node_modules/postcss-custom-selectors/dist/index.d.ts b/node_modules/postcss-custom-selectors/dist/index.d.ts new file mode 100644 index 00000000..aa450f62 --- /dev/null +++ b/node_modules/postcss-custom-selectors/dist/index.d.ts @@ -0,0 +1,8 @@ +import type { PluginCreator } from 'postcss'; +/** postcss-custom-selectors plugin options */ +export type pluginOptions = { + /** Preserve the original notation. default: false */ + preserve?: boolean; +}; +declare const creator: PluginCreator<pluginOptions>; +export default creator; diff --git a/node_modules/postcss-custom-selectors/dist/index.mjs b/node_modules/postcss-custom-selectors/dist/index.mjs new file mode 100644 index 00000000..0c5c5866 --- /dev/null +++ b/node_modules/postcss-custom-selectors/dist/index.mjs @@ -0,0 +1 @@ +import e from"postcss-selector-parser";import{parse as r,addLayerToModel as t}from"@csstools/cascade-layer-name-parser";const s=r("csstools-implicit-layer")[0];function collectCascadeLayerOrder(e){const o=new Map,n=new Map,a=[];e.walkAtRules((e=>{var l;if("layer"!==e.name.toLowerCase())return;{let r=e.parent;for(;r;){if("atrule"!==r.type||"layer"!==r.name.toLowerCase()){if(r===e.root())break;return}r=r.parent}}let c;if(e.nodes)c=normalizeLayerName(e.params,1);else{if(!e.params.trim())return;c=e.params}let u=r(c);if(null!=(l=u)&&l.length){{let r=e.parent;for(;r&&"atrule"===r.type&&"layer"===r.name.toLowerCase();){const e=n.get(r);e?(u=u.map((r=>e.concat(r))),r=r.parent):r=r.parent}}if(t(a,u),e.nodes){const r=u[0].concat(s);o.set(e,r),n.set(e,u[0])}}}));for(const e of o.values())t(a,[e]);const l=new WeakMap;for(const[e,r]of o)l.set(e,a.findIndex((e=>r.equal(e))));return l}function normalizeLayerName(e,r){return e.trim()?e:"csstools-anon-layer--"+r++}const o=new Set(["scope","container","layer"]);function isProcessableCustomSelectorRule(e){if("atrule"!==e.type)return!1;if("custom-selector"!==e.name.toLowerCase())return!1;if(!e.params||!e.params.includes(":--"))return!1;if(e.nodes&&e.nodes.length>0)return!1;let r=e.parent;for(;r;){if("rule"===r.type)return!1;if("atrule"===r.type&&!o.has(r.name.toLowerCase()))return!1;r=r.parent}return!0}function getCustomSelectors(r,t,s){const o=new Map,n=new Map,a=collectCascadeLayerOrder(r);return r.walkAtRules((r=>{var l,c;if(isProcessableCustomSelectorRule(r))try{var u;const t=r.params.trim(),p=e().astSync(t),i=null==p||null==(u=p.nodes)||null==(u=u[0])||null==(u=u.nodes)?void 0:u[0];if(!i||"pseudo"!==i.type||!i.value.startsWith(":--"))return;const m=i.toString(),f=(c=a,(l=r).parent&&"atrule"===l.parent.type&&"layer"===l.parent.name.toLowerCase()?c.has(l.parent)?c.get(l.parent)+1:0:1e7),d=n.get(m)??-1;if(f&&f>=d&&(n.set(m,f),o.set(m,e().astSync(t.slice(m.length).trim()))),!s.preserve){const e=r.parent;r.remove(),removeEmptyAncestorBlocks(e)}}catch(e){r.warn(t,`Failed to parse custom selector : "${r.params}" with message: "${e.message}"`)}})),o}function removeEmptyAncestorBlocks(e){let r=e;for(;r;){if(r.nodes&&r.nodes.length>0)return;const e=r.parent;r.remove(),r=e}}function transformRule(r,t,s){let o=r.selector;try{o=e((r=>{r.walkPseudos((r=>{if(!s.has(r.value))return;const t=e.pseudo({value:":is",nodes:[]});s.get(r.value).each((e=>{t.append(e.clone({}))})),r.replaceWith(t)}))})).processSync(r.selector)}catch(e){return r.warn(t,`Failed to parse selector : "${o}" with message: "${e.message}"`),r.selector}return o}const creator=e=>{const r=Boolean(Object(e).preserve);if("importFrom"in Object(e))throw new Error('[postcss-custom-selectors] "importFrom" is no longer supported');if("exportTo"in Object(e))throw new Error('[postcss-custom-selectors] "exportTo" is no longer supported');return{postcssPlugin:"postcss-custom-selectors",prepare(){const e=new WeakSet;let t=new Map;return{Once:(e,{result:s})=>{t=getCustomSelectors(e,s,{preserve:r})},Rule:(s,{result:o})=>{var n;if(e.has(s))return;if(null==(n=s.selector)||!n.includes(":--"))return;const a=transformRule(s,o,t);a!==s.selector&&(e.add(s),s.cloneBefore({selector:a}),r||s.remove())}}}}};creator.postcss=!0;export{creator as default}; diff --git a/node_modules/postcss-custom-selectors/dist/is-processable-custom-selector-rule.d.ts b/node_modules/postcss-custom-selectors/dist/is-processable-custom-selector-rule.d.ts new file mode 100644 index 00000000..2dd82837 --- /dev/null +++ b/node_modules/postcss-custom-selectors/dist/is-processable-custom-selector-rule.d.ts @@ -0,0 +1,2 @@ +import type { AtRule } from 'postcss'; +export declare function isProcessableCustomSelectorRule(atRule: AtRule): boolean; diff --git a/node_modules/postcss-custom-selectors/dist/transform-rule.d.ts b/node_modules/postcss-custom-selectors/dist/transform-rule.d.ts new file mode 100644 index 00000000..2d781eca --- /dev/null +++ b/node_modules/postcss-custom-selectors/dist/transform-rule.d.ts @@ -0,0 +1,3 @@ +import type { Result, Rule } from 'postcss'; +import type { Root } from 'postcss-selector-parser'; +export declare function transformRule(rule: Rule, result: Result, customSelectors: Map<string, Root>): null | string; diff --git a/node_modules/postcss-custom-selectors/package.json b/node_modules/postcss-custom-selectors/package.json new file mode 100644 index 00000000..8bd7d773 --- /dev/null +++ b/node_modules/postcss-custom-selectors/package.json @@ -0,0 +1,109 @@ +{ + "name": "postcss-custom-selectors", + "description": "Use Custom Selectors in CSS", + "version": "7.1.6", + "contributors": [ + { + "name": "Antonio Laguna", + "email": "antonio@laguna.es", + "url": "https://antonio.laguna.es" + }, + { + "name": "Romain Menke", + "email": "romainmenke@gmail.com" + }, + { + "name": "Jonathan Neal", + "email": "jonathantneal@hotmail.com" + }, + { + "name": "Maxime Thirouin" + }, + { + "name": "yisi" + } + ], + "license": "MIT", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "main": "dist/index.cjs", + "module": "dist/index.mjs", + "types": "dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "require": "./dist/index.cjs", + "default": "./dist/index.mjs" + } + }, + "files": [ + "CHANGELOG.md", + "LICENSE.md", + "README.md", + "dist" + ], + "dependencies": { + "@csstools/cascade-layer-name-parser": "^1.0.5", + "@csstools/css-parser-algorithms": "^2.3.2", + "@csstools/css-tokenizer": "^2.2.1", + "postcss-selector-parser": "^6.0.13" + }, + "peerDependencies": { + "postcss": "^8.4" + }, + "devDependencies": { + "@csstools/postcss-tape": "*" + }, + "scripts": { + "build": "rollup -c ../../rollup/default.mjs", + "docs": "node ../../.github/bin/generate-docs/install.mjs && node ../../.github/bin/generate-docs/readme.mjs", + "lint": "node ../../.github/bin/format-package-json.mjs", + "prepublishOnly": "npm run build && npm run test", + "test": "node .tape.mjs && node ./test/_import.mjs && node ./test/_require.cjs", + "test:rewrite-expects": "REWRITE_EXPECTS=true node .tape.mjs" + }, + "homepage": "https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-custom-selectors#readme", + "repository": { + "type": "git", + "url": "https://github.com/csstools/postcss-plugins.git", + "directory": "plugins/postcss-custom-selectors" + }, + "bugs": "https://github.com/csstools/postcss-plugins/issues", + "keywords": [ + "at-rule", + "atrule", + "css", + "csswg", + "custom", + "declarative", + "extensions", + "postcss", + "postcss-plugin", + "rule", + "selectors", + "specification", + "w3c" + ], + "csstools": { + "assumesToProcessBundledCSS": true, + "cssdbId": "custom-selectors", + "exportName": "postcssCustomSelectors", + "humanReadableName": "PostCSS Custom Selectors", + "specUrl": "https://drafts.csswg.org/css-extensions/#custom-selectors" + }, + "volta": { + "extends": "../../package.json" + } +} |
